diff --git a/eng/tools/azure-sdk-tools/packaging_tools/sdk_generator.py b/eng/tools/azure-sdk-tools/packaging_tools/sdk_generator.py index ab215cf27f44..e3fa955dd57d 100644 --- a/eng/tools/azure-sdk-tools/packaging_tools/sdk_generator.py +++ b/eng/tools/azure-sdk-tools/packaging_tools/sdk_generator.py @@ -233,6 +233,18 @@ def main(generate_input, generate_output): _LOGGER.info( f"[CODEGEN]({readme_or_tsp})codegen end and new package '{folder_name}/{package_name}' generated" ) + + # update `setuptools>=77.0.3` to `setuptools>=83.0.0` of pyproject.toml + pyproject_path = Path(sdk_folder, folder_name, package_name, "pyproject.toml") + if pyproject_path.exists(): + with open(pyproject_path, "r") as f: + pyproject_content = f.read() + pyproject_content = pyproject_content.replace("setuptools>=77.0.3", "setuptools>=83.0.0") + with open(pyproject_path, "w") as f: + f.write(pyproject_content) + _LOGGER.info(f"update setuptools version in {pyproject_path} to >=83.0.0") + else: + _LOGGER.warning(f"pyproject.toml not found in {pyproject_path}, cannot update setuptools version") # remove additional files when we roll back generation to Swagger # NOTE: After we convert to Typespec completely, we could remove this logic block diff --git a/sdk/containerservice/azure-mgmt-containerservice/CHANGELOG.md b/sdk/containerservice/azure-mgmt-containerservice/CHANGELOG.md index 603122b6a14d..7b34b741d82c 100644 --- a/sdk/containerservice/azure-mgmt-containerservice/CHANGELOG.md +++ b/sdk/containerservice/azure-mgmt-containerservice/CHANGELOG.md @@ -1,5 +1,9 @@ # Release History +## 41.6.0 (2026-08-06) + +tool can't generate changelog for this release, please update manually. + ## 41.6.0b1 (2026-07-24) ### Features Added diff --git a/sdk/containerservice/azure-mgmt-containerservice/_metadata.json b/sdk/containerservice/azure-mgmt-containerservice/_metadata.json index 8785ee9194a8..9a71bf5691c0 100644 --- a/sdk/containerservice/azure-mgmt-containerservice/_metadata.json +++ b/sdk/containerservice/azure-mgmt-containerservice/_metadata.json @@ -1,11 +1,11 @@ { - "apiVersion": "2026-05-02-preview", + "apiVersion": "2026-05-01", "apiVersions": { - "Microsoft.ContainerService": "2026-05-02-preview" + "Microsoft.ContainerService": "2026-05-01" }, - "commit": "00f0e0e39d642c91cb706e0aa5bda169e9b84129", + "commit": "08114bc9f1add13140ca2508e4b0796479325eab", "repository_url": "https://github.com/Azure/azure-rest-api-specs", "typespec_src": "specification/containerservice/resource-manager/Microsoft.ContainerService/aks", "emitterVersion": "0.63.3", - "httpClientPythonVersion": "^0.34.2" + "httpClientPythonVersion": "^0.35.1" } \ No newline at end of file diff --git a/sdk/containerservice/azure-mgmt-containerservice/api.md b/sdk/containerservice/azure-mgmt-containerservice/api.md index 017c0dc7bf46..065e563f4b69 100644 --- a/sdk/containerservice/azure-mgmt-containerservice/api.md +++ b/sdk/containerservice/azure-mgmt-containerservice/api.md @@ -3,19 +3,11 @@ namespace azure.mgmt.containerservice class azure.mgmt.containerservice.ContainerServiceClient: implements ContextManager agent_pools: AgentPoolsOperations - alert_configurations: AlertConfigurationsOperations - container_service: ContainerServiceOperations identity_bindings: IdentityBindingsOperations - jwt_authenticators: JWTAuthenticatorsOperations - load_balancers: LoadBalancersOperations machines: MachinesOperations maintenance_configurations: MaintenanceConfigurationsOperations - maintenance_windows: MaintenanceWindowsOperations - managed_cluster_snapshots: ManagedClusterSnapshotsOperations managed_clusters: ManagedClustersOperations managed_namespaces: ManagedNamespacesOperations - mesh_memberships: MeshMembershipsOperations - operation_status_result: OperationStatusResultOperations operations: Operations private_endpoint_connections: PrivateEndpointConnectionsOperations private_link_resources: PrivateLinkResourcesOperations @@ -23,7 +15,6 @@ namespace azure.mgmt.containerservice snapshots: SnapshotsOperations trusted_access_role_bindings: TrustedAccessRoleBindingsOperations trusted_access_roles: TrustedAccessRolesOperations - vm_skus: VmSkusOperations def __init__( self, @@ -52,19 +43,11 @@ namespace azure.mgmt.containerservice.aio class azure.mgmt.containerservice.aio.ContainerServiceClient: implements AsyncContextManager agent_pools: AgentPoolsOperations - alert_configurations: AlertConfigurationsOperations - container_service: ContainerServiceOperations identity_bindings: IdentityBindingsOperations - jwt_authenticators: JWTAuthenticatorsOperations - load_balancers: LoadBalancersOperations machines: MachinesOperations maintenance_configurations: MaintenanceConfigurationsOperations - maintenance_windows: MaintenanceWindowsOperations - managed_cluster_snapshots: ManagedClusterSnapshotsOperations managed_clusters: ManagedClustersOperations managed_namespaces: ManagedNamespacesOperations - mesh_memberships: MeshMembershipsOperations - operation_status_result: OperationStatusResultOperations operations: Operations private_endpoint_connections: PrivateEndpointConnectionsOperations private_link_resources: PrivateLinkResourcesOperations @@ -72,7 +55,6 @@ namespace azure.mgmt.containerservice.aio snapshots: SnapshotsOperations trusted_access_role_bindings: TrustedAccessRoleBindingsOperations trusted_access_roles: TrustedAccessRolesOperations - vm_skus: VmSkusOperations def __init__( self, @@ -116,16 +98,6 @@ namespace azure.mgmt.containerservice.aio.operations **kwargs: Any ) -> AsyncLROPoller[None]: ... - @distributed_trace_async - @api_version_validation(method_added_on='2026-05-02-preview', params_added_on={'2026-05-02-preview': ['api_version', 'subscription_id', 'resource_group_name', 'resource_name', 'agent_pool_name']}, api_versions_list=['2026-05-02-preview']) - async def begin_complete_upgrade( - self, - resource_group_name: str, - resource_name: str, - agent_pool_name: str, - **kwargs: Any - ) -> AsyncLROPoller[None]: ... - @overload async def begin_create_or_update( self, @@ -260,44 +232,8 @@ namespace azure.mgmt.containerservice.aio.operations **kwargs: Any ) -> AsyncItemPaged[AgentPool]: ... - @overload - async def list_bootstrap_data( - self, - resource_group_name: str, - resource_name: str, - agent_pool_name: str, - body: ListBootstrapDataRequest, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> PoolBootstrapData: ... - - @overload - async def list_bootstrap_data( - self, - resource_group_name: str, - resource_name: str, - agent_pool_name: str, - body: ListBootstrapDataRequest, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> PoolBootstrapData: ... - - @overload - async def list_bootstrap_data( - self, - resource_group_name: str, - resource_name: str, - agent_pool_name: str, - body: IO[bytes], - *, - content_type: str = "application/json", - **kwargs: Any - ) -> PoolBootstrapData: ... - - class azure.mgmt.containerservice.aio.operations.AlertConfigurationsOperations: + class azure.mgmt.containerservice.aio.operations.IdentityBindingsOperations: def __init__( self, @@ -310,68 +246,68 @@ namespace azure.mgmt.containerservice.aio.operations self, resource_group_name: str, resource_name: str, - configuration_name: str, - resource: AlertConfiguration, + identity_binding_name: str, + parameters: IdentityBinding, *, content_type: str = "application/json", **kwargs: Any - ) -> AsyncLROPoller[AlertConfiguration]: ... + ) -> AsyncLROPoller[IdentityBinding]: ... @overload async def begin_create_or_update( self, resource_group_name: str, resource_name: str, - configuration_name: str, - resource: AlertConfiguration, + identity_binding_name: str, + parameters: IdentityBinding, *, content_type: str = "application/json", **kwargs: Any - ) -> AsyncLROPoller[AlertConfiguration]: ... + ) -> AsyncLROPoller[IdentityBinding]: ... @overload async def begin_create_or_update( self, resource_group_name: str, resource_name: str, - configuration_name: str, - resource: IO[bytes], + identity_binding_name: str, + parameters: IO[bytes], *, content_type: str = "application/json", **kwargs: Any - ) -> AsyncLROPoller[AlertConfiguration]: ... + ) -> AsyncLROPoller[IdentityBinding]: ... @distributed_trace_async - @api_version_validation(method_added_on='2026-05-02-preview', params_added_on={'2026-05-02-preview': ['api_version', 'subscription_id', 'resource_group_name', 'resource_name', 'configuration_name']}, api_versions_list=['2026-05-02-preview']) + @api_version_validation(method_added_on='2026-04-01', params_added_on={'2026-04-01': ['api_version', 'subscription_id', 'resource_group_name', 'resource_name', 'identity_binding_name']}, api_versions_list=['2026-04-01', '2026-05-01']) async def begin_delete( self, resource_group_name: str, resource_name: str, - configuration_name: str, + identity_binding_name: str, **kwargs: Any ) -> AsyncLROPoller[None]: ... @distributed_trace_async - @api_version_validation(method_added_on='2026-05-02-preview', params_added_on={'2026-05-02-preview': ['api_version', 'subscription_id', 'resource_group_name', 'resource_name', 'configuration_name', 'accept']}, api_versions_list=['2026-05-02-preview']) + @api_version_validation(method_added_on='2026-04-01', params_added_on={'2026-04-01': ['api_version', 'subscription_id', 'resource_group_name', 'resource_name', 'identity_binding_name', 'accept']}, api_versions_list=['2026-04-01', '2026-05-01']) async def get( self, resource_group_name: str, resource_name: str, - configuration_name: str, + identity_binding_name: str, **kwargs: Any - ) -> AlertConfiguration: ... + ) -> IdentityBinding: ... @distributed_trace - @api_version_validation(method_added_on='2026-05-02-preview', params_added_on={'2026-05-02-preview': ['api_version', 'subscription_id', 'resource_group_name', 'resource_name', 'accept']}, api_versions_list=['2026-05-02-preview']) + @api_version_validation(method_added_on='2026-04-01', params_added_on={'2026-04-01': ['api_version', 'subscription_id', 'resource_group_name', 'resource_name', 'accept']}, api_versions_list=['2026-04-01', '2026-05-01']) def list_by_managed_cluster( self, resource_group_name: str, resource_name: str, **kwargs: Any - ) -> AsyncItemPaged[AlertConfiguration]: ... + ) -> AsyncItemPaged[IdentityBinding]: ... - class azure.mgmt.containerservice.aio.operations.ContainerServiceOperations: + class azure.mgmt.containerservice.aio.operations.MachinesOperations: def __init__( self, @@ -379,15 +315,27 @@ namespace azure.mgmt.containerservice.aio.operations **kwargs ) -> None: ... + @distributed_trace_async + async def get( + self, + resource_group_name: str, + resource_name: str, + agent_pool_name: str, + machine_name: str, + **kwargs: Any + ) -> Machine: ... + @distributed_trace - def list_node_image_versions( + def list( self, - location: str, + resource_group_name: str, + resource_name: str, + agent_pool_name: str, **kwargs: Any - ) -> AsyncItemPaged[NodeImageVersion]: ... + ) -> AsyncItemPaged[Machine]: ... - class azure.mgmt.containerservice.aio.operations.IdentityBindingsOperations: + class azure.mgmt.containerservice.aio.operations.MaintenanceConfigurationsOperations: def __init__( self, @@ -396,72 +344,69 @@ namespace azure.mgmt.containerservice.aio.operations ) -> None: ... @overload - async def begin_create_or_update( + async def create_or_update( self, resource_group_name: str, resource_name: str, - identity_binding_name: str, - parameters: IdentityBinding, + config_name: str, + parameters: MaintenanceConfiguration, *, content_type: str = "application/json", **kwargs: Any - ) -> AsyncLROPoller[IdentityBinding]: ... + ) -> MaintenanceConfiguration: ... @overload - async def begin_create_or_update( + async def create_or_update( self, resource_group_name: str, resource_name: str, - identity_binding_name: str, - parameters: IdentityBinding, + config_name: str, + parameters: MaintenanceConfiguration, *, content_type: str = "application/json", **kwargs: Any - ) -> AsyncLROPoller[IdentityBinding]: ... + ) -> MaintenanceConfiguration: ... @overload - async def begin_create_or_update( + async def create_or_update( self, resource_group_name: str, resource_name: str, - identity_binding_name: str, + config_name: str, parameters: IO[bytes], *, content_type: str = "application/json", **kwargs: Any - ) -> AsyncLROPoller[IdentityBinding]: ... + ) -> MaintenanceConfiguration: ... @distributed_trace_async - @api_version_validation(method_added_on='2026-04-01', params_added_on={'2026-04-01': ['api_version', 'subscription_id', 'resource_group_name', 'resource_name', 'identity_binding_name']}, api_versions_list=['2026-04-01', '2026-05-01', '2026-05-02-preview']) - async def begin_delete( + async def delete( self, resource_group_name: str, resource_name: str, - identity_binding_name: str, + config_name: str, **kwargs: Any - ) -> AsyncLROPoller[None]: ... + ) -> None: ... @distributed_trace_async - @api_version_validation(method_added_on='2026-04-01', params_added_on={'2026-04-01': ['api_version', 'subscription_id', 'resource_group_name', 'resource_name', 'identity_binding_name', 'accept']}, api_versions_list=['2026-04-01', '2026-05-01', '2026-05-02-preview']) async def get( self, resource_group_name: str, resource_name: str, - identity_binding_name: str, + config_name: str, **kwargs: Any - ) -> IdentityBinding: ... + ) -> MaintenanceConfiguration: ... @distributed_trace - @api_version_validation(method_added_on='2026-04-01', params_added_on={'2026-04-01': ['api_version', 'subscription_id', 'resource_group_name', 'resource_name', 'accept']}, api_versions_list=['2026-04-01', '2026-05-01', '2026-05-02-preview']) def list_by_managed_cluster( self, resource_group_name: str, resource_name: str, **kwargs: Any - ) -> AsyncItemPaged[IdentityBinding]: ... + ) -> AsyncItemPaged[MaintenanceConfiguration]: ... - class azure.mgmt.containerservice.aio.operations.JWTAuthenticatorsOperations: + class azure.mgmt.containerservice.aio.operations.ManagedClustersOperations: def __init__( self, @@ -469,396 +414,358 @@ namespace azure.mgmt.containerservice.aio.operations **kwargs ) -> None: ... + @distributed_trace_async + async def begin_abort_latest_operation( + self, + resource_group_name: str, + resource_name: str, + **kwargs: Any + ) -> AsyncLROPoller[None]: ... + @overload async def begin_create_or_update( self, resource_group_name: str, resource_name: str, - jwt_authenticator_name: str, - parameters: JWTAuthenticator, + parameters: ManagedCluster, *, content_type: str = "application/json", + etag: Optional[str] = ..., + match_condition: Optional[MatchConditions] = ..., **kwargs: Any - ) -> AsyncLROPoller[JWTAuthenticator]: ... + ) -> AsyncLROPoller[ManagedCluster]: ... @overload async def begin_create_or_update( self, resource_group_name: str, resource_name: str, - jwt_authenticator_name: str, - parameters: JWTAuthenticator, + parameters: ManagedCluster, *, content_type: str = "application/json", + etag: Optional[str] = ..., + match_condition: Optional[MatchConditions] = ..., **kwargs: Any - ) -> AsyncLROPoller[JWTAuthenticator]: ... + ) -> AsyncLROPoller[ManagedCluster]: ... @overload async def begin_create_or_update( self, resource_group_name: str, resource_name: str, - jwt_authenticator_name: str, parameters: IO[bytes], *, content_type: str = "application/json", + etag: Optional[str] = ..., + match_condition: Optional[MatchConditions] = ..., **kwargs: Any - ) -> AsyncLROPoller[JWTAuthenticator]: ... + ) -> AsyncLROPoller[ManagedCluster]: ... @distributed_trace_async - @api_version_validation(method_added_on='2026-05-02-preview', params_added_on={'2026-05-02-preview': ['api_version', 'subscription_id', 'resource_group_name', 'resource_name', 'jwt_authenticator_name']}, api_versions_list=['2026-05-02-preview']) async def begin_delete( self, resource_group_name: str, resource_name: str, - jwt_authenticator_name: str, + *, + etag: Optional[str] = ..., + match_condition: Optional[MatchConditions] = ..., **kwargs: Any ) -> AsyncLROPoller[None]: ... - @distributed_trace_async - @api_version_validation(method_added_on='2026-05-02-preview', params_added_on={'2026-05-02-preview': ['api_version', 'subscription_id', 'resource_group_name', 'resource_name', 'jwt_authenticator_name', 'accept']}, api_versions_list=['2026-05-02-preview']) - async def get( + @overload + async def begin_reset_aad_profile( self, resource_group_name: str, resource_name: str, - jwt_authenticator_name: str, + parameters: ManagedClusterAADProfile, + *, + content_type: str = "application/json", **kwargs: Any - ) -> JWTAuthenticator: ... + ) -> AsyncLROPoller[None]: ... - @distributed_trace - @api_version_validation(method_added_on='2026-05-02-preview', params_added_on={'2026-05-02-preview': ['api_version', 'subscription_id', 'resource_group_name', 'resource_name', 'accept']}, api_versions_list=['2026-05-02-preview']) - def list_by_managed_cluster( + @overload + async def begin_reset_aad_profile( self, resource_group_name: str, resource_name: str, + parameters: ManagedClusterAADProfile, + *, + content_type: str = "application/json", **kwargs: Any - ) -> AsyncItemPaged[JWTAuthenticator]: ... - - - class azure.mgmt.containerservice.aio.operations.LoadBalancersOperations: - - def __init__( - self, - *args, - **kwargs - ) -> None: ... + ) -> AsyncLROPoller[None]: ... - @distributed_trace_async - @api_version_validation(method_added_on='2026-05-02-preview', params_added_on={'2026-05-02-preview': ['api_version', 'subscription_id', 'resource_group_name', 'resource_name', 'load_balancer_name']}, api_versions_list=['2026-05-02-preview']) - async def begin_delete( + @overload + async def begin_reset_aad_profile( self, resource_group_name: str, resource_name: str, - load_balancer_name: str, + parameters: IO[bytes], + *, + content_type: str = "application/json", **kwargs: Any ) -> AsyncLROPoller[None]: ... @overload - async def create_or_update( + async def begin_reset_service_principal_profile( self, resource_group_name: str, resource_name: str, - load_balancer_name: str, - parameters: LoadBalancer, + parameters: ManagedClusterServicePrincipalProfile, *, content_type: str = "application/json", **kwargs: Any - ) -> LoadBalancer: ... + ) -> AsyncLROPoller[None]: ... @overload - async def create_or_update( + async def begin_reset_service_principal_profile( self, resource_group_name: str, resource_name: str, - load_balancer_name: str, - parameters: LoadBalancer, + parameters: ManagedClusterServicePrincipalProfile, *, content_type: str = "application/json", **kwargs: Any - ) -> LoadBalancer: ... + ) -> AsyncLROPoller[None]: ... @overload - async def create_or_update( + async def begin_reset_service_principal_profile( self, resource_group_name: str, resource_name: str, - load_balancer_name: str, parameters: IO[bytes], *, content_type: str = "application/json", **kwargs: Any - ) -> LoadBalancer: ... + ) -> AsyncLROPoller[None]: ... @distributed_trace_async - @api_version_validation(method_added_on='2026-05-02-preview', params_added_on={'2026-05-02-preview': ['api_version', 'subscription_id', 'resource_group_name', 'resource_name', 'load_balancer_name', 'accept']}, api_versions_list=['2026-05-02-preview']) - async def get( + async def begin_rotate_cluster_certificates( self, resource_group_name: str, resource_name: str, - load_balancer_name: str, **kwargs: Any - ) -> LoadBalancer: ... + ) -> AsyncLROPoller[None]: ... - @distributed_trace - @api_version_validation(method_added_on='2026-05-02-preview', params_added_on={'2026-05-02-preview': ['api_version', 'subscription_id', 'resource_group_name', 'resource_name', 'accept']}, api_versions_list=['2026-05-02-preview']) - def list_by_managed_cluster( + @distributed_trace_async + async def begin_rotate_service_account_signing_keys( self, resource_group_name: str, resource_name: str, **kwargs: Any - ) -> AsyncItemPaged[LoadBalancer]: ... - - - class azure.mgmt.containerservice.aio.operations.MachinesOperations: - - def __init__( - self, - *args, - **kwargs - ) -> None: ... + ) -> AsyncLROPoller[None]: ... @overload - async def begin_create_or_update( + async def begin_run_command( self, resource_group_name: str, resource_name: str, - agent_pool_name: str, - machine_name: str, - parameters: Machine, + request_payload: RunCommandRequest, *, content_type: str = "application/json", - etag: Optional[str] = ..., - match_condition: Optional[MatchConditions] = ..., **kwargs: Any - ) -> AsyncLROPoller[Machine]: ... + ) -> AsyncLROPoller[RunCommandResult]: ... @overload - async def begin_create_or_update( + async def begin_run_command( self, resource_group_name: str, resource_name: str, - agent_pool_name: str, - machine_name: str, - parameters: Machine, + request_payload: RunCommandRequest, *, content_type: str = "application/json", - etag: Optional[str] = ..., - match_condition: Optional[MatchConditions] = ..., **kwargs: Any - ) -> AsyncLROPoller[Machine]: ... + ) -> AsyncLROPoller[RunCommandResult]: ... @overload - async def begin_create_or_update( + async def begin_run_command( self, resource_group_name: str, resource_name: str, - agent_pool_name: str, - machine_name: str, - parameters: IO[bytes], + request_payload: IO[bytes], *, content_type: str = "application/json", - etag: Optional[str] = ..., - match_condition: Optional[MatchConditions] = ..., **kwargs: Any - ) -> AsyncLROPoller[Machine]: ... + ) -> AsyncLROPoller[RunCommandResult]: ... @distributed_trace_async - async def get( + async def begin_start( self, resource_group_name: str, resource_name: str, - agent_pool_name: str, - machine_name: str, **kwargs: Any - ) -> Machine: ... + ) -> AsyncLROPoller[None]: ... - @distributed_trace - def list( + @distributed_trace_async + async def begin_stop( self, resource_group_name: str, resource_name: str, - agent_pool_name: str, **kwargs: Any - ) -> AsyncItemPaged[Machine]: ... - - - class azure.mgmt.containerservice.aio.operations.MaintenanceConfigurationsOperations: - - def __init__( - self, - *args, - **kwargs - ) -> None: ... + ) -> AsyncLROPoller[None]: ... @overload - async def create_or_update( + async def begin_update_tags( self, resource_group_name: str, resource_name: str, - config_name: str, - parameters: MaintenanceConfiguration, + parameters: TagsObject, *, content_type: str = "application/json", + etag: Optional[str] = ..., + match_condition: Optional[MatchConditions] = ..., **kwargs: Any - ) -> MaintenanceConfiguration: ... + ) -> AsyncLROPoller[ManagedCluster]: ... @overload - async def create_or_update( + async def begin_update_tags( self, resource_group_name: str, resource_name: str, - config_name: str, - parameters: MaintenanceConfiguration, + parameters: TagsObject, *, content_type: str = "application/json", + etag: Optional[str] = ..., + match_condition: Optional[MatchConditions] = ..., **kwargs: Any - ) -> MaintenanceConfiguration: ... + ) -> AsyncLROPoller[ManagedCluster]: ... @overload - async def create_or_update( + async def begin_update_tags( self, resource_group_name: str, resource_name: str, - config_name: str, parameters: IO[bytes], *, content_type: str = "application/json", + etag: Optional[str] = ..., + match_condition: Optional[MatchConditions] = ..., **kwargs: Any - ) -> MaintenanceConfiguration: ... + ) -> AsyncLROPoller[ManagedCluster]: ... @distributed_trace_async - async def delete( + async def get( self, resource_group_name: str, resource_name: str, - config_name: str, **kwargs: Any - ) -> None: ... + ) -> ManagedCluster: ... @distributed_trace_async - async def get( + async def get_access_profile( self, resource_group_name: str, resource_name: str, - config_name: str, + role_name: str, **kwargs: Any - ) -> MaintenanceConfiguration: ... + ) -> ManagedClusterAccessProfile: ... - @distributed_trace - def list_by_managed_cluster( + @distributed_trace_async + async def get_command_result( self, resource_group_name: str, resource_name: str, + command_id: str, **kwargs: Any - ) -> AsyncItemPaged[MaintenanceConfiguration]: ... - + ) -> Optional[RunCommandResult]: ... - class azure.mgmt.containerservice.aio.operations.MaintenanceWindowsOperations: + @distributed_trace_async + async def get_mesh_revision_profile( + self, + location: str, + mode: str, + **kwargs: Any + ) -> MeshRevisionProfile: ... - def __init__( + @distributed_trace_async + async def get_mesh_upgrade_profile( self, - *args, - **kwargs - ) -> None: ... + resource_group_name: str, + resource_name: str, + mode: str, + **kwargs: Any + ) -> MeshUpgradeProfile: ... - @overload - async def begin_create_or_update( + @distributed_trace_async + async def get_upgrade_profile( self, resource_group_name: str, - maintenance_window_name: str, - resource: MaintenanceWindowResource, - *, - content_type: str = "application/json", + resource_name: str, **kwargs: Any - ) -> AsyncLROPoller[MaintenanceWindowResource]: ... + ) -> ManagedClusterUpgradeProfile: ... - @overload - async def begin_create_or_update( + @distributed_trace + def list(self, **kwargs: Any) -> AsyncItemPaged[ManagedCluster]: ... + + @distributed_trace + def list_by_resource_group( self, resource_group_name: str, - maintenance_window_name: str, - resource: MaintenanceWindowResource, - *, - content_type: str = "application/json", **kwargs: Any - ) -> AsyncLROPoller[MaintenanceWindowResource]: ... + ) -> AsyncItemPaged[ManagedCluster]: ... - @overload - async def begin_create_or_update( + @distributed_trace_async + async def list_cluster_admin_credentials( self, resource_group_name: str, - maintenance_window_name: str, - resource: IO[bytes], + resource_name: str, *, - content_type: str = "application/json", + server_fqdn: Optional[str] = ..., **kwargs: Any - ) -> AsyncLROPoller[MaintenanceWindowResource]: ... + ) -> CredentialResults: ... @distributed_trace_async - @api_version_validation(method_added_on='2026-05-02-preview', params_added_on={'2026-05-02-preview': ['api_version', 'subscription_id', 'resource_group_name', 'maintenance_window_name']}, api_versions_list=['2026-05-02-preview']) - async def begin_delete( + async def list_cluster_monitoring_user_credentials( self, resource_group_name: str, - maintenance_window_name: str, + resource_name: str, + *, + server_fqdn: Optional[str] = ..., **kwargs: Any - ) -> AsyncLROPoller[None]: ... + ) -> CredentialResults: ... @distributed_trace_async - @api_version_validation(method_added_on='2026-05-02-preview', params_added_on={'2026-05-02-preview': ['api_version', 'subscription_id', 'resource_group_name', 'maintenance_window_name', 'accept']}, api_versions_list=['2026-05-02-preview']) - async def get( + async def list_cluster_user_credentials( self, resource_group_name: str, - maintenance_window_name: str, + resource_name: str, + *, + format: Optional[Union[str, Format]] = ..., + server_fqdn: Optional[str] = ..., **kwargs: Any - ) -> MaintenanceWindowResource: ... + ) -> CredentialResults: ... - @distributed_trace - @api_version_validation(method_added_on='2026-05-02-preview', params_added_on={'2026-05-02-preview': ['api_version', 'subscription_id', 'resource_group_name', 'accept']}, api_versions_list=['2026-05-02-preview']) - def list( + @distributed_trace_async + async def list_kubernetes_versions( self, - resource_group_name: str, + location: str, **kwargs: Any - ) -> AsyncItemPaged[MaintenanceWindowResource]: ... + ) -> KubernetesVersionListResult: ... @distributed_trace - @api_version_validation(method_added_on='2026-05-02-preview', params_added_on={'2026-05-02-preview': ['api_version', 'subscription_id', 'accept']}, api_versions_list=['2026-05-02-preview']) - def list_by_subscription(self, **kwargs: Any) -> AsyncItemPaged[MaintenanceWindowResource]: ... - - @overload - async def update_tags( + def list_mesh_revision_profiles( self, - resource_group_name: str, - maintenance_window_name: str, - properties: TagsObject, - *, - content_type: str = "application/json", + location: str, **kwargs: Any - ) -> MaintenanceWindowResource: ... + ) -> AsyncItemPaged[MeshRevisionProfile]: ... - @overload - async def update_tags( + @distributed_trace + def list_mesh_upgrade_profiles( self, resource_group_name: str, - maintenance_window_name: str, - properties: TagsObject, - *, - content_type: str = "application/json", + resource_name: str, **kwargs: Any - ) -> MaintenanceWindowResource: ... + ) -> AsyncItemPaged[MeshUpgradeProfile]: ... - @overload - async def update_tags( + @distributed_trace + def list_outbound_network_dependencies_endpoints( self, resource_group_name: str, - maintenance_window_name: str, - properties: IO[bytes], - *, - content_type: str = "application/json", + resource_name: str, **kwargs: Any - ) -> MaintenanceWindowResource: ... + ) -> AsyncItemPaged[OutboundEnvironmentEndpoint]: ... - class azure.mgmt.containerservice.aio.operations.ManagedClusterSnapshotsOperations: + class azure.mgmt.containerservice.aio.operations.ManagedNamespacesOperations: def __init__( self, @@ -867,103 +774,126 @@ namespace azure.mgmt.containerservice.aio.operations ) -> None: ... @overload - async def create_or_update( + async def begin_create_or_update( self, resource_group_name: str, resource_name: str, - parameters: ManagedClusterSnapshot, + managed_namespace_name: str, + parameters: ManagedNamespace, *, content_type: str = "application/json", **kwargs: Any - ) -> ManagedClusterSnapshot: ... + ) -> AsyncLROPoller[ManagedNamespace]: ... @overload - async def create_or_update( + async def begin_create_or_update( self, resource_group_name: str, resource_name: str, - parameters: ManagedClusterSnapshot, + managed_namespace_name: str, + parameters: ManagedNamespace, *, content_type: str = "application/json", **kwargs: Any - ) -> ManagedClusterSnapshot: ... + ) -> AsyncLROPoller[ManagedNamespace]: ... @overload - async def create_or_update( + async def begin_create_or_update( self, resource_group_name: str, resource_name: str, + managed_namespace_name: str, parameters: IO[bytes], *, content_type: str = "application/json", **kwargs: Any - ) -> ManagedClusterSnapshot: ... + ) -> AsyncLROPoller[ManagedNamespace]: ... @distributed_trace_async - @api_version_validation(method_added_on='2026-05-02-preview', params_added_on={'2026-05-02-preview': ['api_version', 'subscription_id', 'resource_group_name', 'resource_name']}, api_versions_list=['2026-05-02-preview']) - async def delete( + async def begin_delete( self, resource_group_name: str, resource_name: str, + managed_namespace_name: str, **kwargs: Any - ) -> None: ... + ) -> AsyncLROPoller[None]: ... @distributed_trace_async - @api_version_validation(method_added_on='2026-05-02-preview', params_added_on={'2026-05-02-preview': ['api_version', 'subscription_id', 'resource_group_name', 'resource_name', 'accept']}, api_versions_list=['2026-05-02-preview']) async def get( self, resource_group_name: str, resource_name: str, + managed_namespace_name: str, **kwargs: Any - ) -> ManagedClusterSnapshot: ... + ) -> ManagedNamespace: ... @distributed_trace - @api_version_validation(method_added_on='2026-05-02-preview', params_added_on={'2026-05-02-preview': ['api_version', 'subscription_id', 'accept']}, api_versions_list=['2026-05-02-preview']) - def list(self, **kwargs: Any) -> AsyncItemPaged[ManagedClusterSnapshot]: ... + def list_by_managed_cluster( + self, + resource_group_name: str, + resource_name: str, + **kwargs: Any + ) -> AsyncItemPaged[ManagedNamespace]: ... - @distributed_trace - @api_version_validation(method_added_on='2026-05-02-preview', params_added_on={'2026-05-02-preview': ['api_version', 'subscription_id', 'resource_group_name', 'accept']}, api_versions_list=['2026-05-02-preview']) - def list_by_resource_group( + @distributed_trace_async + async def list_credential( self, resource_group_name: str, + resource_name: str, + managed_namespace_name: str, **kwargs: Any - ) -> AsyncItemPaged[ManagedClusterSnapshot]: ... + ) -> CredentialResults: ... @overload - async def update_tags( + async def update( self, resource_group_name: str, resource_name: str, + managed_namespace_name: str, parameters: TagsObject, *, content_type: str = "application/json", **kwargs: Any - ) -> ManagedClusterSnapshot: ... + ) -> ManagedNamespace: ... @overload - async def update_tags( + async def update( self, resource_group_name: str, resource_name: str, + managed_namespace_name: str, parameters: TagsObject, *, content_type: str = "application/json", **kwargs: Any - ) -> ManagedClusterSnapshot: ... + ) -> ManagedNamespace: ... @overload - async def update_tags( + async def update( self, resource_group_name: str, resource_name: str, + managed_namespace_name: str, parameters: IO[bytes], *, content_type: str = "application/json", **kwargs: Any - ) -> ManagedClusterSnapshot: ... + ) -> ManagedNamespace: ... - class azure.mgmt.containerservice.aio.operations.ManagedClustersOperations: + class azure.mgmt.containerservice.aio.operations.Operations: + + def __init__( + self, + *args, + **kwargs + ) -> None: ... + + @distributed_trace + def list(self, **kwargs: Any) -> AsyncItemPaged[OperationValue]: ... + + + class azure.mgmt.containerservice.aio.operations.PrivateEndpointConnectionsOperations: def __init__( self, @@ -972,89 +902,117 @@ namespace azure.mgmt.containerservice.aio.operations ) -> None: ... @distributed_trace_async - async def begin_abort_latest_operation( + async def begin_delete( self, resource_group_name: str, resource_name: str, + private_endpoint_connection_name: str, **kwargs: Any ) -> AsyncLROPoller[None]: ... + @distributed_trace_async + async def get( + self, + resource_group_name: str, + resource_name: str, + private_endpoint_connection_name: str, + **kwargs: Any + ) -> PrivateEndpointConnection: ... + + @distributed_trace_async + async def list( + self, + resource_group_name: str, + resource_name: str, + **kwargs: Any + ) -> PrivateEndpointConnectionListResult: ... + @overload - async def begin_create_or_update( + async def update( self, resource_group_name: str, resource_name: str, - parameters: ManagedCluster, + private_endpoint_connection_name: str, + parameters: PrivateEndpointConnection, *, content_type: str = "application/json", - etag: Optional[str] = ..., - match_condition: Optional[MatchConditions] = ..., **kwargs: Any - ) -> AsyncLROPoller[ManagedCluster]: ... + ) -> PrivateEndpointConnection: ... @overload - async def begin_create_or_update( + async def update( self, resource_group_name: str, resource_name: str, - parameters: ManagedCluster, + private_endpoint_connection_name: str, + parameters: PrivateEndpointConnection, *, content_type: str = "application/json", - etag: Optional[str] = ..., - match_condition: Optional[MatchConditions] = ..., **kwargs: Any - ) -> AsyncLROPoller[ManagedCluster]: ... + ) -> PrivateEndpointConnection: ... @overload - async def begin_create_or_update( + async def update( self, resource_group_name: str, resource_name: str, + private_endpoint_connection_name: str, parameters: IO[bytes], *, content_type: str = "application/json", - etag: Optional[str] = ..., - match_condition: Optional[MatchConditions] = ..., **kwargs: Any - ) -> AsyncLROPoller[ManagedCluster]: ... + ) -> PrivateEndpointConnection: ... + + + class azure.mgmt.containerservice.aio.operations.PrivateLinkResourcesOperations: + + def __init__( + self, + *args, + **kwargs + ) -> None: ... @distributed_trace_async - @api_version_validation(params_added_on={'2026-05-02-preview': ['ignore_pod_disruption_budget']}, api_versions_list=['2025-10-01', '2026-01-01', '2026-02-01', '2026-03-01', '2026-04-01', '2026-05-01', '2026-05-02-preview']) - async def begin_delete( + async def list( self, resource_group_name: str, resource_name: str, - *, - etag: Optional[str] = ..., - ignore_pod_disruption_budget: Optional[bool] = ..., - match_condition: Optional[MatchConditions] = ..., **kwargs: Any - ) -> AsyncLROPoller[None]: ... + ) -> PrivateLinkResourcesListResult: ... + + + class azure.mgmt.containerservice.aio.operations.ResolvePrivateLinkServiceIdOperations: + + def __init__( + self, + *args, + **kwargs + ) -> None: ... @overload - async def begin_rebalance_load_balancers( + async def post( self, resource_group_name: str, resource_name: str, - parameters: RebalanceLoadBalancersRequestBody, + parameters: PrivateLinkResource, *, content_type: str = "application/json", **kwargs: Any - ) -> AsyncLROPoller[None]: ... + ) -> PrivateLinkResource: ... @overload - async def begin_rebalance_load_balancers( + async def post( self, resource_group_name: str, resource_name: str, - parameters: RebalanceLoadBalancersRequestBody, + parameters: PrivateLinkResource, *, content_type: str = "application/json", **kwargs: Any - ) -> AsyncLROPoller[None]: ... + ) -> PrivateLinkResource: ... @overload - async def begin_rebalance_load_balancers( + async def post( self, resource_group_name: str, resource_name: str, @@ -1062,4731 +1020,2192 @@ namespace azure.mgmt.containerservice.aio.operations *, content_type: str = "application/json", **kwargs: Any - ) -> AsyncLROPoller[None]: ... + ) -> PrivateLinkResource: ... - @overload - async def begin_reset_aad_profile( - self, - resource_group_name: str, - resource_name: str, - parameters: ManagedClusterAADProfile, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> AsyncLROPoller[None]: ... - @overload - async def begin_reset_aad_profile( + class azure.mgmt.containerservice.aio.operations.SnapshotsOperations: + + def __init__( self, - resource_group_name: str, - resource_name: str, - parameters: ManagedClusterAADProfile, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> AsyncLROPoller[None]: ... + *args, + **kwargs + ) -> None: ... @overload - async def begin_reset_aad_profile( + async def create_or_update( self, resource_group_name: str, resource_name: str, - parameters: IO[bytes], + parameters: Snapshot, *, content_type: str = "application/json", **kwargs: Any - ) -> AsyncLROPoller[None]: ... + ) -> Snapshot: ... @overload - async def begin_reset_service_principal_profile( + async def create_or_update( self, resource_group_name: str, resource_name: str, - parameters: ManagedClusterServicePrincipalProfile, + parameters: Snapshot, *, content_type: str = "application/json", **kwargs: Any - ) -> AsyncLROPoller[None]: ... + ) -> Snapshot: ... @overload - async def begin_reset_service_principal_profile( + async def create_or_update( self, resource_group_name: str, resource_name: str, - parameters: ManagedClusterServicePrincipalProfile, + parameters: IO[bytes], *, content_type: str = "application/json", **kwargs: Any - ) -> AsyncLROPoller[None]: ... + ) -> Snapshot: ... - @overload - async def begin_reset_service_principal_profile( + @distributed_trace_async + async def delete( self, resource_group_name: str, resource_name: str, - parameters: IO[bytes], - *, - content_type: str = "application/json", **kwargs: Any - ) -> AsyncLROPoller[None]: ... + ) -> None: ... @distributed_trace_async - async def begin_rotate_cluster_certificates( + async def get( self, resource_group_name: str, resource_name: str, **kwargs: Any - ) -> AsyncLROPoller[None]: ... + ) -> Snapshot: ... - @distributed_trace_async - async def begin_rotate_service_account_signing_keys( + @distributed_trace + def list(self, **kwargs: Any) -> AsyncItemPaged[Snapshot]: ... + + @distributed_trace + def list_by_resource_group( self, resource_group_name: str, - resource_name: str, **kwargs: Any - ) -> AsyncLROPoller[None]: ... + ) -> AsyncItemPaged[Snapshot]: ... @overload - async def begin_run_command( + async def update_tags( self, resource_group_name: str, resource_name: str, - request_payload: RunCommandRequest, + parameters: TagsObject, *, content_type: str = "application/json", **kwargs: Any - ) -> AsyncLROPoller[RunCommandResult]: ... + ) -> Snapshot: ... @overload - async def begin_run_command( + async def update_tags( self, resource_group_name: str, resource_name: str, - request_payload: RunCommandRequest, + parameters: TagsObject, *, content_type: str = "application/json", **kwargs: Any - ) -> AsyncLROPoller[RunCommandResult]: ... + ) -> Snapshot: ... @overload - async def begin_run_command( + async def update_tags( self, resource_group_name: str, resource_name: str, - request_payload: IO[bytes], + parameters: IO[bytes], *, content_type: str = "application/json", **kwargs: Any - ) -> AsyncLROPoller[RunCommandResult]: ... + ) -> Snapshot: ... - @distributed_trace_async - async def begin_start( - self, - resource_group_name: str, - resource_name: str, - **kwargs: Any - ) -> AsyncLROPoller[None]: ... - @distributed_trace_async - async def begin_stop( + class azure.mgmt.containerservice.aio.operations.TrustedAccessRoleBindingsOperations: + + def __init__( self, - resource_group_name: str, - resource_name: str, - **kwargs: Any - ) -> AsyncLROPoller[None]: ... + *args, + **kwargs + ) -> None: ... @overload - async def begin_update_tags( + async def begin_create_or_update( self, resource_group_name: str, resource_name: str, - parameters: TagsObject, + trusted_access_role_binding_name: str, + trusted_access_role_binding: TrustedAccessRoleBinding, *, content_type: str = "application/json", - etag: Optional[str] = ..., - match_condition: Optional[MatchConditions] = ..., **kwargs: Any - ) -> AsyncLROPoller[ManagedCluster]: ... + ) -> AsyncLROPoller[TrustedAccessRoleBinding]: ... @overload - async def begin_update_tags( + async def begin_create_or_update( self, resource_group_name: str, resource_name: str, - parameters: TagsObject, + trusted_access_role_binding_name: str, + trusted_access_role_binding: TrustedAccessRoleBinding, *, content_type: str = "application/json", - etag: Optional[str] = ..., - match_condition: Optional[MatchConditions] = ..., **kwargs: Any - ) -> AsyncLROPoller[ManagedCluster]: ... + ) -> AsyncLROPoller[TrustedAccessRoleBinding]: ... @overload - async def begin_update_tags( + async def begin_create_or_update( self, resource_group_name: str, resource_name: str, - parameters: IO[bytes], + trusted_access_role_binding_name: str, + trusted_access_role_binding: IO[bytes], *, content_type: str = "application/json", - etag: Optional[str] = ..., - match_condition: Optional[MatchConditions] = ..., **kwargs: Any - ) -> AsyncLROPoller[ManagedCluster]: ... + ) -> AsyncLROPoller[TrustedAccessRoleBinding]: ... @distributed_trace_async - async def get( + async def begin_delete( self, resource_group_name: str, resource_name: str, + trusted_access_role_binding_name: str, **kwargs: Any - ) -> ManagedCluster: ... + ) -> AsyncLROPoller[None]: ... @distributed_trace_async - async def get_access_profile( + async def get( self, resource_group_name: str, resource_name: str, - role_name: str, + trusted_access_role_binding_name: str, **kwargs: Any - ) -> ManagedClusterAccessProfile: ... + ) -> TrustedAccessRoleBinding: ... - @distributed_trace_async - async def get_command_result( + @distributed_trace + def list( self, resource_group_name: str, resource_name: str, - command_id: str, **kwargs: Any - ) -> Optional[RunCommandResult]: ... + ) -> AsyncItemPaged[TrustedAccessRoleBinding]: ... - @distributed_trace_async - async def get_guardrails_versions( - self, - location: str, - version: str, - **kwargs: Any - ) -> GuardrailsAvailableVersion: ... - @distributed_trace_async - async def get_mesh_revision_profile( - self, - location: str, - mode: str, - **kwargs: Any - ) -> MeshRevisionProfile: ... + class azure.mgmt.containerservice.aio.operations.TrustedAccessRolesOperations: - @distributed_trace_async - async def get_mesh_upgrade_profile( + def __init__( self, - resource_group_name: str, - resource_name: str, - mode: str, - **kwargs: Any - ) -> MeshUpgradeProfile: ... + *args, + **kwargs + ) -> None: ... - @distributed_trace_async - async def get_safeguards_versions( + @distributed_trace + def list( self, location: str, - version: str, **kwargs: Any - ) -> SafeguardsAvailableVersion: ... + ) -> AsyncItemPaged[TrustedAccessRole]: ... - @distributed_trace_async - async def get_upgrade_profile( - self, - resource_group_name: str, - resource_name: str, - **kwargs: Any - ) -> ManagedClusterUpgradeProfile: ... - @distributed_trace - def list(self, **kwargs: Any) -> AsyncItemPaged[ManagedCluster]: ... +namespace azure.mgmt.containerservice.models - @distributed_trace - def list_by_resource_group( - self, - resource_group_name: str, - **kwargs: Any - ) -> AsyncItemPaged[ManagedCluster]: ... + class azure.mgmt.containerservice.models.AbsoluteMonthlySchedule(_Model): + day_of_month: int + interval_months: int - @distributed_trace_async - async def list_cluster_admin_credentials( + @overload + def __init__( self, - resource_group_name: str, - resource_name: str, *, - server_fqdn: Optional[str] = ..., - **kwargs: Any - ) -> CredentialResults: ... + day_of_month: int, + interval_months: int + ) -> None: ... - @distributed_trace_async - async def list_cluster_monitoring_user_credentials( - self, - resource_group_name: str, - resource_name: str, - *, - server_fqdn: Optional[str] = ..., - **kwargs: Any - ) -> CredentialResults: ... + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: ... - @distributed_trace_async - async def list_cluster_user_credentials( - self, - resource_group_name: str, - resource_name: str, - *, - format: Optional[Union[str, Format]] = ..., - server_fqdn: Optional[str] = ..., - **kwargs: Any - ) -> CredentialResults: ... - @distributed_trace - def list_guardrails_versions( - self, - location: str, - **kwargs: Any - ) -> AsyncItemPaged[GuardrailsAvailableVersion]: ... + class azure.mgmt.containerservice.models.AccelerationMode(str, Enum, metaclass=CaseInsensitiveEnumMeta): + BPF_VETH = "BpfVeth" + NONE = "None" - @distributed_trace_async - async def list_kubernetes_versions( - self, - location: str, - **kwargs: Any - ) -> KubernetesVersionListResult: ... - @distributed_trace - def list_mesh_revision_profiles( - self, - location: str, - **kwargs: Any - ) -> AsyncItemPaged[MeshRevisionProfile]: ... + class azure.mgmt.containerservice.models.AccessProfile(_Model): + kube_config: Optional[bytes] - @distributed_trace - def list_mesh_upgrade_profiles( + @overload + def __init__( self, - resource_group_name: str, - resource_name: str, - **kwargs: Any - ) -> AsyncItemPaged[MeshUpgradeProfile]: ... + *, + kube_config: Optional[bytes] = ... + ) -> None: ... - @distributed_trace - def list_outbound_network_dependencies_endpoints( - self, - resource_group_name: str, - resource_name: str, - **kwargs: Any - ) -> AsyncItemPaged[OutboundEnvironmentEndpoint]: ... + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: ... - @distributed_trace - def list_safeguards_versions( - self, - location: str, - **kwargs: Any - ) -> AsyncItemPaged[SafeguardsAvailableVersion]: ... + + class azure.mgmt.containerservice.models.AdoptionPolicy(str, Enum, metaclass=CaseInsensitiveEnumMeta): + ALWAYS = "Always" + IF_IDENTICAL = "IfIdentical" + NEVER = "Never" - class azure.mgmt.containerservice.aio.operations.ManagedNamespacesOperations: + class azure.mgmt.containerservice.models.AdvancedNetworkPolicies(str, Enum, metaclass=CaseInsensitiveEnumMeta): + FQDN = "FQDN" + L7 = "L7" + NONE = "None" + + + class azure.mgmt.containerservice.models.AdvancedNetworking(_Model): + enabled: Optional[bool] + observability: Optional[AdvancedNetworkingObservability] + performance: Optional[AdvancedNetworkingPerformance] + security: Optional[AdvancedNetworkingSecurity] + @overload def __init__( self, - *args, - **kwargs + *, + enabled: Optional[bool] = ..., + observability: Optional[AdvancedNetworkingObservability] = ..., + performance: Optional[AdvancedNetworkingPerformance] = ..., + security: Optional[AdvancedNetworkingSecurity] = ... ) -> None: ... @overload - async def begin_create_or_update( - self, - resource_group_name: str, - resource_name: str, - managed_namespace_name: str, - parameters: ManagedNamespace, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> AsyncLROPoller[ManagedNamespace]: ... + def __init__(self, mapping: Mapping[str, Any]) -> None: ... + + + class azure.mgmt.containerservice.models.AdvancedNetworkingObservability(_Model): + enabled: Optional[bool] @overload - async def begin_create_or_update( + def __init__( self, - resource_group_name: str, - resource_name: str, - managed_namespace_name: str, - parameters: ManagedNamespace, *, - content_type: str = "application/json", - **kwargs: Any - ) -> AsyncLROPoller[ManagedNamespace]: ... + enabled: Optional[bool] = ... + ) -> None: ... @overload - async def begin_create_or_update( - self, - resource_group_name: str, - resource_name: str, - managed_namespace_name: str, - parameters: IO[bytes], - *, - content_type: str = "application/json", - **kwargs: Any - ) -> AsyncLROPoller[ManagedNamespace]: ... + def __init__(self, mapping: Mapping[str, Any]) -> None: ... - @distributed_trace_async - async def begin_delete( - self, - resource_group_name: str, - resource_name: str, - managed_namespace_name: str, - **kwargs: Any - ) -> AsyncLROPoller[None]: ... - @distributed_trace_async - async def get( - self, - resource_group_name: str, - resource_name: str, - managed_namespace_name: str, - **kwargs: Any - ) -> ManagedNamespace: ... + class azure.mgmt.containerservice.models.AdvancedNetworkingPerformance(_Model): + acceleration_mode: Optional[Union[str, AccelerationMode]] - @distributed_trace - def list_by_managed_cluster( + @overload + def __init__( self, - resource_group_name: str, - resource_name: str, - **kwargs: Any - ) -> AsyncItemPaged[ManagedNamespace]: ... + *, + acceleration_mode: Optional[Union[str, AccelerationMode]] = ... + ) -> None: ... - @distributed_trace_async - async def list_credential( - self, - resource_group_name: str, - resource_name: str, - managed_namespace_name: str, - **kwargs: Any - ) -> CredentialResults: ... + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: ... + + + class azure.mgmt.containerservice.models.AdvancedNetworkingSecurity(_Model): + advanced_network_policies: Optional[Union[str, AdvancedNetworkPolicies]] + enabled: Optional[bool] + transit_encryption: Optional[AdvancedNetworkingSecurityTransitEncryption] @overload - async def update( + def __init__( self, - resource_group_name: str, - resource_name: str, - managed_namespace_name: str, - parameters: TagsObject, *, - content_type: str = "application/json", - **kwargs: Any - ) -> ManagedNamespace: ... + advanced_network_policies: Optional[Union[str, AdvancedNetworkPolicies]] = ..., + enabled: Optional[bool] = ..., + transit_encryption: Optional[AdvancedNetworkingSecurityTransitEncryption] = ... + ) -> None: ... @overload - async def update( - self, - resource_group_name: str, - resource_name: str, - managed_namespace_name: str, - parameters: TagsObject, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> ManagedNamespace: ... + def __init__(self, mapping: Mapping[str, Any]) -> None: ... + + + class azure.mgmt.containerservice.models.AdvancedNetworkingSecurityTransitEncryption(_Model): + type: Optional[Union[str, TransitEncryptionType]] @overload - async def update( + def __init__( self, - resource_group_name: str, - resource_name: str, - managed_namespace_name: str, - parameters: IO[bytes], *, - content_type: str = "application/json", - **kwargs: Any - ) -> ManagedNamespace: ... + type: Optional[Union[str, TransitEncryptionType]] = ... + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: ... + + class azure.mgmt.containerservice.models.AgentPool(ProxyResource): + id: str + name: str + properties: Optional[AgentPoolManagedClusterAgentPoolProfileProperties] + system_data: SystemData + type: str - class azure.mgmt.containerservice.aio.operations.MeshMembershipsOperations: + def __getattr__(self, name: str) -> Any: ... + @overload def __init__( self, - *args, - **kwargs + *, + properties: Optional[AgentPoolManagedClusterAgentPoolProfileProperties] = ... ) -> None: ... @overload - async def begin_create_or_update( + def __init__(self, mapping: Mapping[str, Any]) -> None: ... + + def __setattr__( self, - resource_group_name: str, - resource_name: str, - mesh_membership_name: str, - parameters: MeshMembership, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> AsyncLROPoller[MeshMembership]: ... + key: str, + value: Any + ) -> None: ... + + + class azure.mgmt.containerservice.models.AgentPoolArtifactStreamingProfile(_Model): + enabled: Optional[bool] @overload - async def begin_create_or_update( + def __init__( self, - resource_group_name: str, - resource_name: str, - mesh_membership_name: str, - parameters: MeshMembership, *, - content_type: str = "application/json", - **kwargs: Any - ) -> AsyncLROPoller[MeshMembership]: ... + enabled: Optional[bool] = ... + ) -> None: ... @overload - async def begin_create_or_update( - self, - resource_group_name: str, - resource_name: str, - mesh_membership_name: str, - parameters: IO[bytes], - *, - content_type: str = "application/json", - **kwargs: Any - ) -> AsyncLROPoller[MeshMembership]: ... + def __init__(self, mapping: Mapping[str, Any]) -> None: ... - @distributed_trace_async - @api_version_validation(method_added_on='2026-05-02-preview', params_added_on={'2026-05-02-preview': ['api_version', 'subscription_id', 'resource_group_name', 'resource_name', 'mesh_membership_name']}, api_versions_list=['2026-05-02-preview']) - async def begin_delete( - self, - resource_group_name: str, - resource_name: str, - mesh_membership_name: str, - **kwargs: Any - ) -> AsyncLROPoller[None]: ... - @distributed_trace_async - @api_version_validation(method_added_on='2026-05-02-preview', params_added_on={'2026-05-02-preview': ['api_version', 'subscription_id', 'resource_group_name', 'resource_name', 'mesh_membership_name', 'accept']}, api_versions_list=['2026-05-02-preview']) - async def get( + class azure.mgmt.containerservice.models.AgentPoolAvailableVersions(_Model): + id: Optional[str] + name: Optional[str] + properties: AgentPoolAvailableVersionsProperties + type: Optional[str] + + def __getattr__(self, name: str) -> Any: ... + + @overload + def __init__( self, - resource_group_name: str, - resource_name: str, - mesh_membership_name: str, - **kwargs: Any - ) -> MeshMembership: ... + *, + properties: AgentPoolAvailableVersionsProperties + ) -> None: ... - @distributed_trace - @api_version_validation(method_added_on='2026-05-02-preview', params_added_on={'2026-05-02-preview': ['api_version', 'subscription_id', 'resource_group_name', 'resource_name', 'accept']}, api_versions_list=['2026-05-02-preview']) - def list_by_managed_cluster( + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: ... + + def __setattr__( self, - resource_group_name: str, - resource_name: str, - **kwargs: Any - ) -> AsyncItemPaged[MeshMembership]: ... + key: str, + value: Any + ) -> None: ... - class azure.mgmt.containerservice.aio.operations.OperationStatusResultOperations: + class azure.mgmt.containerservice.models.AgentPoolAvailableVersionsProperties(_Model): + agent_pool_versions: Optional[list[AgentPoolAvailableVersionsPropertiesAgentPoolVersionsItem]] + @overload def __init__( self, - *args, - **kwargs + *, + agent_pool_versions: Optional[list[AgentPoolAvailableVersionsPropertiesAgentPoolVersionsItem]] = ... ) -> None: ... - @distributed_trace_async - @api_version_validation(method_added_on='2026-05-02-preview', params_added_on={'2026-05-02-preview': ['api_version', 'subscription_id', 'resource_group_name', 'resource_name', 'operation_id', 'accept']}, api_versions_list=['2026-05-02-preview']) - async def get( - self, - resource_group_name: str, - resource_name: str, - operation_id: str, - **kwargs: Any - ) -> OperationStatusResult: ... - - @distributed_trace_async - @api_version_validation(method_added_on='2026-05-02-preview', params_added_on={'2026-05-02-preview': ['api_version', 'subscription_id', 'resource_group_name', 'resource_name', 'agent_pool_name', 'operation_id', 'accept']}, api_versions_list=['2026-05-02-preview']) - async def get_by_agent_pool( - self, - resource_group_name: str, - resource_name: str, - agent_pool_name: str, - operation_id: str, - **kwargs: Any - ) -> OperationStatusResult: ... - - @distributed_trace - @api_version_validation(method_added_on='2026-05-02-preview', params_added_on={'2026-05-02-preview': ['api_version', 'subscription_id', 'resource_group_name', 'resource_name', 'accept']}, api_versions_list=['2026-05-02-preview']) - def list( - self, - resource_group_name: str, - resource_name: str, - **kwargs: Any - ) -> AsyncItemPaged[OperationStatusResult]: ... + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: ... - class azure.mgmt.containerservice.aio.operations.Operations: + class azure.mgmt.containerservice.models.AgentPoolAvailableVersionsPropertiesAgentPoolVersionsItem(_Model): + default: Optional[bool] + is_preview: Optional[bool] + kubernetes_version: Optional[str] + @overload def __init__( self, - *args, - **kwargs + *, + default: Optional[bool] = ..., + is_preview: Optional[bool] = ..., + kubernetes_version: Optional[str] = ... ) -> None: ... - @distributed_trace - def list(self, **kwargs: Any) -> AsyncItemPaged[OperationValue]: ... + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: ... - class azure.mgmt.containerservice.aio.operations.PrivateEndpointConnectionsOperations: + class azure.mgmt.containerservice.models.AgentPoolDeleteMachinesParameter(_Model): + machine_names: list[str] + @overload def __init__( self, - *args, - **kwargs + *, + machine_names: list[str] ) -> None: ... - @distributed_trace_async - async def begin_delete( - self, - resource_group_name: str, - resource_name: str, - private_endpoint_connection_name: str, - **kwargs: Any - ) -> AsyncLROPoller[None]: ... + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: ... - @distributed_trace_async - async def get( - self, - resource_group_name: str, - resource_name: str, - private_endpoint_connection_name: str, - **kwargs: Any - ) -> PrivateEndpointConnection: ... - @distributed_trace_async - async def list( - self, - resource_group_name: str, - resource_name: str, - **kwargs: Any - ) -> PrivateEndpointConnectionListResult: ... + class azure.mgmt.containerservice.models.AgentPoolGatewayProfile(_Model): + public_ip_prefix_size: Optional[int] @overload - async def update( + def __init__( self, - resource_group_name: str, - resource_name: str, - private_endpoint_connection_name: str, - parameters: PrivateEndpointConnection, *, - content_type: str = "application/json", - **kwargs: Any - ) -> PrivateEndpointConnection: ... + public_ip_prefix_size: Optional[int] = ... + ) -> None: ... @overload - async def update( - self, - resource_group_name: str, - resource_name: str, - private_endpoint_connection_name: str, - parameters: PrivateEndpointConnection, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> PrivateEndpointConnection: ... + def __init__(self, mapping: Mapping[str, Any]) -> None: ... + + + class azure.mgmt.containerservice.models.AgentPoolManagedClusterAgentPoolProfileProperties(_Model): + artifact_streaming_profile: Optional[AgentPoolArtifactStreamingProfile] + availability_zones: Optional[list[str]] + capacity_reservation_group_id: Optional[str] + count: Optional[int] + creation_data: Optional[CreationData] + current_orchestrator_version: Optional[str] + e_tag: Optional[str] + enable_auto_scaling: Optional[bool] + enable_encryption_at_host: Optional[bool] + enable_fips: Optional[bool] + enable_node_public_ip: Optional[bool] + enable_ultra_ssd: Optional[bool] + gateway_profile: Optional[AgentPoolGatewayProfile] + gpu_instance_profile: Optional[Union[str, GPUInstanceProfile]] + gpu_profile: Optional[GPUProfile] + host_group_id: Optional[str] + kubelet_config: Optional[KubeletConfig] + kubelet_disk_type: Optional[Union[str, KubeletDiskType]] + linux_os_config: Optional[LinuxOSConfig] + local_dns_profile: Optional[LocalDNSProfile] + max_count: Optional[int] + max_pods: Optional[int] + message_of_the_day: Optional[str] + min_count: Optional[int] + mode: Optional[Union[str, AgentPoolMode]] + network_profile: Optional[AgentPoolNetworkProfile] + node_image_version: Optional[str] + node_labels: Optional[dict[str, str]] + node_public_ip_prefix_id: Optional[str] + node_taints: Optional[list[str]] + orchestrator_version: Optional[str] + os_disk_size_gb: Optional[int] + os_disk_type: Optional[Union[str, OSDiskType]] + os_sku: Optional[Union[str, _models.OSSKU]] + os_type: Optional[Union[str, OSType]] + pod_ip_allocation_mode: Optional[Union[str, PodIPAllocationMode]] + pod_subnet_id: Optional[str] + power_state: Optional[PowerState] + provisioning_state: Optional[str] + proximity_placement_group_id: Optional[str] + scale_down_mode: Optional[Union[str, ScaleDownMode]] + scale_set_eviction_policy: Optional[Union[str, ScaleSetEvictionPolicy]] + scale_set_priority: Optional[Union[str, ScaleSetPriority]] + security_profile: Optional[AgentPoolSecurityProfile] + spot_max_price: Optional[float] + status: Optional[AgentPoolStatus] + tags: Optional[dict[str, str]] + type_properties_type: Optional[Union[str, AgentPoolType]] + upgrade_settings: Optional[AgentPoolUpgradeSettings] + virtual_machine_nodes_status: Optional[list[VirtualMachineNodes]] + virtual_machines_profile: Optional[VirtualMachinesProfile] + vm_size: Optional[str] + vnet_subnet_id: Optional[str] + windows_profile: Optional[AgentPoolWindowsProfile] + workload_runtime: Optional[Union[str, WorkloadRuntime]] @overload - async def update( + def __init__( self, - resource_group_name: str, - resource_name: str, - private_endpoint_connection_name: str, - parameters: IO[bytes], *, - content_type: str = "application/json", - **kwargs: Any - ) -> PrivateEndpointConnection: ... + artifact_streaming_profile: Optional[AgentPoolArtifactStreamingProfile] = ..., + availability_zones: Optional[list[str]] = ..., + capacity_reservation_group_id: Optional[str] = ..., + count: Optional[int] = ..., + creation_data: Optional[CreationData] = ..., + enable_auto_scaling: Optional[bool] = ..., + enable_encryption_at_host: Optional[bool] = ..., + enable_fips: Optional[bool] = ..., + enable_node_public_ip: Optional[bool] = ..., + enable_ultra_ssd: Optional[bool] = ..., + gateway_profile: Optional[AgentPoolGatewayProfile] = ..., + gpu_instance_profile: Optional[Union[str, GPUInstanceProfile]] = ..., + gpu_profile: Optional[GPUProfile] = ..., + host_group_id: Optional[str] = ..., + kubelet_config: Optional[KubeletConfig] = ..., + kubelet_disk_type: Optional[Union[str, KubeletDiskType]] = ..., + linux_os_config: Optional[LinuxOSConfig] = ..., + local_dns_profile: Optional[LocalDNSProfile] = ..., + max_count: Optional[int] = ..., + max_pods: Optional[int] = ..., + message_of_the_day: Optional[str] = ..., + min_count: Optional[int] = ..., + mode: Optional[Union[str, AgentPoolMode]] = ..., + network_profile: Optional[AgentPoolNetworkProfile] = ..., + node_image_version: Optional[str] = ..., + node_labels: Optional[dict[str, str]] = ..., + node_public_ip_prefix_id: Optional[str] = ..., + node_taints: Optional[list[str]] = ..., + orchestrator_version: Optional[str] = ..., + os_disk_size_gb: Optional[int] = ..., + os_disk_type: Optional[Union[str, OSDiskType]] = ..., + os_sku: Optional[Union[str, _models.OSSKU]] = ..., + os_type: Optional[Union[str, OSType]] = ..., + pod_ip_allocation_mode: Optional[Union[str, PodIPAllocationMode]] = ..., + pod_subnet_id: Optional[str] = ..., + power_state: Optional[PowerState] = ..., + proximity_placement_group_id: Optional[str] = ..., + scale_down_mode: Optional[Union[str, ScaleDownMode]] = ..., + scale_set_eviction_policy: Optional[Union[str, ScaleSetEvictionPolicy]] = ..., + scale_set_priority: Optional[Union[str, ScaleSetPriority]] = ..., + security_profile: Optional[AgentPoolSecurityProfile] = ..., + spot_max_price: Optional[float] = ..., + status: Optional[AgentPoolStatus] = ..., + tags: Optional[dict[str, str]] = ..., + type_properties_type: Optional[Union[str, AgentPoolType]] = ..., + upgrade_settings: Optional[AgentPoolUpgradeSettings] = ..., + virtual_machine_nodes_status: Optional[list[VirtualMachineNodes]] = ..., + virtual_machines_profile: Optional[VirtualMachinesProfile] = ..., + vm_size: Optional[str] = ..., + vnet_subnet_id: Optional[str] = ..., + windows_profile: Optional[AgentPoolWindowsProfile] = ..., + workload_runtime: Optional[Union[str, WorkloadRuntime]] = ... + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: ... - class azure.mgmt.containerservice.aio.operations.PrivateLinkResourcesOperations: + class azure.mgmt.containerservice.models.AgentPoolMode(str, Enum, metaclass=CaseInsensitiveEnumMeta): + GATEWAY = "Gateway" + SYSTEM = "System" + USER = "User" + + + class azure.mgmt.containerservice.models.AgentPoolNetworkProfile(_Model): + allowed_host_ports: Optional[list[PortRange]] + application_security_groups: Optional[list[str]] + node_public_ip_tags: Optional[list[IPTag]] + @overload def __init__( self, - *args, - **kwargs + *, + allowed_host_ports: Optional[list[PortRange]] = ..., + application_security_groups: Optional[list[str]] = ..., + node_public_ip_tags: Optional[list[IPTag]] = ... ) -> None: ... - @distributed_trace_async - async def list( - self, - resource_group_name: str, - resource_name: str, - **kwargs: Any - ) -> PrivateLinkResourcesListResult: ... + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: ... - class azure.mgmt.containerservice.aio.operations.ResolvePrivateLinkServiceIdOperations: + class azure.mgmt.containerservice.models.AgentPoolRecentlyUsedVersion(_Model): + node_image_version: Optional[str] + orchestrator_version: Optional[str] + timestamp: Optional[datetime] + @overload def __init__( self, - *args, - **kwargs + *, + node_image_version: Optional[str] = ..., + orchestrator_version: Optional[str] = ..., + timestamp: Optional[datetime] = ... ) -> None: ... @overload - async def post( - self, - resource_group_name: str, - resource_name: str, - parameters: PrivateLinkResource, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> PrivateLinkResource: ... + def __init__(self, mapping: Mapping[str, Any]) -> None: ... - @overload - async def post( - self, - resource_group_name: str, - resource_name: str, - parameters: PrivateLinkResource, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> PrivateLinkResource: ... - @overload - async def post( - self, - resource_group_name: str, - resource_name: str, - parameters: IO[bytes], - *, - content_type: str = "application/json", - **kwargs: Any - ) -> PrivateLinkResource: ... + class azure.mgmt.containerservice.models.AgentPoolSSHAccess(str, Enum, metaclass=CaseInsensitiveEnumMeta): + DISABLED = "Disabled" + LOCAL_USER = "LocalUser" - class azure.mgmt.containerservice.aio.operations.SnapshotsOperations: + class azure.mgmt.containerservice.models.AgentPoolSecurityProfile(_Model): + enable_secure_boot: Optional[bool] + enable_vtpm: Optional[bool] + ssh_access: Optional[Union[str, AgentPoolSSHAccess]] + @overload def __init__( self, - *args, - **kwargs + *, + enable_secure_boot: Optional[bool] = ..., + enable_vtpm: Optional[bool] = ..., + ssh_access: Optional[Union[str, AgentPoolSSHAccess]] = ... ) -> None: ... @overload - async def create_or_update( - self, - resource_group_name: str, - resource_name: str, - parameters: Snapshot, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> Snapshot: ... + def __init__(self, mapping: Mapping[str, Any]) -> None: ... + + + class azure.mgmt.containerservice.models.AgentPoolStatus(_Model): + provisioning_error: Optional[ErrorDetail] + + + class azure.mgmt.containerservice.models.AgentPoolType(str, Enum, metaclass=CaseInsensitiveEnumMeta): + AVAILABILITY_SET = "AvailabilitySet" + VIRTUAL_MACHINES = "VirtualMachines" + VIRTUAL_MACHINE_SCALE_SETS = "VirtualMachineScaleSets" + + + class azure.mgmt.containerservice.models.AgentPoolUpgradeProfile(ProxyResource): + id: str + name: str + properties: AgentPoolUpgradeProfileProperties + system_data: SystemData + type: str + + def __getattr__(self, name: str) -> Any: ... @overload - async def create_or_update( + def __init__( self, - resource_group_name: str, - resource_name: str, - parameters: Snapshot, *, - content_type: str = "application/json", - **kwargs: Any - ) -> Snapshot: ... + properties: AgentPoolUpgradeProfileProperties + ) -> None: ... @overload - async def create_or_update( - self, - resource_group_name: str, - resource_name: str, - parameters: IO[bytes], - *, - content_type: str = "application/json", - **kwargs: Any - ) -> Snapshot: ... + def __init__(self, mapping: Mapping[str, Any]) -> None: ... - @distributed_trace_async - async def delete( + def __setattr__( self, - resource_group_name: str, - resource_name: str, - **kwargs: Any + key: str, + value: Any ) -> None: ... - @distributed_trace_async - async def get( - self, - resource_group_name: str, - resource_name: str, - **kwargs: Any - ) -> Snapshot: ... - - @distributed_trace - def list(self, **kwargs: Any) -> AsyncItemPaged[Snapshot]: ... - @distributed_trace - def list_by_resource_group( - self, - resource_group_name: str, - **kwargs: Any - ) -> AsyncItemPaged[Snapshot]: ... + class azure.mgmt.containerservice.models.AgentPoolUpgradeProfileProperties(_Model): + kubernetes_version: str + latest_node_image_version: Optional[str] + os_type: Union[str, OSType] + recently_used_versions: Optional[list[AgentPoolRecentlyUsedVersion]] + upgrades: Optional[list[AgentPoolUpgradeProfilePropertiesUpgradesItem]] @overload - async def update_tags( + def __init__( self, - resource_group_name: str, - resource_name: str, - parameters: TagsObject, *, - content_type: str = "application/json", - **kwargs: Any - ) -> Snapshot: ... + kubernetes_version: str, + latest_node_image_version: Optional[str] = ..., + os_type: Union[str, OSType], + upgrades: Optional[list[AgentPoolUpgradeProfilePropertiesUpgradesItem]] = ... + ) -> None: ... @overload - async def update_tags( - self, - resource_group_name: str, - resource_name: str, - parameters: TagsObject, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> Snapshot: ... + def __init__(self, mapping: Mapping[str, Any]) -> None: ... + + + class azure.mgmt.containerservice.models.AgentPoolUpgradeProfilePropertiesUpgradesItem(_Model): + is_preview: Optional[bool] + kubernetes_version: Optional[str] @overload - async def update_tags( + def __init__( self, - resource_group_name: str, - resource_name: str, - parameters: IO[bytes], *, - content_type: str = "application/json", - **kwargs: Any - ) -> Snapshot: ... + is_preview: Optional[bool] = ..., + kubernetes_version: Optional[str] = ... + ) -> None: ... + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: ... - class azure.mgmt.containerservice.aio.operations.TrustedAccessRoleBindingsOperations: - def __init__( - self, - *args, - **kwargs - ) -> None: ... + class azure.mgmt.containerservice.models.AgentPoolUpgradeSettings(_Model): + drain_timeout_in_minutes: Optional[int] + max_surge: Optional[str] + max_unavailable: Optional[str] + node_soak_duration_in_minutes: Optional[int] + undrainable_node_behavior: Optional[Union[str, UndrainableNodeBehavior]] @overload - async def begin_create_or_update( + def __init__( self, - resource_group_name: str, - resource_name: str, - trusted_access_role_binding_name: str, - trusted_access_role_binding: TrustedAccessRoleBinding, *, - content_type: str = "application/json", - **kwargs: Any - ) -> AsyncLROPoller[TrustedAccessRoleBinding]: ... + drain_timeout_in_minutes: Optional[int] = ..., + max_surge: Optional[str] = ..., + max_unavailable: Optional[str] = ..., + node_soak_duration_in_minutes: Optional[int] = ..., + undrainable_node_behavior: Optional[Union[str, UndrainableNodeBehavior]] = ... + ) -> None: ... @overload - async def begin_create_or_update( - self, - resource_group_name: str, - resource_name: str, - trusted_access_role_binding_name: str, - trusted_access_role_binding: TrustedAccessRoleBinding, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> AsyncLROPoller[TrustedAccessRoleBinding]: ... + def __init__(self, mapping: Mapping[str, Any]) -> None: ... + + + class azure.mgmt.containerservice.models.AgentPoolWindowsProfile(_Model): + disable_outbound_nat: Optional[bool] @overload - async def begin_create_or_update( + def __init__( self, - resource_group_name: str, - resource_name: str, - trusted_access_role_binding_name: str, - trusted_access_role_binding: IO[bytes], *, - content_type: str = "application/json", - **kwargs: Any - ) -> AsyncLROPoller[TrustedAccessRoleBinding]: ... + disable_outbound_nat: Optional[bool] = ... + ) -> None: ... - @distributed_trace_async - async def begin_delete( - self, - resource_group_name: str, - resource_name: str, - trusted_access_role_binding_name: str, - **kwargs: Any - ) -> AsyncLROPoller[None]: ... + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: ... - @distributed_trace_async - async def get( - self, - resource_group_name: str, - resource_name: str, - trusted_access_role_binding_name: str, - **kwargs: Any - ) -> TrustedAccessRoleBinding: ... - @distributed_trace - def list( - self, - resource_group_name: str, - resource_name: str, - **kwargs: Any - ) -> AsyncItemPaged[TrustedAccessRoleBinding]: ... + class azure.mgmt.containerservice.models.ArtifactSource(str, Enum, metaclass=CaseInsensitiveEnumMeta): + CACHE = "Cache" + DIRECT = "Direct" - class azure.mgmt.containerservice.aio.operations.TrustedAccessRolesOperations: + class azure.mgmt.containerservice.models.AutoScaleProfile(_Model): + max_count: Optional[int] + min_count: Optional[int] + size: Optional[str] + @overload def __init__( self, - *args, - **kwargs + *, + max_count: Optional[int] = ..., + min_count: Optional[int] = ..., + size: Optional[str] = ... ) -> None: ... - @distributed_trace - def list( - self, - location: str, - **kwargs: Any - ) -> AsyncItemPaged[TrustedAccessRole]: ... - - - class azure.mgmt.containerservice.aio.operations.VmSkusOperations: - - def __init__( - self, - *args, - **kwargs - ) -> None: ... - - @distributed_trace - def list( - self, - location: str, - *, - include_extended_locations: Optional[bool] = ..., - **kwargs: Any - ) -> AsyncItemPaged[ResourceSku]: ... - + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: ... -namespace azure.mgmt.containerservice.models - class azure.mgmt.containerservice.models.AbsoluteMonthlySchedule(_Model): - day_of_month: int - interval_months: int + class azure.mgmt.containerservice.models.AzureKeyVaultKms(_Model): + enabled: Optional[bool] + key_id: Optional[str] + key_vault_network_access: Optional[Union[str, KeyVaultNetworkAccessTypes]] + key_vault_resource_id: Optional[str] @overload def __init__( self, *, - day_of_month: int, - interval_months: int + enabled: Optional[bool] = ..., + key_id: Optional[str] = ..., + key_vault_network_access: Optional[Union[str, KeyVaultNetworkAccessTypes]] = ..., + key_vault_resource_id: Optional[str] = ... ) -> None: ... @overload def __init__(self, mapping: Mapping[str, Any]) -> None: ... - class azure.mgmt.containerservice.models.AccelerationMode(str, Enum, metaclass=CaseInsensitiveEnumMeta): - BPF_VETH = "BpfVeth" - NONE = "None" + class azure.mgmt.containerservice.models.BackendPoolType(str, Enum, metaclass=CaseInsensitiveEnumMeta): + NODE_IP = "NodeIP" + NODE_IP_CONFIGURATION = "NodeIPConfiguration" - class azure.mgmt.containerservice.models.AccessProfile(_Model): - kube_config: Optional[bytes] + class azure.mgmt.containerservice.models.ClusterUpgradeSettings(_Model): + override_settings: Optional[UpgradeOverrideSettings] @overload def __init__( self, *, - kube_config: Optional[bytes] = ... + override_settings: Optional[UpgradeOverrideSettings] = ... ) -> None: ... @overload def __init__(self, mapping: Mapping[str, Any]) -> None: ... - class azure.mgmt.containerservice.models.AddonAutoscaling(str, Enum, metaclass=CaseInsensitiveEnumMeta): - DISABLED = "Disabled" - ENABLED = "Enabled" - - - class azure.mgmt.containerservice.models.AdoptionPolicy(str, Enum, metaclass=CaseInsensitiveEnumMeta): - ALWAYS = "Always" - IF_IDENTICAL = "IfIdentical" - NEVER = "Never" + class azure.mgmt.containerservice.models.Code(str, Enum, metaclass=CaseInsensitiveEnumMeta): + RUNNING = "Running" + STOPPED = "Stopped" - class azure.mgmt.containerservice.models.AdvancedNetworkPolicies(str, Enum, metaclass=CaseInsensitiveEnumMeta): - FQDN = "FQDN" - L7 = "L7" - NONE = "None" + class azure.mgmt.containerservice.models.CommandResultProperties(_Model): + exit_code: Optional[int] + finished_at: Optional[datetime] + logs: Optional[str] + provisioning_state: Optional[str] + reason: Optional[str] + started_at: Optional[datetime] - class azure.mgmt.containerservice.models.AdvancedNetworking(_Model): - enabled: Optional[bool] - observability: Optional[AdvancedNetworkingObservability] - performance: Optional[AdvancedNetworkingPerformance] - security: Optional[AdvancedNetworkingSecurity] + class azure.mgmt.containerservice.models.CompatibleVersions(_Model): + name: Optional[str] + versions: Optional[list[str]] @overload def __init__( self, *, - enabled: Optional[bool] = ..., - observability: Optional[AdvancedNetworkingObservability] = ..., - performance: Optional[AdvancedNetworkingPerformance] = ..., - security: Optional[AdvancedNetworkingSecurity] = ... + name: Optional[str] = ..., + versions: Optional[list[str]] = ... ) -> None: ... @overload def __init__(self, mapping: Mapping[str, Any]) -> None: ... - class azure.mgmt.containerservice.models.AdvancedNetworkingObservability(_Model): - enabled: Optional[bool] + class azure.mgmt.containerservice.models.ConnectionStatus(str, Enum, metaclass=CaseInsensitiveEnumMeta): + APPROVED = "Approved" + DISCONNECTED = "Disconnected" + PENDING = "Pending" + REJECTED = "Rejected" + + + class azure.mgmt.containerservice.models.ContainerServiceLinuxProfile(_Model): + admin_username: str + ssh: ContainerServiceSshConfiguration @overload def __init__( self, *, - enabled: Optional[bool] = ... + admin_username: str, + ssh: ContainerServiceSshConfiguration ) -> None: ... @overload def __init__(self, mapping: Mapping[str, Any]) -> None: ... - class azure.mgmt.containerservice.models.AdvancedNetworkingPerformance(_Model): - acceleration_mode: Optional[Union[str, AccelerationMode]] + class azure.mgmt.containerservice.models.ContainerServiceNetworkProfile(_Model): + advanced_networking: Optional[AdvancedNetworking] + dns_service_ip: Optional[str] + ip_families: Optional[list[Union[str, IPFamily]]] + load_balancer_profile: Optional[ManagedClusterLoadBalancerProfile] + load_balancer_sku: Optional[Union[str, LoadBalancerSku]] + nat_gateway_profile: Optional[ManagedClusterNATGatewayProfile] + network_dataplane: Optional[Union[str, NetworkDataplane]] + network_mode: Optional[Union[str, NetworkMode]] + network_plugin: Optional[Union[str, NetworkPlugin]] + network_plugin_mode: Optional[Union[str, NetworkPluginMode]] + network_policy: Optional[Union[str, NetworkPolicy]] + outbound_type: Optional[Union[str, OutboundType]] + pod_cidr: Optional[str] + pod_cidrs: Optional[list[str]] + service_cidr: Optional[str] + service_cidrs: Optional[list[str]] + static_egress_gateway_profile: Optional[ManagedClusterStaticEgressGatewayProfile] @overload def __init__( self, *, - acceleration_mode: Optional[Union[str, AccelerationMode]] = ... + advanced_networking: Optional[AdvancedNetworking] = ..., + dns_service_ip: Optional[str] = ..., + ip_families: Optional[list[Union[str, IPFamily]]] = ..., + load_balancer_profile: Optional[ManagedClusterLoadBalancerProfile] = ..., + load_balancer_sku: Optional[Union[str, LoadBalancerSku]] = ..., + nat_gateway_profile: Optional[ManagedClusterNATGatewayProfile] = ..., + network_dataplane: Optional[Union[str, NetworkDataplane]] = ..., + network_mode: Optional[Union[str, NetworkMode]] = ..., + network_plugin: Optional[Union[str, NetworkPlugin]] = ..., + network_plugin_mode: Optional[Union[str, NetworkPluginMode]] = ..., + network_policy: Optional[Union[str, NetworkPolicy]] = ..., + outbound_type: Optional[Union[str, OutboundType]] = ..., + pod_cidr: Optional[str] = ..., + pod_cidrs: Optional[list[str]] = ..., + service_cidr: Optional[str] = ..., + service_cidrs: Optional[list[str]] = ..., + static_egress_gateway_profile: Optional[ManagedClusterStaticEgressGatewayProfile] = ... ) -> None: ... @overload def __init__(self, mapping: Mapping[str, Any]) -> None: ... - class azure.mgmt.containerservice.models.AdvancedNetworkingSecurity(_Model): - advanced_network_policies: Optional[Union[str, AdvancedNetworkPolicies]] - enabled: Optional[bool] - transit_encryption: Optional[AdvancedNetworkingSecurityTransitEncryption] + class azure.mgmt.containerservice.models.ContainerServiceSshConfiguration(_Model): + public_keys: list[ContainerServiceSshPublicKey] @overload def __init__( self, *, - advanced_network_policies: Optional[Union[str, AdvancedNetworkPolicies]] = ..., - enabled: Optional[bool] = ..., - transit_encryption: Optional[AdvancedNetworkingSecurityTransitEncryption] = ... + public_keys: list[ContainerServiceSshPublicKey] ) -> None: ... @overload def __init__(self, mapping: Mapping[str, Any]) -> None: ... - class azure.mgmt.containerservice.models.AdvancedNetworkingSecurityTransitEncryption(_Model): - type: Optional[Union[str, TransitEncryptionType]] + class azure.mgmt.containerservice.models.ContainerServiceSshPublicKey(_Model): + key_data: str @overload def __init__( self, *, - type: Optional[Union[str, TransitEncryptionType]] = ... + key_data: str ) -> None: ... @overload def __init__(self, mapping: Mapping[str, Any]) -> None: ... - class azure.mgmt.containerservice.models.AgentPool(ProxyResource): - id: str - name: str - properties: Optional[AgentPoolManagedClusterAgentPoolProfileProperties] - system_data: SystemData - type: str + class azure.mgmt.containerservice.models.CreatedByType(str, Enum, metaclass=CaseInsensitiveEnumMeta): + APPLICATION = "Application" + KEY = "Key" + MANAGED_IDENTITY = "ManagedIdentity" + USER = "User" - def __getattr__(self, name: str) -> Any: ... + + class azure.mgmt.containerservice.models.CreationData(_Model): + source_resource_id: Optional[str] @overload def __init__( self, *, - properties: Optional[AgentPoolManagedClusterAgentPoolProfileProperties] = ... + source_resource_id: Optional[str] = ... ) -> None: ... @overload def __init__(self, mapping: Mapping[str, Any]) -> None: ... - def __setattr__( - self, - key: str, - value: Any - ) -> None: ... + class azure.mgmt.containerservice.models.CredentialResult(_Model): + name: Optional[str] + value: Optional[bytes] - class azure.mgmt.containerservice.models.AgentPoolArtifactStreamingProfile(_Model): - enabled: Optional[bool] + + class azure.mgmt.containerservice.models.CredentialResults(_Model): + kubeconfigs: Optional[list[CredentialResult]] + + + class azure.mgmt.containerservice.models.DailySchedule(_Model): + interval_days: int @overload def __init__( self, *, - enabled: Optional[bool] = ... + interval_days: int ) -> None: ... @overload def __init__(self, mapping: Mapping[str, Any]) -> None: ... - class azure.mgmt.containerservice.models.AgentPoolAvailableVersions(_Model): - id: Optional[str] - name: Optional[str] - properties: AgentPoolAvailableVersionsProperties - type: Optional[str] - - def __getattr__(self, name: str) -> Any: ... + class azure.mgmt.containerservice.models.DateSpan(_Model): + end: date + start: date @overload def __init__( self, *, - properties: AgentPoolAvailableVersionsProperties + end: date, + start: date ) -> None: ... @overload def __init__(self, mapping: Mapping[str, Any]) -> None: ... - def __setattr__( - self, - key: str, - value: Any - ) -> None: ... - - class azure.mgmt.containerservice.models.AgentPoolAvailableVersionsProperties(_Model): - agent_pool_versions: Optional[list[AgentPoolAvailableVersionsPropertiesAgentPoolVersionsItem]] + class azure.mgmt.containerservice.models.DelegatedResource(_Model): + location: Optional[str] + referral_resource: Optional[str] + resource_id: Optional[str] + tenant_id: Optional[str] @overload def __init__( self, *, - agent_pool_versions: Optional[list[AgentPoolAvailableVersionsPropertiesAgentPoolVersionsItem]] = ... + location: Optional[str] = ..., + referral_resource: Optional[str] = ..., + resource_id: Optional[str] = ..., + tenant_id: Optional[str] = ... ) -> None: ... @overload def __init__(self, mapping: Mapping[str, Any]) -> None: ... - class azure.mgmt.containerservice.models.AgentPoolAvailableVersionsPropertiesAgentPoolVersionsItem(_Model): - default: Optional[bool] - is_preview: Optional[bool] - kubernetes_version: Optional[str] + class azure.mgmt.containerservice.models.DeletePolicy(str, Enum, metaclass=CaseInsensitiveEnumMeta): + DELETE = "Delete" + KEEP = "Keep" + + + class azure.mgmt.containerservice.models.EndpointDependency(_Model): + domain_name: Optional[str] + endpoint_details: Optional[list[EndpointDetail]] @overload def __init__( self, *, - default: Optional[bool] = ..., - is_preview: Optional[bool] = ..., - kubernetes_version: Optional[str] = ... + domain_name: Optional[str] = ..., + endpoint_details: Optional[list[EndpointDetail]] = ... ) -> None: ... @overload def __init__(self, mapping: Mapping[str, Any]) -> None: ... - class azure.mgmt.containerservice.models.AgentPoolBlueGreenUpgradeSettings(_Model): - batch_soak_duration_in_minutes: Optional[int] - drain_batch_size: Optional[str] - drain_timeout_in_minutes: Optional[int] - final_soak_duration_in_minutes: Optional[int] + class azure.mgmt.containerservice.models.EndpointDetail(_Model): + description: Optional[str] + ip_address: Optional[str] + port: Optional[int] + protocol: Optional[str] @overload def __init__( self, *, - batch_soak_duration_in_minutes: Optional[int] = ..., - drain_batch_size: Optional[str] = ..., - drain_timeout_in_minutes: Optional[int] = ..., - final_soak_duration_in_minutes: Optional[int] = ... + description: Optional[str] = ..., + ip_address: Optional[str] = ..., + port: Optional[int] = ..., + protocol: Optional[str] = ... ) -> None: ... @overload def __init__(self, mapping: Mapping[str, Any]) -> None: ... - class azure.mgmt.containerservice.models.AgentPoolDeleteMachinesParameter(_Model): - machine_names: list[str] + class azure.mgmt.containerservice.models.ErrorAdditionalInfo(_Model): + info: Optional[Any] + type: Optional[str] - @overload - def __init__( + + class azure.mgmt.containerservice.models.ErrorDetail(_Model): + additional_info: Optional[list[ErrorAdditionalInfo]] + code: Optional[str] + details: Optional[list[ErrorDetail]] + message: Optional[str] + target: Optional[str] + + + class azure.mgmt.containerservice.models.ErrorResponse(_Model): + error: Optional[ErrorDetail] + + @overload + def __init__( self, *, - machine_names: list[str] + error: Optional[ErrorDetail] = ... ) -> None: ... @overload def __init__(self, mapping: Mapping[str, Any]) -> None: ... - class azure.mgmt.containerservice.models.AgentPoolGatewayProfile(_Model): - public_ip_prefix_size: Optional[int] + class azure.mgmt.containerservice.models.Expander(str, Enum, metaclass=CaseInsensitiveEnumMeta): + LEAST_WASTE = "least-waste" + MOST_PODS = "most-pods" + PRIORITY = "priority" + RANDOM = "random" + + + class azure.mgmt.containerservice.models.ExtendedLocation(_Model): + name: Optional[str] + type: Optional[Union[str, ExtendedLocationTypes]] @overload def __init__( self, *, - public_ip_prefix_size: Optional[int] = ... + name: Optional[str] = ..., + type: Optional[Union[str, ExtendedLocationTypes]] = ... ) -> None: ... @overload def __init__(self, mapping: Mapping[str, Any]) -> None: ... - class azure.mgmt.containerservice.models.AgentPoolManagedClusterAgentPoolProfileProperties(_Model): - artifact_streaming_profile: Optional[AgentPoolArtifactStreamingProfile] - availability_zones: Optional[list[str]] - capacity_reservation_group_id: Optional[str] - count: Optional[int] - creation_data: Optional[CreationData] - current_orchestrator_version: Optional[str] - e_tag: Optional[str] - enable_auto_scaling: Optional[bool] - enable_encryption_at_host: Optional[bool] - enable_fips: Optional[bool] - enable_node_public_ip: Optional[bool] - enable_os_disk_full_caching: Optional[bool] - enable_ultra_ssd: Optional[bool] - gateway_profile: Optional[AgentPoolGatewayProfile] - gpu_instance_profile: Optional[Union[str, GPUInstanceProfile]] - gpu_profile: Optional[GPUProfile] - host_group_id: Optional[str] - kubelet_config: Optional[KubeletConfig] - kubelet_disk_type: Optional[Union[str, KubeletDiskType]] - linux_os_config: Optional[LinuxOSConfig] - local_dns_profile: Optional[LocalDNSProfile] - max_count: Optional[int] - max_pods: Optional[int] - message_of_the_day: Optional[str] - min_count: Optional[int] - mode: Optional[Union[str, AgentPoolMode]] - network_profile: Optional[AgentPoolNetworkProfile] - node_image_version: Optional[str] - node_initialization_taints: Optional[list[str]] - node_labels: Optional[dict[str, str]] - node_public_ip_prefix_id: Optional[str] - node_taints: Optional[list[str]] - orchestrator_version: Optional[str] - os_disk_size_gb: Optional[int] - os_disk_type: Optional[Union[str, OSDiskType]] - os_sku: Optional[Union[str, _models.OSSKU]] - os_type: Optional[Union[str, OSType]] - pod_ip_allocation_mode: Optional[Union[str, PodIPAllocationMode]] - pod_subnet_id: Optional[str] - power_state: Optional[PowerState] - prepared_image_specification_profile: Optional[PreparedImageSpecificationProfile] - provisioning_state: Optional[str] - proximity_placement_group_id: Optional[str] - scale_down_mode: Optional[Union[str, ScaleDownMode]] - scale_set_eviction_policy: Optional[Union[str, ScaleSetEvictionPolicy]] - scale_set_priority: Optional[Union[str, ScaleSetPriority]] - security_profile: Optional[AgentPoolSecurityProfile] - spot_max_price: Optional[float] - status: Optional[AgentPoolStatus] - tags: Optional[dict[str, str]] - type_properties_type: Optional[Union[str, AgentPoolType]] - upgrade_settings: Optional[AgentPoolUpgradeSettings] - upgrade_settings_blue_green: Optional[AgentPoolBlueGreenUpgradeSettings] - upgrade_strategy: Optional[Union[str, UpgradeStrategy]] - virtual_machine_nodes_status: Optional[list[VirtualMachineNodes]] - virtual_machines_profile: Optional[VirtualMachinesProfile] - vm_size: Optional[str] - vnet_subnet_id: Optional[str] - windows_profile: Optional[AgentPoolWindowsProfile] - workload_runtime: Optional[Union[str, WorkloadRuntime]] + class azure.mgmt.containerservice.models.ExtendedLocationTypes(str, Enum, metaclass=CaseInsensitiveEnumMeta): + EDGE_ZONE = "EdgeZone" + + + class azure.mgmt.containerservice.models.Format(str, Enum, metaclass=CaseInsensitiveEnumMeta): + AZURE = "azure" + EXEC = "exec" + + + class azure.mgmt.containerservice.models.GPUDriver(str, Enum, metaclass=CaseInsensitiveEnumMeta): + INSTALL = "Install" + NONE = "None" + + + class azure.mgmt.containerservice.models.GPUInstanceProfile(str, Enum, metaclass=CaseInsensitiveEnumMeta): + MIG1_G = "MIG1g" + MIG2_G = "MIG2g" + MIG3_G = "MIG3g" + MIG4_G = "MIG4g" + MIG7_G = "MIG7g" + + + class azure.mgmt.containerservice.models.GPUProfile(_Model): + driver: Optional[Union[str, GPUDriver]] @overload def __init__( self, *, - artifact_streaming_profile: Optional[AgentPoolArtifactStreamingProfile] = ..., - availability_zones: Optional[list[str]] = ..., - capacity_reservation_group_id: Optional[str] = ..., - count: Optional[int] = ..., - creation_data: Optional[CreationData] = ..., - enable_auto_scaling: Optional[bool] = ..., - enable_encryption_at_host: Optional[bool] = ..., - enable_fips: Optional[bool] = ..., - enable_node_public_ip: Optional[bool] = ..., - enable_os_disk_full_caching: Optional[bool] = ..., - enable_ultra_ssd: Optional[bool] = ..., - gateway_profile: Optional[AgentPoolGatewayProfile] = ..., - gpu_instance_profile: Optional[Union[str, GPUInstanceProfile]] = ..., - gpu_profile: Optional[GPUProfile] = ..., - host_group_id: Optional[str] = ..., - kubelet_config: Optional[KubeletConfig] = ..., - kubelet_disk_type: Optional[Union[str, KubeletDiskType]] = ..., - linux_os_config: Optional[LinuxOSConfig] = ..., - local_dns_profile: Optional[LocalDNSProfile] = ..., - max_count: Optional[int] = ..., - max_pods: Optional[int] = ..., - message_of_the_day: Optional[str] = ..., - min_count: Optional[int] = ..., - mode: Optional[Union[str, AgentPoolMode]] = ..., - network_profile: Optional[AgentPoolNetworkProfile] = ..., - node_image_version: Optional[str] = ..., - node_initialization_taints: Optional[list[str]] = ..., - node_labels: Optional[dict[str, str]] = ..., - node_public_ip_prefix_id: Optional[str] = ..., - node_taints: Optional[list[str]] = ..., - orchestrator_version: Optional[str] = ..., - os_disk_size_gb: Optional[int] = ..., - os_disk_type: Optional[Union[str, OSDiskType]] = ..., - os_sku: Optional[Union[str, _models.OSSKU]] = ..., - os_type: Optional[Union[str, OSType]] = ..., - pod_ip_allocation_mode: Optional[Union[str, PodIPAllocationMode]] = ..., - pod_subnet_id: Optional[str] = ..., - power_state: Optional[PowerState] = ..., - prepared_image_specification_profile: Optional[PreparedImageSpecificationProfile] = ..., - proximity_placement_group_id: Optional[str] = ..., - scale_down_mode: Optional[Union[str, ScaleDownMode]] = ..., - scale_set_eviction_policy: Optional[Union[str, ScaleSetEvictionPolicy]] = ..., - scale_set_priority: Optional[Union[str, ScaleSetPriority]] = ..., - security_profile: Optional[AgentPoolSecurityProfile] = ..., - spot_max_price: Optional[float] = ..., - status: Optional[AgentPoolStatus] = ..., - tags: Optional[dict[str, str]] = ..., - type_properties_type: Optional[Union[str, AgentPoolType]] = ..., - upgrade_settings: Optional[AgentPoolUpgradeSettings] = ..., - upgrade_settings_blue_green: Optional[AgentPoolBlueGreenUpgradeSettings] = ..., - upgrade_strategy: Optional[Union[str, UpgradeStrategy]] = ..., - virtual_machine_nodes_status: Optional[list[VirtualMachineNodes]] = ..., - virtual_machines_profile: Optional[VirtualMachinesProfile] = ..., - vm_size: Optional[str] = ..., - vnet_subnet_id: Optional[str] = ..., - windows_profile: Optional[AgentPoolWindowsProfile] = ..., - workload_runtime: Optional[Union[str, WorkloadRuntime]] = ... + driver: Optional[Union[str, GPUDriver]] = ... ) -> None: ... @overload def __init__(self, mapping: Mapping[str, Any]) -> None: ... - class azure.mgmt.containerservice.models.AgentPoolMode(str, Enum, metaclass=CaseInsensitiveEnumMeta): - GATEWAY = "Gateway" - MACHINES = "Machines" - MANAGED_SYSTEM = "ManagedSystem" - SYSTEM = "System" - USER = "User" + class azure.mgmt.containerservice.models.GatewayAPIIstioEnabled(str, Enum, metaclass=CaseInsensitiveEnumMeta): + DISABLED = "Disabled" + ENABLED = "Enabled" - class azure.mgmt.containerservice.models.AgentPoolNetworkInterface(_Model): - enable_accelerated_networking: Optional[bool] - type: Optional[Union[str, AgentPoolNetworkInterfaceType]] - vnet_subnet_id: Optional[str] + class azure.mgmt.containerservice.models.IPFamily(str, Enum, metaclass=CaseInsensitiveEnumMeta): + I_PV4 = "IPv4" + I_PV6 = "IPv6" + + + class azure.mgmt.containerservice.models.IPTag(_Model): + ip_tag_type: Optional[str] + tag: Optional[str] @overload def __init__( self, *, - enable_accelerated_networking: Optional[bool] = ..., - type: Optional[Union[str, AgentPoolNetworkInterfaceType]] = ..., - vnet_subnet_id: Optional[str] = ... + ip_tag_type: Optional[str] = ..., + tag: Optional[str] = ... ) -> None: ... @overload def __init__(self, mapping: Mapping[str, Any]) -> None: ... - class azure.mgmt.containerservice.models.AgentPoolNetworkInterfaceType(str, Enum, metaclass=CaseInsensitiveEnumMeta): - DYNAMIC = "Dynamic" - STANDARD = "Standard" - - - class azure.mgmt.containerservice.models.AgentPoolNetworkProfile(_Model): - allowed_host_ports: Optional[list[PortRange]] - application_security_groups: Optional[list[str]] - node_public_ip_prefix_i_ds: Optional[list[str]] - node_public_ip_tags: Optional[list[IPTag]] - secondary_network_interfaces: Optional[list[AgentPoolNetworkInterface]] + class azure.mgmt.containerservice.models.IdentityBinding(ProxyResource): + e_tag: Optional[str] + id: str + name: str + properties: Optional[IdentityBindingProperties] + system_data: SystemData + type: str @overload def __init__( self, *, - allowed_host_ports: Optional[list[PortRange]] = ..., - application_security_groups: Optional[list[str]] = ..., - node_public_ip_prefix_i_ds: Optional[list[str]] = ..., - node_public_ip_tags: Optional[list[IPTag]] = ..., - secondary_network_interfaces: Optional[list[AgentPoolNetworkInterface]] = ... + properties: Optional[IdentityBindingProperties] = ... ) -> None: ... @overload def __init__(self, mapping: Mapping[str, Any]) -> None: ... - class azure.mgmt.containerservice.models.AgentPoolRecentlyUsedVersion(_Model): - node_image_version: Optional[str] - orchestrator_version: Optional[str] - timestamp: Optional[datetime] + class azure.mgmt.containerservice.models.IdentityBindingManagedIdentityProfile(_Model): + client_id: Optional[str] + object_id: Optional[str] + resource_id: str + tenant_id: Optional[str] @overload def __init__( self, *, - node_image_version: Optional[str] = ..., - orchestrator_version: Optional[str] = ..., - timestamp: Optional[datetime] = ... + resource_id: str ) -> None: ... @overload def __init__(self, mapping: Mapping[str, Any]) -> None: ... - class azure.mgmt.containerservice.models.AgentPoolSSHAccess(str, Enum, metaclass=CaseInsensitiveEnumMeta): - DISABLED = "Disabled" - ENTRA_ID = "EntraId" - LOCAL_USER = "LocalUser" + class azure.mgmt.containerservice.models.IdentityBindingOidcIssuerProfile(_Model): + oidc_issuer_url: Optional[str] - class azure.mgmt.containerservice.models.AgentPoolSecurityProfile(_Model): - enable_secure_boot: Optional[bool] - enable_vtpm: Optional[bool] - ssh_access: Optional[Union[str, AgentPoolSSHAccess]] + class azure.mgmt.containerservice.models.IdentityBindingProperties(_Model): + managed_identity: IdentityBindingManagedIdentityProfile + oidc_issuer: Optional[IdentityBindingOidcIssuerProfile] + provisioning_state: Optional[Union[str, IdentityBindingProvisioningState]] @overload def __init__( self, *, - enable_secure_boot: Optional[bool] = ..., - enable_vtpm: Optional[bool] = ..., - ssh_access: Optional[Union[str, AgentPoolSSHAccess]] = ... + managed_identity: IdentityBindingManagedIdentityProfile ) -> None: ... @overload def __init__(self, mapping: Mapping[str, Any]) -> None: ... - class azure.mgmt.containerservice.models.AgentPoolStatus(_Model): - provisioning_error: Optional[ErrorDetail] - - - class azure.mgmt.containerservice.models.AgentPoolType(str, Enum, metaclass=CaseInsensitiveEnumMeta): - AVAILABILITY_SET = "AvailabilitySet" - FLEX_NODES = "FlexNodes" - VIRTUAL_MACHINES = "VirtualMachines" - VIRTUAL_MACHINE_SCALE_SETS = "VirtualMachineScaleSets" - + class azure.mgmt.containerservice.models.IdentityBindingProvisioningState(str, Enum, metaclass=CaseInsensitiveEnumMeta): + CANCELED = "Canceled" + CREATING = "Creating" + DELETING = "Deleting" + FAILED = "Failed" + SUCCEEDED = "Succeeded" + UPDATING = "Updating" - class azure.mgmt.containerservice.models.AgentPoolUpgradeProfile(ProxyResource): - id: str - name: str - properties: AgentPoolUpgradeProfileProperties - system_data: SystemData - type: str - def __getattr__(self, name: str) -> Any: ... + class azure.mgmt.containerservice.models.IstioCertificateAuthority(_Model): + plugin: Optional[IstioPluginCertificateAuthority] @overload def __init__( self, *, - properties: AgentPoolUpgradeProfileProperties + plugin: Optional[IstioPluginCertificateAuthority] = ... ) -> None: ... @overload def __init__(self, mapping: Mapping[str, Any]) -> None: ... - def __setattr__( - self, - key: str, - value: Any - ) -> None: ... - - class azure.mgmt.containerservice.models.AgentPoolUpgradeProfileProperties(_Model): - components_by_releases: Optional[list[ComponentsByRelease]] - kubernetes_version: str - latest_node_image_version: Optional[str] - os_type: Union[str, OSType] - recently_used_versions: Optional[list[AgentPoolRecentlyUsedVersion]] - upgrades: Optional[list[AgentPoolUpgradeProfilePropertiesUpgradesItem]] + class azure.mgmt.containerservice.models.IstioComponents(_Model): + egress_gateways: Optional[list[IstioEgressGateway]] + ingress_gateways: Optional[list[IstioIngressGateway]] + proxy_redirection_mechanism: Optional[Union[str, ProxyRedirectionMechanism]] @overload def __init__( self, *, - components_by_releases: Optional[list[ComponentsByRelease]] = ..., - kubernetes_version: str, - latest_node_image_version: Optional[str] = ..., - os_type: Union[str, OSType], - upgrades: Optional[list[AgentPoolUpgradeProfilePropertiesUpgradesItem]] = ... + egress_gateways: Optional[list[IstioEgressGateway]] = ..., + ingress_gateways: Optional[list[IstioIngressGateway]] = ..., + proxy_redirection_mechanism: Optional[Union[str, ProxyRedirectionMechanism]] = ... ) -> None: ... @overload def __init__(self, mapping: Mapping[str, Any]) -> None: ... - class azure.mgmt.containerservice.models.AgentPoolUpgradeProfilePropertiesUpgradesItem(_Model): - is_out_of_support: Optional[bool] - is_preview: Optional[bool] - kubernetes_version: Optional[str] + class azure.mgmt.containerservice.models.IstioEgressGateway(_Model): + enabled: bool + gateway_configuration_name: Optional[str] + name: str + namespace: Optional[str] @overload def __init__( self, *, - is_out_of_support: Optional[bool] = ..., - is_preview: Optional[bool] = ..., - kubernetes_version: Optional[str] = ... + enabled: bool, + gateway_configuration_name: Optional[str] = ..., + name: str, + namespace: Optional[str] = ... ) -> None: ... @overload def __init__(self, mapping: Mapping[str, Any]) -> None: ... - class azure.mgmt.containerservice.models.AgentPoolUpgradeSettings(_Model): - drain_timeout_in_minutes: Optional[int] - max_blocked_nodes: Optional[str] - max_surge: Optional[str] - max_unavailable: Optional[str] - node_soak_duration_in_minutes: Optional[int] - undrainable_node_behavior: Optional[Union[str, UndrainableNodeBehavior]] + class azure.mgmt.containerservice.models.IstioIngressGateway(_Model): + enabled: bool + mode: Union[str, IstioIngressGatewayMode] @overload def __init__( self, *, - drain_timeout_in_minutes: Optional[int] = ..., - max_blocked_nodes: Optional[str] = ..., - max_surge: Optional[str] = ..., - max_unavailable: Optional[str] = ..., - node_soak_duration_in_minutes: Optional[int] = ..., - undrainable_node_behavior: Optional[Union[str, UndrainableNodeBehavior]] = ... + enabled: bool, + mode: Union[str, IstioIngressGatewayMode] ) -> None: ... @overload def __init__(self, mapping: Mapping[str, Any]) -> None: ... - class azure.mgmt.containerservice.models.AgentPoolWindowsProfile(_Model): - disable_outbound_nat: Optional[bool] + class azure.mgmt.containerservice.models.IstioIngressGatewayMode(str, Enum, metaclass=CaseInsensitiveEnumMeta): + EXTERNAL = "External" + INTERNAL = "Internal" + + + class azure.mgmt.containerservice.models.IstioPluginCertificateAuthority(_Model): + cert_chain_object_name: Optional[str] + cert_object_name: Optional[str] + key_object_name: Optional[str] + key_vault_id: Optional[str] + root_cert_object_name: Optional[str] @overload def __init__( self, *, - disable_outbound_nat: Optional[bool] = ... + cert_chain_object_name: Optional[str] = ..., + cert_object_name: Optional[str] = ..., + key_object_name: Optional[str] = ..., + key_vault_id: Optional[str] = ..., + root_cert_object_name: Optional[str] = ... ) -> None: ... @overload def __init__(self, mapping: Mapping[str, Any]) -> None: ... - class azure.mgmt.containerservice.models.AlertConfiguration(ProxyResource): - id: str - name: str - properties: Optional[AlertConfigurationProperties] - system_data: SystemData - type: str + class azure.mgmt.containerservice.models.IstioServiceMesh(_Model): + certificate_authority: Optional[IstioCertificateAuthority] + components: Optional[IstioComponents] + revisions: Optional[list[str]] @overload def __init__( self, *, - properties: Optional[AlertConfigurationProperties] = ... + certificate_authority: Optional[IstioCertificateAuthority] = ..., + components: Optional[IstioComponents] = ..., + revisions: Optional[list[str]] = ... ) -> None: ... @overload def __init__(self, mapping: Mapping[str, Any]) -> None: ... - class azure.mgmt.containerservice.models.AlertConfigurationMode(str, Enum, metaclass=CaseInsensitiveEnumMeta): - DISABLED = "Disabled" - MANAGED = "Managed" + class azure.mgmt.containerservice.models.KeyVaultNetworkAccessTypes(str, Enum, metaclass=CaseInsensitiveEnumMeta): + PRIVATE = "Private" + PUBLIC = "Public" - class azure.mgmt.containerservice.models.AlertConfigurationProperties(_Model): - mode: Union[str, AlertConfigurationMode] - notification: AlertNotification - provisioning_state: Optional[Union[str, AlertConfigurationProvisioningState]] + class azure.mgmt.containerservice.models.KubeletConfig(_Model): + allowed_unsafe_sysctls: Optional[list[str]] + container_log_max_files: Optional[int] + container_log_max_size_mb: Optional[int] + cpu_cfs_quota: Optional[bool] + cpu_cfs_quota_period: Optional[str] + cpu_manager_policy: Optional[str] + fail_swap_on: Optional[bool] + image_gc_high_threshold: Optional[int] + image_gc_low_threshold: Optional[int] + pod_max_pids: Optional[int] + topology_manager_policy: Optional[str] @overload def __init__( self, *, - mode: Union[str, AlertConfigurationMode], - notification: AlertNotification + allowed_unsafe_sysctls: Optional[list[str]] = ..., + container_log_max_files: Optional[int] = ..., + container_log_max_size_mb: Optional[int] = ..., + cpu_cfs_quota: Optional[bool] = ..., + cpu_cfs_quota_period: Optional[str] = ..., + cpu_manager_policy: Optional[str] = ..., + fail_swap_on: Optional[bool] = ..., + image_gc_high_threshold: Optional[int] = ..., + image_gc_low_threshold: Optional[int] = ..., + pod_max_pids: Optional[int] = ..., + topology_manager_policy: Optional[str] = ... ) -> None: ... @overload def __init__(self, mapping: Mapping[str, Any]) -> None: ... - class azure.mgmt.containerservice.models.AlertConfigurationProvisioningState(str, Enum, metaclass=CaseInsensitiveEnumMeta): - CANCELED = "Canceled" - CREATING = "Creating" - DELETING = "Deleting" - FAILED = "Failed" - SUCCEEDED = "Succeeded" - UPDATING = "Updating" + class azure.mgmt.containerservice.models.KubeletDiskType(str, Enum, metaclass=CaseInsensitiveEnumMeta): + OS = "OS" + TEMPORARY = "Temporary" - class azure.mgmt.containerservice.models.AlertNotification(_Model): - action_group_id: str + class azure.mgmt.containerservice.models.KubernetesPatchVersion(_Model): + upgrades: Optional[list[str]] @overload def __init__( self, *, - action_group_id: str + upgrades: Optional[list[str]] = ... ) -> None: ... @overload def __init__(self, mapping: Mapping[str, Any]) -> None: ... - class azure.mgmt.containerservice.models.AllowedSubject(_Model): - namespace_selector: LabelSelector - service_account_selector: Optional[LabelSelector] + class azure.mgmt.containerservice.models.KubernetesSupportPlan(str, Enum, metaclass=CaseInsensitiveEnumMeta): + AKS_LONG_TERM_SUPPORT = "AKSLongTermSupport" + KUBERNETES_OFFICIAL = "KubernetesOfficial" + + + class azure.mgmt.containerservice.models.KubernetesVersion(_Model): + capabilities: Optional[KubernetesVersionCapabilities] + is_default: Optional[bool] + is_preview: Optional[bool] + patch_versions: Optional[dict[str, KubernetesPatchVersion]] + version: Optional[str] @overload def __init__( self, *, - namespace_selector: LabelSelector, - service_account_selector: Optional[LabelSelector] = ... + capabilities: Optional[KubernetesVersionCapabilities] = ..., + is_default: Optional[bool] = ..., + is_preview: Optional[bool] = ..., + patch_versions: Optional[dict[str, KubernetesPatchVersion]] = ..., + version: Optional[str] = ... ) -> None: ... @overload def __init__(self, mapping: Mapping[str, Any]) -> None: ... - class azure.mgmt.containerservice.models.ArtifactSource(str, Enum, metaclass=CaseInsensitiveEnumMeta): - CACHE = "Cache" - DIRECT = "Direct" - - - class azure.mgmt.containerservice.models.AutoScaleProfile(_Model): - max_count: Optional[int] - min_count: Optional[int] - size: Optional[str] + class azure.mgmt.containerservice.models.KubernetesVersionCapabilities(_Model): + support_plan: Optional[list[Union[str, KubernetesSupportPlan]]] @overload def __init__( self, *, - max_count: Optional[int] = ..., - min_count: Optional[int] = ..., - size: Optional[str] = ... + support_plan: Optional[list[Union[str, KubernetesSupportPlan]]] = ... ) -> None: ... @overload def __init__(self, mapping: Mapping[str, Any]) -> None: ... - class azure.mgmt.containerservice.models.AzureKeyVaultKms(_Model): - enabled: Optional[bool] - key_id: Optional[str] - key_vault_network_access: Optional[Union[str, KeyVaultNetworkAccessTypes]] - key_vault_resource_id: Optional[str] + class azure.mgmt.containerservice.models.KubernetesVersionListResult(_Model): + values_property: Optional[list[KubernetesVersion]] @overload def __init__( self, *, - enabled: Optional[bool] = ..., - key_id: Optional[str] = ..., - key_vault_network_access: Optional[Union[str, KeyVaultNetworkAccessTypes]] = ..., - key_vault_resource_id: Optional[str] = ... + values_property: Optional[list[KubernetesVersion]] = ... ) -> None: ... @overload def __init__(self, mapping: Mapping[str, Any]) -> None: ... - class azure.mgmt.containerservice.models.BackendPoolType(str, Enum, metaclass=CaseInsensitiveEnumMeta): - NODE_IP = "NodeIP" - NODE_IP_CONFIGURATION = "NodeIPConfiguration" - POD_IP = "PodIP" + class azure.mgmt.containerservice.models.LicenseType(str, Enum, metaclass=CaseInsensitiveEnumMeta): + NONE = "None" + WINDOWS_SERVER = "Windows_Server" - class azure.mgmt.containerservice.models.BastionProfile(_Model): - bastion_id: Optional[str] - enabled: Optional[bool] - public_ip_address_id: Optional[str] - scale_units: Optional[int] - sku: Optional[Union[str, BastionSku]] + class azure.mgmt.containerservice.models.LinuxOSConfig(_Model): + swap_file_size_mb: Optional[int] + sysctls: Optional[SysctlConfig] + transparent_huge_page_defrag: Optional[str] + transparent_huge_page_enabled: Optional[str] @overload def __init__( self, *, - enabled: Optional[bool] = ..., - public_ip_address_id: Optional[str] = ..., - scale_units: Optional[int] = ..., - sku: Optional[Union[str, BastionSku]] = ... + swap_file_size_mb: Optional[int] = ..., + sysctls: Optional[SysctlConfig] = ..., + transparent_huge_page_defrag: Optional[str] = ..., + transparent_huge_page_enabled: Optional[str] = ... ) -> None: ... @overload def __init__(self, mapping: Mapping[str, Any]) -> None: ... - class azure.mgmt.containerservice.models.BastionSku(str, Enum, metaclass=CaseInsensitiveEnumMeta): - PREMIUM = "Premium" - STANDARD = "Standard" - - - class azure.mgmt.containerservice.models.BootstrapAzureConfig(_Model): - bootstrap_token: Optional[BootstrapTokenInfo] - resource_manager_endpoint: Optional[str] - target_agent_pool_name: Optional[str] - target_cluster: Optional[BootstrapTargetCluster] - - - class azure.mgmt.containerservice.models.BootstrapComponentVersions(_Model): - containerd: Optional[str] - kubernetes: Optional[str] - runc: Optional[str] - - - class azure.mgmt.containerservice.models.BootstrapKubeletConfig(_Model): - ca_cert_data: Optional[str] - cluster_fqdn: Optional[str] + class azure.mgmt.containerservice.models.LoadBalancerSku(str, Enum, metaclass=CaseInsensitiveEnumMeta): + BASIC = "basic" + STANDARD = "standard" - class azure.mgmt.containerservice.models.BootstrapNetworkingConfig(_Model): - cni_version: Optional[str] - dns_service_ip: Optional[str] + class azure.mgmt.containerservice.models.LocalDNSForwardDestination(str, Enum, metaclass=CaseInsensitiveEnumMeta): + CLUSTER_CORE_DNS = "ClusterCoreDNS" + VNET_DNS = "VnetDNS" - class azure.mgmt.containerservice.models.BootstrapNodeConfig(_Model): - kubelet: Optional[BootstrapKubeletConfig] - labels: Optional[dict[str, str]] - max_pods: Optional[int] - taints: Optional[list[str]] + class azure.mgmt.containerservice.models.LocalDNSForwardPolicy(str, Enum, metaclass=CaseInsensitiveEnumMeta): + RANDOM = "Random" + ROUND_ROBIN = "RoundRobin" + SEQUENTIAL = "Sequential" - class azure.mgmt.containerservice.models.BootstrapTargetCluster(_Model): - resource_id: Optional[str] + class azure.mgmt.containerservice.models.LocalDNSMode(str, Enum, metaclass=CaseInsensitiveEnumMeta): + DISABLED = "Disabled" + PREFERRED = "Preferred" + REQUIRED = "Required" - class azure.mgmt.containerservice.models.BootstrapTokenInfo(_Model): - token: Optional[str] + class azure.mgmt.containerservice.models.LocalDNSOverride(_Model): + cache_duration_in_seconds: Optional[int] + forward_destination: Optional[Union[str, LocalDNSForwardDestination]] + forward_policy: Optional[Union[str, LocalDNSForwardPolicy]] + max_concurrent: Optional[int] + protocol: Optional[Union[str, LocalDNSProtocol]] + query_logging: Optional[Union[str, LocalDNSQueryLogging]] + serve_stale: Optional[Union[str, LocalDNSServeStale]] + serve_stale_duration_in_seconds: Optional[int] + @overload + def __init__( + self, + *, + cache_duration_in_seconds: Optional[int] = ..., + forward_destination: Optional[Union[str, LocalDNSForwardDestination]] = ..., + forward_policy: Optional[Union[str, LocalDNSForwardPolicy]] = ..., + max_concurrent: Optional[int] = ..., + protocol: Optional[Union[str, LocalDNSProtocol]] = ..., + query_logging: Optional[Union[str, LocalDNSQueryLogging]] = ..., + serve_stale: Optional[Union[str, LocalDNSServeStale]] = ..., + serve_stale_duration_in_seconds: Optional[int] = ... + ) -> None: ... - class azure.mgmt.containerservice.models.ClusterServiceLoadBalancerHealthProbeMode(str, Enum, metaclass=CaseInsensitiveEnumMeta): - SERVICE_NODE_PORT = "ServiceNodePort" - SHARED = "Shared" + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: ... - class azure.mgmt.containerservice.models.ClusterUpgradeSettings(_Model): - override_settings: Optional[UpgradeOverrideSettings] + class azure.mgmt.containerservice.models.LocalDNSProfile(_Model): + kube_dns_overrides: Optional[dict[str, LocalDNSOverride]] + mode: Optional[Union[str, LocalDNSMode]] + state: Optional[Union[str, LocalDNSState]] + vnet_dns_overrides: Optional[dict[str, LocalDNSOverride]] @overload def __init__( self, *, - override_settings: Optional[UpgradeOverrideSettings] = ... + kube_dns_overrides: Optional[dict[str, LocalDNSOverride]] = ..., + mode: Optional[Union[str, LocalDNSMode]] = ..., + vnet_dns_overrides: Optional[dict[str, LocalDNSOverride]] = ... ) -> None: ... @overload def __init__(self, mapping: Mapping[str, Any]) -> None: ... - class azure.mgmt.containerservice.models.Code(str, Enum, metaclass=CaseInsensitiveEnumMeta): - RUNNING = "Running" - STOPPED = "Stopped" + class azure.mgmt.containerservice.models.LocalDNSProtocol(str, Enum, metaclass=CaseInsensitiveEnumMeta): + FORCE_TCP = "ForceTCP" + PREFER_UDP = "PreferUDP" - class azure.mgmt.containerservice.models.CommandResultProperties(_Model): - exit_code: Optional[int] - finished_at: Optional[datetime] - logs: Optional[str] - provisioning_state: Optional[str] - reason: Optional[str] - started_at: Optional[datetime] + class azure.mgmt.containerservice.models.LocalDNSQueryLogging(str, Enum, metaclass=CaseInsensitiveEnumMeta): + ERROR = "Error" + LOG = "Log" - class azure.mgmt.containerservice.models.CompatibleVersions(_Model): - name: Optional[str] - versions: Optional[list[str]] + class azure.mgmt.containerservice.models.LocalDNSServeStale(str, Enum, metaclass=CaseInsensitiveEnumMeta): + DISABLE = "Disable" + IMMEDIATE = "Immediate" + VERIFY = "Verify" - @overload - def __init__( - self, - *, - name: Optional[str] = ..., - versions: Optional[list[str]] = ... - ) -> None: ... - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: ... + class azure.mgmt.containerservice.models.LocalDNSState(str, Enum, metaclass=CaseInsensitiveEnumMeta): + DISABLED = "Disabled" + ENABLED = "Enabled" - class azure.mgmt.containerservice.models.Component(_Model): - has_breaking_changes: Optional[bool] - name: Optional[str] - version: Optional[str] + class azure.mgmt.containerservice.models.Machine(ProxyResource): + id: str + name: str + properties: Optional[MachineProperties] + system_data: SystemData + type: str + zones: Optional[list[str]] @overload def __init__( self, *, - has_breaking_changes: Optional[bool] = ..., - name: Optional[str] = ..., - version: Optional[str] = ... + properties: Optional[MachineProperties] = ... ) -> None: ... @overload def __init__(self, mapping: Mapping[str, Any]) -> None: ... - class azure.mgmt.containerservice.models.ComponentsByRelease(_Model): - components: Optional[list[Component]] - kubernetes_version: Optional[str] - - @overload - def __init__( - self, - *, - components: Optional[list[Component]] = ..., - kubernetes_version: Optional[str] = ... - ) -> None: ... + class azure.mgmt.containerservice.models.MachineIpAddress(_Model): + family: Optional[Union[str, IPFamily]] + ip: Optional[str] - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: ... + class azure.mgmt.containerservice.models.MachineNetworkProperties(_Model): + ip_addresses: Optional[list[MachineIpAddress]] - class azure.mgmt.containerservice.models.ConnectionStatus(str, Enum, metaclass=CaseInsensitiveEnumMeta): - APPROVED = "Approved" - DISCONNECTED = "Disconnected" - PENDING = "Pending" - REJECTED = "Rejected" + class azure.mgmt.containerservice.models.MachineProperties(_Model): + network: Optional[MachineNetworkProperties] + resource_id: Optional[str] - class azure.mgmt.containerservice.models.ContainerNetworkLogs(str, Enum, metaclass=CaseInsensitiveEnumMeta): - DISABLED = "Disabled" - ENABLED = "Enabled" + class azure.mgmt.containerservice.models.MaintenanceConfiguration(ProxyResource): + id: str + name: str + properties: Optional[MaintenanceConfigurationProperties] + system_data: SystemData + type: str - class azure.mgmt.containerservice.models.ContainerServiceLinuxProfile(_Model): - admin_username: str - ssh: ContainerServiceSshConfiguration + def __getattr__(self, name: str) -> Any: ... @overload def __init__( self, *, - admin_username: str, - ssh: ContainerServiceSshConfiguration + properties: Optional[MaintenanceConfigurationProperties] = ... ) -> None: ... @overload def __init__(self, mapping: Mapping[str, Any]) -> None: ... + def __setattr__( + self, + key: str, + value: Any + ) -> None: ... - class azure.mgmt.containerservice.models.ContainerServiceNetworkProfile(_Model): - advanced_networking: Optional[AdvancedNetworking] - bastion_profile: Optional[BastionProfile] - dns_service_ip: Optional[str] - ip_families: Optional[list[Union[str, IPFamily]]] - kube_proxy_config: Optional[ContainerServiceNetworkProfileKubeProxyConfig] - load_balancer_profile: Optional[ManagedClusterLoadBalancerProfile] - load_balancer_sku: Optional[Union[str, LoadBalancerSku]] - nat_gateway_id: Optional[str] - nat_gateway_profile: Optional[ManagedClusterNATGatewayProfile] - network_dataplane: Optional[Union[str, NetworkDataplane]] - network_mode: Optional[Union[str, NetworkMode]] - network_plugin: Optional[Union[str, NetworkPlugin]] - network_plugin_mode: Optional[Union[str, NetworkPluginMode]] - network_policy: Optional[Union[str, NetworkPolicy]] - outbound_type: Optional[Union[str, OutboundType]] - pod_cidr: Optional[str] - pod_cidrs: Optional[list[str]] - pod_link_local_access: Optional[Union[str, PodLinkLocalAccess]] - service_cidr: Optional[str] - service_cidrs: Optional[list[str]] - static_egress_gateway_profile: Optional[ManagedClusterStaticEgressGatewayProfile] + + class azure.mgmt.containerservice.models.MaintenanceConfigurationProperties(_Model): + maintenance_window: Optional[MaintenanceWindow] + not_allowed_time: Optional[list[TimeSpan]] + time_in_week: Optional[list[TimeInWeek]] @overload def __init__( self, *, - advanced_networking: Optional[AdvancedNetworking] = ..., - bastion_profile: Optional[BastionProfile] = ..., - dns_service_ip: Optional[str] = ..., - ip_families: Optional[list[Union[str, IPFamily]]] = ..., - kube_proxy_config: Optional[ContainerServiceNetworkProfileKubeProxyConfig] = ..., - load_balancer_profile: Optional[ManagedClusterLoadBalancerProfile] = ..., - load_balancer_sku: Optional[Union[str, LoadBalancerSku]] = ..., - nat_gateway_id: Optional[str] = ..., - nat_gateway_profile: Optional[ManagedClusterNATGatewayProfile] = ..., - network_dataplane: Optional[Union[str, NetworkDataplane]] = ..., - network_mode: Optional[Union[str, NetworkMode]] = ..., - network_plugin: Optional[Union[str, NetworkPlugin]] = ..., - network_plugin_mode: Optional[Union[str, NetworkPluginMode]] = ..., - network_policy: Optional[Union[str, NetworkPolicy]] = ..., - outbound_type: Optional[Union[str, OutboundType]] = ..., - pod_cidr: Optional[str] = ..., - pod_cidrs: Optional[list[str]] = ..., - pod_link_local_access: Optional[Union[str, PodLinkLocalAccess]] = ..., - service_cidr: Optional[str] = ..., - service_cidrs: Optional[list[str]] = ..., - static_egress_gateway_profile: Optional[ManagedClusterStaticEgressGatewayProfile] = ... + maintenance_window: Optional[MaintenanceWindow] = ..., + not_allowed_time: Optional[list[TimeSpan]] = ..., + time_in_week: Optional[list[TimeInWeek]] = ... ) -> None: ... @overload def __init__(self, mapping: Mapping[str, Any]) -> None: ... - class azure.mgmt.containerservice.models.ContainerServiceNetworkProfileKubeProxyConfig(_Model): - enabled: Optional[bool] - ipvs_config: Optional[ContainerServiceNetworkProfileKubeProxyConfigIpvsConfig] - mode: Optional[Union[str, Mode]] + class azure.mgmt.containerservice.models.MaintenanceWindow(_Model): + duration_hours: int + not_allowed_dates: Optional[list[DateSpan]] + schedule: Schedule + start_date: Optional[date] + start_time: str + utc_offset: Optional[str] @overload def __init__( self, *, - enabled: Optional[bool] = ..., - ipvs_config: Optional[ContainerServiceNetworkProfileKubeProxyConfigIpvsConfig] = ..., - mode: Optional[Union[str, Mode]] = ... + duration_hours: int, + not_allowed_dates: Optional[list[DateSpan]] = ..., + schedule: Schedule, + start_date: Optional[date] = ..., + start_time: str, + utc_offset: Optional[str] = ... ) -> None: ... @overload def __init__(self, mapping: Mapping[str, Any]) -> None: ... - class azure.mgmt.containerservice.models.ContainerServiceNetworkProfileKubeProxyConfigIpvsConfig(_Model): - scheduler: Optional[Union[str, IpvsScheduler]] - tcp_fin_timeout_seconds: Optional[int] - tcp_timeout_seconds: Optional[int] - udp_timeout_seconds: Optional[int] + class azure.mgmt.containerservice.models.ManagedCluster(TrackedResource): + e_tag: Optional[str] + extended_location: Optional[ExtendedLocation] + id: str + identity: Optional[ManagedClusterIdentity] + kind: Optional[str] + location: str + name: str + properties: Optional[ManagedClusterProperties] + sku: Optional[ManagedClusterSKU] + system_data: SystemData + tags: dict[str, str] + type: str + + def __getattr__(self, name: str) -> Any: ... @overload def __init__( self, *, - scheduler: Optional[Union[str, IpvsScheduler]] = ..., - tcp_fin_timeout_seconds: Optional[int] = ..., - tcp_timeout_seconds: Optional[int] = ..., - udp_timeout_seconds: Optional[int] = ... + extended_location: Optional[ExtendedLocation] = ..., + identity: Optional[ManagedClusterIdentity] = ..., + kind: Optional[str] = ..., + location: str, + properties: Optional[ManagedClusterProperties] = ..., + sku: Optional[ManagedClusterSKU] = ..., + tags: Optional[dict[str, str]] = ... ) -> None: ... @overload def __init__(self, mapping: Mapping[str, Any]) -> None: ... + def __setattr__( + self, + key: str, + value: Any + ) -> None: ... + - class azure.mgmt.containerservice.models.ContainerServiceSshConfiguration(_Model): - public_keys: list[ContainerServiceSshPublicKey] + class azure.mgmt.containerservice.models.ManagedClusterAADProfile(_Model): + admin_group_object_i_ds: Optional[list[str]] + client_app_id: Optional[str] + enable_azure_rbac: Optional[bool] + managed: Optional[bool] + server_app_id: Optional[str] + server_app_secret: Optional[str] + tenant_id: Optional[str] @overload def __init__( self, *, - public_keys: list[ContainerServiceSshPublicKey] + admin_group_object_i_ds: Optional[list[str]] = ..., + client_app_id: Optional[str] = ..., + enable_azure_rbac: Optional[bool] = ..., + managed: Optional[bool] = ..., + server_app_id: Optional[str] = ..., + server_app_secret: Optional[str] = ..., + tenant_id: Optional[str] = ... ) -> None: ... @overload def __init__(self, mapping: Mapping[str, Any]) -> None: ... - class azure.mgmt.containerservice.models.ContainerServiceSshPublicKey(_Model): - key_data: str + class azure.mgmt.containerservice.models.ManagedClusterAIToolchainOperatorProfile(_Model): + enabled: Optional[bool] @overload def __init__( self, *, - key_data: str + enabled: Optional[bool] = ... ) -> None: ... @overload def __init__(self, mapping: Mapping[str, Any]) -> None: ... - class azure.mgmt.containerservice.models.ControlPlaneScalingSize(str, Enum, metaclass=CaseInsensitiveEnumMeta): - H2 = "H2" - H4 = "H4" - H8 = "H8" - - - class azure.mgmt.containerservice.models.CreatedByType(str, Enum, metaclass=CaseInsensitiveEnumMeta): - APPLICATION = "Application" - KEY = "Key" - MANAGED_IDENTITY = "ManagedIdentity" - USER = "User" - - - class azure.mgmt.containerservice.models.CreationData(_Model): - source_resource_id: Optional[str] + class azure.mgmt.containerservice.models.ManagedClusterAPIServerAccessProfile(_Model): + authorized_ip_ranges: Optional[list[str]] + disable_run_command: Optional[bool] + enable_private_cluster: Optional[bool] + enable_private_cluster_public_fqdn: Optional[bool] + enable_vnet_integration: Optional[bool] + private_dns_zone: Optional[str] + subnet_id: Optional[str] @overload def __init__( self, *, - source_resource_id: Optional[str] = ... + authorized_ip_ranges: Optional[list[str]] = ..., + disable_run_command: Optional[bool] = ..., + enable_private_cluster: Optional[bool] = ..., + enable_private_cluster_public_fqdn: Optional[bool] = ..., + enable_vnet_integration: Optional[bool] = ..., + private_dns_zone: Optional[str] = ..., + subnet_id: Optional[str] = ... ) -> None: ... @overload def __init__(self, mapping: Mapping[str, Any]) -> None: ... - class azure.mgmt.containerservice.models.CredentialResult(_Model): - name: Optional[str] - value: Optional[bytes] - - - class azure.mgmt.containerservice.models.CredentialResults(_Model): - kubeconfigs: Optional[list[CredentialResult]] - + class azure.mgmt.containerservice.models.ManagedClusterAccessProfile(TrackedResource): + id: str + location: str + name: str + properties: Optional[AccessProfile] + system_data: SystemData + tags: dict[str, str] + type: str - class azure.mgmt.containerservice.models.DailySchedule(_Model): - interval_days: int + def __getattr__(self, name: str) -> Any: ... @overload def __init__( self, *, - interval_days: int + location: str, + properties: Optional[AccessProfile] = ..., + tags: Optional[dict[str, str]] = ... ) -> None: ... @overload def __init__(self, mapping: Mapping[str, Any]) -> None: ... + def __setattr__( + self, + key: str, + value: Any + ) -> None: ... + - class azure.mgmt.containerservice.models.DateSpan(_Model): - end: date - start: date + class azure.mgmt.containerservice.models.ManagedClusterAddonProfile(_Model): + config: Optional[dict[str, str]] + enabled: bool + identity: Optional[ManagedClusterAddonProfileIdentity] @overload def __init__( self, *, - end: date, - start: date + config: Optional[dict[str, str]] = ..., + enabled: bool ) -> None: ... @overload def __init__(self, mapping: Mapping[str, Any]) -> None: ... - class azure.mgmt.containerservice.models.DelegatedResource(_Model): - location: Optional[str] - referral_resource: Optional[str] - resource_id: Optional[str] - tenant_id: Optional[str] - - @overload - def __init__( - self, - *, - location: Optional[str] = ..., - referral_resource: Optional[str] = ..., - resource_id: Optional[str] = ..., - tenant_id: Optional[str] = ... - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: ... - - - class azure.mgmt.containerservice.models.DeletePolicy(str, Enum, metaclass=CaseInsensitiveEnumMeta): - DELETE = "Delete" - KEEP = "Keep" - - - class azure.mgmt.containerservice.models.DriftAction(str, Enum, metaclass=CaseInsensitiveEnumMeta): - RECREATE = "Recreate" - SYNCED = "Synced" - - - class azure.mgmt.containerservice.models.DriverType(str, Enum, metaclass=CaseInsensitiveEnumMeta): - CUDA = "CUDA" - GRID = "GRID" - - - class azure.mgmt.containerservice.models.EndpointDependency(_Model): - domain_name: Optional[str] - endpoint_details: Optional[list[EndpointDetail]] - - @overload - def __init__( - self, - *, - domain_name: Optional[str] = ..., - endpoint_details: Optional[list[EndpointDetail]] = ... - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: ... - - - class azure.mgmt.containerservice.models.EndpointDetail(_Model): - description: Optional[str] - ip_address: Optional[str] - port: Optional[int] - protocol: Optional[str] - - @overload - def __init__( - self, - *, - description: Optional[str] = ..., - ip_address: Optional[str] = ..., - port: Optional[int] = ..., - protocol: Optional[str] = ... - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: ... - - - class azure.mgmt.containerservice.models.ErrorAdditionalInfo(_Model): - info: Optional[Any] - type: Optional[str] - - - class azure.mgmt.containerservice.models.ErrorDetail(_Model): - additional_info: Optional[list[ErrorAdditionalInfo]] - code: Optional[str] - details: Optional[list[ErrorDetail]] - message: Optional[str] - target: Optional[str] - - - class azure.mgmt.containerservice.models.ErrorResponse(_Model): - error: Optional[ErrorDetail] - - @overload - def __init__( - self, - *, - error: Optional[ErrorDetail] = ... - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: ... - - - class azure.mgmt.containerservice.models.Expander(str, Enum, metaclass=CaseInsensitiveEnumMeta): - LEAST_WASTE = "least-waste" - MOST_PODS = "most-pods" - PRIORITY = "priority" - RANDOM = "random" - - - class azure.mgmt.containerservice.models.ExtendedLocation(_Model): - name: Optional[str] - type: Optional[Union[str, ExtendedLocationTypes]] - - @overload - def __init__( - self, - *, - name: Optional[str] = ..., - type: Optional[Union[str, ExtendedLocationTypes]] = ... - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: ... - - - class azure.mgmt.containerservice.models.ExtendedLocationTypes(str, Enum, metaclass=CaseInsensitiveEnumMeta): - EDGE_ZONE = "EdgeZone" - - - class azure.mgmt.containerservice.models.Format(str, Enum, metaclass=CaseInsensitiveEnumMeta): - AZURE = "azure" - EXEC = "exec" - - - class azure.mgmt.containerservice.models.GPUDriver(str, Enum, metaclass=CaseInsensitiveEnumMeta): - INSTALL = "Install" - NONE = "None" - - - class azure.mgmt.containerservice.models.GPUInstanceProfile(str, Enum, metaclass=CaseInsensitiveEnumMeta): - MIG1_G = "MIG1g" - MIG2_G = "MIG2g" - MIG3_G = "MIG3g" - MIG4_G = "MIG4g" - MIG7_G = "MIG7g" - - - class azure.mgmt.containerservice.models.GPUProfile(_Model): - driver: Optional[Union[str, GPUDriver]] - driver_type: Optional[Union[str, DriverType]] - nvidia: Optional[NvidiaGPUProfile] - - @overload - def __init__( - self, - *, - driver: Optional[Union[str, GPUDriver]] = ..., - driver_type: Optional[Union[str, DriverType]] = ..., - nvidia: Optional[NvidiaGPUProfile] = ... - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: ... - - - class azure.mgmt.containerservice.models.GatewayAPIIstioEnabled(str, Enum, metaclass=CaseInsensitiveEnumMeta): - DISABLED = "Disabled" - ENABLED = "Enabled" - - - class azure.mgmt.containerservice.models.GuardrailsAvailableVersion(ProxyResource): - id: str - name: str - properties: GuardrailsAvailableVersionsProperties - system_data: SystemData - type: str - - @overload - def __init__( - self, - *, - properties: GuardrailsAvailableVersionsProperties - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: ... - - - class azure.mgmt.containerservice.models.GuardrailsAvailableVersionsProperties(_Model): - is_default_version: Optional[bool] - support: Optional[Union[str, GuardrailsSupport]] - - - class azure.mgmt.containerservice.models.GuardrailsSupport(str, Enum, metaclass=CaseInsensitiveEnumMeta): - PREVIEW = "Preview" - STABLE = "Stable" - - - class azure.mgmt.containerservice.models.HardEvictionThreshold(_Model): - memory_available: Optional[str] - node_fs_available: Optional[str] - node_fs_inodes_free: Optional[str] - - @overload - def __init__( - self, - *, - memory_available: Optional[str] = ..., - node_fs_available: Optional[str] = ..., - node_fs_inodes_free: Optional[str] = ... - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: ... - - - class azure.mgmt.containerservice.models.IPFamily(str, Enum, metaclass=CaseInsensitiveEnumMeta): - I_PV4 = "IPv4" - I_PV6 = "IPv6" - - - class azure.mgmt.containerservice.models.IPTag(_Model): - ip_tag_type: Optional[str] - tag: Optional[str] - - @overload - def __init__( - self, - *, - ip_tag_type: Optional[str] = ..., - tag: Optional[str] = ... - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: ... - - - class azure.mgmt.containerservice.models.IdentityBinding(ProxyResource): - e_tag: Optional[str] - id: str - name: str - properties: Optional[IdentityBindingProperties] - system_data: SystemData - type: str - - @overload - def __init__( - self, - *, - properties: Optional[IdentityBindingProperties] = ... - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: ... - - - class azure.mgmt.containerservice.models.IdentityBindingManagedIdentityProfile(_Model): - client_id: Optional[str] - object_id: Optional[str] - resource_id: str - tenant_id: Optional[str] - - @overload - def __init__( - self, - *, - resource_id: str - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: ... - - - class azure.mgmt.containerservice.models.IdentityBindingOidcIssuerProfile(_Model): - oidc_issuer_url: Optional[str] - - - class azure.mgmt.containerservice.models.IdentityBindingProperties(_Model): - allowed_subjects: Optional[list[AllowedSubject]] - managed_identity: IdentityBindingManagedIdentityProfile - oidc_issuer: Optional[IdentityBindingOidcIssuerProfile] - provisioning_state: Optional[Union[str, IdentityBindingProvisioningState]] - - @overload - def __init__( - self, - *, - allowed_subjects: Optional[list[AllowedSubject]] = ..., - managed_identity: IdentityBindingManagedIdentityProfile - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: ... - - - class azure.mgmt.containerservice.models.IdentityBindingProvisioningState(str, Enum, metaclass=CaseInsensitiveEnumMeta): - CANCELED = "Canceled" - CREATING = "Creating" - DELETING = "Deleting" - FAILED = "Failed" - SUCCEEDED = "Succeeded" - UPDATING = "Updating" - - - class azure.mgmt.containerservice.models.InfrastructureEncryption(str, Enum, metaclass=CaseInsensitiveEnumMeta): - DISABLED = "Disabled" - ENABLED = "Enabled" - - - class azure.mgmt.containerservice.models.IpvsScheduler(str, Enum, metaclass=CaseInsensitiveEnumMeta): - LEAST_CONNECTION = "LeastConnection" - ROUND_ROBIN = "RoundRobin" - - - class azure.mgmt.containerservice.models.IstioCertificateAuthority(_Model): - plugin: Optional[IstioPluginCertificateAuthority] - - @overload - def __init__( - self, - *, - plugin: Optional[IstioPluginCertificateAuthority] = ... - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: ... - - - class azure.mgmt.containerservice.models.IstioComponents(_Model): - egress_gateways: Optional[list[IstioEgressGateway]] - ingress_gateways: Optional[list[IstioIngressGateway]] - proxy_redirection_mechanism: Optional[Union[str, ProxyRedirectionMechanism]] - - @overload - def __init__( - self, - *, - egress_gateways: Optional[list[IstioEgressGateway]] = ..., - ingress_gateways: Optional[list[IstioIngressGateway]] = ..., - proxy_redirection_mechanism: Optional[Union[str, ProxyRedirectionMechanism]] = ... - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: ... - - - class azure.mgmt.containerservice.models.IstioEgressGateway(_Model): - enabled: bool - gateway_configuration_name: Optional[str] - name: str - namespace: Optional[str] - - @overload - def __init__( - self, - *, - enabled: bool, - gateway_configuration_name: Optional[str] = ..., - name: str, - namespace: Optional[str] = ... - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: ... - - - class azure.mgmt.containerservice.models.IstioIngressGateway(_Model): - enabled: bool - mode: Union[str, IstioIngressGatewayMode] - - @overload - def __init__( - self, - *, - enabled: bool, - mode: Union[str, IstioIngressGatewayMode] - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: ... - - - class azure.mgmt.containerservice.models.IstioIngressGatewayMode(str, Enum, metaclass=CaseInsensitiveEnumMeta): - EXTERNAL = "External" - INTERNAL = "Internal" - - - class azure.mgmt.containerservice.models.IstioPluginCertificateAuthority(_Model): - cert_chain_object_name: Optional[str] - cert_object_name: Optional[str] - key_object_name: Optional[str] - key_vault_id: Optional[str] - root_cert_object_name: Optional[str] - - @overload - def __init__( - self, - *, - cert_chain_object_name: Optional[str] = ..., - cert_object_name: Optional[str] = ..., - key_object_name: Optional[str] = ..., - key_vault_id: Optional[str] = ..., - root_cert_object_name: Optional[str] = ... - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: ... - - - class azure.mgmt.containerservice.models.IstioServiceMesh(_Model): - certificate_authority: Optional[IstioCertificateAuthority] - components: Optional[IstioComponents] - revisions: Optional[list[str]] - - @overload - def __init__( - self, - *, - certificate_authority: Optional[IstioCertificateAuthority] = ..., - components: Optional[IstioComponents] = ..., - revisions: Optional[list[str]] = ... - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: ... - - - class azure.mgmt.containerservice.models.JWTAuthenticator(ProxyResource): - id: str - name: str - properties: JWTAuthenticatorProperties - system_data: SystemData - type: str - - @overload - def __init__( - self, - *, - properties: JWTAuthenticatorProperties - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: ... - - - class azure.mgmt.containerservice.models.JWTAuthenticatorClaimMappingExpression(_Model): - expression: str - - @overload - def __init__( - self, - *, - expression: str - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: ... - - - class azure.mgmt.containerservice.models.JWTAuthenticatorClaimMappings(_Model): - extra: Optional[list[JWTAuthenticatorExtraClaimMappingExpression]] - groups: Optional[JWTAuthenticatorClaimMappingExpression] - uid: Optional[JWTAuthenticatorClaimMappingExpression] - username: JWTAuthenticatorClaimMappingExpression - - @overload - def __init__( - self, - *, - extra: Optional[list[JWTAuthenticatorExtraClaimMappingExpression]] = ..., - groups: Optional[JWTAuthenticatorClaimMappingExpression] = ..., - uid: Optional[JWTAuthenticatorClaimMappingExpression] = ..., - username: JWTAuthenticatorClaimMappingExpression - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: ... - - - class azure.mgmt.containerservice.models.JWTAuthenticatorExtraClaimMappingExpression(_Model): - key: str - value_expression: str - - @overload - def __init__( - self, - *, - key: str, - value_expression: str - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: ... - - - class azure.mgmt.containerservice.models.JWTAuthenticatorIssuer(_Model): - audiences: list[str] - url: str - - @overload - def __init__( - self, - *, - audiences: list[str], - url: str - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: ... - - - class azure.mgmt.containerservice.models.JWTAuthenticatorProperties(_Model): - claim_mappings: JWTAuthenticatorClaimMappings - claim_validation_rules: Optional[list[JWTAuthenticatorValidationRule]] - issuer: JWTAuthenticatorIssuer - provisioning_state: Optional[Union[str, JWTAuthenticatorProvisioningState]] - user_validation_rules: Optional[list[JWTAuthenticatorValidationRule]] - - @overload - def __init__( - self, - *, - claim_mappings: JWTAuthenticatorClaimMappings, - claim_validation_rules: Optional[list[JWTAuthenticatorValidationRule]] = ..., - issuer: JWTAuthenticatorIssuer, - user_validation_rules: Optional[list[JWTAuthenticatorValidationRule]] = ... - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: ... - - - class azure.mgmt.containerservice.models.JWTAuthenticatorProvisioningState(str, Enum, metaclass=CaseInsensitiveEnumMeta): - CANCELED = "Canceled" - CREATING = "Creating" - DELETING = "Deleting" - FAILED = "Failed" - SUCCEEDED = "Succeeded" - UPDATING = "Updating" - - - class azure.mgmt.containerservice.models.JWTAuthenticatorValidationRule(_Model): - expression: str - message: Optional[str] - - @overload - def __init__( - self, - *, - expression: str, - message: Optional[str] = ... - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: ... - - - class azure.mgmt.containerservice.models.KeyVaultNetworkAccessTypes(str, Enum, metaclass=CaseInsensitiveEnumMeta): - PRIVATE = "Private" - PUBLIC = "Public" - - - class azure.mgmt.containerservice.models.KubeReserved(_Model): - cpu_millicores: Optional[int] - memory_mb: Optional[int] - - @overload - def __init__( - self, - *, - cpu_millicores: Optional[int] = ..., - memory_mb: Optional[int] = ... - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: ... - - - class azure.mgmt.containerservice.models.KubeletConfig(_Model): - allowed_unsafe_sysctls: Optional[list[str]] - container_log_max_files: Optional[int] - container_log_max_size_mb: Optional[int] - cpu_cfs_quota: Optional[bool] - cpu_cfs_quota_period: Optional[str] - cpu_manager_policy: Optional[str] - fail_swap_on: Optional[bool] - hard_eviction_threshold: Optional[HardEvictionThreshold] - image_gc_high_threshold: Optional[int] - image_gc_low_threshold: Optional[int] - kube_reserved: Optional[KubeReserved] - pod_max_pids: Optional[int] - seccomp_default: Optional[Union[str, SeccompDefault]] - topology_manager_policy: Optional[str] - - @overload - def __init__( - self, - *, - allowed_unsafe_sysctls: Optional[list[str]] = ..., - container_log_max_files: Optional[int] = ..., - container_log_max_size_mb: Optional[int] = ..., - cpu_cfs_quota: Optional[bool] = ..., - cpu_cfs_quota_period: Optional[str] = ..., - cpu_manager_policy: Optional[str] = ..., - fail_swap_on: Optional[bool] = ..., - hard_eviction_threshold: Optional[HardEvictionThreshold] = ..., - image_gc_high_threshold: Optional[int] = ..., - image_gc_low_threshold: Optional[int] = ..., - kube_reserved: Optional[KubeReserved] = ..., - pod_max_pids: Optional[int] = ..., - seccomp_default: Optional[Union[str, SeccompDefault]] = ..., - topology_manager_policy: Optional[str] = ... - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: ... - - - class azure.mgmt.containerservice.models.KubeletDiskType(str, Enum, metaclass=CaseInsensitiveEnumMeta): - OS = "OS" - TEMPORARY = "Temporary" - - - class azure.mgmt.containerservice.models.KubernetesPatchVersion(_Model): - upgrades: Optional[list[str]] - - @overload - def __init__( - self, - *, - upgrades: Optional[list[str]] = ... - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: ... - - - class azure.mgmt.containerservice.models.KubernetesResourceObjectEncryptionProfile(_Model): - infrastructure_encryption: Optional[Union[str, InfrastructureEncryption]] - - @overload - def __init__( - self, - *, - infrastructure_encryption: Optional[Union[str, InfrastructureEncryption]] = ... - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: ... - - - class azure.mgmt.containerservice.models.KubernetesSupportPlan(str, Enum, metaclass=CaseInsensitiveEnumMeta): - AKS_LONG_TERM_SUPPORT = "AKSLongTermSupport" - KUBERNETES_OFFICIAL = "KubernetesOfficial" - - - class azure.mgmt.containerservice.models.KubernetesVersion(_Model): - capabilities: Optional[KubernetesVersionCapabilities] - is_default: Optional[bool] - is_preview: Optional[bool] - patch_versions: Optional[dict[str, KubernetesPatchVersion]] - version: Optional[str] - - @overload - def __init__( - self, - *, - capabilities: Optional[KubernetesVersionCapabilities] = ..., - is_default: Optional[bool] = ..., - is_preview: Optional[bool] = ..., - patch_versions: Optional[dict[str, KubernetesPatchVersion]] = ..., - version: Optional[str] = ... - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: ... - - - class azure.mgmt.containerservice.models.KubernetesVersionCapabilities(_Model): - support_plan: Optional[list[Union[str, KubernetesSupportPlan]]] - - @overload - def __init__( - self, - *, - support_plan: Optional[list[Union[str, KubernetesSupportPlan]]] = ... - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: ... - - - class azure.mgmt.containerservice.models.KubernetesVersionListResult(_Model): - values_property: Optional[list[KubernetesVersion]] - - @overload - def __init__( - self, - *, - values_property: Optional[list[KubernetesVersion]] = ... - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: ... - - - class azure.mgmt.containerservice.models.LabelSelector(_Model): - match_expressions: Optional[list[LabelSelectorRequirement]] - match_labels: Optional[list[str]] - - @overload - def __init__( - self, - *, - match_expressions: Optional[list[LabelSelectorRequirement]] = ..., - match_labels: Optional[list[str]] = ... - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: ... - - - class azure.mgmt.containerservice.models.LabelSelectorRequirement(_Model): - key: Optional[str] - operator: Optional[Union[str, Operator]] - values_property: Optional[list[str]] - - @overload - def __init__( - self, - *, - key: Optional[str] = ..., - operator: Optional[Union[str, Operator]] = ..., - values_property: Optional[list[str]] = ... - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: ... - - - class azure.mgmt.containerservice.models.LicenseType(str, Enum, metaclass=CaseInsensitiveEnumMeta): - NONE = "None" - WINDOWS_SERVER = "Windows_Server" - - - class azure.mgmt.containerservice.models.LinuxOSConfig(_Model): - swap_file_size_mb: Optional[int] - sysctls: Optional[SysctlConfig] - transparent_huge_page_defrag: Optional[str] - transparent_huge_page_enabled: Optional[str] - - @overload - def __init__( - self, - *, - swap_file_size_mb: Optional[int] = ..., - sysctls: Optional[SysctlConfig] = ..., - transparent_huge_page_defrag: Optional[str] = ..., - transparent_huge_page_enabled: Optional[str] = ... - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: ... - - - class azure.mgmt.containerservice.models.ListBootstrapDataRequest(_Model): - - - class azure.mgmt.containerservice.models.LoadBalancer(ProxyResource): - id: str - name: str - properties: Optional[LoadBalancerProperties] - system_data: SystemData - type: str - - def __getattr__(self, name: str) -> Any: ... - - @overload - def __init__( - self, - *, - properties: Optional[LoadBalancerProperties] = ... - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: ... - - def __setattr__( - self, - key: str, - value: Any - ) -> None: ... - - - class azure.mgmt.containerservice.models.LoadBalancerProperties(_Model): - allow_service_placement: Optional[bool] - node_selector: Optional[LabelSelector] - primary_agent_pool_name: str - provisioning_state: Optional[str] - service_label_selector: Optional[LabelSelector] - service_namespace_selector: Optional[LabelSelector] - - @overload - def __init__( - self, - *, - allow_service_placement: Optional[bool] = ..., - node_selector: Optional[LabelSelector] = ..., - primary_agent_pool_name: str, - service_label_selector: Optional[LabelSelector] = ..., - service_namespace_selector: Optional[LabelSelector] = ... - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: ... - - - class azure.mgmt.containerservice.models.LoadBalancerSku(str, Enum, metaclass=CaseInsensitiveEnumMeta): - BASIC = "basic" - SERVICE = "service" - STANDARD = "standard" - - - class azure.mgmt.containerservice.models.LocalDNSForwardDestination(str, Enum, metaclass=CaseInsensitiveEnumMeta): - CLUSTER_CORE_DNS = "ClusterCoreDNS" - VNET_DNS = "VnetDNS" - - - class azure.mgmt.containerservice.models.LocalDNSForwardPolicy(str, Enum, metaclass=CaseInsensitiveEnumMeta): - RANDOM = "Random" - ROUND_ROBIN = "RoundRobin" - SEQUENTIAL = "Sequential" - - - class azure.mgmt.containerservice.models.LocalDNSMode(str, Enum, metaclass=CaseInsensitiveEnumMeta): - DISABLED = "Disabled" - PREFERRED = "Preferred" - REQUIRED = "Required" - - - class azure.mgmt.containerservice.models.LocalDNSOverride(_Model): - cache_duration_in_seconds: Optional[int] - forward_destination: Optional[Union[str, LocalDNSForwardDestination]] - forward_policy: Optional[Union[str, LocalDNSForwardPolicy]] - max_concurrent: Optional[int] - protocol: Optional[Union[str, LocalDNSProtocol]] - query_logging: Optional[Union[str, LocalDNSQueryLogging]] - serve_stale: Optional[Union[str, LocalDNSServeStale]] - serve_stale_duration_in_seconds: Optional[int] - - @overload - def __init__( - self, - *, - cache_duration_in_seconds: Optional[int] = ..., - forward_destination: Optional[Union[str, LocalDNSForwardDestination]] = ..., - forward_policy: Optional[Union[str, LocalDNSForwardPolicy]] = ..., - max_concurrent: Optional[int] = ..., - protocol: Optional[Union[str, LocalDNSProtocol]] = ..., - query_logging: Optional[Union[str, LocalDNSQueryLogging]] = ..., - serve_stale: Optional[Union[str, LocalDNSServeStale]] = ..., - serve_stale_duration_in_seconds: Optional[int] = ... - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: ... - - - class azure.mgmt.containerservice.models.LocalDNSProfile(_Model): - kube_dns_overrides: Optional[dict[str, LocalDNSOverride]] - mode: Optional[Union[str, LocalDNSMode]] - state: Optional[Union[str, LocalDNSState]] - vnet_dns_overrides: Optional[dict[str, LocalDNSOverride]] - - @overload - def __init__( - self, - *, - kube_dns_overrides: Optional[dict[str, LocalDNSOverride]] = ..., - mode: Optional[Union[str, LocalDNSMode]] = ..., - vnet_dns_overrides: Optional[dict[str, LocalDNSOverride]] = ... - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: ... - - - class azure.mgmt.containerservice.models.LocalDNSProtocol(str, Enum, metaclass=CaseInsensitiveEnumMeta): - FORCE_TCP = "ForceTCP" - PREFER_UDP = "PreferUDP" - - - class azure.mgmt.containerservice.models.LocalDNSQueryLogging(str, Enum, metaclass=CaseInsensitiveEnumMeta): - ERROR = "Error" - LOG = "Log" - - - class azure.mgmt.containerservice.models.LocalDNSServeStale(str, Enum, metaclass=CaseInsensitiveEnumMeta): - DISABLE = "Disable" - IMMEDIATE = "Immediate" - VERIFY = "Verify" - - - class azure.mgmt.containerservice.models.LocalDNSState(str, Enum, metaclass=CaseInsensitiveEnumMeta): - DISABLED = "Disabled" - ENABLED = "Enabled" - - - class azure.mgmt.containerservice.models.Machine(ProxyResource): - id: str - name: str - properties: Optional[MachineProperties] - system_data: SystemData - type: str - zones: Optional[list[str]] - - @overload - def __init__( - self, - *, - properties: Optional[MachineProperties] = ..., - zones: Optional[list[str]] = ... - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: ... - - - class azure.mgmt.containerservice.models.MachineBillingProfile(_Model): - spot_max_price: Optional[float] - - @overload - def __init__( - self, - *, - spot_max_price: Optional[float] = ... - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: ... - - - class azure.mgmt.containerservice.models.MachineHardwareProfile(_Model): - gpu_instance_profile: Optional[Union[str, GPUInstanceProfile]] - gpu_profile: Optional[GPUProfile] - ultra_ssd_enabled: Optional[bool] - vm_size: Optional[str] - - @overload - def __init__( - self, - *, - gpu_instance_profile: Optional[Union[str, GPUInstanceProfile]] = ..., - gpu_profile: Optional[GPUProfile] = ..., - ultra_ssd_enabled: Optional[bool] = ..., - vm_size: Optional[str] = ... - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: ... - - - class azure.mgmt.containerservice.models.MachineIpAddress(_Model): - family: Optional[Union[str, IPFamily]] - ip: Optional[str] - - - class azure.mgmt.containerservice.models.MachineKubernetesProfile(_Model): - artifact_streaming_profile: Optional[AgentPoolArtifactStreamingProfile] - current_orchestrator_version: Optional[str] - kubelet_config: Optional[KubeletConfig] - kubelet_disk_type: Optional[Union[str, KubeletDiskType]] - max_pods: Optional[int] - node_initialization_taints: Optional[list[str]] - node_labels: Optional[dict[str, str]] - node_name: Optional[str] - node_taints: Optional[list[str]] - orchestrator_version: Optional[str] - workload_runtime: Optional[Union[str, WorkloadRuntime]] - - @overload - def __init__( - self, - *, - artifact_streaming_profile: Optional[AgentPoolArtifactStreamingProfile] = ..., - kubelet_config: Optional[KubeletConfig] = ..., - kubelet_disk_type: Optional[Union[str, KubeletDiskType]] = ..., - max_pods: Optional[int] = ..., - node_initialization_taints: Optional[list[str]] = ..., - node_labels: Optional[dict[str, str]] = ..., - node_taints: Optional[list[str]] = ..., - orchestrator_version: Optional[str] = ..., - workload_runtime: Optional[Union[str, WorkloadRuntime]] = ... - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: ... - - - class azure.mgmt.containerservice.models.MachineNetworkProperties(_Model): - enable_node_public_ip: Optional[bool] - ip_addresses: Optional[list[MachineIpAddress]] - node_public_ip_prefix_id: Optional[str] - node_public_ip_tags: Optional[list[IPTag]] - pod_subnet_id: Optional[str] - vnet_subnet_id: Optional[str] - - @overload - def __init__( - self, - *, - enable_node_public_ip: Optional[bool] = ..., - node_public_ip_prefix_id: Optional[str] = ..., - node_public_ip_tags: Optional[list[IPTag]] = ..., - pod_subnet_id: Optional[str] = ..., - vnet_subnet_id: Optional[str] = ... - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: ... - - - class azure.mgmt.containerservice.models.MachineOSProfile(_Model): - enable_fips: Optional[bool] - linux_profile: Optional[MachineOSProfileLinuxProfile] - os_disk_size_gb: Optional[int] - os_disk_type: Optional[Union[str, OSDiskType]] - os_sku: Optional[Union[str, _models.OSSKU]] - os_type: Optional[Union[str, OSType]] - windows_profile: Optional[AgentPoolWindowsProfile] - - @overload - def __init__( - self, - *, - enable_fips: Optional[bool] = ..., - linux_profile: Optional[MachineOSProfileLinuxProfile] = ..., - os_disk_size_gb: Optional[int] = ..., - os_disk_type: Optional[Union[str, OSDiskType]] = ..., - os_sku: Optional[Union[str, _models.OSSKU]] = ..., - os_type: Optional[Union[str, OSType]] = ..., - windows_profile: Optional[AgentPoolWindowsProfile] = ... - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: ... - - - class azure.mgmt.containerservice.models.MachineOSProfileLinuxProfile(_Model): - linux_os_config: Optional[LinuxOSConfig] - message_of_the_day: Optional[str] - - @overload - def __init__( - self, - *, - linux_os_config: Optional[LinuxOSConfig] = ..., - message_of_the_day: Optional[str] = ... - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: ... - - - class azure.mgmt.containerservice.models.MachineProperties(_Model): - billing: Optional[MachineBillingProfile] - e_tag: Optional[str] - eviction_policy: Optional[Union[str, ScaleSetEvictionPolicy]] - hardware: Optional[MachineHardwareProfile] - kubernetes: Optional[MachineKubernetesProfile] - local_dns_profile: Optional[LocalDNSProfile] - mode: Optional[Union[str, AgentPoolMode]] - network: Optional[MachineNetworkProperties] - node_image_version: Optional[str] - operating_system: Optional[MachineOSProfile] - priority: Optional[Union[str, ScaleSetPriority]] - provisioning_state: Optional[str] - resource_id: Optional[str] - security: Optional[MachineSecurityProfile] - status: Optional[MachineStatus] - tags: Optional[dict[str, str]] - - @overload - def __init__( - self, - *, - billing: Optional[MachineBillingProfile] = ..., - eviction_policy: Optional[Union[str, ScaleSetEvictionPolicy]] = ..., - hardware: Optional[MachineHardwareProfile] = ..., - kubernetes: Optional[MachineKubernetesProfile] = ..., - local_dns_profile: Optional[LocalDNSProfile] = ..., - mode: Optional[Union[str, AgentPoolMode]] = ..., - network: Optional[MachineNetworkProperties] = ..., - operating_system: Optional[MachineOSProfile] = ..., - priority: Optional[Union[str, ScaleSetPriority]] = ..., - security: Optional[MachineSecurityProfile] = ..., - tags: Optional[dict[str, str]] = ... - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: ... - - - class azure.mgmt.containerservice.models.MachineSecurityProfile(_Model): - enable_encryption_at_host: Optional[bool] - enable_secure_boot: Optional[bool] - enable_vtpm: Optional[bool] - ssh_access: Optional[Union[str, AgentPoolSSHAccess]] - - @overload - def __init__( - self, - *, - enable_encryption_at_host: Optional[bool] = ..., - enable_secure_boot: Optional[bool] = ..., - enable_vtpm: Optional[bool] = ..., - ssh_access: Optional[Union[str, AgentPoolSSHAccess]] = ... - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: ... - - - class azure.mgmt.containerservice.models.MachineStatus(_Model): - creation_timestamp: Optional[datetime] - drift_action: Optional[Union[str, DriftAction]] - drift_reason: Optional[str] - provisioning_error: Optional[ErrorDetail] - vm_state: Optional[Union[str, VmState]] - - - class azure.mgmt.containerservice.models.MaintenanceConfiguration(ProxyResource): - id: str - name: str - properties: Optional[MaintenanceConfigurationProperties] - system_data: SystemData - type: str - - def __getattr__(self, name: str) -> Any: ... - - @overload - def __init__( - self, - *, - properties: Optional[MaintenanceConfigurationProperties] = ... - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: ... - - def __setattr__( - self, - key: str, - value: Any - ) -> None: ... - - - class azure.mgmt.containerservice.models.MaintenanceConfigurationProperties(_Model): - maintenance_window: Optional[MaintenanceWindow] - maintenance_window_id: Optional[str] - not_allowed_time: Optional[list[TimeSpan]] - time_in_week: Optional[list[TimeInWeek]] - - @overload - def __init__( - self, - *, - maintenance_window: Optional[MaintenanceWindow] = ..., - maintenance_window_id: Optional[str] = ..., - not_allowed_time: Optional[list[TimeSpan]] = ..., - time_in_week: Optional[list[TimeInWeek]] = ... - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: ... - - - class azure.mgmt.containerservice.models.MaintenanceWindow(_Model): - duration_hours: int - not_allowed_dates: Optional[list[DateSpan]] - schedule: Schedule - start_date: Optional[date] - start_time: str - utc_offset: Optional[str] - - @overload - def __init__( - self, - *, - duration_hours: int, - not_allowed_dates: Optional[list[DateSpan]] = ..., - schedule: Schedule, - start_date: Optional[date] = ..., - start_time: str, - utc_offset: Optional[str] = ... - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: ... - - - class azure.mgmt.containerservice.models.MaintenanceWindowResource(TrackedResource): - id: str - location: str - name: str - properties: Optional[MaintenanceWindowResourceProperties] - system_data: SystemData - tags: dict[str, str] - type: str - - @overload - def __init__( - self, - *, - location: str, - properties: Optional[MaintenanceWindowResourceProperties] = ..., - tags: Optional[dict[str, str]] = ... - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: ... - - - class azure.mgmt.containerservice.models.MaintenanceWindowResourceProperties(_Model): - duration_hours: int - not_allowed_dates: Optional[list[DateSpan]] - provisioning_state: Optional[Union[str, ResourceProvisioningState]] - schedule: Schedule - start_date: Optional[date] - start_time: str - utc_offset: Optional[str] - - @overload - def __init__( - self, - *, - duration_hours: int, - not_allowed_dates: Optional[list[DateSpan]] = ..., - schedule: Schedule, - start_date: Optional[date] = ..., - start_time: str, - utc_offset: Optional[str] = ... - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: ... - - - class azure.mgmt.containerservice.models.ManagedCluster(TrackedResource): - e_tag: Optional[str] - extended_location: Optional[ExtendedLocation] - id: str - identity: Optional[ManagedClusterIdentity] - kind: Optional[str] - location: str - name: str - properties: Optional[ManagedClusterProperties] - sku: Optional[ManagedClusterSKU] - system_data: SystemData - tags: dict[str, str] - type: str - - def __getattr__(self, name: str) -> Any: ... - - @overload - def __init__( - self, - *, - extended_location: Optional[ExtendedLocation] = ..., - identity: Optional[ManagedClusterIdentity] = ..., - kind: Optional[str] = ..., - location: str, - properties: Optional[ManagedClusterProperties] = ..., - sku: Optional[ManagedClusterSKU] = ..., - tags: Optional[dict[str, str]] = ... - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: ... - - def __setattr__( - self, - key: str, - value: Any - ) -> None: ... - - - class azure.mgmt.containerservice.models.ManagedClusterAADProfile(_Model): - admin_group_object_i_ds: Optional[list[str]] - client_app_id: Optional[str] - enable_azure_rbac: Optional[bool] - managed: Optional[bool] - server_app_id: Optional[str] - server_app_secret: Optional[str] - tenant_id: Optional[str] - - @overload - def __init__( - self, - *, - admin_group_object_i_ds: Optional[list[str]] = ..., - client_app_id: Optional[str] = ..., - enable_azure_rbac: Optional[bool] = ..., - managed: Optional[bool] = ..., - server_app_id: Optional[str] = ..., - server_app_secret: Optional[str] = ..., - tenant_id: Optional[str] = ... - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: ... - - - class azure.mgmt.containerservice.models.ManagedClusterAIToolchainOperatorProfile(_Model): - enabled: Optional[bool] - - @overload - def __init__( - self, - *, - enabled: Optional[bool] = ... - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: ... - - - class azure.mgmt.containerservice.models.ManagedClusterAPIServerAccessProfile(_Model): - authorized_ip_ranges: Optional[list[str]] - disable_run_command: Optional[bool] - enable_private_cluster: Optional[bool] - enable_private_cluster_public_fqdn: Optional[bool] - enable_vnet_integration: Optional[bool] - private_dns_zone: Optional[str] - subnet_id: Optional[str] - - @overload - def __init__( - self, - *, - authorized_ip_ranges: Optional[list[str]] = ..., - disable_run_command: Optional[bool] = ..., - enable_private_cluster: Optional[bool] = ..., - enable_private_cluster_public_fqdn: Optional[bool] = ..., - enable_vnet_integration: Optional[bool] = ..., - private_dns_zone: Optional[str] = ..., - subnet_id: Optional[str] = ... - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: ... - - - class azure.mgmt.containerservice.models.ManagedClusterAccessProfile(TrackedResource): - id: str - location: str - name: str - properties: Optional[AccessProfile] - system_data: SystemData - tags: dict[str, str] - type: str - - def __getattr__(self, name: str) -> Any: ... - - @overload - def __init__( - self, - *, - location: str, - properties: Optional[AccessProfile] = ..., - tags: Optional[dict[str, str]] = ... - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: ... - - def __setattr__( - self, - key: str, - value: Any - ) -> None: ... - - - class azure.mgmt.containerservice.models.ManagedClusterAddonProfile(_Model): - config: Optional[dict[str, str]] - enabled: bool - identity: Optional[ManagedClusterAddonProfileIdentity] - - @overload - def __init__( - self, - *, - config: Optional[dict[str, str]] = ..., - enabled: bool - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: ... - - - class azure.mgmt.containerservice.models.ManagedClusterAddonProfileIdentity(UserAssignedIdentity): - client_id: str - object_id: str - resource_id: str - - @overload - def __init__( - self, - *, - client_id: Optional[str] = ..., - object_id: Optional[str] = ..., - resource_id: Optional[str] = ... - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: ... - - - class azure.mgmt.containerservice.models.ManagedClusterAgentPoolProfile(ManagedClusterAgentPoolProfileProperties): - artifact_streaming_profile: AgentPoolArtifactStreamingProfile - availability_zones: list[str] - capacity_reservation_group_id: str - count: int - creation_data: CreationData - current_orchestrator_version: str - e_tag: str - enable_auto_scaling: bool - enable_encryption_at_host: bool - enable_fips: bool - enable_node_public_ip: bool - enable_os_disk_full_caching: bool - enable_ultra_ssd: bool - gateway_profile: AgentPoolGatewayProfile - gpu_instance_profile: Union[str, GPUInstanceProfile] - gpu_profile: GPUProfile - host_group_id: str - kubelet_config: KubeletConfig - kubelet_disk_type: Union[str, KubeletDiskType] - linux_os_config: LinuxOSConfig - local_dns_profile: LocalDNSProfile - max_count: int - max_pods: int - message_of_the_day: str - min_count: int - mode: Union[str, AgentPoolMode] - name: str - network_profile: AgentPoolNetworkProfile - node_image_version: str - node_initialization_taints: list[str] - node_labels: dict[str, str] - node_public_ip_prefix_id: str - node_taints: list[str] - orchestrator_version: str - os_disk_size_gb: int - os_disk_type: Union[str, OSDiskType] - os_sku: Union[str, azure.mgmt.containerservice.models.OSSKU] - os_type: Union[str, OSType] - pod_ip_allocation_mode: Union[str, PodIPAllocationMode] - pod_subnet_id: str - power_state: PowerState - prepared_image_specification_profile: PreparedImageSpecificationProfile - provisioning_state: str - proximity_placement_group_id: str - scale_down_mode: Union[str, ScaleDownMode] - scale_set_eviction_policy: Union[str, ScaleSetEvictionPolicy] - scale_set_priority: Union[str, ScaleSetPriority] - security_profile: AgentPoolSecurityProfile - spot_max_price: float - status: AgentPoolStatus - tags: dict[str, str] - type: Union[str, AgentPoolType] - upgrade_settings: AgentPoolUpgradeSettings - upgrade_settings_blue_green: AgentPoolBlueGreenUpgradeSettings - upgrade_strategy: Union[str, UpgradeStrategy] - virtual_machine_nodes_status: list[VirtualMachineNodes] - virtual_machines_profile: VirtualMachinesProfile - vm_size: str - vnet_subnet_id: str - windows_profile: AgentPoolWindowsProfile - workload_runtime: Union[str, WorkloadRuntime] - - @overload - def __init__( - self, - *, - artifact_streaming_profile: Optional[AgentPoolArtifactStreamingProfile] = ..., - availability_zones: Optional[list[str]] = ..., - capacity_reservation_group_id: Optional[str] = ..., - count: Optional[int] = ..., - creation_data: Optional[CreationData] = ..., - enable_auto_scaling: Optional[bool] = ..., - enable_encryption_at_host: Optional[bool] = ..., - enable_fips: Optional[bool] = ..., - enable_node_public_ip: Optional[bool] = ..., - enable_os_disk_full_caching: Optional[bool] = ..., - enable_ultra_ssd: Optional[bool] = ..., - gateway_profile: Optional[AgentPoolGatewayProfile] = ..., - gpu_instance_profile: Optional[Union[str, GPUInstanceProfile]] = ..., - gpu_profile: Optional[GPUProfile] = ..., - host_group_id: Optional[str] = ..., - kubelet_config: Optional[KubeletConfig] = ..., - kubelet_disk_type: Optional[Union[str, KubeletDiskType]] = ..., - linux_os_config: Optional[LinuxOSConfig] = ..., - local_dns_profile: Optional[LocalDNSProfile] = ..., - max_count: Optional[int] = ..., - max_pods: Optional[int] = ..., - message_of_the_day: Optional[str] = ..., - min_count: Optional[int] = ..., - mode: Optional[Union[str, AgentPoolMode]] = ..., - name: str, - network_profile: Optional[AgentPoolNetworkProfile] = ..., - node_image_version: Optional[str] = ..., - node_initialization_taints: Optional[list[str]] = ..., - node_labels: Optional[dict[str, str]] = ..., - node_public_ip_prefix_id: Optional[str] = ..., - node_taints: Optional[list[str]] = ..., - orchestrator_version: Optional[str] = ..., - os_disk_size_gb: Optional[int] = ..., - os_disk_type: Optional[Union[str, OSDiskType]] = ..., - os_sku: Optional[Union[str, _models.OSSKU]] = ..., - os_type: Optional[Union[str, OSType]] = ..., - pod_ip_allocation_mode: Optional[Union[str, PodIPAllocationMode]] = ..., - pod_subnet_id: Optional[str] = ..., - power_state: Optional[PowerState] = ..., - prepared_image_specification_profile: Optional[PreparedImageSpecificationProfile] = ..., - proximity_placement_group_id: Optional[str] = ..., - scale_down_mode: Optional[Union[str, ScaleDownMode]] = ..., - scale_set_eviction_policy: Optional[Union[str, ScaleSetEvictionPolicy]] = ..., - scale_set_priority: Optional[Union[str, ScaleSetPriority]] = ..., - security_profile: Optional[AgentPoolSecurityProfile] = ..., - spot_max_price: Optional[float] = ..., - status: Optional[AgentPoolStatus] = ..., - tags: Optional[dict[str, str]] = ..., - type: Optional[Union[str, AgentPoolType]] = ..., - upgrade_settings: Optional[AgentPoolUpgradeSettings] = ..., - upgrade_settings_blue_green: Optional[AgentPoolBlueGreenUpgradeSettings] = ..., - upgrade_strategy: Optional[Union[str, UpgradeStrategy]] = ..., - virtual_machine_nodes_status: Optional[list[VirtualMachineNodes]] = ..., - virtual_machines_profile: Optional[VirtualMachinesProfile] = ..., - vm_size: Optional[str] = ..., - vnet_subnet_id: Optional[str] = ..., - windows_profile: Optional[AgentPoolWindowsProfile] = ..., - workload_runtime: Optional[Union[str, WorkloadRuntime]] = ... - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: ... - - - class azure.mgmt.containerservice.models.ManagedClusterAgentPoolProfileProperties(_Model): - artifact_streaming_profile: Optional[AgentPoolArtifactStreamingProfile] - availability_zones: Optional[list[str]] - capacity_reservation_group_id: Optional[str] - count: Optional[int] - creation_data: Optional[CreationData] - current_orchestrator_version: Optional[str] - e_tag: Optional[str] - enable_auto_scaling: Optional[bool] - enable_encryption_at_host: Optional[bool] - enable_fips: Optional[bool] - enable_node_public_ip: Optional[bool] - enable_os_disk_full_caching: Optional[bool] - enable_ultra_ssd: Optional[bool] - gateway_profile: Optional[AgentPoolGatewayProfile] - gpu_instance_profile: Optional[Union[str, GPUInstanceProfile]] - gpu_profile: Optional[GPUProfile] - host_group_id: Optional[str] - kubelet_config: Optional[KubeletConfig] - kubelet_disk_type: Optional[Union[str, KubeletDiskType]] - linux_os_config: Optional[LinuxOSConfig] - local_dns_profile: Optional[LocalDNSProfile] - max_count: Optional[int] - max_pods: Optional[int] - message_of_the_day: Optional[str] - min_count: Optional[int] - mode: Optional[Union[str, AgentPoolMode]] - network_profile: Optional[AgentPoolNetworkProfile] - node_image_version: Optional[str] - node_initialization_taints: Optional[list[str]] - node_labels: Optional[dict[str, str]] - node_public_ip_prefix_id: Optional[str] - node_taints: Optional[list[str]] - orchestrator_version: Optional[str] - os_disk_size_gb: Optional[int] - os_disk_type: Optional[Union[str, OSDiskType]] - os_sku: Optional[Union[str, _models.OSSKU]] - os_type: Optional[Union[str, OSType]] - pod_ip_allocation_mode: Optional[Union[str, PodIPAllocationMode]] - pod_subnet_id: Optional[str] - power_state: Optional[PowerState] - prepared_image_specification_profile: Optional[PreparedImageSpecificationProfile] - provisioning_state: Optional[str] - proximity_placement_group_id: Optional[str] - scale_down_mode: Optional[Union[str, ScaleDownMode]] - scale_set_eviction_policy: Optional[Union[str, ScaleSetEvictionPolicy]] - scale_set_priority: Optional[Union[str, ScaleSetPriority]] - security_profile: Optional[AgentPoolSecurityProfile] - spot_max_price: Optional[float] - status: Optional[AgentPoolStatus] - tags: Optional[dict[str, str]] - type: Optional[Union[str, AgentPoolType]] - upgrade_settings: Optional[AgentPoolUpgradeSettings] - upgrade_settings_blue_green: Optional[AgentPoolBlueGreenUpgradeSettings] - upgrade_strategy: Optional[Union[str, UpgradeStrategy]] - virtual_machine_nodes_status: Optional[list[VirtualMachineNodes]] - virtual_machines_profile: Optional[VirtualMachinesProfile] - vm_size: Optional[str] - vnet_subnet_id: Optional[str] - windows_profile: Optional[AgentPoolWindowsProfile] - workload_runtime: Optional[Union[str, WorkloadRuntime]] - - @overload - def __init__( - self, - *, - artifact_streaming_profile: Optional[AgentPoolArtifactStreamingProfile] = ..., - availability_zones: Optional[list[str]] = ..., - capacity_reservation_group_id: Optional[str] = ..., - count: Optional[int] = ..., - creation_data: Optional[CreationData] = ..., - enable_auto_scaling: Optional[bool] = ..., - enable_encryption_at_host: Optional[bool] = ..., - enable_fips: Optional[bool] = ..., - enable_node_public_ip: Optional[bool] = ..., - enable_os_disk_full_caching: Optional[bool] = ..., - enable_ultra_ssd: Optional[bool] = ..., - gateway_profile: Optional[AgentPoolGatewayProfile] = ..., - gpu_instance_profile: Optional[Union[str, GPUInstanceProfile]] = ..., - gpu_profile: Optional[GPUProfile] = ..., - host_group_id: Optional[str] = ..., - kubelet_config: Optional[KubeletConfig] = ..., - kubelet_disk_type: Optional[Union[str, KubeletDiskType]] = ..., - linux_os_config: Optional[LinuxOSConfig] = ..., - local_dns_profile: Optional[LocalDNSProfile] = ..., - max_count: Optional[int] = ..., - max_pods: Optional[int] = ..., - message_of_the_day: Optional[str] = ..., - min_count: Optional[int] = ..., - mode: Optional[Union[str, AgentPoolMode]] = ..., - network_profile: Optional[AgentPoolNetworkProfile] = ..., - node_image_version: Optional[str] = ..., - node_initialization_taints: Optional[list[str]] = ..., - node_labels: Optional[dict[str, str]] = ..., - node_public_ip_prefix_id: Optional[str] = ..., - node_taints: Optional[list[str]] = ..., - orchestrator_version: Optional[str] = ..., - os_disk_size_gb: Optional[int] = ..., - os_disk_type: Optional[Union[str, OSDiskType]] = ..., - os_sku: Optional[Union[str, _models.OSSKU]] = ..., - os_type: Optional[Union[str, OSType]] = ..., - pod_ip_allocation_mode: Optional[Union[str, PodIPAllocationMode]] = ..., - pod_subnet_id: Optional[str] = ..., - power_state: Optional[PowerState] = ..., - prepared_image_specification_profile: Optional[PreparedImageSpecificationProfile] = ..., - proximity_placement_group_id: Optional[str] = ..., - scale_down_mode: Optional[Union[str, ScaleDownMode]] = ..., - scale_set_eviction_policy: Optional[Union[str, ScaleSetEvictionPolicy]] = ..., - scale_set_priority: Optional[Union[str, ScaleSetPriority]] = ..., - security_profile: Optional[AgentPoolSecurityProfile] = ..., - spot_max_price: Optional[float] = ..., - status: Optional[AgentPoolStatus] = ..., - tags: Optional[dict[str, str]] = ..., - type: Optional[Union[str, AgentPoolType]] = ..., - upgrade_settings: Optional[AgentPoolUpgradeSettings] = ..., - upgrade_settings_blue_green: Optional[AgentPoolBlueGreenUpgradeSettings] = ..., - upgrade_strategy: Optional[Union[str, UpgradeStrategy]] = ..., - virtual_machine_nodes_status: Optional[list[VirtualMachineNodes]] = ..., - virtual_machines_profile: Optional[VirtualMachinesProfile] = ..., - vm_size: Optional[str] = ..., - vnet_subnet_id: Optional[str] = ..., - windows_profile: Optional[AgentPoolWindowsProfile] = ..., - workload_runtime: Optional[Union[str, WorkloadRuntime]] = ... - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: ... - - - class azure.mgmt.containerservice.models.ManagedClusterAppRoutingIstio(_Model): - mode: Optional[Union[str, GatewayAPIIstioEnabled]] - - @overload - def __init__( - self, - *, - mode: Optional[Union[str, GatewayAPIIstioEnabled]] = ... - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: ... - - - class azure.mgmt.containerservice.models.ManagedClusterAutoUpgradeProfile(_Model): - node_os_upgrade_channel: Optional[Union[str, NodeOSUpgradeChannel]] - upgrade_channel: Optional[Union[str, UpgradeChannel]] - - @overload - def __init__( - self, - *, - node_os_upgrade_channel: Optional[Union[str, NodeOSUpgradeChannel]] = ..., - upgrade_channel: Optional[Union[str, UpgradeChannel]] = ... - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: ... - - - class azure.mgmt.containerservice.models.ManagedClusterAzureMonitorProfile(_Model): - app_monitoring: Optional[ManagedClusterAzureMonitorProfileAppMonitoring] - container_insights: Optional[ManagedClusterAzureMonitorProfileContainerInsights] - metrics: Optional[ManagedClusterAzureMonitorProfileMetrics] - - @overload - def __init__( - self, - *, - app_monitoring: Optional[ManagedClusterAzureMonitorProfileAppMonitoring] = ..., - container_insights: Optional[ManagedClusterAzureMonitorProfileContainerInsights] = ..., - metrics: Optional[ManagedClusterAzureMonitorProfileMetrics] = ... - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: ... - - - class azure.mgmt.containerservice.models.ManagedClusterAzureMonitorProfileAppMonitoring(_Model): - auto_instrumentation: Optional[ManagedClusterAzureMonitorProfileAppMonitoringAutoInstrumentation] - open_telemetry_logs_and_traces: Optional[ManagedClusterAzureMonitorProfileAppMonitoringOpenTelemetryLogsAndTraces] - open_telemetry_metrics: Optional[ManagedClusterAzureMonitorProfileAppMonitoringOpenTelemetryMetrics] - - @overload - def __init__( - self, - *, - auto_instrumentation: Optional[ManagedClusterAzureMonitorProfileAppMonitoringAutoInstrumentation] = ..., - open_telemetry_logs_and_traces: Optional[ManagedClusterAzureMonitorProfileAppMonitoringOpenTelemetryLogsAndTraces] = ..., - open_telemetry_metrics: Optional[ManagedClusterAzureMonitorProfileAppMonitoringOpenTelemetryMetrics] = ... - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: ... - - - class azure.mgmt.containerservice.models.ManagedClusterAzureMonitorProfileAppMonitoringAutoInstrumentation(_Model): - enabled: Optional[bool] - - @overload - def __init__( - self, - *, - enabled: Optional[bool] = ... - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: ... - - - class azure.mgmt.containerservice.models.ManagedClusterAzureMonitorProfileAppMonitoringOpenTelemetryLogsAndTraces(_Model): - enabled: Optional[bool] - grpc_port: Optional[int] - http_port: Optional[int] - - @overload - def __init__( - self, - *, - enabled: Optional[bool] = ..., - grpc_port: Optional[int] = ..., - http_port: Optional[int] = ... - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: ... - - - class azure.mgmt.containerservice.models.ManagedClusterAzureMonitorProfileAppMonitoringOpenTelemetryMetrics(_Model): - enabled: Optional[bool] - grpc_port: Optional[int] - http_port: Optional[int] - - @overload - def __init__( - self, - *, - enabled: Optional[bool] = ..., - grpc_port: Optional[int] = ..., - http_port: Optional[int] = ... - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: ... - - - class azure.mgmt.containerservice.models.ManagedClusterAzureMonitorProfileContainerInsights(_Model): - container_network_logs: Optional[Union[str, ContainerNetworkLogs]] - disable_custom_metrics: Optional[bool] - disable_prometheus_metrics_scraping: Optional[bool] - enabled: Optional[bool] - log_analytics_workspace_resource_id: Optional[str] - syslog_port: Optional[int] - - @overload - def __init__( - self, - *, - container_network_logs: Optional[Union[str, ContainerNetworkLogs]] = ..., - disable_custom_metrics: Optional[bool] = ..., - disable_prometheus_metrics_scraping: Optional[bool] = ..., - enabled: Optional[bool] = ..., - log_analytics_workspace_resource_id: Optional[str] = ..., - syslog_port: Optional[int] = ... - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: ... - - - class azure.mgmt.containerservice.models.ManagedClusterAzureMonitorProfileKubeStateMetrics(_Model): - metric_annotations_allow_list: Optional[str] - metric_labels_allowlist: Optional[str] - - @overload - def __init__( - self, - *, - metric_annotations_allow_list: Optional[str] = ..., - metric_labels_allowlist: Optional[str] = ... - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: ... - - - class azure.mgmt.containerservice.models.ManagedClusterAzureMonitorProfileMetrics(_Model): - control_plane: Optional[ManagedClusterAzureMonitorProfileMetricsControlPlane] - enabled: bool - kube_state_metrics: Optional[ManagedClusterAzureMonitorProfileKubeStateMetrics] - - @overload - def __init__( - self, - *, - control_plane: Optional[ManagedClusterAzureMonitorProfileMetricsControlPlane] = ..., - enabled: bool, - kube_state_metrics: Optional[ManagedClusterAzureMonitorProfileKubeStateMetrics] = ... - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: ... - - - class azure.mgmt.containerservice.models.ManagedClusterAzureMonitorProfileMetricsControlPlane(_Model): - enabled: Optional[bool] - - @overload - def __init__( - self, - *, - enabled: Optional[bool] = ... - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: ... - - - class azure.mgmt.containerservice.models.ManagedClusterBootstrapProfile(_Model): - artifact_source: Optional[Union[str, ArtifactSource]] - container_registry_id: Optional[str] - - @overload - def __init__( - self, - *, - artifact_source: Optional[Union[str, ArtifactSource]] = ..., - container_registry_id: Optional[str] = ... - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: ... - - - class azure.mgmt.containerservice.models.ManagedClusterControlPlaneScalingProfile(_Model): - scaling_size: Union[str, ControlPlaneScalingSize] - - @overload - def __init__( - self, - *, - scaling_size: Union[str, ControlPlaneScalingSize] - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: ... - - - class azure.mgmt.containerservice.models.ManagedClusterCostAnalysis(_Model): - enabled: Optional[bool] - - @overload - def __init__( - self, - *, - enabled: Optional[bool] = ... - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: ... - - - class azure.mgmt.containerservice.models.ManagedClusterHTTPProxyConfig(_Model): - effective_no_proxy: Optional[list[str]] - enabled: Optional[bool] - http_proxy: Optional[str] - https_proxy: Optional[str] - no_proxy: Optional[list[str]] - trusted_ca: Optional[str] - - @overload - def __init__( - self, - *, - enabled: Optional[bool] = ..., - http_proxy: Optional[str] = ..., - https_proxy: Optional[str] = ..., - no_proxy: Optional[list[str]] = ..., - trusted_ca: Optional[str] = ... - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: ... - - - class azure.mgmt.containerservice.models.ManagedClusterHealthMonitorProfile(_Model): - enable_continuous_control_plane_and_addon_monitor: Optional[bool] - enable_on_demand_monitor: Optional[bool] - - @overload - def __init__( - self, - *, - enable_continuous_control_plane_and_addon_monitor: Optional[bool] = ..., - enable_on_demand_monitor: Optional[bool] = ... - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: ... - - - class azure.mgmt.containerservice.models.ManagedClusterHostedSystemProfile(_Model): - enabled: Optional[bool] - node_subnet_id: Optional[str] - system_node_subnet_id: Optional[str] - - @overload - def __init__( - self, - *, - enabled: Optional[bool] = ..., - node_subnet_id: Optional[str] = ..., - system_node_subnet_id: Optional[str] = ... - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: ... - - - class azure.mgmt.containerservice.models.ManagedClusterIdentity(_Model): - delegated_resources: Optional[dict[str, DelegatedResource]] - principal_id: Optional[str] - tenant_id: Optional[str] - type: Optional[Union[str, ResourceIdentityType]] - user_assigned_identities: Optional[dict[str, ManagedServiceIdentityUserAssignedIdentitiesValue]] - - @overload - def __init__( - self, - *, - delegated_resources: Optional[dict[str, DelegatedResource]] = ..., - type: Optional[Union[str, ResourceIdentityType]] = ..., - user_assigned_identities: Optional[dict[str, ManagedServiceIdentityUserAssignedIdentitiesValue]] = ... - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: ... - - - class azure.mgmt.containerservice.models.ManagedClusterIngressDefaultDomainProfile(_Model): - domain_name: Optional[str] - enabled: Optional[bool] - - @overload - def __init__( - self, - *, - enabled: Optional[bool] = ... - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: ... - - - class azure.mgmt.containerservice.models.ManagedClusterIngressProfile(_Model): - application_load_balancer: Optional[ManagedClusterIngressProfileApplicationLoadBalancer] - gateway_api: Optional[ManagedClusterIngressProfileGatewayConfiguration] - web_app_routing: Optional[ManagedClusterIngressProfileWebAppRouting] - - @overload - def __init__( - self, - *, - application_load_balancer: Optional[ManagedClusterIngressProfileApplicationLoadBalancer] = ..., - gateway_api: Optional[ManagedClusterIngressProfileGatewayConfiguration] = ..., - web_app_routing: Optional[ManagedClusterIngressProfileWebAppRouting] = ... - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: ... - - - class azure.mgmt.containerservice.models.ManagedClusterIngressProfileApplicationLoadBalancer(_Model): - enabled: Optional[bool] - identity: Optional[UserAssignedIdentity] - - @overload - def __init__( - self, - *, - enabled: Optional[bool] = ... - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: ... - - - class azure.mgmt.containerservice.models.ManagedClusterIngressProfileGatewayConfiguration(_Model): - installation: Optional[Union[str, ManagedGatewayType]] - - @overload - def __init__( - self, - *, - installation: Optional[Union[str, ManagedGatewayType]] = ... - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: ... - - - class azure.mgmt.containerservice.models.ManagedClusterIngressProfileNginx(_Model): - default_ingress_controller_type: Optional[Union[str, NginxIngressControllerType]] - - @overload - def __init__( - self, - *, - default_ingress_controller_type: Optional[Union[str, NginxIngressControllerType]] = ... - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: ... - - - class azure.mgmt.containerservice.models.ManagedClusterIngressProfileWebAppRouting(_Model): - default_domain: Optional[ManagedClusterIngressDefaultDomainProfile] - dns_zone_resource_ids: Optional[list[str]] - enabled: Optional[bool] - gateway_api_implementations: Optional[ManagedClusterWebAppRoutingGatewayAPIImplementations] - identity: Optional[UserAssignedIdentity] - nginx: Optional[ManagedClusterIngressProfileNginx] - - @overload - def __init__( - self, - *, - default_domain: Optional[ManagedClusterIngressDefaultDomainProfile] = ..., - dns_zone_resource_ids: Optional[list[str]] = ..., - enabled: Optional[bool] = ..., - gateway_api_implementations: Optional[ManagedClusterWebAppRoutingGatewayAPIImplementations] = ..., - nginx: Optional[ManagedClusterIngressProfileNginx] = ... - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: ... - - - class azure.mgmt.containerservice.models.ManagedClusterLoadBalancerProfile(_Model): - allocated_outbound_ports: Optional[int] - backend_pool_type: Optional[Union[str, BackendPoolType]] - cluster_service_load_balancer_health_probe_mode: Optional[Union[str, ClusterServiceLoadBalancerHealthProbeMode]] - effective_outbound_i_ps: Optional[list[ResourceReference]] - enable_multiple_standard_load_balancers: Optional[bool] - idle_timeout_in_minutes: Optional[int] - managed_outbound_i_ps: Optional[ManagedClusterLoadBalancerProfileManagedOutboundIPs] - outbound_i_ps: Optional[ManagedClusterLoadBalancerProfileOutboundIPs] - outbound_ip_prefixes: Optional[ManagedClusterLoadBalancerProfileOutboundIPPrefixes] - - @overload - def __init__( - self, - *, - allocated_outbound_ports: Optional[int] = ..., - backend_pool_type: Optional[Union[str, BackendPoolType]] = ..., - cluster_service_load_balancer_health_probe_mode: Optional[Union[str, ClusterServiceLoadBalancerHealthProbeMode]] = ..., - enable_multiple_standard_load_balancers: Optional[bool] = ..., - idle_timeout_in_minutes: Optional[int] = ..., - managed_outbound_i_ps: Optional[ManagedClusterLoadBalancerProfileManagedOutboundIPs] = ..., - outbound_i_ps: Optional[ManagedClusterLoadBalancerProfileOutboundIPs] = ..., - outbound_ip_prefixes: Optional[ManagedClusterLoadBalancerProfileOutboundIPPrefixes] = ... - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: ... - - - class azure.mgmt.containerservice.models.ManagedClusterLoadBalancerProfileManagedOutboundIPs(_Model): - count: Optional[int] - count_ipv6: Optional[int] - - @overload - def __init__( - self, - *, - count: Optional[int] = ..., - count_ipv6: Optional[int] = ... - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: ... - - - class azure.mgmt.containerservice.models.ManagedClusterLoadBalancerProfileOutboundIPPrefixes(_Model): - public_ip_prefixes: Optional[list[ResourceReference]] - - @overload - def __init__( - self, - *, - public_ip_prefixes: Optional[list[ResourceReference]] = ... - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: ... - - - class azure.mgmt.containerservice.models.ManagedClusterLoadBalancerProfileOutboundIPs(_Model): - public_i_ps: Optional[list[ResourceReference]] - - @overload - def __init__( - self, - *, - public_i_ps: Optional[list[ResourceReference]] = ... - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: ... - - - class azure.mgmt.containerservice.models.ManagedClusterManagedOutboundIPProfile(_Model): - count: Optional[int] - count_i_pv6: Optional[int] - - @overload - def __init__( - self, - *, - count: Optional[int] = ..., - count_i_pv6: Optional[int] = ... - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: ... - - - class azure.mgmt.containerservice.models.ManagedClusterMetricsProfile(_Model): - cost_analysis: Optional[ManagedClusterCostAnalysis] - - @overload - def __init__( - self, - *, - cost_analysis: Optional[ManagedClusterCostAnalysis] = ... - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: ... - - - class azure.mgmt.containerservice.models.ManagedClusterNATGatewayProfile(_Model): - effective_outbound_i_ps: Optional[list[ResourceReference]] - idle_timeout_in_minutes: Optional[int] - managed_outbound_ip_profile: Optional[ManagedClusterManagedOutboundIPProfile] - outbound_i_ps: Optional[ManagedClusterNATGatewayProfileOutboundIPs] - outbound_ip_prefixes: Optional[ManagedClusterNATGatewayProfileOutboundIpPrefixes] - - @overload - def __init__( - self, - *, - idle_timeout_in_minutes: Optional[int] = ..., - managed_outbound_ip_profile: Optional[ManagedClusterManagedOutboundIPProfile] = ..., - outbound_i_ps: Optional[ManagedClusterNATGatewayProfileOutboundIPs] = ..., - outbound_ip_prefixes: Optional[ManagedClusterNATGatewayProfileOutboundIpPrefixes] = ... - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: ... - - - class azure.mgmt.containerservice.models.ManagedClusterNATGatewayProfileOutboundIPs(_Model): - public_i_ps: Optional[list[str]] - - @overload - def __init__( - self, - *, - public_i_ps: Optional[list[str]] = ... - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: ... - - - class azure.mgmt.containerservice.models.ManagedClusterNATGatewayProfileOutboundIpPrefixes(_Model): - public_ip_prefixes: Optional[list[str]] - - @overload - def __init__( - self, - *, - public_ip_prefixes: Optional[list[str]] = ... - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: ... - - - class azure.mgmt.containerservice.models.ManagedClusterNodeProvisioningProfile(_Model): - default_node_pools: Optional[Union[str, NodeProvisioningDefaultNodePools]] - mode: Optional[Union[str, NodeProvisioningMode]] - - @overload - def __init__( - self, - *, - default_node_pools: Optional[Union[str, NodeProvisioningDefaultNodePools]] = ..., - mode: Optional[Union[str, NodeProvisioningMode]] = ... - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: ... - - - class azure.mgmt.containerservice.models.ManagedClusterNodeResourceGroupProfile(_Model): - restriction_level: Optional[Union[str, RestrictionLevel]] - - @overload - def __init__( - self, - *, - restriction_level: Optional[Union[str, RestrictionLevel]] = ... - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: ... - - - class azure.mgmt.containerservice.models.ManagedClusterOIDCIssuerProfile(_Model): - enabled: Optional[bool] - issuer_url: Optional[str] - - @overload - def __init__( - self, - *, - enabled: Optional[bool] = ... - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: ... - - - class azure.mgmt.containerservice.models.ManagedClusterPodIdentity(_Model): - binding_selector: Optional[str] - identity: UserAssignedIdentity - name: str - namespace: str - provisioning_info: Optional[ManagedClusterPodIdentityProvisioningInfo] - provisioning_state: Optional[Union[str, ManagedClusterPodIdentityProvisioningState]] - - @overload - def __init__( - self, - *, - binding_selector: Optional[str] = ..., - identity: UserAssignedIdentity, - name: str, - namespace: str - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: ... - - - class azure.mgmt.containerservice.models.ManagedClusterPodIdentityException(_Model): - name: str - namespace: str - pod_labels: dict[str, str] - - @overload - def __init__( - self, - *, - name: str, - namespace: str, - pod_labels: dict[str, str] - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: ... - - - class azure.mgmt.containerservice.models.ManagedClusterPodIdentityProfile(_Model): - allow_network_plugin_kubenet: Optional[bool] - enabled: Optional[bool] - user_assigned_identities: Optional[list[ManagedClusterPodIdentity]] - user_assigned_identity_exceptions: Optional[list[ManagedClusterPodIdentityException]] - - @overload - def __init__( - self, - *, - allow_network_plugin_kubenet: Optional[bool] = ..., - enabled: Optional[bool] = ..., - user_assigned_identities: Optional[list[ManagedClusterPodIdentity]] = ..., - user_assigned_identity_exceptions: Optional[list[ManagedClusterPodIdentityException]] = ... - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: ... - - - class azure.mgmt.containerservice.models.ManagedClusterPodIdentityProvisioningError(_Model): - error: Optional[ManagedClusterPodIdentityProvisioningErrorBody] - - @overload - def __init__( - self, - *, - error: Optional[ManagedClusterPodIdentityProvisioningErrorBody] = ... - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: ... - - - class azure.mgmt.containerservice.models.ManagedClusterPodIdentityProvisioningErrorBody(_Model): - code: Optional[str] - details: Optional[list[ManagedClusterPodIdentityProvisioningErrorBody]] - message: Optional[str] - target: Optional[str] - - @overload - def __init__( - self, - *, - code: Optional[str] = ..., - details: Optional[list[ManagedClusterPodIdentityProvisioningErrorBody]] = ..., - message: Optional[str] = ..., - target: Optional[str] = ... - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: ... - - - class azure.mgmt.containerservice.models.ManagedClusterPodIdentityProvisioningInfo(_Model): - error: Optional[ManagedClusterPodIdentityProvisioningError] + class azure.mgmt.containerservice.models.ManagedClusterAddonProfileIdentity(UserAssignedIdentity): + client_id: str + object_id: str + resource_id: str @overload def __init__( self, *, - error: Optional[ManagedClusterPodIdentityProvisioningError] = ... + client_id: Optional[str] = ..., + object_id: Optional[str] = ..., + resource_id: Optional[str] = ... ) -> None: ... @overload def __init__(self, mapping: Mapping[str, Any]) -> None: ... - class azure.mgmt.containerservice.models.ManagedClusterPodIdentityProvisioningState(str, Enum, metaclass=CaseInsensitiveEnumMeta): - ASSIGNED = "Assigned" - CANCELED = "Canceled" - DELETING = "Deleting" - FAILED = "Failed" - SUCCEEDED = "Succeeded" - UPDATING = "Updating" - - - class azure.mgmt.containerservice.models.ManagedClusterPoolUpgradeProfile(_Model): - components_by_releases: Optional[list[ComponentsByRelease]] - kubernetes_version: str - name: Optional[str] + class azure.mgmt.containerservice.models.ManagedClusterAgentPoolProfile(ManagedClusterAgentPoolProfileProperties): + artifact_streaming_profile: AgentPoolArtifactStreamingProfile + availability_zones: list[str] + capacity_reservation_group_id: str + count: int + creation_data: CreationData + current_orchestrator_version: str + e_tag: str + enable_auto_scaling: bool + enable_encryption_at_host: bool + enable_fips: bool + enable_node_public_ip: bool + enable_ultra_ssd: bool + gateway_profile: AgentPoolGatewayProfile + gpu_instance_profile: Union[str, GPUInstanceProfile] + gpu_profile: GPUProfile + host_group_id: str + kubelet_config: KubeletConfig + kubelet_disk_type: Union[str, KubeletDiskType] + linux_os_config: LinuxOSConfig + local_dns_profile: LocalDNSProfile + max_count: int + max_pods: int + message_of_the_day: str + min_count: int + mode: Union[str, AgentPoolMode] + name: str + network_profile: AgentPoolNetworkProfile + node_image_version: str + node_labels: dict[str, str] + node_public_ip_prefix_id: str + node_taints: list[str] + orchestrator_version: str + os_disk_size_gb: int + os_disk_type: Union[str, OSDiskType] + os_sku: Union[str, azure.mgmt.containerservice.models.OSSKU] os_type: Union[str, OSType] - upgrades: Optional[list[ManagedClusterPoolUpgradeProfileUpgradesItem]] - - @overload - def __init__( - self, - *, - components_by_releases: Optional[list[ComponentsByRelease]] = ..., - kubernetes_version: str, - name: Optional[str] = ..., - os_type: Union[str, OSType], - upgrades: Optional[list[ManagedClusterPoolUpgradeProfileUpgradesItem]] = ... - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: ... - - - class azure.mgmt.containerservice.models.ManagedClusterPoolUpgradeProfileUpgradesItem(_Model): - is_out_of_support: Optional[bool] - is_preview: Optional[bool] - kubernetes_version: Optional[str] + pod_ip_allocation_mode: Union[str, PodIPAllocationMode] + pod_subnet_id: str + power_state: PowerState + provisioning_state: str + proximity_placement_group_id: str + scale_down_mode: Union[str, ScaleDownMode] + scale_set_eviction_policy: Union[str, ScaleSetEvictionPolicy] + scale_set_priority: Union[str, ScaleSetPriority] + security_profile: AgentPoolSecurityProfile + spot_max_price: float + status: AgentPoolStatus + tags: dict[str, str] + type: Union[str, AgentPoolType] + upgrade_settings: AgentPoolUpgradeSettings + virtual_machine_nodes_status: list[VirtualMachineNodes] + virtual_machines_profile: VirtualMachinesProfile + vm_size: str + vnet_subnet_id: str + windows_profile: AgentPoolWindowsProfile + workload_runtime: Union[str, WorkloadRuntime] @overload def __init__( self, *, - is_out_of_support: Optional[bool] = ..., - is_preview: Optional[bool] = ..., - kubernetes_version: Optional[str] = ... + artifact_streaming_profile: Optional[AgentPoolArtifactStreamingProfile] = ..., + availability_zones: Optional[list[str]] = ..., + capacity_reservation_group_id: Optional[str] = ..., + count: Optional[int] = ..., + creation_data: Optional[CreationData] = ..., + enable_auto_scaling: Optional[bool] = ..., + enable_encryption_at_host: Optional[bool] = ..., + enable_fips: Optional[bool] = ..., + enable_node_public_ip: Optional[bool] = ..., + enable_ultra_ssd: Optional[bool] = ..., + gateway_profile: Optional[AgentPoolGatewayProfile] = ..., + gpu_instance_profile: Optional[Union[str, GPUInstanceProfile]] = ..., + gpu_profile: Optional[GPUProfile] = ..., + host_group_id: Optional[str] = ..., + kubelet_config: Optional[KubeletConfig] = ..., + kubelet_disk_type: Optional[Union[str, KubeletDiskType]] = ..., + linux_os_config: Optional[LinuxOSConfig] = ..., + local_dns_profile: Optional[LocalDNSProfile] = ..., + max_count: Optional[int] = ..., + max_pods: Optional[int] = ..., + message_of_the_day: Optional[str] = ..., + min_count: Optional[int] = ..., + mode: Optional[Union[str, AgentPoolMode]] = ..., + name: str, + network_profile: Optional[AgentPoolNetworkProfile] = ..., + node_image_version: Optional[str] = ..., + node_labels: Optional[dict[str, str]] = ..., + node_public_ip_prefix_id: Optional[str] = ..., + node_taints: Optional[list[str]] = ..., + orchestrator_version: Optional[str] = ..., + os_disk_size_gb: Optional[int] = ..., + os_disk_type: Optional[Union[str, OSDiskType]] = ..., + os_sku: Optional[Union[str, _models.OSSKU]] = ..., + os_type: Optional[Union[str, OSType]] = ..., + pod_ip_allocation_mode: Optional[Union[str, PodIPAllocationMode]] = ..., + pod_subnet_id: Optional[str] = ..., + power_state: Optional[PowerState] = ..., + proximity_placement_group_id: Optional[str] = ..., + scale_down_mode: Optional[Union[str, ScaleDownMode]] = ..., + scale_set_eviction_policy: Optional[Union[str, ScaleSetEvictionPolicy]] = ..., + scale_set_priority: Optional[Union[str, ScaleSetPriority]] = ..., + security_profile: Optional[AgentPoolSecurityProfile] = ..., + spot_max_price: Optional[float] = ..., + status: Optional[AgentPoolStatus] = ..., + tags: Optional[dict[str, str]] = ..., + type: Optional[Union[str, AgentPoolType]] = ..., + upgrade_settings: Optional[AgentPoolUpgradeSettings] = ..., + virtual_machine_nodes_status: Optional[list[VirtualMachineNodes]] = ..., + virtual_machines_profile: Optional[VirtualMachinesProfile] = ..., + vm_size: Optional[str] = ..., + vnet_subnet_id: Optional[str] = ..., + windows_profile: Optional[AgentPoolWindowsProfile] = ..., + workload_runtime: Optional[Union[str, WorkloadRuntime]] = ... ) -> None: ... @overload def __init__(self, mapping: Mapping[str, Any]) -> None: ... - class azure.mgmt.containerservice.models.ManagedClusterProperties(_Model): - aad_profile: Optional[ManagedClusterAADProfile] - addon_profiles: Optional[dict[str, ManagedClusterAddonProfile]] - agent_pool_profiles: Optional[list[ManagedClusterAgentPoolProfile]] - ai_toolchain_operator_profile: Optional[ManagedClusterAIToolchainOperatorProfile] - api_server_access_profile: Optional[ManagedClusterAPIServerAccessProfile] - auto_scaler_profile: Optional[ManagedClusterPropertiesAutoScalerProfile] - auto_upgrade_profile: Optional[ManagedClusterAutoUpgradeProfile] - azure_monitor_profile: Optional[ManagedClusterAzureMonitorProfile] - azure_portal_fqdn: Optional[str] - bootstrap_profile: Optional[ManagedClusterBootstrapProfile] - control_plane_scaling_profile: Optional[ManagedClusterControlPlaneScalingProfile] + class azure.mgmt.containerservice.models.ManagedClusterAgentPoolProfileProperties(_Model): + artifact_streaming_profile: Optional[AgentPoolArtifactStreamingProfile] + availability_zones: Optional[list[str]] + capacity_reservation_group_id: Optional[str] + count: Optional[int] creation_data: Optional[CreationData] - current_kubernetes_version: Optional[str] - disable_local_accounts: Optional[bool] - disk_encryption_set_id: Optional[str] - dns_prefix: Optional[str] + current_orchestrator_version: Optional[str] + e_tag: Optional[str] + enable_auto_scaling: Optional[bool] + enable_encryption_at_host: Optional[bool] enable_fips: Optional[bool] - enable_namespace_resources: Optional[bool] - enable_rbac: Optional[bool] - fqdn: Optional[str] - fqdn_subdomain: Optional[str] - health_monitor_profile: Optional[ManagedClusterHealthMonitorProfile] - hosted_system_profile: Optional[ManagedClusterHostedSystemProfile] - http_proxy_config: Optional[ManagedClusterHTTPProxyConfig] - identity_profile: Optional[dict[str, UserAssignedIdentity]] - ingress_profile: Optional[ManagedClusterIngressProfile] - kubernetes_version: Optional[str] - linux_profile: Optional[ContainerServiceLinuxProfile] - max_agent_pools: Optional[int] - metrics_profile: Optional[ManagedClusterMetricsProfile] - network_profile: Optional[ContainerServiceNetworkProfile] - node_disruption_profile: Optional[NodeDisruptionProfile] - node_provisioning_profile: Optional[ManagedClusterNodeProvisioningProfile] - node_resource_group: Optional[str] - node_resource_group_profile: Optional[ManagedClusterNodeResourceGroupProfile] - oidc_issuer_profile: Optional[ManagedClusterOIDCIssuerProfile] - pod_identity_profile: Optional[ManagedClusterPodIdentityProfile] - power_state: Optional[PowerState] - private_fqdn: Optional[str] - private_link_resources: Optional[list[PrivateLinkResource]] - provisioning_state: Optional[str] - public_network_access: Optional[Union[str, PublicNetworkAccess]] - resource_uid: Optional[str] - scheduler_profile: Optional[SchedulerProfile] - security_profile: Optional[ManagedClusterSecurityProfile] - service_mesh_profile: Optional[ServiceMeshProfile] - service_principal_profile: Optional[ManagedClusterServicePrincipalProfile] - status: Optional[ManagedClusterStatus] - storage_profile: Optional[ManagedClusterStorageProfile] - support_plan: Optional[Union[str, KubernetesSupportPlan]] - upgrade_settings: Optional[ClusterUpgradeSettings] - windows_profile: Optional[ManagedClusterWindowsProfile] - workload_auto_scaler_profile: Optional[ManagedClusterWorkloadAutoScalerProfile] + enable_node_public_ip: Optional[bool] + enable_ultra_ssd: Optional[bool] + gateway_profile: Optional[AgentPoolGatewayProfile] + gpu_instance_profile: Optional[Union[str, GPUInstanceProfile]] + gpu_profile: Optional[GPUProfile] + host_group_id: Optional[str] + kubelet_config: Optional[KubeletConfig] + kubelet_disk_type: Optional[Union[str, KubeletDiskType]] + linux_os_config: Optional[LinuxOSConfig] + local_dns_profile: Optional[LocalDNSProfile] + max_count: Optional[int] + max_pods: Optional[int] + message_of_the_day: Optional[str] + min_count: Optional[int] + mode: Optional[Union[str, AgentPoolMode]] + network_profile: Optional[AgentPoolNetworkProfile] + node_image_version: Optional[str] + node_labels: Optional[dict[str, str]] + node_public_ip_prefix_id: Optional[str] + node_taints: Optional[list[str]] + orchestrator_version: Optional[str] + os_disk_size_gb: Optional[int] + os_disk_type: Optional[Union[str, OSDiskType]] + os_sku: Optional[Union[str, _models.OSSKU]] + os_type: Optional[Union[str, OSType]] + pod_ip_allocation_mode: Optional[Union[str, PodIPAllocationMode]] + pod_subnet_id: Optional[str] + power_state: Optional[PowerState] + provisioning_state: Optional[str] + proximity_placement_group_id: Optional[str] + scale_down_mode: Optional[Union[str, ScaleDownMode]] + scale_set_eviction_policy: Optional[Union[str, ScaleSetEvictionPolicy]] + scale_set_priority: Optional[Union[str, ScaleSetPriority]] + security_profile: Optional[AgentPoolSecurityProfile] + spot_max_price: Optional[float] + status: Optional[AgentPoolStatus] + tags: Optional[dict[str, str]] + type: Optional[Union[str, AgentPoolType]] + upgrade_settings: Optional[AgentPoolUpgradeSettings] + virtual_machine_nodes_status: Optional[list[VirtualMachineNodes]] + virtual_machines_profile: Optional[VirtualMachinesProfile] + vm_size: Optional[str] + vnet_subnet_id: Optional[str] + windows_profile: Optional[AgentPoolWindowsProfile] + workload_runtime: Optional[Union[str, WorkloadRuntime]] @overload def __init__( self, *, - aad_profile: Optional[ManagedClusterAADProfile] = ..., - addon_profiles: Optional[dict[str, ManagedClusterAddonProfile]] = ..., - agent_pool_profiles: Optional[list[ManagedClusterAgentPoolProfile]] = ..., - ai_toolchain_operator_profile: Optional[ManagedClusterAIToolchainOperatorProfile] = ..., - api_server_access_profile: Optional[ManagedClusterAPIServerAccessProfile] = ..., - auto_scaler_profile: Optional[ManagedClusterPropertiesAutoScalerProfile] = ..., - auto_upgrade_profile: Optional[ManagedClusterAutoUpgradeProfile] = ..., - azure_monitor_profile: Optional[ManagedClusterAzureMonitorProfile] = ..., - bootstrap_profile: Optional[ManagedClusterBootstrapProfile] = ..., - control_plane_scaling_profile: Optional[ManagedClusterControlPlaneScalingProfile] = ..., + artifact_streaming_profile: Optional[AgentPoolArtifactStreamingProfile] = ..., + availability_zones: Optional[list[str]] = ..., + capacity_reservation_group_id: Optional[str] = ..., + count: Optional[int] = ..., creation_data: Optional[CreationData] = ..., - disable_local_accounts: Optional[bool] = ..., - disk_encryption_set_id: Optional[str] = ..., - dns_prefix: Optional[str] = ..., + enable_auto_scaling: Optional[bool] = ..., + enable_encryption_at_host: Optional[bool] = ..., enable_fips: Optional[bool] = ..., - enable_namespace_resources: Optional[bool] = ..., - enable_rbac: Optional[bool] = ..., - fqdn_subdomain: Optional[str] = ..., - health_monitor_profile: Optional[ManagedClusterHealthMonitorProfile] = ..., - hosted_system_profile: Optional[ManagedClusterHostedSystemProfile] = ..., - http_proxy_config: Optional[ManagedClusterHTTPProxyConfig] = ..., - identity_profile: Optional[dict[str, UserAssignedIdentity]] = ..., - ingress_profile: Optional[ManagedClusterIngressProfile] = ..., - kubernetes_version: Optional[str] = ..., - linux_profile: Optional[ContainerServiceLinuxProfile] = ..., - metrics_profile: Optional[ManagedClusterMetricsProfile] = ..., - network_profile: Optional[ContainerServiceNetworkProfile] = ..., - node_disruption_profile: Optional[NodeDisruptionProfile] = ..., - node_provisioning_profile: Optional[ManagedClusterNodeProvisioningProfile] = ..., - node_resource_group: Optional[str] = ..., - node_resource_group_profile: Optional[ManagedClusterNodeResourceGroupProfile] = ..., - oidc_issuer_profile: Optional[ManagedClusterOIDCIssuerProfile] = ..., - pod_identity_profile: Optional[ManagedClusterPodIdentityProfile] = ..., - private_link_resources: Optional[list[PrivateLinkResource]] = ..., - public_network_access: Optional[Union[str, PublicNetworkAccess]] = ..., - scheduler_profile: Optional[SchedulerProfile] = ..., - security_profile: Optional[ManagedClusterSecurityProfile] = ..., - service_mesh_profile: Optional[ServiceMeshProfile] = ..., - service_principal_profile: Optional[ManagedClusterServicePrincipalProfile] = ..., - status: Optional[ManagedClusterStatus] = ..., - storage_profile: Optional[ManagedClusterStorageProfile] = ..., - support_plan: Optional[Union[str, KubernetesSupportPlan]] = ..., - upgrade_settings: Optional[ClusterUpgradeSettings] = ..., - windows_profile: Optional[ManagedClusterWindowsProfile] = ..., - workload_auto_scaler_profile: Optional[ManagedClusterWorkloadAutoScalerProfile] = ... + enable_node_public_ip: Optional[bool] = ..., + enable_ultra_ssd: Optional[bool] = ..., + gateway_profile: Optional[AgentPoolGatewayProfile] = ..., + gpu_instance_profile: Optional[Union[str, GPUInstanceProfile]] = ..., + gpu_profile: Optional[GPUProfile] = ..., + host_group_id: Optional[str] = ..., + kubelet_config: Optional[KubeletConfig] = ..., + kubelet_disk_type: Optional[Union[str, KubeletDiskType]] = ..., + linux_os_config: Optional[LinuxOSConfig] = ..., + local_dns_profile: Optional[LocalDNSProfile] = ..., + max_count: Optional[int] = ..., + max_pods: Optional[int] = ..., + message_of_the_day: Optional[str] = ..., + min_count: Optional[int] = ..., + mode: Optional[Union[str, AgentPoolMode]] = ..., + network_profile: Optional[AgentPoolNetworkProfile] = ..., + node_image_version: Optional[str] = ..., + node_labels: Optional[dict[str, str]] = ..., + node_public_ip_prefix_id: Optional[str] = ..., + node_taints: Optional[list[str]] = ..., + orchestrator_version: Optional[str] = ..., + os_disk_size_gb: Optional[int] = ..., + os_disk_type: Optional[Union[str, OSDiskType]] = ..., + os_sku: Optional[Union[str, _models.OSSKU]] = ..., + os_type: Optional[Union[str, OSType]] = ..., + pod_ip_allocation_mode: Optional[Union[str, PodIPAllocationMode]] = ..., + pod_subnet_id: Optional[str] = ..., + power_state: Optional[PowerState] = ..., + proximity_placement_group_id: Optional[str] = ..., + scale_down_mode: Optional[Union[str, ScaleDownMode]] = ..., + scale_set_eviction_policy: Optional[Union[str, ScaleSetEvictionPolicy]] = ..., + scale_set_priority: Optional[Union[str, ScaleSetPriority]] = ..., + security_profile: Optional[AgentPoolSecurityProfile] = ..., + spot_max_price: Optional[float] = ..., + status: Optional[AgentPoolStatus] = ..., + tags: Optional[dict[str, str]] = ..., + type: Optional[Union[str, AgentPoolType]] = ..., + upgrade_settings: Optional[AgentPoolUpgradeSettings] = ..., + virtual_machine_nodes_status: Optional[list[VirtualMachineNodes]] = ..., + virtual_machines_profile: Optional[VirtualMachinesProfile] = ..., + vm_size: Optional[str] = ..., + vnet_subnet_id: Optional[str] = ..., + windows_profile: Optional[AgentPoolWindowsProfile] = ..., + workload_runtime: Optional[Union[str, WorkloadRuntime]] = ... ) -> None: ... @overload def __init__(self, mapping: Mapping[str, Any]) -> None: ... - class azure.mgmt.containerservice.models.ManagedClusterPropertiesAutoScalerProfile(_Model): - balance_similar_node_groups: Optional[str] - daemonset_eviction_for_empty_nodes: Optional[bool] - daemonset_eviction_for_occupied_nodes: Optional[bool] - expander: Optional[Union[str, Expander]] - ignore_daemonsets_utilization: Optional[bool] - max_empty_bulk_delete: Optional[str] - max_graceful_termination_sec: Optional[str] - max_node_provision_time: Optional[str] - max_total_unready_percentage: Optional[str] - new_pod_scale_up_delay: Optional[str] - ok_total_unready_count: Optional[str] - scale_down_delay_after_add: Optional[str] - scale_down_delay_after_delete: Optional[str] - scale_down_delay_after_failure: Optional[str] - scale_down_unneeded_time: Optional[str] - scale_down_unready_time: Optional[str] - scale_down_utilization_threshold: Optional[str] - scan_interval: Optional[str] - skip_nodes_with_local_storage: Optional[str] - skip_nodes_with_system_pods: Optional[str] + class azure.mgmt.containerservice.models.ManagedClusterAppRoutingIstio(_Model): + mode: Optional[Union[str, GatewayAPIIstioEnabled]] @overload def __init__( self, *, - balance_similar_node_groups: Optional[str] = ..., - daemonset_eviction_for_empty_nodes: Optional[bool] = ..., - daemonset_eviction_for_occupied_nodes: Optional[bool] = ..., - expander: Optional[Union[str, Expander]] = ..., - ignore_daemonsets_utilization: Optional[bool] = ..., - max_empty_bulk_delete: Optional[str] = ..., - max_graceful_termination_sec: Optional[str] = ..., - max_node_provision_time: Optional[str] = ..., - max_total_unready_percentage: Optional[str] = ..., - new_pod_scale_up_delay: Optional[str] = ..., - ok_total_unready_count: Optional[str] = ..., - scale_down_delay_after_add: Optional[str] = ..., - scale_down_delay_after_delete: Optional[str] = ..., - scale_down_delay_after_failure: Optional[str] = ..., - scale_down_unneeded_time: Optional[str] = ..., - scale_down_unready_time: Optional[str] = ..., - scale_down_utilization_threshold: Optional[str] = ..., - scan_interval: Optional[str] = ..., - skip_nodes_with_local_storage: Optional[str] = ..., - skip_nodes_with_system_pods: Optional[str] = ... + mode: Optional[Union[str, GatewayAPIIstioEnabled]] = ... ) -> None: ... @overload def __init__(self, mapping: Mapping[str, Any]) -> None: ... - class azure.mgmt.containerservice.models.ManagedClusterPropertiesForSnapshot(_Model): - enable_rbac: Optional[bool] - kubernetes_version: Optional[str] - network_profile: Optional[NetworkProfileForSnapshot] - sku: Optional[ManagedClusterSKU] - - - class azure.mgmt.containerservice.models.ManagedClusterSKU(_Model): - name: Optional[Union[str, ManagedClusterSKUName]] - tier: Optional[Union[str, ManagedClusterSKUTier]] + class azure.mgmt.containerservice.models.ManagedClusterAutoUpgradeProfile(_Model): + node_os_upgrade_channel: Optional[Union[str, NodeOSUpgradeChannel]] + upgrade_channel: Optional[Union[str, UpgradeChannel]] @overload def __init__( self, *, - name: Optional[Union[str, ManagedClusterSKUName]] = ..., - tier: Optional[Union[str, ManagedClusterSKUTier]] = ... + node_os_upgrade_channel: Optional[Union[str, NodeOSUpgradeChannel]] = ..., + upgrade_channel: Optional[Union[str, UpgradeChannel]] = ... ) -> None: ... @overload def __init__(self, mapping: Mapping[str, Any]) -> None: ... - class azure.mgmt.containerservice.models.ManagedClusterSKUName(str, Enum, metaclass=CaseInsensitiveEnumMeta): - AUTOMATIC = "Automatic" - BASE = "Base" + class azure.mgmt.containerservice.models.ManagedClusterAzureMonitorProfile(_Model): + app_monitoring: Optional[ManagedClusterAzureMonitorProfileAppMonitoring] + metrics: Optional[ManagedClusterAzureMonitorProfileMetrics] + @overload + def __init__( + self, + *, + app_monitoring: Optional[ManagedClusterAzureMonitorProfileAppMonitoring] = ..., + metrics: Optional[ManagedClusterAzureMonitorProfileMetrics] = ... + ) -> None: ... - class azure.mgmt.containerservice.models.ManagedClusterSKUTier(str, Enum, metaclass=CaseInsensitiveEnumMeta): - FREE = "Free" - PREMIUM = "Premium" - STANDARD = "Standard" + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: ... - class azure.mgmt.containerservice.models.ManagedClusterSecurityProfile(_Model): - azure_key_vault_kms: Optional[AzureKeyVaultKms] - custom_ca_trust_certificates: Optional[list[bytes]] - defender: Optional[ManagedClusterSecurityProfileDefender] - image_cleaner: Optional[ManagedClusterSecurityProfileImageCleaner] - image_integrity: Optional[ManagedClusterSecurityProfileImageIntegrity] - kubernetes_resource_object_encryption_profile: Optional[KubernetesResourceObjectEncryptionProfile] - node_restriction: Optional[ManagedClusterSecurityProfileNodeRestriction] - service_account_image_pull_profile: Optional[ServiceAccountImagePullProfile] - workload_identity: Optional[ManagedClusterSecurityProfileWorkloadIdentity] + class azure.mgmt.containerservice.models.ManagedClusterAzureMonitorProfileAppMonitoring(_Model): + auto_instrumentation: Optional[ManagedClusterAzureMonitorProfileAppMonitoringAutoInstrumentation] @overload def __init__( self, *, - azure_key_vault_kms: Optional[AzureKeyVaultKms] = ..., - custom_ca_trust_certificates: Optional[list[bytes]] = ..., - defender: Optional[ManagedClusterSecurityProfileDefender] = ..., - image_cleaner: Optional[ManagedClusterSecurityProfileImageCleaner] = ..., - image_integrity: Optional[ManagedClusterSecurityProfileImageIntegrity] = ..., - kubernetes_resource_object_encryption_profile: Optional[KubernetesResourceObjectEncryptionProfile] = ..., - node_restriction: Optional[ManagedClusterSecurityProfileNodeRestriction] = ..., - service_account_image_pull_profile: Optional[ServiceAccountImagePullProfile] = ..., - workload_identity: Optional[ManagedClusterSecurityProfileWorkloadIdentity] = ... + auto_instrumentation: Optional[ManagedClusterAzureMonitorProfileAppMonitoringAutoInstrumentation] = ... ) -> None: ... @overload def __init__(self, mapping: Mapping[str, Any]) -> None: ... - class azure.mgmt.containerservice.models.ManagedClusterSecurityProfileDefender(_Model): - log_analytics_workspace_resource_id: Optional[str] - security_gating: Optional[ManagedClusterSecurityProfileDefenderSecurityGating] - security_monitoring: Optional[ManagedClusterSecurityProfileDefenderSecurityMonitoring] + class azure.mgmt.containerservice.models.ManagedClusterAzureMonitorProfileAppMonitoringAutoInstrumentation(_Model): + enabled: Optional[bool] @overload def __init__( self, *, - log_analytics_workspace_resource_id: Optional[str] = ..., - security_gating: Optional[ManagedClusterSecurityProfileDefenderSecurityGating] = ..., - security_monitoring: Optional[ManagedClusterSecurityProfileDefenderSecurityMonitoring] = ... + enabled: Optional[bool] = ... ) -> None: ... @overload def __init__(self, mapping: Mapping[str, Any]) -> None: ... - class azure.mgmt.containerservice.models.ManagedClusterSecurityProfileDefenderSecurityGating(_Model): - allow_secret_access: Optional[bool] - enabled: Optional[bool] - identities: Optional[list[ManagedClusterSecurityProfileDefenderSecurityGatingIdentity]] + class azure.mgmt.containerservice.models.ManagedClusterAzureMonitorProfileKubeStateMetrics(_Model): + metric_annotations_allow_list: Optional[str] + metric_labels_allowlist: Optional[str] @overload def __init__( self, *, - allow_secret_access: Optional[bool] = ..., - enabled: Optional[bool] = ..., - identities: Optional[list[ManagedClusterSecurityProfileDefenderSecurityGatingIdentity]] = ... + metric_annotations_allow_list: Optional[str] = ..., + metric_labels_allowlist: Optional[str] = ... ) -> None: ... @overload def __init__(self, mapping: Mapping[str, Any]) -> None: ... - class azure.mgmt.containerservice.models.ManagedClusterSecurityProfileDefenderSecurityGatingIdentity(_Model): - azure_container_registry: Optional[str] - identity: Optional[UserAssignedIdentity] + class azure.mgmt.containerservice.models.ManagedClusterAzureMonitorProfileMetrics(_Model): + control_plane: Optional[ManagedClusterAzureMonitorProfileMetricsControlPlane] + enabled: bool + kube_state_metrics: Optional[ManagedClusterAzureMonitorProfileKubeStateMetrics] @overload def __init__( self, *, - azure_container_registry: Optional[str] = ..., - identity: Optional[UserAssignedIdentity] = ... + control_plane: Optional[ManagedClusterAzureMonitorProfileMetricsControlPlane] = ..., + enabled: bool, + kube_state_metrics: Optional[ManagedClusterAzureMonitorProfileKubeStateMetrics] = ... ) -> None: ... @overload def __init__(self, mapping: Mapping[str, Any]) -> None: ... - class azure.mgmt.containerservice.models.ManagedClusterSecurityProfileDefenderSecurityMonitoring(_Model): + class azure.mgmt.containerservice.models.ManagedClusterAzureMonitorProfileMetricsControlPlane(_Model): enabled: Optional[bool] @overload @@ -5800,23 +3219,23 @@ namespace azure.mgmt.containerservice.models def __init__(self, mapping: Mapping[str, Any]) -> None: ... - class azure.mgmt.containerservice.models.ManagedClusterSecurityProfileImageCleaner(_Model): - enabled: Optional[bool] - interval_hours: Optional[int] + class azure.mgmt.containerservice.models.ManagedClusterBootstrapProfile(_Model): + artifact_source: Optional[Union[str, ArtifactSource]] + container_registry_id: Optional[str] @overload def __init__( self, *, - enabled: Optional[bool] = ..., - interval_hours: Optional[int] = ... + artifact_source: Optional[Union[str, ArtifactSource]] = ..., + container_registry_id: Optional[str] = ... ) -> None: ... @overload def __init__(self, mapping: Mapping[str, Any]) -> None: ... - class azure.mgmt.containerservice.models.ManagedClusterSecurityProfileImageIntegrity(_Model): + class azure.mgmt.containerservice.models.ManagedClusterCostAnalysis(_Model): enabled: Optional[bool] @overload @@ -5830,914 +3249,854 @@ namespace azure.mgmt.containerservice.models def __init__(self, mapping: Mapping[str, Any]) -> None: ... - class azure.mgmt.containerservice.models.ManagedClusterSecurityProfileNodeRestriction(_Model): + class azure.mgmt.containerservice.models.ManagedClusterHTTPProxyConfig(_Model): enabled: Optional[bool] + http_proxy: Optional[str] + https_proxy: Optional[str] + no_proxy: Optional[list[str]] + trusted_ca: Optional[str] @overload def __init__( self, *, - enabled: Optional[bool] = ... + enabled: Optional[bool] = ..., + http_proxy: Optional[str] = ..., + https_proxy: Optional[str] = ..., + no_proxy: Optional[list[str]] = ..., + trusted_ca: Optional[str] = ... ) -> None: ... @overload def __init__(self, mapping: Mapping[str, Any]) -> None: ... - class azure.mgmt.containerservice.models.ManagedClusterSecurityProfileWorkloadIdentity(_Model): + class azure.mgmt.containerservice.models.ManagedClusterHostedSystemProfile(_Model): enabled: Optional[bool] + node_subnet_id: Optional[str] + system_node_subnet_id: Optional[str] @overload def __init__( self, *, - enabled: Optional[bool] = ... + enabled: Optional[bool] = ..., + node_subnet_id: Optional[str] = ..., + system_node_subnet_id: Optional[str] = ... ) -> None: ... @overload def __init__(self, mapping: Mapping[str, Any]) -> None: ... - class azure.mgmt.containerservice.models.ManagedClusterServicePrincipalProfile(_Model): - client_id: str - secret: Optional[str] + class azure.mgmt.containerservice.models.ManagedClusterIdentity(_Model): + delegated_resources: Optional[dict[str, DelegatedResource]] + principal_id: Optional[str] + tenant_id: Optional[str] + type: Optional[Union[str, ResourceIdentityType]] + user_assigned_identities: Optional[dict[str, ManagedServiceIdentityUserAssignedIdentitiesValue]] @overload def __init__( self, *, - client_id: str, - secret: Optional[str] = ... + delegated_resources: Optional[dict[str, DelegatedResource]] = ..., + type: Optional[Union[str, ResourceIdentityType]] = ..., + user_assigned_identities: Optional[dict[str, ManagedServiceIdentityUserAssignedIdentitiesValue]] = ... ) -> None: ... @overload def __init__(self, mapping: Mapping[str, Any]) -> None: ... - class azure.mgmt.containerservice.models.ManagedClusterSnapshot(TrackedResource): - id: str - location: str - name: str - properties: Optional[ManagedClusterSnapshotProperties] - system_data: SystemData - tags: dict[str, str] - type: str - - def __getattr__(self, name: str) -> Any: ... + class azure.mgmt.containerservice.models.ManagedClusterIngressProfile(_Model): + gateway_api: Optional[ManagedClusterIngressProfileGatewayConfiguration] + web_app_routing: Optional[ManagedClusterIngressProfileWebAppRouting] @overload def __init__( self, *, - location: str, - properties: Optional[ManagedClusterSnapshotProperties] = ..., - tags: Optional[dict[str, str]] = ... + gateway_api: Optional[ManagedClusterIngressProfileGatewayConfiguration] = ..., + web_app_routing: Optional[ManagedClusterIngressProfileWebAppRouting] = ... ) -> None: ... @overload def __init__(self, mapping: Mapping[str, Any]) -> None: ... - def __setattr__( - self, - key: str, - value: Any - ) -> None: ... - - class azure.mgmt.containerservice.models.ManagedClusterSnapshotProperties(_Model): - creation_data: Optional[CreationData] - managed_cluster_properties_read_only: Optional[ManagedClusterPropertiesForSnapshot] - snapshot_type: Optional[Union[str, SnapshotType]] + class azure.mgmt.containerservice.models.ManagedClusterIngressProfileGatewayConfiguration(_Model): + installation: Optional[Union[str, ManagedGatewayType]] @overload def __init__( self, *, - creation_data: Optional[CreationData] = ..., - snapshot_type: Optional[Union[str, SnapshotType]] = ... + installation: Optional[Union[str, ManagedGatewayType]] = ... ) -> None: ... @overload def __init__(self, mapping: Mapping[str, Any]) -> None: ... - class azure.mgmt.containerservice.models.ManagedClusterStaticEgressGatewayProfile(_Model): - enabled: Optional[bool] + class azure.mgmt.containerservice.models.ManagedClusterIngressProfileNginx(_Model): + default_ingress_controller_type: Optional[Union[str, NginxIngressControllerType]] @overload def __init__( self, *, - enabled: Optional[bool] = ... + default_ingress_controller_type: Optional[Union[str, NginxIngressControllerType]] = ... ) -> None: ... @overload def __init__(self, mapping: Mapping[str, Any]) -> None: ... - class azure.mgmt.containerservice.models.ManagedClusterStatus(_Model): - provisioning_error: Optional[ErrorDetail] - - - class azure.mgmt.containerservice.models.ManagedClusterStorageProfile(_Model): - blob_csi_driver: Optional[ManagedClusterStorageProfileBlobCSIDriver] - disk_csi_driver: Optional[ManagedClusterStorageProfileDiskCSIDriver] - file_csi_driver: Optional[ManagedClusterStorageProfileFileCSIDriver] - snapshot_controller: Optional[ManagedClusterStorageProfileSnapshotController] + class azure.mgmt.containerservice.models.ManagedClusterIngressProfileWebAppRouting(_Model): + dns_zone_resource_ids: Optional[list[str]] + enabled: Optional[bool] + gateway_api_implementations: Optional[ManagedClusterWebAppRoutingGatewayAPIImplementations] + identity: Optional[UserAssignedIdentity] + nginx: Optional[ManagedClusterIngressProfileNginx] @overload def __init__( self, *, - blob_csi_driver: Optional[ManagedClusterStorageProfileBlobCSIDriver] = ..., - disk_csi_driver: Optional[ManagedClusterStorageProfileDiskCSIDriver] = ..., - file_csi_driver: Optional[ManagedClusterStorageProfileFileCSIDriver] = ..., - snapshot_controller: Optional[ManagedClusterStorageProfileSnapshotController] = ... + dns_zone_resource_ids: Optional[list[str]] = ..., + enabled: Optional[bool] = ..., + gateway_api_implementations: Optional[ManagedClusterWebAppRoutingGatewayAPIImplementations] = ..., + nginx: Optional[ManagedClusterIngressProfileNginx] = ... ) -> None: ... @overload def __init__(self, mapping: Mapping[str, Any]) -> None: ... - class azure.mgmt.containerservice.models.ManagedClusterStorageProfileBlobCSIDriver(_Model): - enabled: Optional[bool] + class azure.mgmt.containerservice.models.ManagedClusterLoadBalancerProfile(_Model): + allocated_outbound_ports: Optional[int] + backend_pool_type: Optional[Union[str, BackendPoolType]] + effective_outbound_i_ps: Optional[list[ResourceReference]] + enable_multiple_standard_load_balancers: Optional[bool] + idle_timeout_in_minutes: Optional[int] + managed_outbound_i_ps: Optional[ManagedClusterLoadBalancerProfileManagedOutboundIPs] + outbound_i_ps: Optional[ManagedClusterLoadBalancerProfileOutboundIPs] + outbound_ip_prefixes: Optional[ManagedClusterLoadBalancerProfileOutboundIPPrefixes] @overload def __init__( self, *, - enabled: Optional[bool] = ... + allocated_outbound_ports: Optional[int] = ..., + backend_pool_type: Optional[Union[str, BackendPoolType]] = ..., + enable_multiple_standard_load_balancers: Optional[bool] = ..., + idle_timeout_in_minutes: Optional[int] = ..., + managed_outbound_i_ps: Optional[ManagedClusterLoadBalancerProfileManagedOutboundIPs] = ..., + outbound_i_ps: Optional[ManagedClusterLoadBalancerProfileOutboundIPs] = ..., + outbound_ip_prefixes: Optional[ManagedClusterLoadBalancerProfileOutboundIPPrefixes] = ... ) -> None: ... @overload def __init__(self, mapping: Mapping[str, Any]) -> None: ... - class azure.mgmt.containerservice.models.ManagedClusterStorageProfileDiskCSIDriver(_Model): - enabled: Optional[bool] + class azure.mgmt.containerservice.models.ManagedClusterLoadBalancerProfileManagedOutboundIPs(_Model): + count: Optional[int] + count_ipv6: Optional[int] @overload def __init__( self, *, - enabled: Optional[bool] = ... + count: Optional[int] = ..., + count_ipv6: Optional[int] = ... ) -> None: ... @overload def __init__(self, mapping: Mapping[str, Any]) -> None: ... - class azure.mgmt.containerservice.models.ManagedClusterStorageProfileFileCSIDriver(_Model): - enabled: Optional[bool] + class azure.mgmt.containerservice.models.ManagedClusterLoadBalancerProfileOutboundIPPrefixes(_Model): + public_ip_prefixes: Optional[list[ResourceReference]] @overload def __init__( self, *, - enabled: Optional[bool] = ... + public_ip_prefixes: Optional[list[ResourceReference]] = ... ) -> None: ... @overload def __init__(self, mapping: Mapping[str, Any]) -> None: ... - class azure.mgmt.containerservice.models.ManagedClusterStorageProfileSnapshotController(_Model): - enabled: Optional[bool] + class azure.mgmt.containerservice.models.ManagedClusterLoadBalancerProfileOutboundIPs(_Model): + public_i_ps: Optional[list[ResourceReference]] @overload def __init__( self, *, - enabled: Optional[bool] = ... + public_i_ps: Optional[list[ResourceReference]] = ... ) -> None: ... @overload def __init__(self, mapping: Mapping[str, Any]) -> None: ... - class azure.mgmt.containerservice.models.ManagedClusterUpgradeProfile(ProxyResource): - id: str - name: str - properties: ManagedClusterUpgradeProfileProperties - system_data: SystemData - type: str - - def __getattr__(self, name: str) -> Any: ... + class azure.mgmt.containerservice.models.ManagedClusterManagedOutboundIPProfile(_Model): + count: Optional[int] @overload def __init__( self, *, - properties: ManagedClusterUpgradeProfileProperties + count: Optional[int] = ... ) -> None: ... @overload def __init__(self, mapping: Mapping[str, Any]) -> None: ... - def __setattr__( - self, - key: str, - value: Any - ) -> None: ... - - class azure.mgmt.containerservice.models.ManagedClusterUpgradeProfileProperties(_Model): - agent_pool_profiles: list[ManagedClusterPoolUpgradeProfile] - control_plane_profile: ManagedClusterPoolUpgradeProfile + class azure.mgmt.containerservice.models.ManagedClusterMetricsProfile(_Model): + cost_analysis: Optional[ManagedClusterCostAnalysis] @overload def __init__( self, *, - agent_pool_profiles: list[ManagedClusterPoolUpgradeProfile], - control_plane_profile: ManagedClusterPoolUpgradeProfile + cost_analysis: Optional[ManagedClusterCostAnalysis] = ... ) -> None: ... @overload def __init__(self, mapping: Mapping[str, Any]) -> None: ... - class azure.mgmt.containerservice.models.ManagedClusterWebAppRoutingGatewayAPIImplementations(_Model): - app_routing_istio: Optional[ManagedClusterAppRoutingIstio] + class azure.mgmt.containerservice.models.ManagedClusterNATGatewayProfile(_Model): + effective_outbound_i_ps: Optional[list[ResourceReference]] + idle_timeout_in_minutes: Optional[int] + managed_outbound_ip_profile: Optional[ManagedClusterManagedOutboundIPProfile] @overload def __init__( self, *, - app_routing_istio: Optional[ManagedClusterAppRoutingIstio] = ... + idle_timeout_in_minutes: Optional[int] = ..., + managed_outbound_ip_profile: Optional[ManagedClusterManagedOutboundIPProfile] = ... ) -> None: ... @overload def __init__(self, mapping: Mapping[str, Any]) -> None: ... - class azure.mgmt.containerservice.models.ManagedClusterWindowsProfile(_Model): - admin_password: Optional[str] - admin_username: str - enable_csi_proxy: Optional[bool] - gmsa_profile: Optional[WindowsGmsaProfile] - license_type: Optional[Union[str, LicenseType]] + class azure.mgmt.containerservice.models.ManagedClusterNodeProvisioningProfile(_Model): + default_node_pools: Optional[Union[str, NodeProvisioningDefaultNodePools]] + mode: Optional[Union[str, NodeProvisioningMode]] @overload def __init__( self, *, - admin_password: Optional[str] = ..., - admin_username: str, - enable_csi_proxy: Optional[bool] = ..., - gmsa_profile: Optional[WindowsGmsaProfile] = ..., - license_type: Optional[Union[str, LicenseType]] = ... + default_node_pools: Optional[Union[str, NodeProvisioningDefaultNodePools]] = ..., + mode: Optional[Union[str, NodeProvisioningMode]] = ... ) -> None: ... @overload def __init__(self, mapping: Mapping[str, Any]) -> None: ... - class azure.mgmt.containerservice.models.ManagedClusterWorkloadAutoScalerProfile(_Model): - keda: Optional[ManagedClusterWorkloadAutoScalerProfileKeda] - vertical_pod_autoscaler: Optional[ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler] + class azure.mgmt.containerservice.models.ManagedClusterNodeResourceGroupProfile(_Model): + restriction_level: Optional[Union[str, RestrictionLevel]] @overload def __init__( self, *, - keda: Optional[ManagedClusterWorkloadAutoScalerProfileKeda] = ..., - vertical_pod_autoscaler: Optional[ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler] = ... + restriction_level: Optional[Union[str, RestrictionLevel]] = ... ) -> None: ... @overload def __init__(self, mapping: Mapping[str, Any]) -> None: ... - class azure.mgmt.containerservice.models.ManagedClusterWorkloadAutoScalerProfileKeda(_Model): - enabled: bool + class azure.mgmt.containerservice.models.ManagedClusterOIDCIssuerProfile(_Model): + enabled: Optional[bool] + issuer_url: Optional[str] @overload def __init__( self, *, - enabled: bool + enabled: Optional[bool] = ... ) -> None: ... @overload def __init__(self, mapping: Mapping[str, Any]) -> None: ... - class azure.mgmt.containerservice.models.ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler(_Model): - addon_autoscaling: Optional[Union[str, AddonAutoscaling]] - enabled: bool + class azure.mgmt.containerservice.models.ManagedClusterPodIdentity(_Model): + binding_selector: Optional[str] + identity: UserAssignedIdentity + name: str + namespace: str + provisioning_info: Optional[ManagedClusterPodIdentityProvisioningInfo] + provisioning_state: Optional[Union[str, ManagedClusterPodIdentityProvisioningState]] @overload def __init__( self, *, - addon_autoscaling: Optional[Union[str, AddonAutoscaling]] = ..., - enabled: bool + binding_selector: Optional[str] = ..., + identity: UserAssignedIdentity, + name: str, + namespace: str ) -> None: ... @overload def __init__(self, mapping: Mapping[str, Any]) -> None: ... - class azure.mgmt.containerservice.models.ManagedGatewayType(str, Enum, metaclass=CaseInsensitiveEnumMeta): - DISABLED = "Disabled" - STANDARD = "Standard" - - - class azure.mgmt.containerservice.models.ManagedNamespace(TrackedResource): - e_tag: Optional[str] - id: str - location: str + class azure.mgmt.containerservice.models.ManagedClusterPodIdentityException(_Model): name: str - properties: Optional[NamespaceProperties] - system_data: SystemData - tags: dict[str, str] - type: str + namespace: str + pod_labels: dict[str, str] @overload def __init__( self, *, - location: str, - properties: Optional[NamespaceProperties] = ..., - tags: Optional[dict[str, str]] = ... + name: str, + namespace: str, + pod_labels: dict[str, str] ) -> None: ... @overload def __init__(self, mapping: Mapping[str, Any]) -> None: ... - class azure.mgmt.containerservice.models.ManagedServiceIdentityUserAssignedIdentitiesValue(_Model): - client_id: Optional[str] - principal_id: Optional[str] - - - class azure.mgmt.containerservice.models.ManagementMode(str, Enum, metaclass=CaseInsensitiveEnumMeta): - MANAGED = "Managed" - UNMANAGED = "Unmanaged" - - - class azure.mgmt.containerservice.models.ManualScaleProfile(_Model): - count: Optional[int] - size: Optional[str] + class azure.mgmt.containerservice.models.ManagedClusterPodIdentityProfile(_Model): + allow_network_plugin_kubenet: Optional[bool] + enabled: Optional[bool] + user_assigned_identities: Optional[list[ManagedClusterPodIdentity]] + user_assigned_identity_exceptions: Optional[list[ManagedClusterPodIdentityException]] @overload def __init__( self, *, - count: Optional[int] = ..., - size: Optional[str] = ... + allow_network_plugin_kubenet: Optional[bool] = ..., + enabled: Optional[bool] = ..., + user_assigned_identities: Optional[list[ManagedClusterPodIdentity]] = ..., + user_assigned_identity_exceptions: Optional[list[ManagedClusterPodIdentityException]] = ... ) -> None: ... @overload def __init__(self, mapping: Mapping[str, Any]) -> None: ... - class azure.mgmt.containerservice.models.MeshMembership(ProxyResource): - e_tag: Optional[str] - id: str - managed_by: Optional[str] - name: str - properties: Optional[MeshMembershipProperties] - system_data: SystemData - type: str + class azure.mgmt.containerservice.models.ManagedClusterPodIdentityProvisioningError(_Model): + error: Optional[ManagedClusterPodIdentityProvisioningErrorBody] @overload def __init__( self, *, - managed_by: Optional[str] = ..., - properties: Optional[MeshMembershipProperties] = ... + error: Optional[ManagedClusterPodIdentityProvisioningErrorBody] = ... ) -> None: ... @overload def __init__(self, mapping: Mapping[str, Any]) -> None: ... - class azure.mgmt.containerservice.models.MeshMembershipPrivateConnectProfile(_Model): - private_ip_address: Optional[str] - subnet_resource_id: Optional[str] + class azure.mgmt.containerservice.models.ManagedClusterPodIdentityProvisioningErrorBody(_Model): + code: Optional[str] + details: Optional[list[ManagedClusterPodIdentityProvisioningErrorBody]] + message: Optional[str] + target: Optional[str] @overload def __init__( self, *, - subnet_resource_id: Optional[str] = ... + code: Optional[str] = ..., + details: Optional[list[ManagedClusterPodIdentityProvisioningErrorBody]] = ..., + message: Optional[str] = ..., + target: Optional[str] = ... ) -> None: ... @overload def __init__(self, mapping: Mapping[str, Any]) -> None: ... - class azure.mgmt.containerservice.models.MeshMembershipProperties(_Model): - managed_mesh_id: str - private_connect_profile: Optional[MeshMembershipPrivateConnectProfile] - provisioning_state: Optional[Union[str, MeshMembershipProvisioningState]] + class azure.mgmt.containerservice.models.ManagedClusterPodIdentityProvisioningInfo(_Model): + error: Optional[ManagedClusterPodIdentityProvisioningError] @overload def __init__( self, *, - managed_mesh_id: str, - private_connect_profile: Optional[MeshMembershipPrivateConnectProfile] = ... + error: Optional[ManagedClusterPodIdentityProvisioningError] = ... ) -> None: ... @overload def __init__(self, mapping: Mapping[str, Any]) -> None: ... - class azure.mgmt.containerservice.models.MeshMembershipProvisioningState(str, Enum, metaclass=CaseInsensitiveEnumMeta): + class azure.mgmt.containerservice.models.ManagedClusterPodIdentityProvisioningState(str, Enum, metaclass=CaseInsensitiveEnumMeta): + ASSIGNED = "Assigned" CANCELED = "Canceled" - CREATING = "Creating" DELETING = "Deleting" FAILED = "Failed" SUCCEEDED = "Succeeded" UPDATING = "Updating" - class azure.mgmt.containerservice.models.MeshRevision(_Model): - compatible_with: Optional[list[CompatibleVersions]] - revision: Optional[str] - upgrades: Optional[list[str]] + class azure.mgmt.containerservice.models.ManagedClusterPoolUpgradeProfile(_Model): + kubernetes_version: str + name: Optional[str] + os_type: Union[str, OSType] + upgrades: Optional[list[ManagedClusterPoolUpgradeProfileUpgradesItem]] @overload def __init__( self, *, - compatible_with: Optional[list[CompatibleVersions]] = ..., - revision: Optional[str] = ..., - upgrades: Optional[list[str]] = ... + kubernetes_version: str, + name: Optional[str] = ..., + os_type: Union[str, OSType], + upgrades: Optional[list[ManagedClusterPoolUpgradeProfileUpgradesItem]] = ... ) -> None: ... @overload def __init__(self, mapping: Mapping[str, Any]) -> None: ... - class azure.mgmt.containerservice.models.MeshRevisionProfile(ProxyResource): - id: str - name: str - properties: Optional[MeshRevisionProfileProperties] - system_data: SystemData - type: str + class azure.mgmt.containerservice.models.ManagedClusterPoolUpgradeProfileUpgradesItem(_Model): + is_preview: Optional[bool] + kubernetes_version: Optional[str] @overload def __init__( self, *, - properties: Optional[MeshRevisionProfileProperties] = ... + is_preview: Optional[bool] = ..., + kubernetes_version: Optional[str] = ... ) -> None: ... @overload def __init__(self, mapping: Mapping[str, Any]) -> None: ... - class azure.mgmt.containerservice.models.MeshRevisionProfileProperties(_Model): - mesh_revisions: Optional[list[MeshRevision]] + class azure.mgmt.containerservice.models.ManagedClusterProperties(_Model): + aad_profile: Optional[ManagedClusterAADProfile] + addon_profiles: Optional[dict[str, ManagedClusterAddonProfile]] + agent_pool_profiles: Optional[list[ManagedClusterAgentPoolProfile]] + ai_toolchain_operator_profile: Optional[ManagedClusterAIToolchainOperatorProfile] + api_server_access_profile: Optional[ManagedClusterAPIServerAccessProfile] + auto_scaler_profile: Optional[ManagedClusterPropertiesAutoScalerProfile] + auto_upgrade_profile: Optional[ManagedClusterAutoUpgradeProfile] + azure_monitor_profile: Optional[ManagedClusterAzureMonitorProfile] + azure_portal_fqdn: Optional[str] + bootstrap_profile: Optional[ManagedClusterBootstrapProfile] + current_kubernetes_version: Optional[str] + disable_local_accounts: Optional[bool] + disk_encryption_set_id: Optional[str] + dns_prefix: Optional[str] + enable_rbac: Optional[bool] + fqdn: Optional[str] + fqdn_subdomain: Optional[str] + hosted_system_profile: Optional[ManagedClusterHostedSystemProfile] + http_proxy_config: Optional[ManagedClusterHTTPProxyConfig] + identity_profile: Optional[dict[str, UserAssignedIdentity]] + ingress_profile: Optional[ManagedClusterIngressProfile] + kubernetes_version: Optional[str] + linux_profile: Optional[ContainerServiceLinuxProfile] + max_agent_pools: Optional[int] + metrics_profile: Optional[ManagedClusterMetricsProfile] + network_profile: Optional[ContainerServiceNetworkProfile] + node_provisioning_profile: Optional[ManagedClusterNodeProvisioningProfile] + node_resource_group: Optional[str] + node_resource_group_profile: Optional[ManagedClusterNodeResourceGroupProfile] + oidc_issuer_profile: Optional[ManagedClusterOIDCIssuerProfile] + pod_identity_profile: Optional[ManagedClusterPodIdentityProfile] + power_state: Optional[PowerState] + private_fqdn: Optional[str] + private_link_resources: Optional[list[PrivateLinkResource]] + provisioning_state: Optional[str] + public_network_access: Optional[Union[str, PublicNetworkAccess]] + resource_uid: Optional[str] + scheduler_profile: Optional[SchedulerProfile] + security_profile: Optional[ManagedClusterSecurityProfile] + service_mesh_profile: Optional[ServiceMeshProfile] + service_principal_profile: Optional[ManagedClusterServicePrincipalProfile] + status: Optional[ManagedClusterStatus] + storage_profile: Optional[ManagedClusterStorageProfile] + support_plan: Optional[Union[str, KubernetesSupportPlan]] + upgrade_settings: Optional[ClusterUpgradeSettings] + windows_profile: Optional[ManagedClusterWindowsProfile] + workload_auto_scaler_profile: Optional[ManagedClusterWorkloadAutoScalerProfile] @overload def __init__( self, *, - mesh_revisions: Optional[list[MeshRevision]] = ... + aad_profile: Optional[ManagedClusterAADProfile] = ..., + addon_profiles: Optional[dict[str, ManagedClusterAddonProfile]] = ..., + agent_pool_profiles: Optional[list[ManagedClusterAgentPoolProfile]] = ..., + ai_toolchain_operator_profile: Optional[ManagedClusterAIToolchainOperatorProfile] = ..., + api_server_access_profile: Optional[ManagedClusterAPIServerAccessProfile] = ..., + auto_scaler_profile: Optional[ManagedClusterPropertiesAutoScalerProfile] = ..., + auto_upgrade_profile: Optional[ManagedClusterAutoUpgradeProfile] = ..., + azure_monitor_profile: Optional[ManagedClusterAzureMonitorProfile] = ..., + bootstrap_profile: Optional[ManagedClusterBootstrapProfile] = ..., + disable_local_accounts: Optional[bool] = ..., + disk_encryption_set_id: Optional[str] = ..., + dns_prefix: Optional[str] = ..., + enable_rbac: Optional[bool] = ..., + fqdn_subdomain: Optional[str] = ..., + hosted_system_profile: Optional[ManagedClusterHostedSystemProfile] = ..., + http_proxy_config: Optional[ManagedClusterHTTPProxyConfig] = ..., + identity_profile: Optional[dict[str, UserAssignedIdentity]] = ..., + ingress_profile: Optional[ManagedClusterIngressProfile] = ..., + kubernetes_version: Optional[str] = ..., + linux_profile: Optional[ContainerServiceLinuxProfile] = ..., + metrics_profile: Optional[ManagedClusterMetricsProfile] = ..., + network_profile: Optional[ContainerServiceNetworkProfile] = ..., + node_provisioning_profile: Optional[ManagedClusterNodeProvisioningProfile] = ..., + node_resource_group: Optional[str] = ..., + node_resource_group_profile: Optional[ManagedClusterNodeResourceGroupProfile] = ..., + oidc_issuer_profile: Optional[ManagedClusterOIDCIssuerProfile] = ..., + pod_identity_profile: Optional[ManagedClusterPodIdentityProfile] = ..., + private_link_resources: Optional[list[PrivateLinkResource]] = ..., + public_network_access: Optional[Union[str, PublicNetworkAccess]] = ..., + scheduler_profile: Optional[SchedulerProfile] = ..., + security_profile: Optional[ManagedClusterSecurityProfile] = ..., + service_mesh_profile: Optional[ServiceMeshProfile] = ..., + service_principal_profile: Optional[ManagedClusterServicePrincipalProfile] = ..., + status: Optional[ManagedClusterStatus] = ..., + storage_profile: Optional[ManagedClusterStorageProfile] = ..., + support_plan: Optional[Union[str, KubernetesSupportPlan]] = ..., + upgrade_settings: Optional[ClusterUpgradeSettings] = ..., + windows_profile: Optional[ManagedClusterWindowsProfile] = ..., + workload_auto_scaler_profile: Optional[ManagedClusterWorkloadAutoScalerProfile] = ... ) -> None: ... @overload def __init__(self, mapping: Mapping[str, Any]) -> None: ... - class azure.mgmt.containerservice.models.MeshUpgradeProfile(ProxyResource): - id: str - name: str - properties: Optional[MeshUpgradeProfileProperties] - system_data: SystemData - type: str + class azure.mgmt.containerservice.models.ManagedClusterPropertiesAutoScalerProfile(_Model): + balance_similar_node_groups: Optional[str] + daemonset_eviction_for_empty_nodes: Optional[bool] + daemonset_eviction_for_occupied_nodes: Optional[bool] + expander: Optional[Union[str, Expander]] + ignore_daemonsets_utilization: Optional[bool] + max_empty_bulk_delete: Optional[str] + max_graceful_termination_sec: Optional[str] + max_node_provision_time: Optional[str] + max_total_unready_percentage: Optional[str] + new_pod_scale_up_delay: Optional[str] + ok_total_unready_count: Optional[str] + scale_down_delay_after_add: Optional[str] + scale_down_delay_after_delete: Optional[str] + scale_down_delay_after_failure: Optional[str] + scale_down_unneeded_time: Optional[str] + scale_down_unready_time: Optional[str] + scale_down_utilization_threshold: Optional[str] + scan_interval: Optional[str] + skip_nodes_with_local_storage: Optional[str] + skip_nodes_with_system_pods: Optional[str] @overload def __init__( self, *, - properties: Optional[MeshUpgradeProfileProperties] = ... + balance_similar_node_groups: Optional[str] = ..., + daemonset_eviction_for_empty_nodes: Optional[bool] = ..., + daemonset_eviction_for_occupied_nodes: Optional[bool] = ..., + expander: Optional[Union[str, Expander]] = ..., + ignore_daemonsets_utilization: Optional[bool] = ..., + max_empty_bulk_delete: Optional[str] = ..., + max_graceful_termination_sec: Optional[str] = ..., + max_node_provision_time: Optional[str] = ..., + max_total_unready_percentage: Optional[str] = ..., + new_pod_scale_up_delay: Optional[str] = ..., + ok_total_unready_count: Optional[str] = ..., + scale_down_delay_after_add: Optional[str] = ..., + scale_down_delay_after_delete: Optional[str] = ..., + scale_down_delay_after_failure: Optional[str] = ..., + scale_down_unneeded_time: Optional[str] = ..., + scale_down_unready_time: Optional[str] = ..., + scale_down_utilization_threshold: Optional[str] = ..., + scan_interval: Optional[str] = ..., + skip_nodes_with_local_storage: Optional[str] = ..., + skip_nodes_with_system_pods: Optional[str] = ... ) -> None: ... @overload def __init__(self, mapping: Mapping[str, Any]) -> None: ... - class azure.mgmt.containerservice.models.MeshUpgradeProfileProperties(MeshRevision): - compatible_with: list[CompatibleVersions] - revision: str - upgrades: list[str] + class azure.mgmt.containerservice.models.ManagedClusterSKU(_Model): + name: Optional[Union[str, ManagedClusterSKUName]] + tier: Optional[Union[str, ManagedClusterSKUTier]] @overload def __init__( self, *, - compatible_with: Optional[list[CompatibleVersions]] = ..., - revision: Optional[str] = ..., - upgrades: Optional[list[str]] = ... + name: Optional[Union[str, ManagedClusterSKUName]] = ..., + tier: Optional[Union[str, ManagedClusterSKUTier]] = ... ) -> None: ... @overload def __init__(self, mapping: Mapping[str, Any]) -> None: ... - class azure.mgmt.containerservice.models.MigStrategy(str, Enum, metaclass=CaseInsensitiveEnumMeta): - MIXED = "Mixed" - NONE = "None" - SINGLE = "Single" + class azure.mgmt.containerservice.models.ManagedClusterSKUName(str, Enum, metaclass=CaseInsensitiveEnumMeta): + AUTOMATIC = "Automatic" + BASE = "Base" - class azure.mgmt.containerservice.models.Mode(str, Enum, metaclass=CaseInsensitiveEnumMeta): - IPTABLES = "IPTABLES" - IPVS = "IPVS" - NFTABLES = "NFTABLES" + class azure.mgmt.containerservice.models.ManagedClusterSKUTier(str, Enum, metaclass=CaseInsensitiveEnumMeta): + FREE = "Free" + PREMIUM = "Premium" + STANDARD = "Standard" - class azure.mgmt.containerservice.models.NamespaceProperties(_Model): - adoption_policy: Optional[Union[str, AdoptionPolicy]] - annotations: Optional[dict[str, str]] - default_network_policy: Optional[NetworkPolicies] - default_resource_quota: Optional[ResourceQuota] - delete_policy: Optional[Union[str, DeletePolicy]] - labels: Optional[dict[str, str]] - portal_fqdn: Optional[str] - provisioning_state: Optional[Union[str, NamespaceProvisioningState]] + class azure.mgmt.containerservice.models.ManagedClusterSecurityProfile(_Model): + azure_key_vault_kms: Optional[AzureKeyVaultKms] + custom_ca_trust_certificates: Optional[list[bytes]] + defender: Optional[ManagedClusterSecurityProfileDefender] + image_cleaner: Optional[ManagedClusterSecurityProfileImageCleaner] + workload_identity: Optional[ManagedClusterSecurityProfileWorkloadIdentity] @overload def __init__( self, *, - adoption_policy: Optional[Union[str, AdoptionPolicy]] = ..., - annotations: Optional[dict[str, str]] = ..., - default_network_policy: Optional[NetworkPolicies] = ..., - default_resource_quota: Optional[ResourceQuota] = ..., - delete_policy: Optional[Union[str, DeletePolicy]] = ..., - labels: Optional[dict[str, str]] = ... + azure_key_vault_kms: Optional[AzureKeyVaultKms] = ..., + custom_ca_trust_certificates: Optional[list[bytes]] = ..., + defender: Optional[ManagedClusterSecurityProfileDefender] = ..., + image_cleaner: Optional[ManagedClusterSecurityProfileImageCleaner] = ..., + workload_identity: Optional[ManagedClusterSecurityProfileWorkloadIdentity] = ... ) -> None: ... @overload def __init__(self, mapping: Mapping[str, Any]) -> None: ... - - class azure.mgmt.containerservice.models.NamespaceProvisioningState(str, Enum, metaclass=CaseInsensitiveEnumMeta): - CANCELED = "Canceled" - CREATING = "Creating" - DELETING = "Deleting" - FAILED = "Failed" - SUCCEEDED = "Succeeded" - UPDATING = "Updating" - - - class azure.mgmt.containerservice.models.NetworkDataplane(str, Enum, metaclass=CaseInsensitiveEnumMeta): - AZURE = "azure" - CILIUM = "cilium" - - - class azure.mgmt.containerservice.models.NetworkMode(str, Enum, metaclass=CaseInsensitiveEnumMeta): - BRIDGE = "bridge" - TRANSPARENT = "transparent" - - - class azure.mgmt.containerservice.models.NetworkPlugin(str, Enum, metaclass=CaseInsensitiveEnumMeta): - AZURE = "azure" - KUBENET = "kubenet" - NONE = "none" - - - class azure.mgmt.containerservice.models.NetworkPluginMode(str, Enum, metaclass=CaseInsensitiveEnumMeta): - OVERLAY = "overlay" - - - class azure.mgmt.containerservice.models.NetworkPolicies(_Model): - egress: Optional[Union[str, PolicyRule]] - ingress: Optional[Union[str, PolicyRule]] - + + class azure.mgmt.containerservice.models.ManagedClusterSecurityProfileDefender(_Model): + log_analytics_workspace_resource_id: Optional[str] + security_gating: Optional[ManagedClusterSecurityProfileDefenderSecurityGating] + security_monitoring: Optional[ManagedClusterSecurityProfileDefenderSecurityMonitoring] + @overload def __init__( self, *, - egress: Optional[Union[str, PolicyRule]] = ..., - ingress: Optional[Union[str, PolicyRule]] = ... + log_analytics_workspace_resource_id: Optional[str] = ..., + security_gating: Optional[ManagedClusterSecurityProfileDefenderSecurityGating] = ..., + security_monitoring: Optional[ManagedClusterSecurityProfileDefenderSecurityMonitoring] = ... ) -> None: ... @overload def __init__(self, mapping: Mapping[str, Any]) -> None: ... - class azure.mgmt.containerservice.models.NetworkPolicy(str, Enum, metaclass=CaseInsensitiveEnumMeta): - AZURE = "azure" - CALICO = "calico" - CILIUM = "cilium" - NONE = "none" - - - class azure.mgmt.containerservice.models.NetworkProfileForSnapshot(_Model): - load_balancer_sku: Optional[Union[str, LoadBalancerSku]] - network_mode: Optional[Union[str, NetworkMode]] - network_plugin: Optional[Union[str, NetworkPlugin]] - network_plugin_mode: Optional[Union[str, NetworkPluginMode]] - network_policy: Optional[Union[str, NetworkPolicy]] + class azure.mgmt.containerservice.models.ManagedClusterSecurityProfileDefenderSecurityGating(_Model): + allow_secret_access: Optional[bool] + enabled: Optional[bool] + identities: Optional[list[ManagedClusterSecurityProfileDefenderSecurityGatingIdentity]] @overload def __init__( self, *, - load_balancer_sku: Optional[Union[str, LoadBalancerSku]] = ..., - network_mode: Optional[Union[str, NetworkMode]] = ..., - network_plugin: Optional[Union[str, NetworkPlugin]] = ..., - network_plugin_mode: Optional[Union[str, NetworkPluginMode]] = ..., - network_policy: Optional[Union[str, NetworkPolicy]] = ... + allow_secret_access: Optional[bool] = ..., + enabled: Optional[bool] = ..., + identities: Optional[list[ManagedClusterSecurityProfileDefenderSecurityGatingIdentity]] = ... ) -> None: ... @overload def __init__(self, mapping: Mapping[str, Any]) -> None: ... - class azure.mgmt.containerservice.models.NginxIngressControllerType(str, Enum, metaclass=CaseInsensitiveEnumMeta): - ANNOTATION_CONTROLLED = "AnnotationControlled" - EXTERNAL = "External" - INTERNAL = "Internal" - NONE = "None" - - - class azure.mgmt.containerservice.models.NodeDisruptionPolicy(str, Enum, metaclass=CaseInsensitiveEnumMeta): - ALLOW = "Allow" - ALLOW_DURING_MAINTENANCE_WINDOW = "AllowDuringMaintenanceWindow" - BLOCK = "Block" - - - class azure.mgmt.containerservice.models.NodeDisruptionProfile(_Model): - node_disruption_policy: Optional[Union[str, NodeDisruptionPolicy]] + class azure.mgmt.containerservice.models.ManagedClusterSecurityProfileDefenderSecurityGatingIdentity(_Model): + azure_container_registry: Optional[str] + identity: Optional[UserAssignedIdentity] @overload def __init__( self, *, - node_disruption_policy: Optional[Union[str, NodeDisruptionPolicy]] = ... + azure_container_registry: Optional[str] = ..., + identity: Optional[UserAssignedIdentity] = ... ) -> None: ... @overload def __init__(self, mapping: Mapping[str, Any]) -> None: ... - class azure.mgmt.containerservice.models.NodeImageVersion(_Model): - full_name: Optional[str] - os: Optional[str] - sku: Optional[str] - version: Optional[str] + class azure.mgmt.containerservice.models.ManagedClusterSecurityProfileDefenderSecurityMonitoring(_Model): + enabled: Optional[bool] @overload def __init__( self, *, - full_name: Optional[str] = ..., - os: Optional[str] = ..., - sku: Optional[str] = ..., - version: Optional[str] = ... + enabled: Optional[bool] = ... ) -> None: ... @overload def __init__(self, mapping: Mapping[str, Any]) -> None: ... - class azure.mgmt.containerservice.models.NodeOSUpgradeChannel(str, Enum, metaclass=CaseInsensitiveEnumMeta): - NODE_IMAGE = "NodeImage" - NONE = "None" - SECURITY_PATCH = "SecurityPatch" - UNMANAGED = "Unmanaged" - - - class azure.mgmt.containerservice.models.NodeProvisioningDefaultNodePools(str, Enum, metaclass=CaseInsensitiveEnumMeta): - AUTO = "Auto" - NONE = "None" - - - class azure.mgmt.containerservice.models.NodeProvisioningMode(str, Enum, metaclass=CaseInsensitiveEnumMeta): - AUTO = "Auto" - MANUAL = "Manual" - - - class azure.mgmt.containerservice.models.NvidiaGPUProfile(_Model): - management_mode: Optional[Union[str, ManagementMode]] - mig_strategy: Optional[Union[str, MigStrategy]] + class azure.mgmt.containerservice.models.ManagedClusterSecurityProfileImageCleaner(_Model): + enabled: Optional[bool] + interval_hours: Optional[int] @overload def __init__( self, *, - management_mode: Optional[Union[str, ManagementMode]] = ..., - mig_strategy: Optional[Union[str, MigStrategy]] = ... + enabled: Optional[bool] = ..., + interval_hours: Optional[int] = ... ) -> None: ... @overload def __init__(self, mapping: Mapping[str, Any]) -> None: ... - class azure.mgmt.containerservice.models.OSDiskType(str, Enum, metaclass=CaseInsensitiveEnumMeta): - EPHEMERAL = "Ephemeral" - MANAGED = "Managed" - - - class azure.mgmt.containerservice.models.OSSKU(str, Enum, metaclass=CaseInsensitiveEnumMeta): - AZURE_CONTAINER_LINUX = "AzureContainerLinux" - AZURE_LINUX = "AzureLinux" - AZURE_LINUX3 = "AzureLinux3" - CBL_MARINER = "CBLMariner" - FLATCAR = "Flatcar" - MARINER = "Mariner" - UBUNTU = "Ubuntu" - UBUNTU2204 = "Ubuntu2204" - UBUNTU2404 = "Ubuntu2404" - WINDOWS2019 = "Windows2019" - WINDOWS2022 = "Windows2022" - WINDOWS2025 = "Windows2025" - WINDOWS_ANNUAL = "WindowsAnnual" - - - class azure.mgmt.containerservice.models.OSType(str, Enum, metaclass=CaseInsensitiveEnumMeta): - LINUX = "Linux" - WINDOWS = "Windows" - - - class azure.mgmt.containerservice.models.OperationStatusResult(_Model): - end_time: Optional[datetime] - error: Optional[ErrorDetail] - id: Optional[str] - name: Optional[str] - operations: Optional[list[OperationStatusResult]] - percent_complete: Optional[float] - resource_id: Optional[str] - start_time: Optional[datetime] - status: str + class azure.mgmt.containerservice.models.ManagedClusterSecurityProfileWorkloadIdentity(_Model): + enabled: Optional[bool] @overload def __init__( self, *, - end_time: Optional[datetime] = ..., - error: Optional[ErrorDetail] = ..., - id: Optional[str] = ..., - name: Optional[str] = ..., - operations: Optional[list[OperationStatusResult]] = ..., - percent_complete: Optional[float] = ..., - start_time: Optional[datetime] = ..., - status: str + enabled: Optional[bool] = ... ) -> None: ... @overload def __init__(self, mapping: Mapping[str, Any]) -> None: ... - class azure.mgmt.containerservice.models.OperationValue(_Model): - display: Optional[OperationValueDisplay] - name: Optional[str] - origin: Optional[str] - - def __getattr__(self, name: str) -> Any: ... + class azure.mgmt.containerservice.models.ManagedClusterServicePrincipalProfile(_Model): + client_id: str + secret: Optional[str] @overload def __init__( self, *, - display: Optional[OperationValueDisplay] = ... + client_id: str, + secret: Optional[str] = ... ) -> None: ... @overload def __init__(self, mapping: Mapping[str, Any]) -> None: ... - def __setattr__( - self, - key: str, - value: Any - ) -> None: ... - - - class azure.mgmt.containerservice.models.OperationValueDisplay(_Model): - description: Optional[str] - operation: Optional[str] - provider: Optional[str] - resource: Optional[str] - - class azure.mgmt.containerservice.models.Operator(str, Enum, metaclass=CaseInsensitiveEnumMeta): - DOES_NOT_EXIST = "DoesNotExist" - EXISTS = "Exists" - IN = "In" - NOT_IN = "NotIn" - - - class azure.mgmt.containerservice.models.OutboundEnvironmentEndpoint(_Model): - category: Optional[str] - endpoints: Optional[list[EndpointDependency]] + class azure.mgmt.containerservice.models.ManagedClusterStaticEgressGatewayProfile(_Model): + enabled: Optional[bool] @overload def __init__( self, *, - category: Optional[str] = ..., - endpoints: Optional[list[EndpointDependency]] = ... + enabled: Optional[bool] = ... ) -> None: ... @overload def __init__(self, mapping: Mapping[str, Any]) -> None: ... - class azure.mgmt.containerservice.models.OutboundType(str, Enum, metaclass=CaseInsensitiveEnumMeta): - LOAD_BALANCER = "loadBalancer" - MANAGED_NAT_GATEWAY = "managedNATGateway" - MANAGED_NAT_GATEWAY_V2 = "managedNATGatewayV2" - NONE = "none" - USER_ASSIGNED_NAT_GATEWAY = "userAssignedNATGateway" - USER_DEFINED_ROUTING = "userDefinedRouting" - - - class azure.mgmt.containerservice.models.PodIPAllocationMode(str, Enum, metaclass=CaseInsensitiveEnumMeta): - DYNAMIC_INDIVIDUAL = "DynamicIndividual" - STATIC_BLOCK = "StaticBlock" - - - class azure.mgmt.containerservice.models.PodLinkLocalAccess(str, Enum, metaclass=CaseInsensitiveEnumMeta): - IMDS = "IMDS" - NONE = "None" + class azure.mgmt.containerservice.models.ManagedClusterStatus(_Model): + provisioning_error: Optional[ErrorDetail] - class azure.mgmt.containerservice.models.PolicyRule(str, Enum, metaclass=CaseInsensitiveEnumMeta): - ALLOW_ALL = "AllowAll" - ALLOW_SAME_NAMESPACE = "AllowSameNamespace" - DENY_ALL = "DenyAll" + class azure.mgmt.containerservice.models.ManagedClusterStorageProfile(_Model): + blob_csi_driver: Optional[ManagedClusterStorageProfileBlobCSIDriver] + disk_csi_driver: Optional[ManagedClusterStorageProfileDiskCSIDriver] + file_csi_driver: Optional[ManagedClusterStorageProfileFileCSIDriver] + snapshot_controller: Optional[ManagedClusterStorageProfileSnapshotController] + @overload + def __init__( + self, + *, + blob_csi_driver: Optional[ManagedClusterStorageProfileBlobCSIDriver] = ..., + disk_csi_driver: Optional[ManagedClusterStorageProfileDiskCSIDriver] = ..., + file_csi_driver: Optional[ManagedClusterStorageProfileFileCSIDriver] = ..., + snapshot_controller: Optional[ManagedClusterStorageProfileSnapshotController] = ... + ) -> None: ... - class azure.mgmt.containerservice.models.PoolBootstrapData(_Model): - azure: Optional[BootstrapAzureConfig] - components: Optional[BootstrapComponentVersions] - networking: Optional[BootstrapNetworkingConfig] - node: Optional[BootstrapNodeConfig] + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: ... - class azure.mgmt.containerservice.models.PortRange(_Model): - port_end: Optional[int] - port_start: Optional[int] - protocol: Optional[Union[str, Protocol]] + class azure.mgmt.containerservice.models.ManagedClusterStorageProfileBlobCSIDriver(_Model): + enabled: Optional[bool] @overload def __init__( self, *, - port_end: Optional[int] = ..., - port_start: Optional[int] = ..., - protocol: Optional[Union[str, Protocol]] = ... + enabled: Optional[bool] = ... ) -> None: ... @overload def __init__(self, mapping: Mapping[str, Any]) -> None: ... - class azure.mgmt.containerservice.models.PowerState(_Model): - code: Optional[Union[str, Code]] + class azure.mgmt.containerservice.models.ManagedClusterStorageProfileDiskCSIDriver(_Model): + enabled: Optional[bool] @overload def __init__( self, *, - code: Optional[Union[str, Code]] = ... + enabled: Optional[bool] = ... ) -> None: ... @overload def __init__(self, mapping: Mapping[str, Any]) -> None: ... - class azure.mgmt.containerservice.models.PreparedImageSpecificationProfile(_Model): - prepared_image_specification_id: Optional[str] + class azure.mgmt.containerservice.models.ManagedClusterStorageProfileFileCSIDriver(_Model): + enabled: Optional[bool] @overload def __init__( self, *, - prepared_image_specification_id: Optional[str] = ... + enabled: Optional[bool] = ... ) -> None: ... @overload def __init__(self, mapping: Mapping[str, Any]) -> None: ... - class azure.mgmt.containerservice.models.PrivateEndpoint(_Model): - id: Optional[str] + class azure.mgmt.containerservice.models.ManagedClusterStorageProfileSnapshotController(_Model): + enabled: Optional[bool] @overload def __init__( self, *, - id: Optional[str] = ... + enabled: Optional[bool] = ... ) -> None: ... @overload def __init__(self, mapping: Mapping[str, Any]) -> None: ... - class azure.mgmt.containerservice.models.PrivateEndpointConnection(ProxyResource): + class azure.mgmt.containerservice.models.ManagedClusterUpgradeProfile(ProxyResource): id: str name: str - properties: Optional[PrivateEndpointConnectionProperties] + properties: ManagedClusterUpgradeProfileProperties system_data: SystemData type: str @@ -6747,7 +4106,7 @@ namespace azure.mgmt.containerservice.models def __init__( self, *, - properties: Optional[PrivateEndpointConnectionProperties] = ... + properties: ManagedClusterUpgradeProfileProperties ) -> None: ... @overload @@ -6760,488 +4119,479 @@ namespace azure.mgmt.containerservice.models ) -> None: ... - class azure.mgmt.containerservice.models.PrivateEndpointConnectionListResult(_Model): - value: Optional[list[PrivateEndpointConnection]] + class azure.mgmt.containerservice.models.ManagedClusterUpgradeProfileProperties(_Model): + agent_pool_profiles: list[ManagedClusterPoolUpgradeProfile] + control_plane_profile: ManagedClusterPoolUpgradeProfile @overload def __init__( self, *, - value: Optional[list[PrivateEndpointConnection]] = ... + agent_pool_profiles: list[ManagedClusterPoolUpgradeProfile], + control_plane_profile: ManagedClusterPoolUpgradeProfile ) -> None: ... @overload def __init__(self, mapping: Mapping[str, Any]) -> None: ... - class azure.mgmt.containerservice.models.PrivateEndpointConnectionProperties(_Model): - private_endpoint: Optional[PrivateEndpoint] - private_link_service_connection_state: PrivateLinkServiceConnectionState - provisioning_state: Optional[Union[str, PrivateEndpointConnectionProvisioningState]] + class azure.mgmt.containerservice.models.ManagedClusterWebAppRoutingGatewayAPIImplementations(_Model): + app_routing_istio: Optional[ManagedClusterAppRoutingIstio] @overload def __init__( self, *, - private_endpoint: Optional[PrivateEndpoint] = ..., - private_link_service_connection_state: PrivateLinkServiceConnectionState + app_routing_istio: Optional[ManagedClusterAppRoutingIstio] = ... ) -> None: ... @overload def __init__(self, mapping: Mapping[str, Any]) -> None: ... - class azure.mgmt.containerservice.models.PrivateEndpointConnectionProvisioningState(str, Enum, metaclass=CaseInsensitiveEnumMeta): - CANCELED = "Canceled" - CREATING = "Creating" - DELETING = "Deleting" - FAILED = "Failed" - SUCCEEDED = "Succeeded" + class azure.mgmt.containerservice.models.ManagedClusterWindowsProfile(_Model): + admin_password: Optional[str] + admin_username: str + enable_csi_proxy: Optional[bool] + gmsa_profile: Optional[WindowsGmsaProfile] + license_type: Optional[Union[str, LicenseType]] + @overload + def __init__( + self, + *, + admin_password: Optional[str] = ..., + admin_username: str, + enable_csi_proxy: Optional[bool] = ..., + gmsa_profile: Optional[WindowsGmsaProfile] = ..., + license_type: Optional[Union[str, LicenseType]] = ... + ) -> None: ... - class azure.mgmt.containerservice.models.PrivateLinkResource(_Model): - group_id: Optional[str] - id: Optional[str] - name: Optional[str] - private_link_service_id: Optional[str] - required_members: Optional[list[str]] - type: Optional[str] + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: ... + + + class azure.mgmt.containerservice.models.ManagedClusterWorkloadAutoScalerProfile(_Model): + keda: Optional[ManagedClusterWorkloadAutoScalerProfileKeda] + vertical_pod_autoscaler: Optional[ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler] @overload def __init__( self, *, - group_id: Optional[str] = ..., - id: Optional[str] = ..., - name: Optional[str] = ..., - required_members: Optional[list[str]] = ..., - type: Optional[str] = ... + keda: Optional[ManagedClusterWorkloadAutoScalerProfileKeda] = ..., + vertical_pod_autoscaler: Optional[ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler] = ... ) -> None: ... @overload def __init__(self, mapping: Mapping[str, Any]) -> None: ... - class azure.mgmt.containerservice.models.PrivateLinkResourcesListResult(_Model): - value: Optional[list[PrivateLinkResource]] + class azure.mgmt.containerservice.models.ManagedClusterWorkloadAutoScalerProfileKeda(_Model): + enabled: bool @overload def __init__( self, *, - value: Optional[list[PrivateLinkResource]] = ... + enabled: bool ) -> None: ... @overload def __init__(self, mapping: Mapping[str, Any]) -> None: ... - class azure.mgmt.containerservice.models.PrivateLinkServiceConnectionState(_Model): - description: Optional[str] - status: Optional[Union[str, ConnectionStatus]] + class azure.mgmt.containerservice.models.ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler(_Model): + enabled: bool @overload def __init__( self, *, - description: Optional[str] = ..., - status: Optional[Union[str, ConnectionStatus]] = ... + enabled: bool ) -> None: ... @overload def __init__(self, mapping: Mapping[str, Any]) -> None: ... - class azure.mgmt.containerservice.models.Protocol(str, Enum, metaclass=CaseInsensitiveEnumMeta): - TCP = "TCP" - UDP = "UDP" - - - class azure.mgmt.containerservice.models.ProxyRedirectionMechanism(str, Enum, metaclass=CaseInsensitiveEnumMeta): - CNI_CHAINING = "CNIChaining" - INIT_CONTAINERS = "InitContainers" + class azure.mgmt.containerservice.models.ManagedGatewayType(str, Enum, metaclass=CaseInsensitiveEnumMeta): + DISABLED = "Disabled" + STANDARD = "Standard" - class azure.mgmt.containerservice.models.ProxyResource(Resource): + class azure.mgmt.containerservice.models.ManagedNamespace(TrackedResource): + e_tag: Optional[str] id: str + location: str name: str + properties: Optional[NamespaceProperties] system_data: SystemData + tags: dict[str, str] type: str - - class azure.mgmt.containerservice.models.PublicNetworkAccess(str, Enum, metaclass=CaseInsensitiveEnumMeta): - DISABLED = "Disabled" - ENABLED = "Enabled" - SECURED_BY_PERIMETER = "SecuredByPerimeter" - - - class azure.mgmt.containerservice.models.RebalanceLoadBalancersRequestBody(_Model): - load_balancer_names: Optional[list[str]] - @overload def __init__( self, *, - load_balancer_names: Optional[list[str]] = ... + location: str, + properties: Optional[NamespaceProperties] = ..., + tags: Optional[dict[str, str]] = ... ) -> None: ... @overload def __init__(self, mapping: Mapping[str, Any]) -> None: ... - class azure.mgmt.containerservice.models.RelativeMonthlySchedule(_Model): - day_of_week: Union[str, WeekDay] - interval_months: int - week_index: Union[str, Type] + class azure.mgmt.containerservice.models.ManagedServiceIdentityUserAssignedIdentitiesValue(_Model): + client_id: Optional[str] + principal_id: Optional[str] + + + class azure.mgmt.containerservice.models.ManualScaleProfile(_Model): + count: Optional[int] + size: Optional[str] @overload def __init__( self, *, - day_of_week: Union[str, WeekDay], - interval_months: int, - week_index: Union[str, Type] + count: Optional[int] = ..., + size: Optional[str] = ... ) -> None: ... @overload def __init__(self, mapping: Mapping[str, Any]) -> None: ... - class azure.mgmt.containerservice.models.Resource(_Model): - id: Optional[str] - name: Optional[str] - system_data: Optional[SystemData] - type: Optional[str] - - - class azure.mgmt.containerservice.models.ResourceIdentityType(str, Enum, metaclass=CaseInsensitiveEnumMeta): - NONE = "None" - SYSTEM_ASSIGNED = "SystemAssigned" - USER_ASSIGNED = "UserAssigned" + class azure.mgmt.containerservice.models.MeshRevision(_Model): + compatible_with: Optional[list[CompatibleVersions]] + revision: Optional[str] + upgrades: Optional[list[str]] + @overload + def __init__( + self, + *, + compatible_with: Optional[list[CompatibleVersions]] = ..., + revision: Optional[str] = ..., + upgrades: Optional[list[str]] = ... + ) -> None: ... - class azure.mgmt.containerservice.models.ResourceProvisioningState(str, Enum, metaclass=CaseInsensitiveEnumMeta): - CANCELED = "Canceled" - FAILED = "Failed" - SUCCEEDED = "Succeeded" + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: ... - class azure.mgmt.containerservice.models.ResourceQuota(_Model): - cpu_limit: Optional[str] - cpu_request: Optional[str] - memory_limit: Optional[str] - memory_request: Optional[str] + class azure.mgmt.containerservice.models.MeshRevisionProfile(ProxyResource): + id: str + name: str + properties: Optional[MeshRevisionProfileProperties] + system_data: SystemData + type: str @overload def __init__( self, *, - cpu_limit: Optional[str] = ..., - cpu_request: Optional[str] = ..., - memory_limit: Optional[str] = ..., - memory_request: Optional[str] = ... + properties: Optional[MeshRevisionProfileProperties] = ... ) -> None: ... @overload def __init__(self, mapping: Mapping[str, Any]) -> None: ... - class azure.mgmt.containerservice.models.ResourceReference(_Model): - id: Optional[str] + class azure.mgmt.containerservice.models.MeshRevisionProfileProperties(_Model): + mesh_revisions: Optional[list[MeshRevision]] @overload def __init__( self, *, - id: Optional[str] = ... + mesh_revisions: Optional[list[MeshRevision]] = ... ) -> None: ... @overload def __init__(self, mapping: Mapping[str, Any]) -> None: ... - class azure.mgmt.containerservice.models.ResourceSku(_Model): - api_versions: Optional[list[str]] - capabilities: Optional[list[ResourceSkuCapabilities]] - capacity: Optional[ResourceSkuCapacity] - costs: Optional[list[ResourceSkuCosts]] - family: Optional[str] - kind: Optional[str] - location_info: Optional[list[ResourceSkuLocationInfo]] - locations: Optional[list[str]] - name: Optional[str] - resource_type: Optional[str] - restrictions: Optional[list[ResourceSkuRestrictions]] - size: Optional[str] - tier: Optional[str] - - - class azure.mgmt.containerservice.models.ResourceSkuCapabilities(_Model): - name: Optional[str] - value: Optional[str] + class azure.mgmt.containerservice.models.MeshUpgradeProfile(ProxyResource): + id: str + name: str + properties: Optional[MeshUpgradeProfileProperties] + system_data: SystemData + type: str + @overload + def __init__( + self, + *, + properties: Optional[MeshUpgradeProfileProperties] = ... + ) -> None: ... - class azure.mgmt.containerservice.models.ResourceSkuCapacity(_Model): - default: Optional[int] - maximum: Optional[int] - minimum: Optional[int] - scale_type: Optional[Union[str, ResourceSkuCapacityScaleType]] + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: ... - class azure.mgmt.containerservice.models.ResourceSkuCapacityScaleType(str, Enum, metaclass=CaseInsensitiveEnumMeta): - AUTOMATIC = "Automatic" - MANUAL = "Manual" - NONE = "None" + class azure.mgmt.containerservice.models.MeshUpgradeProfileProperties(MeshRevision): + compatible_with: list[CompatibleVersions] + revision: str + upgrades: list[str] + @overload + def __init__( + self, + *, + compatible_with: Optional[list[CompatibleVersions]] = ..., + revision: Optional[str] = ..., + upgrades: Optional[list[str]] = ... + ) -> None: ... - class azure.mgmt.containerservice.models.ResourceSkuCosts(_Model): - extended_unit: Optional[str] - meter_id: Optional[str] - quantity: Optional[int] + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: ... - class azure.mgmt.containerservice.models.ResourceSkuLocationInfo(_Model): - extended_locations: Optional[list[str]] - location: Optional[str] - type: Optional[Union[str, ExtendedLocationTypes]] - zone_details: Optional[list[ResourceSkuZoneDetails]] - zones: Optional[list[str]] + class azure.mgmt.containerservice.models.NamespaceProperties(_Model): + adoption_policy: Optional[Union[str, AdoptionPolicy]] + annotations: Optional[dict[str, str]] + default_network_policy: Optional[NetworkPolicies] + default_resource_quota: Optional[ResourceQuota] + delete_policy: Optional[Union[str, DeletePolicy]] + labels: Optional[dict[str, str]] + portal_fqdn: Optional[str] + provisioning_state: Optional[Union[str, NamespaceProvisioningState]] + @overload + def __init__( + self, + *, + adoption_policy: Optional[Union[str, AdoptionPolicy]] = ..., + annotations: Optional[dict[str, str]] = ..., + default_network_policy: Optional[NetworkPolicies] = ..., + default_resource_quota: Optional[ResourceQuota] = ..., + delete_policy: Optional[Union[str, DeletePolicy]] = ..., + labels: Optional[dict[str, str]] = ... + ) -> None: ... - class azure.mgmt.containerservice.models.ResourceSkuRestrictionInfo(_Model): - locations: Optional[list[str]] - zones: Optional[list[str]] + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: ... - class azure.mgmt.containerservice.models.ResourceSkuRestrictions(_Model): - reason_code: Optional[Union[str, ResourceSkuRestrictionsReasonCode]] - restriction_info: Optional[ResourceSkuRestrictionInfo] - type: Optional[Union[str, ResourceSkuRestrictionsType]] - values_property: Optional[list[str]] + class azure.mgmt.containerservice.models.NamespaceProvisioningState(str, Enum, metaclass=CaseInsensitiveEnumMeta): + CANCELED = "Canceled" + CREATING = "Creating" + DELETING = "Deleting" + FAILED = "Failed" + SUCCEEDED = "Succeeded" + UPDATING = "Updating" - class azure.mgmt.containerservice.models.ResourceSkuRestrictionsReasonCode(str, Enum, metaclass=CaseInsensitiveEnumMeta): - NOT_AVAILABLE_FOR_SUBSCRIPTION = "NotAvailableForSubscription" - QUOTA_ID = "QuotaId" + class azure.mgmt.containerservice.models.NetworkDataplane(str, Enum, metaclass=CaseInsensitiveEnumMeta): + AZURE = "azure" + CILIUM = "cilium" - class azure.mgmt.containerservice.models.ResourceSkuRestrictionsType(str, Enum, metaclass=CaseInsensitiveEnumMeta): - LOCATION = "Location" - ZONE = "Zone" + class azure.mgmt.containerservice.models.NetworkMode(str, Enum, metaclass=CaseInsensitiveEnumMeta): + BRIDGE = "bridge" + TRANSPARENT = "transparent" - class azure.mgmt.containerservice.models.ResourceSkuZoneDetails(_Model): - capabilities: Optional[list[ResourceSkuCapabilities]] - name: Optional[list[str]] + class azure.mgmt.containerservice.models.NetworkPlugin(str, Enum, metaclass=CaseInsensitiveEnumMeta): + AZURE = "azure" + KUBENET = "kubenet" + NONE = "none" - class azure.mgmt.containerservice.models.RestrictionLevel(str, Enum, metaclass=CaseInsensitiveEnumMeta): - READ_ONLY = "ReadOnly" - UNRESTRICTED = "Unrestricted" + class azure.mgmt.containerservice.models.NetworkPluginMode(str, Enum, metaclass=CaseInsensitiveEnumMeta): + OVERLAY = "overlay" - class azure.mgmt.containerservice.models.RunCommandRequest(_Model): - cluster_token: Optional[str] - command: str - context: Optional[str] + class azure.mgmt.containerservice.models.NetworkPolicies(_Model): + egress: Optional[Union[str, PolicyRule]] + ingress: Optional[Union[str, PolicyRule]] @overload def __init__( self, *, - cluster_token: Optional[str] = ..., - command: str, - context: Optional[str] = ... + egress: Optional[Union[str, PolicyRule]] = ..., + ingress: Optional[Union[str, PolicyRule]] = ... ) -> None: ... @overload def __init__(self, mapping: Mapping[str, Any]) -> None: ... - class azure.mgmt.containerservice.models.RunCommandResult(_Model): - id: Optional[str] - properties: Optional[CommandResultProperties] + class azure.mgmt.containerservice.models.NetworkPolicy(str, Enum, metaclass=CaseInsensitiveEnumMeta): + AZURE = "azure" + CALICO = "calico" + CILIUM = "cilium" + NONE = "none" - def __getattr__(self, name: str) -> Any: ... - @overload - def __init__( - self, - *, - properties: Optional[CommandResultProperties] = ... - ) -> None: ... + class azure.mgmt.containerservice.models.NginxIngressControllerType(str, Enum, metaclass=CaseInsensitiveEnumMeta): + ANNOTATION_CONTROLLED = "AnnotationControlled" + EXTERNAL = "External" + INTERNAL = "Internal" + NONE = "None" - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: ... - def __setattr__( - self, - key: str, - value: Any - ) -> None: ... + class azure.mgmt.containerservice.models.NodeOSUpgradeChannel(str, Enum, metaclass=CaseInsensitiveEnumMeta): + NODE_IMAGE = "NodeImage" + NONE = "None" + SECURITY_PATCH = "SecurityPatch" + UNMANAGED = "Unmanaged" - class azure.mgmt.containerservice.models.SafeguardsAvailableVersion(ProxyResource): - id: str - name: str - properties: SafeguardsAvailableVersionsProperties - system_data: SystemData - type: str + class azure.mgmt.containerservice.models.NodeProvisioningDefaultNodePools(str, Enum, metaclass=CaseInsensitiveEnumMeta): + AUTO = "Auto" + NONE = "None" - @overload - def __init__( - self, - *, - properties: SafeguardsAvailableVersionsProperties - ) -> None: ... - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: ... + class azure.mgmt.containerservice.models.NodeProvisioningMode(str, Enum, metaclass=CaseInsensitiveEnumMeta): + AUTO = "Auto" + MANUAL = "Manual" - class azure.mgmt.containerservice.models.SafeguardsAvailableVersionsProperties(_Model): - is_default_version: Optional[bool] - support: Optional[Union[str, SafeguardsSupport]] + class azure.mgmt.containerservice.models.OSDiskType(str, Enum, metaclass=CaseInsensitiveEnumMeta): + EPHEMERAL = "Ephemeral" + MANAGED = "Managed" - class azure.mgmt.containerservice.models.SafeguardsSupport(str, Enum, metaclass=CaseInsensitiveEnumMeta): - PREVIEW = "Preview" - STABLE = "Stable" + class azure.mgmt.containerservice.models.OSSKU(str, Enum, metaclass=CaseInsensitiveEnumMeta): + AZURE_CONTAINER_LINUX = "AzureContainerLinux" + AZURE_LINUX = "AzureLinux" + AZURE_LINUX3 = "AzureLinux3" + CBL_MARINER = "CBLMariner" + UBUNTU = "Ubuntu" + UBUNTU2204 = "Ubuntu2204" + UBUNTU2404 = "Ubuntu2404" + WINDOWS2019 = "Windows2019" + WINDOWS2022 = "Windows2022" + WINDOWS2025 = "Windows2025" - class azure.mgmt.containerservice.models.ScaleDownMode(str, Enum, metaclass=CaseInsensitiveEnumMeta): - DEALLOCATE = "Deallocate" - DELETE = "Delete" + class azure.mgmt.containerservice.models.OSType(str, Enum, metaclass=CaseInsensitiveEnumMeta): + LINUX = "Linux" + WINDOWS = "Windows" - class azure.mgmt.containerservice.models.ScaleProfile(_Model): - autoscale: Optional[list[AutoScaleProfile]] - manual: Optional[list[ManualScaleProfile]] + class azure.mgmt.containerservice.models.OperationValue(_Model): + display: Optional[OperationValueDisplay] + name: Optional[str] + origin: Optional[str] + + def __getattr__(self, name: str) -> Any: ... @overload def __init__( self, *, - autoscale: Optional[list[AutoScaleProfile]] = ..., - manual: Optional[list[ManualScaleProfile]] = ... + display: Optional[OperationValueDisplay] = ... ) -> None: ... @overload def __init__(self, mapping: Mapping[str, Any]) -> None: ... - - class azure.mgmt.containerservice.models.ScaleSetEvictionPolicy(str, Enum, metaclass=CaseInsensitiveEnumMeta): - DEALLOCATE = "Deallocate" - DELETE = "Delete" + def __setattr__( + self, + key: str, + value: Any + ) -> None: ... - class azure.mgmt.containerservice.models.ScaleSetPriority(str, Enum, metaclass=CaseInsensitiveEnumMeta): - REGULAR = "Regular" - SPOT = "Spot" + class azure.mgmt.containerservice.models.OperationValueDisplay(_Model): + description: Optional[str] + operation: Optional[str] + provider: Optional[str] + resource: Optional[str] - class azure.mgmt.containerservice.models.Schedule(_Model): - absolute_monthly: Optional[AbsoluteMonthlySchedule] - daily: Optional[DailySchedule] - relative_monthly: Optional[RelativeMonthlySchedule] - weekly: Optional[WeeklySchedule] + class azure.mgmt.containerservice.models.OutboundEnvironmentEndpoint(_Model): + category: Optional[str] + endpoints: Optional[list[EndpointDependency]] @overload def __init__( self, *, - absolute_monthly: Optional[AbsoluteMonthlySchedule] = ..., - daily: Optional[DailySchedule] = ..., - relative_monthly: Optional[RelativeMonthlySchedule] = ..., - weekly: Optional[WeeklySchedule] = ... + category: Optional[str] = ..., + endpoints: Optional[list[EndpointDependency]] = ... ) -> None: ... @overload def __init__(self, mapping: Mapping[str, Any]) -> None: ... - class azure.mgmt.containerservice.models.SchedulerConfigMode(str, Enum, metaclass=CaseInsensitiveEnumMeta): - DEFAULT = "Default" - MANAGED_BY_CRD = "ManagedByCRD" + class azure.mgmt.containerservice.models.OutboundType(str, Enum, metaclass=CaseInsensitiveEnumMeta): + LOAD_BALANCER = "loadBalancer" + MANAGED_NAT_GATEWAY = "managedNATGateway" + NONE = "none" + USER_ASSIGNED_NAT_GATEWAY = "userAssignedNATGateway" + USER_DEFINED_ROUTING = "userDefinedRouting" - class azure.mgmt.containerservice.models.SchedulerInstanceProfile(_Model): - scheduler_config_mode: Optional[Union[str, SchedulerConfigMode]] + class azure.mgmt.containerservice.models.PodIPAllocationMode(str, Enum, metaclass=CaseInsensitiveEnumMeta): + DYNAMIC_INDIVIDUAL = "DynamicIndividual" + STATIC_BLOCK = "StaticBlock" - @overload - def __init__( - self, - *, - scheduler_config_mode: Optional[Union[str, SchedulerConfigMode]] = ... - ) -> None: ... - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: ... + class azure.mgmt.containerservice.models.PolicyRule(str, Enum, metaclass=CaseInsensitiveEnumMeta): + ALLOW_ALL = "AllowAll" + ALLOW_SAME_NAMESPACE = "AllowSameNamespace" + DENY_ALL = "DenyAll" - class azure.mgmt.containerservice.models.SchedulerProfile(_Model): - upstream: Optional[SchedulerInstanceProfile] + class azure.mgmt.containerservice.models.PortRange(_Model): + port_end: Optional[int] + port_start: Optional[int] + protocol: Optional[Union[str, Protocol]] @overload def __init__( self, *, - upstream: Optional[SchedulerInstanceProfile] = ... + port_end: Optional[int] = ..., + port_start: Optional[int] = ..., + protocol: Optional[Union[str, Protocol]] = ... ) -> None: ... @overload def __init__(self, mapping: Mapping[str, Any]) -> None: ... - class azure.mgmt.containerservice.models.SeccompDefault(str, Enum, metaclass=CaseInsensitiveEnumMeta): - RUNTIME_DEFAULT = "RuntimeDefault" - UNCONFINED = "Unconfined" - - - class azure.mgmt.containerservice.models.ServiceAccountImagePullProfile(_Model): - default_managed_identity_id: Optional[str] - enabled: Optional[bool] + class azure.mgmt.containerservice.models.PowerState(_Model): + code: Optional[Union[str, Code]] @overload def __init__( self, *, - default_managed_identity_id: Optional[str] = ..., - enabled: Optional[bool] = ... + code: Optional[Union[str, Code]] = ... ) -> None: ... @overload def __init__(self, mapping: Mapping[str, Any]) -> None: ... - class azure.mgmt.containerservice.models.ServiceMeshMode(str, Enum, metaclass=CaseInsensitiveEnumMeta): - DISABLED = "Disabled" - ISTIO = "Istio" - - - class azure.mgmt.containerservice.models.ServiceMeshProfile(_Model): - istio: Optional[IstioServiceMesh] - mode: Union[str, ServiceMeshMode] + class azure.mgmt.containerservice.models.PrivateEndpoint(_Model): + id: Optional[str] @overload def __init__( self, *, - istio: Optional[IstioServiceMesh] = ..., - mode: Union[str, ServiceMeshMode] + id: Optional[str] = ... ) -> None: ... @overload def __init__(self, mapping: Mapping[str, Any]) -> None: ... - class azure.mgmt.containerservice.models.Snapshot(TrackedResource): + class azure.mgmt.containerservice.models.PrivateEndpointConnection(ProxyResource): id: str - location: str name: str - properties: Optional[SnapshotProperties] + properties: Optional[PrivateEndpointConnectionProperties] system_data: SystemData - tags: dict[str, str] type: str def __getattr__(self, name: str) -> Any: ... @@ -7250,9 +4600,7 @@ namespace azure.mgmt.containerservice.models def __init__( self, *, - location: str, - properties: Optional[SnapshotProperties] = ..., - tags: Optional[dict[str, str]] = ... + properties: Optional[PrivateEndpointConnectionProperties] = ... ) -> None: ... @overload @@ -7265,921 +4613,758 @@ namespace azure.mgmt.containerservice.models ) -> None: ... - class azure.mgmt.containerservice.models.SnapshotProperties(_Model): - creation_data: Optional[CreationData] - enable_fips: Optional[bool] - kubernetes_version: Optional[str] - node_image_version: Optional[str] - os_sku: Optional[Union[str, _models.OSSKU]] - os_type: Optional[Union[str, OSType]] - snapshot_type: Optional[Union[str, SnapshotType]] - vm_size: Optional[str] + class azure.mgmt.containerservice.models.PrivateEndpointConnectionListResult(_Model): + value: Optional[list[PrivateEndpointConnection]] @overload def __init__( self, *, - creation_data: Optional[CreationData] = ..., - snapshot_type: Optional[Union[str, SnapshotType]] = ... + value: Optional[list[PrivateEndpointConnection]] = ... ) -> None: ... @overload def __init__(self, mapping: Mapping[str, Any]) -> None: ... - class azure.mgmt.containerservice.models.SnapshotType(str, Enum, metaclass=CaseInsensitiveEnumMeta): - MANAGED_CLUSTER = "ManagedCluster" - NODE_POOL = "NodePool" - - - class azure.mgmt.containerservice.models.SysctlConfig(_Model): - fs_aio_max_nr: Optional[int] - fs_file_max: Optional[int] - fs_inotify_max_user_watches: Optional[int] - fs_nr_open: Optional[int] - kernel_threads_max: Optional[int] - net_core_netdev_max_backlog: Optional[int] - net_core_optmem_max: Optional[int] - net_core_rmem_default: Optional[int] - net_core_rmem_max: Optional[int] - net_core_somaxconn: Optional[int] - net_core_wmem_default: Optional[int] - net_core_wmem_max: Optional[int] - net_ipv4_ip_local_port_range: Optional[str] - net_ipv4_neigh_default_gc_thresh1: Optional[int] - net_ipv4_neigh_default_gc_thresh2: Optional[int] - net_ipv4_neigh_default_gc_thresh3: Optional[int] - net_ipv4_tcp_fin_timeout: Optional[int] - net_ipv4_tcp_keepalive_probes: Optional[int] - net_ipv4_tcp_keepalive_time: Optional[int] - net_ipv4_tcp_max_syn_backlog: Optional[int] - net_ipv4_tcp_max_tw_buckets: Optional[int] - net_ipv4_tcp_tw_reuse: Optional[bool] - net_ipv4_tcpkeepalive_intvl: Optional[int] - net_netfilter_nf_conntrack_buckets: Optional[int] - net_netfilter_nf_conntrack_max: Optional[int] - vm_max_map_count: Optional[int] - vm_swappiness: Optional[int] - vm_vfs_cache_pressure: Optional[int] + class azure.mgmt.containerservice.models.PrivateEndpointConnectionProperties(_Model): + private_endpoint: Optional[PrivateEndpoint] + private_link_service_connection_state: PrivateLinkServiceConnectionState + provisioning_state: Optional[Union[str, PrivateEndpointConnectionProvisioningState]] @overload def __init__( self, *, - fs_aio_max_nr: Optional[int] = ..., - fs_file_max: Optional[int] = ..., - fs_inotify_max_user_watches: Optional[int] = ..., - fs_nr_open: Optional[int] = ..., - kernel_threads_max: Optional[int] = ..., - net_core_netdev_max_backlog: Optional[int] = ..., - net_core_optmem_max: Optional[int] = ..., - net_core_rmem_default: Optional[int] = ..., - net_core_rmem_max: Optional[int] = ..., - net_core_somaxconn: Optional[int] = ..., - net_core_wmem_default: Optional[int] = ..., - net_core_wmem_max: Optional[int] = ..., - net_ipv4_ip_local_port_range: Optional[str] = ..., - net_ipv4_neigh_default_gc_thresh1: Optional[int] = ..., - net_ipv4_neigh_default_gc_thresh2: Optional[int] = ..., - net_ipv4_neigh_default_gc_thresh3: Optional[int] = ..., - net_ipv4_tcp_fin_timeout: Optional[int] = ..., - net_ipv4_tcp_keepalive_probes: Optional[int] = ..., - net_ipv4_tcp_keepalive_time: Optional[int] = ..., - net_ipv4_tcp_max_syn_backlog: Optional[int] = ..., - net_ipv4_tcp_max_tw_buckets: Optional[int] = ..., - net_ipv4_tcp_tw_reuse: Optional[bool] = ..., - net_ipv4_tcpkeepalive_intvl: Optional[int] = ..., - net_netfilter_nf_conntrack_buckets: Optional[int] = ..., - net_netfilter_nf_conntrack_max: Optional[int] = ..., - vm_max_map_count: Optional[int] = ..., - vm_swappiness: Optional[int] = ..., - vm_vfs_cache_pressure: Optional[int] = ... + private_endpoint: Optional[PrivateEndpoint] = ..., + private_link_service_connection_state: PrivateLinkServiceConnectionState ) -> None: ... @overload def __init__(self, mapping: Mapping[str, Any]) -> None: ... - class azure.mgmt.containerservice.models.SystemData(_Model): - created_at: Optional[datetime] - created_by: Optional[str] - created_by_type: Optional[Union[str, CreatedByType]] - last_modified_at: Optional[datetime] - last_modified_by: Optional[str] - last_modified_by_type: Optional[Union[str, CreatedByType]] - - @overload - def __init__( - self, - *, - created_at: Optional[datetime] = ..., - created_by: Optional[str] = ..., - created_by_type: Optional[Union[str, CreatedByType]] = ..., - last_modified_at: Optional[datetime] = ..., - last_modified_by: Optional[str] = ..., - last_modified_by_type: Optional[Union[str, CreatedByType]] = ... - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: ... + class azure.mgmt.containerservice.models.PrivateEndpointConnectionProvisioningState(str, Enum, metaclass=CaseInsensitiveEnumMeta): + CANCELED = "Canceled" + CREATING = "Creating" + DELETING = "Deleting" + FAILED = "Failed" + SUCCEEDED = "Succeeded" - class azure.mgmt.containerservice.models.TagsObject(_Model): - tags: Optional[dict[str, str]] + class azure.mgmt.containerservice.models.PrivateLinkResource(_Model): + group_id: Optional[str] + id: Optional[str] + name: Optional[str] + private_link_service_id: Optional[str] + required_members: Optional[list[str]] + type: Optional[str] @overload def __init__( self, *, - tags: Optional[dict[str, str]] = ... + group_id: Optional[str] = ..., + id: Optional[str] = ..., + name: Optional[str] = ..., + required_members: Optional[list[str]] = ..., + type: Optional[str] = ... ) -> None: ... @overload def __init__(self, mapping: Mapping[str, Any]) -> None: ... - class azure.mgmt.containerservice.models.TimeInWeek(_Model): - day: Optional[Union[str, WeekDay]] - hour_slots: Optional[list[int]] + class azure.mgmt.containerservice.models.PrivateLinkResourcesListResult(_Model): + value: Optional[list[PrivateLinkResource]] @overload def __init__( self, *, - day: Optional[Union[str, WeekDay]] = ..., - hour_slots: Optional[list[int]] = ... + value: Optional[list[PrivateLinkResource]] = ... ) -> None: ... @overload def __init__(self, mapping: Mapping[str, Any]) -> None: ... - class azure.mgmt.containerservice.models.TimeSpan(_Model): - end: Optional[datetime] - start: Optional[datetime] + class azure.mgmt.containerservice.models.PrivateLinkServiceConnectionState(_Model): + description: Optional[str] + status: Optional[Union[str, ConnectionStatus]] @overload def __init__( self, *, - end: Optional[datetime] = ..., - start: Optional[datetime] = ... + description: Optional[str] = ..., + status: Optional[Union[str, ConnectionStatus]] = ... ) -> None: ... @overload def __init__(self, mapping: Mapping[str, Any]) -> None: ... - class azure.mgmt.containerservice.models.TrackedResource(Resource): + class azure.mgmt.containerservice.models.Protocol(str, Enum, metaclass=CaseInsensitiveEnumMeta): + TCP = "TCP" + UDP = "UDP" + + + class azure.mgmt.containerservice.models.ProxyRedirectionMechanism(str, Enum, metaclass=CaseInsensitiveEnumMeta): + CNI_CHAINING = "CNIChaining" + INIT_CONTAINERS = "InitContainers" + + + class azure.mgmt.containerservice.models.ProxyResource(Resource): id: str - location: str name: str system_data: SystemData - tags: Optional[dict[str, str]] type: str + + class azure.mgmt.containerservice.models.PublicNetworkAccess(str, Enum, metaclass=CaseInsensitiveEnumMeta): + DISABLED = "Disabled" + ENABLED = "Enabled" + + + class azure.mgmt.containerservice.models.RelativeMonthlySchedule(_Model): + day_of_week: Union[str, WeekDay] + interval_months: int + week_index: Union[str, Type] + @overload def __init__( self, *, - location: str, - tags: Optional[dict[str, str]] = ... + day_of_week: Union[str, WeekDay], + interval_months: int, + week_index: Union[str, Type] ) -> None: ... @overload def __init__(self, mapping: Mapping[str, Any]) -> None: ... - class azure.mgmt.containerservice.models.TransitEncryptionType(str, Enum, metaclass=CaseInsensitiveEnumMeta): - M_TLS = "mTLS" - NONE = "None" - WIRE_GUARD = "WireGuard" - - - class azure.mgmt.containerservice.models.TrustedAccessRole(_Model): + class azure.mgmt.containerservice.models.Resource(_Model): + id: Optional[str] name: Optional[str] - rules: Optional[list[TrustedAccessRoleRule]] - source_resource_type: Optional[str] + system_data: Optional[SystemData] + type: Optional[str] - class azure.mgmt.containerservice.models.TrustedAccessRoleBinding(ProxyResource): - id: str - name: str - properties: TrustedAccessRoleBindingProperties - system_data: SystemData - type: str + class azure.mgmt.containerservice.models.ResourceIdentityType(str, Enum, metaclass=CaseInsensitiveEnumMeta): + NONE = "None" + SYSTEM_ASSIGNED = "SystemAssigned" + USER_ASSIGNED = "UserAssigned" - def __getattr__(self, name: str) -> Any: ... + + class azure.mgmt.containerservice.models.ResourceQuota(_Model): + cpu_limit: Optional[str] + cpu_request: Optional[str] + memory_limit: Optional[str] + memory_request: Optional[str] @overload def __init__( self, *, - properties: TrustedAccessRoleBindingProperties + cpu_limit: Optional[str] = ..., + cpu_request: Optional[str] = ..., + memory_limit: Optional[str] = ..., + memory_request: Optional[str] = ... ) -> None: ... @overload def __init__(self, mapping: Mapping[str, Any]) -> None: ... - def __setattr__( + + class azure.mgmt.containerservice.models.ResourceReference(_Model): + id: Optional[str] + + @overload + def __init__( self, - key: str, - value: Any + *, + id: Optional[str] = ... ) -> None: ... + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: ... + + + class azure.mgmt.containerservice.models.RestrictionLevel(str, Enum, metaclass=CaseInsensitiveEnumMeta): + READ_ONLY = "ReadOnly" + UNRESTRICTED = "Unrestricted" - class azure.mgmt.containerservice.models.TrustedAccessRoleBindingProperties(_Model): - provisioning_state: Optional[Union[str, TrustedAccessRoleBindingProvisioningState]] - roles: list[str] - source_resource_id: str + + class azure.mgmt.containerservice.models.RunCommandRequest(_Model): + cluster_token: Optional[str] + command: str + context: Optional[str] @overload def __init__( self, *, - roles: list[str], - source_resource_id: str + cluster_token: Optional[str] = ..., + command: str, + context: Optional[str] = ... ) -> None: ... @overload def __init__(self, mapping: Mapping[str, Any]) -> None: ... - class azure.mgmt.containerservice.models.TrustedAccessRoleBindingProvisioningState(str, Enum, metaclass=CaseInsensitiveEnumMeta): - CANCELED = "Canceled" - DELETING = "Deleting" - FAILED = "Failed" - SUCCEEDED = "Succeeded" - UPDATING = "Updating" - - - class azure.mgmt.containerservice.models.TrustedAccessRoleRule(_Model): - api_groups: Optional[list[str]] - non_resource_ur_ls: Optional[list[str]] - resource_names: Optional[list[str]] - resources: Optional[list[str]] - verbs: Optional[list[str]] + class azure.mgmt.containerservice.models.RunCommandResult(_Model): + id: Optional[str] + properties: Optional[CommandResultProperties] + def __getattr__(self, name: str) -> Any: ... - class azure.mgmt.containerservice.models.Type(str, Enum, metaclass=CaseInsensitiveEnumMeta): - FIRST = "First" - FOURTH = "Fourth" - LAST = "Last" - SECOND = "Second" - THIRD = "Third" + @overload + def __init__( + self, + *, + properties: Optional[CommandResultProperties] = ... + ) -> None: ... + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: ... - class azure.mgmt.containerservice.models.UndrainableNodeBehavior(str, Enum, metaclass=CaseInsensitiveEnumMeta): - CORDON = "Cordon" - SCHEDULE = "Schedule" + def __setattr__( + self, + key: str, + value: Any + ) -> None: ... - class azure.mgmt.containerservice.models.UpgradeChannel(str, Enum, metaclass=CaseInsensitiveEnumMeta): - NODE_IMAGE = "node-image" - NONE = "none" - PATCH = "patch" - RAPID = "rapid" - STABLE = "stable" + class azure.mgmt.containerservice.models.ScaleDownMode(str, Enum, metaclass=CaseInsensitiveEnumMeta): + DEALLOCATE = "Deallocate" + DELETE = "Delete" - class azure.mgmt.containerservice.models.UpgradeOverrideSettings(_Model): - force_upgrade: Optional[bool] - until: Optional[datetime] + class azure.mgmt.containerservice.models.ScaleProfile(_Model): + autoscale: Optional[list[AutoScaleProfile]] + manual: Optional[list[ManualScaleProfile]] @overload def __init__( self, *, - force_upgrade: Optional[bool] = ..., - until: Optional[datetime] = ... + autoscale: Optional[list[AutoScaleProfile]] = ..., + manual: Optional[list[ManualScaleProfile]] = ... ) -> None: ... @overload def __init__(self, mapping: Mapping[str, Any]) -> None: ... - class azure.mgmt.containerservice.models.UpgradeStrategy(str, Enum, metaclass=CaseInsensitiveEnumMeta): - BLUE_GREEN = "BlueGreen" - ROLLING = "Rolling" + class azure.mgmt.containerservice.models.ScaleSetEvictionPolicy(str, Enum, metaclass=CaseInsensitiveEnumMeta): + DEALLOCATE = "Deallocate" + DELETE = "Delete" + + class azure.mgmt.containerservice.models.ScaleSetPriority(str, Enum, metaclass=CaseInsensitiveEnumMeta): + REGULAR = "Regular" + SPOT = "Spot" - class azure.mgmt.containerservice.models.UserAssignedIdentity(_Model): - client_id: Optional[str] - object_id: Optional[str] - resource_id: Optional[str] + + class azure.mgmt.containerservice.models.Schedule(_Model): + absolute_monthly: Optional[AbsoluteMonthlySchedule] + daily: Optional[DailySchedule] + relative_monthly: Optional[RelativeMonthlySchedule] + weekly: Optional[WeeklySchedule] @overload def __init__( self, *, - client_id: Optional[str] = ..., - object_id: Optional[str] = ..., - resource_id: Optional[str] = ... + absolute_monthly: Optional[AbsoluteMonthlySchedule] = ..., + daily: Optional[DailySchedule] = ..., + relative_monthly: Optional[RelativeMonthlySchedule] = ..., + weekly: Optional[WeeklySchedule] = ... ) -> None: ... @overload def __init__(self, mapping: Mapping[str, Any]) -> None: ... - class azure.mgmt.containerservice.models.VirtualMachineNodes(_Model): - count: Optional[int] - size: Optional[str] + class azure.mgmt.containerservice.models.SchedulerConfigMode(str, Enum, metaclass=CaseInsensitiveEnumMeta): + DEFAULT = "Default" + MANAGED_BY_CRD = "ManagedByCRD" + + + class azure.mgmt.containerservice.models.SchedulerInstanceProfile(_Model): + scheduler_config_mode: Optional[Union[str, SchedulerConfigMode]] @overload def __init__( self, *, - count: Optional[int] = ..., - size: Optional[str] = ... + scheduler_config_mode: Optional[Union[str, SchedulerConfigMode]] = ... ) -> None: ... @overload def __init__(self, mapping: Mapping[str, Any]) -> None: ... - class azure.mgmt.containerservice.models.VirtualMachinesProfile(_Model): - scale: Optional[ScaleProfile] + class azure.mgmt.containerservice.models.SchedulerProfile(_Model): + upstream: Optional[SchedulerInstanceProfile] @overload def __init__( self, *, - scale: Optional[ScaleProfile] = ... + upstream: Optional[SchedulerInstanceProfile] = ... ) -> None: ... @overload def __init__(self, mapping: Mapping[str, Any]) -> None: ... - class azure.mgmt.containerservice.models.VmState(str, Enum, metaclass=CaseInsensitiveEnumMeta): - DELETED = "Deleted" - RUNNING = "Running" - - - class azure.mgmt.containerservice.models.WeekDay(str, Enum, metaclass=CaseInsensitiveEnumMeta): - FRIDAY = "Friday" - MONDAY = "Monday" - SATURDAY = "Saturday" - SUNDAY = "Sunday" - THURSDAY = "Thursday" - TUESDAY = "Tuesday" - WEDNESDAY = "Wednesday" + class azure.mgmt.containerservice.models.ServiceMeshMode(str, Enum, metaclass=CaseInsensitiveEnumMeta): + DISABLED = "Disabled" + ISTIO = "Istio" - class azure.mgmt.containerservice.models.WeeklySchedule(_Model): - day_of_week: Union[str, WeekDay] - interval_weeks: int + class azure.mgmt.containerservice.models.ServiceMeshProfile(_Model): + istio: Optional[IstioServiceMesh] + mode: Union[str, ServiceMeshMode] @overload def __init__( self, *, - day_of_week: Union[str, WeekDay], - interval_weeks: int + istio: Optional[IstioServiceMesh] = ..., + mode: Union[str, ServiceMeshMode] ) -> None: ... @overload def __init__(self, mapping: Mapping[str, Any]) -> None: ... - class azure.mgmt.containerservice.models.WindowsGmsaProfile(_Model): - dns_server: Optional[str] - enabled: Optional[bool] - root_domain_name: Optional[str] + class azure.mgmt.containerservice.models.Snapshot(TrackedResource): + id: str + location: str + name: str + properties: Optional[SnapshotProperties] + system_data: SystemData + tags: dict[str, str] + type: str + + def __getattr__(self, name: str) -> Any: ... @overload def __init__( self, *, - dns_server: Optional[str] = ..., - enabled: Optional[bool] = ..., - root_domain_name: Optional[str] = ... + location: str, + properties: Optional[SnapshotProperties] = ..., + tags: Optional[dict[str, str]] = ... ) -> None: ... @overload def __init__(self, mapping: Mapping[str, Any]) -> None: ... - - class azure.mgmt.containerservice.models.WorkloadRuntime(str, Enum, metaclass=CaseInsensitiveEnumMeta): - KATA_MSHV_VM_ISOLATION = "KataMshvVmIsolation" - KATA_VM_ISOLATION = "KataVmIsolation" - OCI_CONTAINER = "OCIContainer" - WASM_WASI = "WasmWasi" - - -namespace azure.mgmt.containerservice.operations - - class azure.mgmt.containerservice.operations.AgentPoolsOperations: - - def __init__( + def __setattr__( self, - *args, - **kwargs + key: str, + value: Any ) -> None: ... - @distributed_trace - def begin_abort_latest_operation( - self, - resource_group_name: str, - resource_name: str, - agent_pool_name: str, - **kwargs: Any - ) -> LROPoller[None]: ... - @distributed_trace - @api_version_validation(method_added_on='2026-05-02-preview', params_added_on={'2026-05-02-preview': ['api_version', 'subscription_id', 'resource_group_name', 'resource_name', 'agent_pool_name']}, api_versions_list=['2026-05-02-preview']) - def begin_complete_upgrade( - self, - resource_group_name: str, - resource_name: str, - agent_pool_name: str, - **kwargs: Any - ) -> LROPoller[None]: ... + class azure.mgmt.containerservice.models.SnapshotProperties(_Model): + creation_data: Optional[CreationData] + enable_fips: Optional[bool] + kubernetes_version: Optional[str] + node_image_version: Optional[str] + os_sku: Optional[Union[str, _models.OSSKU]] + os_type: Optional[Union[str, OSType]] + snapshot_type: Optional[Union[str, SnapshotType]] + vm_size: Optional[str] @overload - def begin_create_or_update( + def __init__( self, - resource_group_name: str, - resource_name: str, - agent_pool_name: str, - parameters: AgentPool, *, - content_type: str = "application/json", - etag: Optional[str] = ..., - match_condition: Optional[MatchConditions] = ..., - **kwargs: Any - ) -> LROPoller[AgentPool]: ... + creation_data: Optional[CreationData] = ..., + snapshot_type: Optional[Union[str, SnapshotType]] = ... + ) -> None: ... @overload - def begin_create_or_update( - self, - resource_group_name: str, - resource_name: str, - agent_pool_name: str, - parameters: AgentPool, - *, - content_type: str = "application/json", - etag: Optional[str] = ..., - match_condition: Optional[MatchConditions] = ..., - **kwargs: Any - ) -> LROPoller[AgentPool]: ... + def __init__(self, mapping: Mapping[str, Any]) -> None: ... - @overload - def begin_create_or_update( - self, - resource_group_name: str, - resource_name: str, - agent_pool_name: str, - parameters: IO[bytes], - *, - content_type: str = "application/json", - etag: Optional[str] = ..., - match_condition: Optional[MatchConditions] = ..., - **kwargs: Any - ) -> LROPoller[AgentPool]: ... - @distributed_trace - def begin_delete( - self, - resource_group_name: str, - resource_name: str, - agent_pool_name: str, - *, - etag: Optional[str] = ..., - ignore_pod_disruption_budget: Optional[bool] = ..., - match_condition: Optional[MatchConditions] = ..., - **kwargs: Any - ) -> LROPoller[None]: ... + class azure.mgmt.containerservice.models.SnapshotType(str, Enum, metaclass=CaseInsensitiveEnumMeta): + NODE_POOL = "NodePool" - @overload - def begin_delete_machines( - self, - resource_group_name: str, - resource_name: str, - agent_pool_name: str, - machines: AgentPoolDeleteMachinesParameter, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> LROPoller[None]: ... + + class azure.mgmt.containerservice.models.SysctlConfig(_Model): + fs_aio_max_nr: Optional[int] + fs_file_max: Optional[int] + fs_inotify_max_user_watches: Optional[int] + fs_nr_open: Optional[int] + kernel_threads_max: Optional[int] + net_core_netdev_max_backlog: Optional[int] + net_core_optmem_max: Optional[int] + net_core_rmem_default: Optional[int] + net_core_rmem_max: Optional[int] + net_core_somaxconn: Optional[int] + net_core_wmem_default: Optional[int] + net_core_wmem_max: Optional[int] + net_ipv4_ip_local_port_range: Optional[str] + net_ipv4_neigh_default_gc_thresh1: Optional[int] + net_ipv4_neigh_default_gc_thresh2: Optional[int] + net_ipv4_neigh_default_gc_thresh3: Optional[int] + net_ipv4_tcp_fin_timeout: Optional[int] + net_ipv4_tcp_keepalive_probes: Optional[int] + net_ipv4_tcp_keepalive_time: Optional[int] + net_ipv4_tcp_max_syn_backlog: Optional[int] + net_ipv4_tcp_max_tw_buckets: Optional[int] + net_ipv4_tcp_tw_reuse: Optional[bool] + net_ipv4_tcpkeepalive_intvl: Optional[int] + net_netfilter_nf_conntrack_buckets: Optional[int] + net_netfilter_nf_conntrack_max: Optional[int] + vm_max_map_count: Optional[int] + vm_swappiness: Optional[int] + vm_vfs_cache_pressure: Optional[int] @overload - def begin_delete_machines( + def __init__( self, - resource_group_name: str, - resource_name: str, - agent_pool_name: str, - machines: AgentPoolDeleteMachinesParameter, *, - content_type: str = "application/json", - **kwargs: Any - ) -> LROPoller[None]: ... + fs_aio_max_nr: Optional[int] = ..., + fs_file_max: Optional[int] = ..., + fs_inotify_max_user_watches: Optional[int] = ..., + fs_nr_open: Optional[int] = ..., + kernel_threads_max: Optional[int] = ..., + net_core_netdev_max_backlog: Optional[int] = ..., + net_core_optmem_max: Optional[int] = ..., + net_core_rmem_default: Optional[int] = ..., + net_core_rmem_max: Optional[int] = ..., + net_core_somaxconn: Optional[int] = ..., + net_core_wmem_default: Optional[int] = ..., + net_core_wmem_max: Optional[int] = ..., + net_ipv4_ip_local_port_range: Optional[str] = ..., + net_ipv4_neigh_default_gc_thresh1: Optional[int] = ..., + net_ipv4_neigh_default_gc_thresh2: Optional[int] = ..., + net_ipv4_neigh_default_gc_thresh3: Optional[int] = ..., + net_ipv4_tcp_fin_timeout: Optional[int] = ..., + net_ipv4_tcp_keepalive_probes: Optional[int] = ..., + net_ipv4_tcp_keepalive_time: Optional[int] = ..., + net_ipv4_tcp_max_syn_backlog: Optional[int] = ..., + net_ipv4_tcp_max_tw_buckets: Optional[int] = ..., + net_ipv4_tcp_tw_reuse: Optional[bool] = ..., + net_ipv4_tcpkeepalive_intvl: Optional[int] = ..., + net_netfilter_nf_conntrack_buckets: Optional[int] = ..., + net_netfilter_nf_conntrack_max: Optional[int] = ..., + vm_max_map_count: Optional[int] = ..., + vm_swappiness: Optional[int] = ..., + vm_vfs_cache_pressure: Optional[int] = ... + ) -> None: ... @overload - def begin_delete_machines( - self, - resource_group_name: str, - resource_name: str, - agent_pool_name: str, - machines: IO[bytes], - *, - content_type: str = "application/json", - **kwargs: Any - ) -> LROPoller[None]: ... + def __init__(self, mapping: Mapping[str, Any]) -> None: ... - @distributed_trace - def begin_upgrade_node_image_version( - self, - resource_group_name: str, - resource_name: str, - agent_pool_name: str, - **kwargs: Any - ) -> LROPoller[None]: ... - @distributed_trace - def get( - self, - resource_group_name: str, - resource_name: str, - agent_pool_name: str, - **kwargs: Any - ) -> AgentPool: ... + class azure.mgmt.containerservice.models.SystemData(_Model): + created_at: Optional[datetime] + created_by: Optional[str] + created_by_type: Optional[Union[str, CreatedByType]] + last_modified_at: Optional[datetime] + last_modified_by: Optional[str] + last_modified_by_type: Optional[Union[str, CreatedByType]] - @distributed_trace - def get_available_agent_pool_versions( + @overload + def __init__( self, - resource_group_name: str, - resource_name: str, - **kwargs: Any - ) -> AgentPoolAvailableVersions: ... + *, + created_at: Optional[datetime] = ..., + created_by: Optional[str] = ..., + created_by_type: Optional[Union[str, CreatedByType]] = ..., + last_modified_at: Optional[datetime] = ..., + last_modified_by: Optional[str] = ..., + last_modified_by_type: Optional[Union[str, CreatedByType]] = ... + ) -> None: ... - @distributed_trace - def get_upgrade_profile( - self, - resource_group_name: str, - resource_name: str, - agent_pool_name: str, - **kwargs: Any - ) -> AgentPoolUpgradeProfile: ... + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: ... - @distributed_trace - def list( - self, - resource_group_name: str, - resource_name: str, - **kwargs: Any - ) -> ItemPaged[AgentPool]: ... + + class azure.mgmt.containerservice.models.TagsObject(_Model): + tags: Optional[dict[str, str]] @overload - def list_bootstrap_data( + def __init__( self, - resource_group_name: str, - resource_name: str, - agent_pool_name: str, - body: ListBootstrapDataRequest, *, - content_type: str = "application/json", - **kwargs: Any - ) -> PoolBootstrapData: ... + tags: Optional[dict[str, str]] = ... + ) -> None: ... @overload - def list_bootstrap_data( - self, - resource_group_name: str, - resource_name: str, - agent_pool_name: str, - body: ListBootstrapDataRequest, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> PoolBootstrapData: ... + def __init__(self, mapping: Mapping[str, Any]) -> None: ... + + + class azure.mgmt.containerservice.models.TimeInWeek(_Model): + day: Optional[Union[str, WeekDay]] + hour_slots: Optional[list[int]] @overload - def list_bootstrap_data( + def __init__( self, - resource_group_name: str, - resource_name: str, - agent_pool_name: str, - body: IO[bytes], *, - content_type: str = "application/json", - **kwargs: Any - ) -> PoolBootstrapData: ... + day: Optional[Union[str, WeekDay]] = ..., + hour_slots: Optional[list[int]] = ... + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: ... - class azure.mgmt.containerservice.operations.AlertConfigurationsOperations: + class azure.mgmt.containerservice.models.TimeSpan(_Model): + end: Optional[datetime] + start: Optional[datetime] + @overload def __init__( self, - *args, - **kwargs + *, + end: Optional[datetime] = ..., + start: Optional[datetime] = ... ) -> None: ... @overload - def begin_create_or_update( - self, - resource_group_name: str, - resource_name: str, - configuration_name: str, - resource: AlertConfiguration, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> LROPoller[AlertConfiguration]: ... + def __init__(self, mapping: Mapping[str, Any]) -> None: ... + + + class azure.mgmt.containerservice.models.TrackedResource(Resource): + id: str + location: str + name: str + system_data: SystemData + tags: Optional[dict[str, str]] + type: str @overload - def begin_create_or_update( + def __init__( self, - resource_group_name: str, - resource_name: str, - configuration_name: str, - resource: AlertConfiguration, *, - content_type: str = "application/json", - **kwargs: Any - ) -> LROPoller[AlertConfiguration]: ... + location: str, + tags: Optional[dict[str, str]] = ... + ) -> None: ... @overload - def begin_create_or_update( - self, - resource_group_name: str, - resource_name: str, - configuration_name: str, - resource: IO[bytes], - *, - content_type: str = "application/json", - **kwargs: Any - ) -> LROPoller[AlertConfiguration]: ... + def __init__(self, mapping: Mapping[str, Any]) -> None: ... - @distributed_trace - @api_version_validation(method_added_on='2026-05-02-preview', params_added_on={'2026-05-02-preview': ['api_version', 'subscription_id', 'resource_group_name', 'resource_name', 'configuration_name']}, api_versions_list=['2026-05-02-preview']) - def begin_delete( - self, - resource_group_name: str, - resource_name: str, - configuration_name: str, - **kwargs: Any - ) -> LROPoller[None]: ... - @distributed_trace - @api_version_validation(method_added_on='2026-05-02-preview', params_added_on={'2026-05-02-preview': ['api_version', 'subscription_id', 'resource_group_name', 'resource_name', 'configuration_name', 'accept']}, api_versions_list=['2026-05-02-preview']) - def get( - self, - resource_group_name: str, - resource_name: str, - configuration_name: str, - **kwargs: Any - ) -> AlertConfiguration: ... + class azure.mgmt.containerservice.models.TransitEncryptionType(str, Enum, metaclass=CaseInsensitiveEnumMeta): + NONE = "None" + WIRE_GUARD = "WireGuard" + + + class azure.mgmt.containerservice.models.TrustedAccessRole(_Model): + name: Optional[str] + rules: Optional[list[TrustedAccessRoleRule]] + source_resource_type: Optional[str] - @distributed_trace - @api_version_validation(method_added_on='2026-05-02-preview', params_added_on={'2026-05-02-preview': ['api_version', 'subscription_id', 'resource_group_name', 'resource_name', 'accept']}, api_versions_list=['2026-05-02-preview']) - def list_by_managed_cluster( - self, - resource_group_name: str, - resource_name: str, - **kwargs: Any - ) -> ItemPaged[AlertConfiguration]: ... + class azure.mgmt.containerservice.models.TrustedAccessRoleBinding(ProxyResource): + id: str + name: str + properties: TrustedAccessRoleBindingProperties + system_data: SystemData + type: str - class azure.mgmt.containerservice.operations.ContainerServiceOperations: + def __getattr__(self, name: str) -> Any: ... + @overload def __init__( self, - *args, - **kwargs + *, + properties: TrustedAccessRoleBindingProperties ) -> None: ... - @distributed_trace - def list_node_image_versions( + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: ... + + def __setattr__( self, - location: str, - **kwargs: Any - ) -> ItemPaged[NodeImageVersion]: ... + key: str, + value: Any + ) -> None: ... - class azure.mgmt.containerservice.operations.IdentityBindingsOperations: + class azure.mgmt.containerservice.models.TrustedAccessRoleBindingProperties(_Model): + provisioning_state: Optional[Union[str, TrustedAccessRoleBindingProvisioningState]] + roles: list[str] + source_resource_id: str + @overload def __init__( self, - *args, - **kwargs + *, + roles: list[str], + source_resource_id: str ) -> None: ... @overload - def begin_create_or_update( - self, - resource_group_name: str, - resource_name: str, - identity_binding_name: str, - parameters: IdentityBinding, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> LROPoller[IdentityBinding]: ... + def __init__(self, mapping: Mapping[str, Any]) -> None: ... + + + class azure.mgmt.containerservice.models.TrustedAccessRoleBindingProvisioningState(str, Enum, metaclass=CaseInsensitiveEnumMeta): + CANCELED = "Canceled" + DELETING = "Deleting" + FAILED = "Failed" + SUCCEEDED = "Succeeded" + UPDATING = "Updating" + + + class azure.mgmt.containerservice.models.TrustedAccessRoleRule(_Model): + api_groups: Optional[list[str]] + non_resource_ur_ls: Optional[list[str]] + resource_names: Optional[list[str]] + resources: Optional[list[str]] + verbs: Optional[list[str]] + + + class azure.mgmt.containerservice.models.Type(str, Enum, metaclass=CaseInsensitiveEnumMeta): + FIRST = "First" + FOURTH = "Fourth" + LAST = "Last" + SECOND = "Second" + THIRD = "Third" + + + class azure.mgmt.containerservice.models.UndrainableNodeBehavior(str, Enum, metaclass=CaseInsensitiveEnumMeta): + CORDON = "Cordon" + SCHEDULE = "Schedule" + + + class azure.mgmt.containerservice.models.UpgradeChannel(str, Enum, metaclass=CaseInsensitiveEnumMeta): + NODE_IMAGE = "node-image" + NONE = "none" + PATCH = "patch" + RAPID = "rapid" + STABLE = "stable" + + + class azure.mgmt.containerservice.models.UpgradeOverrideSettings(_Model): + force_upgrade: Optional[bool] + until: Optional[datetime] @overload - def begin_create_or_update( + def __init__( self, - resource_group_name: str, - resource_name: str, - identity_binding_name: str, - parameters: IdentityBinding, *, - content_type: str = "application/json", - **kwargs: Any - ) -> LROPoller[IdentityBinding]: ... + force_upgrade: Optional[bool] = ..., + until: Optional[datetime] = ... + ) -> None: ... @overload - def begin_create_or_update( - self, - resource_group_name: str, - resource_name: str, - identity_binding_name: str, - parameters: IO[bytes], - *, - content_type: str = "application/json", - **kwargs: Any - ) -> LROPoller[IdentityBinding]: ... + def __init__(self, mapping: Mapping[str, Any]) -> None: ... - @distributed_trace - @api_version_validation(method_added_on='2026-04-01', params_added_on={'2026-04-01': ['api_version', 'subscription_id', 'resource_group_name', 'resource_name', 'identity_binding_name']}, api_versions_list=['2026-04-01', '2026-05-01', '2026-05-02-preview']) - def begin_delete( - self, - resource_group_name: str, - resource_name: str, - identity_binding_name: str, - **kwargs: Any - ) -> LROPoller[None]: ... - @distributed_trace - @api_version_validation(method_added_on='2026-04-01', params_added_on={'2026-04-01': ['api_version', 'subscription_id', 'resource_group_name', 'resource_name', 'identity_binding_name', 'accept']}, api_versions_list=['2026-04-01', '2026-05-01', '2026-05-02-preview']) - def get( - self, - resource_group_name: str, - resource_name: str, - identity_binding_name: str, - **kwargs: Any - ) -> IdentityBinding: ... + class azure.mgmt.containerservice.models.UserAssignedIdentity(_Model): + client_id: Optional[str] + object_id: Optional[str] + resource_id: Optional[str] - @distributed_trace - @api_version_validation(method_added_on='2026-04-01', params_added_on={'2026-04-01': ['api_version', 'subscription_id', 'resource_group_name', 'resource_name', 'accept']}, api_versions_list=['2026-04-01', '2026-05-01', '2026-05-02-preview']) - def list_by_managed_cluster( + @overload + def __init__( self, - resource_group_name: str, - resource_name: str, - **kwargs: Any - ) -> ItemPaged[IdentityBinding]: ... + *, + client_id: Optional[str] = ..., + object_id: Optional[str] = ..., + resource_id: Optional[str] = ... + ) -> None: ... + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: ... - class azure.mgmt.containerservice.operations.JWTAuthenticatorsOperations: - def __init__( - self, - *args, - **kwargs - ) -> None: ... + class azure.mgmt.containerservice.models.VirtualMachineNodes(_Model): + count: Optional[int] + size: Optional[str] @overload - def begin_create_or_update( + def __init__( self, - resource_group_name: str, - resource_name: str, - jwt_authenticator_name: str, - parameters: JWTAuthenticator, *, - content_type: str = "application/json", - **kwargs: Any - ) -> LROPoller[JWTAuthenticator]: ... + count: Optional[int] = ..., + size: Optional[str] = ... + ) -> None: ... @overload - def begin_create_or_update( - self, - resource_group_name: str, - resource_name: str, - jwt_authenticator_name: str, - parameters: JWTAuthenticator, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> LROPoller[JWTAuthenticator]: ... + def __init__(self, mapping: Mapping[str, Any]) -> None: ... + + + class azure.mgmt.containerservice.models.VirtualMachinesProfile(_Model): + scale: Optional[ScaleProfile] @overload - def begin_create_or_update( + def __init__( self, - resource_group_name: str, - resource_name: str, - jwt_authenticator_name: str, - parameters: IO[bytes], *, - content_type: str = "application/json", - **kwargs: Any - ) -> LROPoller[JWTAuthenticator]: ... + scale: Optional[ScaleProfile] = ... + ) -> None: ... - @distributed_trace - @api_version_validation(method_added_on='2026-05-02-preview', params_added_on={'2026-05-02-preview': ['api_version', 'subscription_id', 'resource_group_name', 'resource_name', 'jwt_authenticator_name']}, api_versions_list=['2026-05-02-preview']) - def begin_delete( - self, - resource_group_name: str, - resource_name: str, - jwt_authenticator_name: str, - **kwargs: Any - ) -> LROPoller[None]: ... + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: ... - @distributed_trace - @api_version_validation(method_added_on='2026-05-02-preview', params_added_on={'2026-05-02-preview': ['api_version', 'subscription_id', 'resource_group_name', 'resource_name', 'jwt_authenticator_name', 'accept']}, api_versions_list=['2026-05-02-preview']) - def get( - self, - resource_group_name: str, - resource_name: str, - jwt_authenticator_name: str, - **kwargs: Any - ) -> JWTAuthenticator: ... - @distributed_trace - @api_version_validation(method_added_on='2026-05-02-preview', params_added_on={'2026-05-02-preview': ['api_version', 'subscription_id', 'resource_group_name', 'resource_name', 'accept']}, api_versions_list=['2026-05-02-preview']) - def list_by_managed_cluster( - self, - resource_group_name: str, - resource_name: str, - **kwargs: Any - ) -> ItemPaged[JWTAuthenticator]: ... + class azure.mgmt.containerservice.models.WeekDay(str, Enum, metaclass=CaseInsensitiveEnumMeta): + FRIDAY = "Friday" + MONDAY = "Monday" + SATURDAY = "Saturday" + SUNDAY = "Sunday" + THURSDAY = "Thursday" + TUESDAY = "Tuesday" + WEDNESDAY = "Wednesday" - class azure.mgmt.containerservice.operations.LoadBalancersOperations: + class azure.mgmt.containerservice.models.WeeklySchedule(_Model): + day_of_week: Union[str, WeekDay] + interval_weeks: int + @overload def __init__( self, - *args, - **kwargs + *, + day_of_week: Union[str, WeekDay], + interval_weeks: int ) -> None: ... - @distributed_trace - @api_version_validation(method_added_on='2026-05-02-preview', params_added_on={'2026-05-02-preview': ['api_version', 'subscription_id', 'resource_group_name', 'resource_name', 'load_balancer_name']}, api_versions_list=['2026-05-02-preview']) - def begin_delete( - self, - resource_group_name: str, - resource_name: str, - load_balancer_name: str, - **kwargs: Any - ) -> LROPoller[None]: ... - @overload - def create_or_update( - self, - resource_group_name: str, - resource_name: str, - load_balancer_name: str, - parameters: LoadBalancer, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> LoadBalancer: ... + def __init__(self, mapping: Mapping[str, Any]) -> None: ... + + + class azure.mgmt.containerservice.models.WindowsGmsaProfile(_Model): + dns_server: Optional[str] + enabled: Optional[bool] + root_domain_name: Optional[str] @overload - def create_or_update( + def __init__( self, - resource_group_name: str, - resource_name: str, - load_balancer_name: str, - parameters: LoadBalancer, *, - content_type: str = "application/json", - **kwargs: Any - ) -> LoadBalancer: ... + dns_server: Optional[str] = ..., + enabled: Optional[bool] = ..., + root_domain_name: Optional[str] = ... + ) -> None: ... @overload - def create_or_update( - self, - resource_group_name: str, - resource_name: str, - load_balancer_name: str, - parameters: IO[bytes], - *, - content_type: str = "application/json", - **kwargs: Any - ) -> LoadBalancer: ... + def __init__(self, mapping: Mapping[str, Any]) -> None: ... - @distributed_trace - @api_version_validation(method_added_on='2026-05-02-preview', params_added_on={'2026-05-02-preview': ['api_version', 'subscription_id', 'resource_group_name', 'resource_name', 'load_balancer_name', 'accept']}, api_versions_list=['2026-05-02-preview']) - def get( - self, - resource_group_name: str, - resource_name: str, - load_balancer_name: str, - **kwargs: Any - ) -> LoadBalancer: ... - @distributed_trace - @api_version_validation(method_added_on='2026-05-02-preview', params_added_on={'2026-05-02-preview': ['api_version', 'subscription_id', 'resource_group_name', 'resource_name', 'accept']}, api_versions_list=['2026-05-02-preview']) - def list_by_managed_cluster( - self, - resource_group_name: str, - resource_name: str, - **kwargs: Any - ) -> ItemPaged[LoadBalancer]: ... + class azure.mgmt.containerservice.models.WorkloadRuntime(str, Enum, metaclass=CaseInsensitiveEnumMeta): + KATA_VM_ISOLATION = "KataVmIsolation" + OCI_CONTAINER = "OCIContainer" + WASM_WASI = "WasmWasi" - class azure.mgmt.containerservice.operations.MachinesOperations: +namespace azure.mgmt.containerservice.operations + + class azure.mgmt.containerservice.operations.AgentPoolsOperations: def __init__( self, @@ -8187,20 +5372,28 @@ namespace azure.mgmt.containerservice.operations **kwargs ) -> None: ... + @distributed_trace + def begin_abort_latest_operation( + self, + resource_group_name: str, + resource_name: str, + agent_pool_name: str, + **kwargs: Any + ) -> LROPoller[None]: ... + @overload def begin_create_or_update( self, resource_group_name: str, resource_name: str, agent_pool_name: str, - machine_name: str, - parameters: Machine, + parameters: AgentPool, *, content_type: str = "application/json", etag: Optional[str] = ..., match_condition: Optional[MatchConditions] = ..., **kwargs: Any - ) -> LROPoller[Machine]: ... + ) -> LROPoller[AgentPool]: ... @overload def begin_create_or_update( @@ -8208,14 +5401,13 @@ namespace azure.mgmt.containerservice.operations resource_group_name: str, resource_name: str, agent_pool_name: str, - machine_name: str, - parameters: Machine, + parameters: AgentPool, *, content_type: str = "application/json", etag: Optional[str] = ..., match_condition: Optional[MatchConditions] = ..., **kwargs: Any - ) -> LROPoller[Machine]: ... + ) -> LROPoller[AgentPool]: ... @overload def begin_create_or_update( @@ -8223,107 +5415,108 @@ namespace azure.mgmt.containerservice.operations resource_group_name: str, resource_name: str, agent_pool_name: str, - machine_name: str, parameters: IO[bytes], *, content_type: str = "application/json", etag: Optional[str] = ..., match_condition: Optional[MatchConditions] = ..., **kwargs: Any - ) -> LROPoller[Machine]: ... + ) -> LROPoller[AgentPool]: ... @distributed_trace - def get( + def begin_delete( self, resource_group_name: str, resource_name: str, agent_pool_name: str, - machine_name: str, + *, + etag: Optional[str] = ..., + ignore_pod_disruption_budget: Optional[bool] = ..., + match_condition: Optional[MatchConditions] = ..., **kwargs: Any - ) -> Machine: ... + ) -> LROPoller[None]: ... - @distributed_trace - def list( + @overload + def begin_delete_machines( self, resource_group_name: str, resource_name: str, agent_pool_name: str, + machines: AgentPoolDeleteMachinesParameter, + *, + content_type: str = "application/json", **kwargs: Any - ) -> ItemPaged[Machine]: ... - - - class azure.mgmt.containerservice.operations.MaintenanceConfigurationsOperations: - - def __init__( - self, - *args, - **kwargs - ) -> None: ... + ) -> LROPoller[None]: ... @overload - def create_or_update( + def begin_delete_machines( self, resource_group_name: str, resource_name: str, - config_name: str, - parameters: MaintenanceConfiguration, + agent_pool_name: str, + machines: AgentPoolDeleteMachinesParameter, *, content_type: str = "application/json", **kwargs: Any - ) -> MaintenanceConfiguration: ... + ) -> LROPoller[None]: ... @overload - def create_or_update( + def begin_delete_machines( self, resource_group_name: str, resource_name: str, - config_name: str, - parameters: MaintenanceConfiguration, + agent_pool_name: str, + machines: IO[bytes], *, content_type: str = "application/json", **kwargs: Any - ) -> MaintenanceConfiguration: ... + ) -> LROPoller[None]: ... - @overload - def create_or_update( + @distributed_trace + def begin_upgrade_node_image_version( self, resource_group_name: str, resource_name: str, - config_name: str, - parameters: IO[bytes], - *, - content_type: str = "application/json", + agent_pool_name: str, **kwargs: Any - ) -> MaintenanceConfiguration: ... + ) -> LROPoller[None]: ... @distributed_trace - def delete( + def get( self, resource_group_name: str, resource_name: str, - config_name: str, + agent_pool_name: str, **kwargs: Any - ) -> None: ... + ) -> AgentPool: ... @distributed_trace - def get( + def get_available_agent_pool_versions( self, resource_group_name: str, resource_name: str, - config_name: str, **kwargs: Any - ) -> MaintenanceConfiguration: ... + ) -> AgentPoolAvailableVersions: ... @distributed_trace - def list_by_managed_cluster( + def get_upgrade_profile( self, resource_group_name: str, resource_name: str, + agent_pool_name: str, **kwargs: Any - ) -> ItemPaged[MaintenanceConfiguration]: ... + ) -> AgentPoolUpgradeProfile: ... + + @distributed_trace + def list( + self, + resource_group_name: str, + resource_name: str, + **kwargs: Any + ) -> ItemPaged[AgentPool]: ... - class azure.mgmt.containerservice.operations.MaintenanceWindowsOperations: + class azure.mgmt.containerservice.operations.IdentityBindingsOperations: def __init__( self, @@ -8335,100 +5528,97 @@ namespace azure.mgmt.containerservice.operations def begin_create_or_update( self, resource_group_name: str, - maintenance_window_name: str, - resource: MaintenanceWindowResource, + resource_name: str, + identity_binding_name: str, + parameters: IdentityBinding, *, content_type: str = "application/json", **kwargs: Any - ) -> LROPoller[MaintenanceWindowResource]: ... + ) -> LROPoller[IdentityBinding]: ... @overload def begin_create_or_update( self, resource_group_name: str, - maintenance_window_name: str, - resource: MaintenanceWindowResource, + resource_name: str, + identity_binding_name: str, + parameters: IdentityBinding, *, content_type: str = "application/json", **kwargs: Any - ) -> LROPoller[MaintenanceWindowResource]: ... + ) -> LROPoller[IdentityBinding]: ... @overload def begin_create_or_update( self, resource_group_name: str, - maintenance_window_name: str, - resource: IO[bytes], + resource_name: str, + identity_binding_name: str, + parameters: IO[bytes], *, content_type: str = "application/json", **kwargs: Any - ) -> LROPoller[MaintenanceWindowResource]: ... + ) -> LROPoller[IdentityBinding]: ... @distributed_trace - @api_version_validation(method_added_on='2026-05-02-preview', params_added_on={'2026-05-02-preview': ['api_version', 'subscription_id', 'resource_group_name', 'maintenance_window_name']}, api_versions_list=['2026-05-02-preview']) + @api_version_validation(method_added_on='2026-04-01', params_added_on={'2026-04-01': ['api_version', 'subscription_id', 'resource_group_name', 'resource_name', 'identity_binding_name']}, api_versions_list=['2026-04-01', '2026-05-01']) def begin_delete( self, resource_group_name: str, - maintenance_window_name: str, + resource_name: str, + identity_binding_name: str, **kwargs: Any ) -> LROPoller[None]: ... @distributed_trace - @api_version_validation(method_added_on='2026-05-02-preview', params_added_on={'2026-05-02-preview': ['api_version', 'subscription_id', 'resource_group_name', 'maintenance_window_name', 'accept']}, api_versions_list=['2026-05-02-preview']) + @api_version_validation(method_added_on='2026-04-01', params_added_on={'2026-04-01': ['api_version', 'subscription_id', 'resource_group_name', 'resource_name', 'identity_binding_name', 'accept']}, api_versions_list=['2026-04-01', '2026-05-01']) def get( self, resource_group_name: str, - maintenance_window_name: str, + resource_name: str, + identity_binding_name: str, **kwargs: Any - ) -> MaintenanceWindowResource: ... + ) -> IdentityBinding: ... @distributed_trace - @api_version_validation(method_added_on='2026-05-02-preview', params_added_on={'2026-05-02-preview': ['api_version', 'subscription_id', 'resource_group_name', 'accept']}, api_versions_list=['2026-05-02-preview']) - def list( + @api_version_validation(method_added_on='2026-04-01', params_added_on={'2026-04-01': ['api_version', 'subscription_id', 'resource_group_name', 'resource_name', 'accept']}, api_versions_list=['2026-04-01', '2026-05-01']) + def list_by_managed_cluster( self, resource_group_name: str, + resource_name: str, **kwargs: Any - ) -> ItemPaged[MaintenanceWindowResource]: ... + ) -> ItemPaged[IdentityBinding]: ... - @distributed_trace - @api_version_validation(method_added_on='2026-05-02-preview', params_added_on={'2026-05-02-preview': ['api_version', 'subscription_id', 'accept']}, api_versions_list=['2026-05-02-preview']) - def list_by_subscription(self, **kwargs: Any) -> ItemPaged[MaintenanceWindowResource]: ... - @overload - def update_tags( + class azure.mgmt.containerservice.operations.MachinesOperations: + + def __init__( self, - resource_group_name: str, - maintenance_window_name: str, - properties: TagsObject, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> MaintenanceWindowResource: ... + *args, + **kwargs + ) -> None: ... - @overload - def update_tags( + @distributed_trace + def get( self, resource_group_name: str, - maintenance_window_name: str, - properties: TagsObject, - *, - content_type: str = "application/json", + resource_name: str, + agent_pool_name: str, + machine_name: str, **kwargs: Any - ) -> MaintenanceWindowResource: ... + ) -> Machine: ... - @overload - def update_tags( + @distributed_trace + def list( self, resource_group_name: str, - maintenance_window_name: str, - properties: IO[bytes], - *, - content_type: str = "application/json", + resource_name: str, + agent_pool_name: str, **kwargs: Any - ) -> MaintenanceWindowResource: ... + ) -> ItemPaged[Machine]: ... - class azure.mgmt.containerservice.operations.ManagedClusterSnapshotsOperations: + class azure.mgmt.containerservice.operations.MaintenanceConfigurationsOperations: def __init__( self, @@ -8441,96 +5631,62 @@ namespace azure.mgmt.containerservice.operations self, resource_group_name: str, resource_name: str, - parameters: ManagedClusterSnapshot, + config_name: str, + parameters: MaintenanceConfiguration, *, content_type: str = "application/json", **kwargs: Any - ) -> ManagedClusterSnapshot: ... + ) -> MaintenanceConfiguration: ... @overload def create_or_update( self, resource_group_name: str, resource_name: str, - parameters: ManagedClusterSnapshot, + config_name: str, + parameters: MaintenanceConfiguration, *, content_type: str = "application/json", **kwargs: Any - ) -> ManagedClusterSnapshot: ... + ) -> MaintenanceConfiguration: ... @overload def create_or_update( self, resource_group_name: str, resource_name: str, + config_name: str, parameters: IO[bytes], *, content_type: str = "application/json", **kwargs: Any - ) -> ManagedClusterSnapshot: ... + ) -> MaintenanceConfiguration: ... @distributed_trace - @api_version_validation(method_added_on='2026-05-02-preview', params_added_on={'2026-05-02-preview': ['api_version', 'subscription_id', 'resource_group_name', 'resource_name']}, api_versions_list=['2026-05-02-preview']) def delete( self, resource_group_name: str, resource_name: str, + config_name: str, **kwargs: Any ) -> None: ... @distributed_trace - @api_version_validation(method_added_on='2026-05-02-preview', params_added_on={'2026-05-02-preview': ['api_version', 'subscription_id', 'resource_group_name', 'resource_name', 'accept']}, api_versions_list=['2026-05-02-preview']) def get( self, resource_group_name: str, resource_name: str, + config_name: str, **kwargs: Any - ) -> ManagedClusterSnapshot: ... - - @distributed_trace - @api_version_validation(method_added_on='2026-05-02-preview', params_added_on={'2026-05-02-preview': ['api_version', 'subscription_id', 'accept']}, api_versions_list=['2026-05-02-preview']) - def list(self, **kwargs: Any) -> ItemPaged[ManagedClusterSnapshot]: ... + ) -> MaintenanceConfiguration: ... @distributed_trace - @api_version_validation(method_added_on='2026-05-02-preview', params_added_on={'2026-05-02-preview': ['api_version', 'subscription_id', 'resource_group_name', 'accept']}, api_versions_list=['2026-05-02-preview']) - def list_by_resource_group( - self, - resource_group_name: str, - **kwargs: Any - ) -> ItemPaged[ManagedClusterSnapshot]: ... - - @overload - def update_tags( - self, - resource_group_name: str, - resource_name: str, - parameters: TagsObject, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> ManagedClusterSnapshot: ... - - @overload - def update_tags( - self, - resource_group_name: str, - resource_name: str, - parameters: TagsObject, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> ManagedClusterSnapshot: ... - - @overload - def update_tags( + def list_by_managed_cluster( self, resource_group_name: str, resource_name: str, - parameters: IO[bytes], - *, - content_type: str = "application/json", **kwargs: Any - ) -> ManagedClusterSnapshot: ... + ) -> ItemPaged[MaintenanceConfiguration]: ... class azure.mgmt.containerservice.operations.ManagedClustersOperations: @@ -8589,51 +5745,16 @@ namespace azure.mgmt.containerservice.operations ) -> LROPoller[ManagedCluster]: ... @distributed_trace - @api_version_validation(params_added_on={'2026-05-02-preview': ['ignore_pod_disruption_budget']}, api_versions_list=['2025-10-01', '2026-01-01', '2026-02-01', '2026-03-01', '2026-04-01', '2026-05-01', '2026-05-02-preview']) def begin_delete( self, resource_group_name: str, resource_name: str, *, etag: Optional[str] = ..., - ignore_pod_disruption_budget: Optional[bool] = ..., match_condition: Optional[MatchConditions] = ..., **kwargs: Any ) -> LROPoller[None]: ... - @overload - def begin_rebalance_load_balancers( - self, - resource_group_name: str, - resource_name: str, - parameters: RebalanceLoadBalancersRequestBody, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> LROPoller[None]: ... - - @overload - def begin_rebalance_load_balancers( - self, - resource_group_name: str, - resource_name: str, - parameters: RebalanceLoadBalancersRequestBody, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> LROPoller[None]: ... - - @overload - def begin_rebalance_load_balancers( - self, - resource_group_name: str, - resource_name: str, - parameters: IO[bytes], - *, - content_type: str = "application/json", - **kwargs: Any - ) -> LROPoller[None]: ... - @overload def begin_reset_aad_profile( self, @@ -8830,14 +5951,6 @@ namespace azure.mgmt.containerservice.operations **kwargs: Any ) -> Optional[RunCommandResult]: ... - @distributed_trace - def get_guardrails_versions( - self, - location: str, - version: str, - **kwargs: Any - ) -> GuardrailsAvailableVersion: ... - @distributed_trace def get_mesh_revision_profile( self, @@ -8855,14 +5968,6 @@ namespace azure.mgmt.containerservice.operations **kwargs: Any ) -> MeshUpgradeProfile: ... - @distributed_trace - def get_safeguards_versions( - self, - location: str, - version: str, - **kwargs: Any - ) -> SafeguardsAvailableVersion: ... - @distributed_trace def get_upgrade_profile( self, @@ -8912,13 +6017,6 @@ namespace azure.mgmt.containerservice.operations **kwargs: Any ) -> CredentialResults: ... - @distributed_trace - def list_guardrails_versions( - self, - location: str, - **kwargs: Any - ) -> ItemPaged[GuardrailsAvailableVersion]: ... - @distributed_trace def list_kubernetes_versions( self, @@ -8949,13 +6047,6 @@ namespace azure.mgmt.containerservice.operations **kwargs: Any ) -> ItemPaged[OutboundEnvironmentEndpoint]: ... - @distributed_trace - def list_safeguards_versions( - self, - location: str, - **kwargs: Any - ) -> ItemPaged[SafeguardsAvailableVersion]: ... - class azure.mgmt.containerservice.operations.ManagedNamespacesOperations: @@ -9073,119 +6164,6 @@ namespace azure.mgmt.containerservice.operations ) -> ManagedNamespace: ... - class azure.mgmt.containerservice.operations.MeshMembershipsOperations: - - def __init__( - self, - *args, - **kwargs - ) -> None: ... - - @overload - def begin_create_or_update( - self, - resource_group_name: str, - resource_name: str, - mesh_membership_name: str, - parameters: MeshMembership, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> LROPoller[MeshMembership]: ... - - @overload - def begin_create_or_update( - self, - resource_group_name: str, - resource_name: str, - mesh_membership_name: str, - parameters: MeshMembership, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> LROPoller[MeshMembership]: ... - - @overload - def begin_create_or_update( - self, - resource_group_name: str, - resource_name: str, - mesh_membership_name: str, - parameters: IO[bytes], - *, - content_type: str = "application/json", - **kwargs: Any - ) -> LROPoller[MeshMembership]: ... - - @distributed_trace - @api_version_validation(method_added_on='2026-05-02-preview', params_added_on={'2026-05-02-preview': ['api_version', 'subscription_id', 'resource_group_name', 'resource_name', 'mesh_membership_name']}, api_versions_list=['2026-05-02-preview']) - def begin_delete( - self, - resource_group_name: str, - resource_name: str, - mesh_membership_name: str, - **kwargs: Any - ) -> LROPoller[None]: ... - - @distributed_trace - @api_version_validation(method_added_on='2026-05-02-preview', params_added_on={'2026-05-02-preview': ['api_version', 'subscription_id', 'resource_group_name', 'resource_name', 'mesh_membership_name', 'accept']}, api_versions_list=['2026-05-02-preview']) - def get( - self, - resource_group_name: str, - resource_name: str, - mesh_membership_name: str, - **kwargs: Any - ) -> MeshMembership: ... - - @distributed_trace - @api_version_validation(method_added_on='2026-05-02-preview', params_added_on={'2026-05-02-preview': ['api_version', 'subscription_id', 'resource_group_name', 'resource_name', 'accept']}, api_versions_list=['2026-05-02-preview']) - def list_by_managed_cluster( - self, - resource_group_name: str, - resource_name: str, - **kwargs: Any - ) -> ItemPaged[MeshMembership]: ... - - - class azure.mgmt.containerservice.operations.OperationStatusResultOperations: - - def __init__( - self, - *args, - **kwargs - ) -> None: ... - - @distributed_trace - @api_version_validation(method_added_on='2026-05-02-preview', params_added_on={'2026-05-02-preview': ['api_version', 'subscription_id', 'resource_group_name', 'resource_name', 'operation_id', 'accept']}, api_versions_list=['2026-05-02-preview']) - def get( - self, - resource_group_name: str, - resource_name: str, - operation_id: str, - **kwargs: Any - ) -> OperationStatusResult: ... - - @distributed_trace - @api_version_validation(method_added_on='2026-05-02-preview', params_added_on={'2026-05-02-preview': ['api_version', 'subscription_id', 'resource_group_name', 'resource_name', 'agent_pool_name', 'operation_id', 'accept']}, api_versions_list=['2026-05-02-preview']) - def get_by_agent_pool( - self, - resource_group_name: str, - resource_name: str, - agent_pool_name: str, - operation_id: str, - **kwargs: Any - ) -> OperationStatusResult: ... - - @distributed_trace - @api_version_validation(method_added_on='2026-05-02-preview', params_added_on={'2026-05-02-preview': ['api_version', 'subscription_id', 'resource_group_name', 'resource_name', 'accept']}, api_versions_list=['2026-05-02-preview']) - def list( - self, - resource_group_name: str, - resource_name: str, - **kwargs: Any - ) -> ItemPaged[OperationStatusResult]: ... - - class azure.mgmt.containerservice.operations.Operations: def __init__( @@ -9516,31 +6494,13 @@ namespace azure.mgmt.containerservice.operations ) -> ItemPaged[TrustedAccessRole]: ... - class azure.mgmt.containerservice.operations.VmSkusOperations: - - def __init__( - self, - *args, - **kwargs - ) -> None: ... - - @distributed_trace - def list( - self, - location: str, - *, - include_extended_locations: Optional[bool] = ..., - **kwargs: Any - ) -> ItemPaged[ResourceSku]: ... - - namespace azure.mgmt.containerservice.types class azure.mgmt.containerservice.types.AbsoluteMonthlySchedule(TypedDict, total=False): key "dayOfMonth": Required[int] key "intervalMonths": Required[int] - day_of_month: int - interval_months: int + dayOfMonth: int + intervalMonths: int class azure.mgmt.containerservice.types.AdvancedNetworking(TypedDict, total=False): @@ -9561,16 +6521,16 @@ namespace azure.mgmt.containerservice.types class azure.mgmt.containerservice.types.AdvancedNetworkingPerformance(TypedDict, total=False): key "accelerationMode": Union[str, AccelerationMode] - acceleration_mode: Union[str, AccelerationMode] + accelerationMode: Union[str, AccelerationMode] class azure.mgmt.containerservice.types.AdvancedNetworkingSecurity(TypedDict, total=False): key "advancedNetworkPolicies": Union[str, AdvancedNetworkPolicies] key "enabled": bool key "transitEncryption": ForwardRef('AdvancedNetworkingSecurityTransitEncryption', module='types') - advanced_network_policies: Union[str, AdvancedNetworkPolicies] + advancedNetworkPolicies: Union[str, AdvancedNetworkPolicies] enabled: bool - transit_encryption: AdvancedNetworkingSecurityTransitEncryption + transitEncryption: AdvancedNetworkingSecurityTransitEncryption class azure.mgmt.containerservice.types.AdvancedNetworkingSecurityTransitEncryption(TypedDict, total=False): @@ -9587,7 +6547,7 @@ namespace azure.mgmt.containerservice.types id: str name: str properties: AgentPoolManagedClusterAgentPoolProfileProperties - system_data: SystemData + systemData: SystemData type: str @@ -9596,25 +6556,14 @@ namespace azure.mgmt.containerservice.types enabled: bool - class azure.mgmt.containerservice.types.AgentPoolBlueGreenUpgradeSettings(TypedDict, total=False): - key "batchSoakDurationInMinutes": int - key "drainBatchSize": str - key "drainTimeoutInMinutes": int - key "finalSoakDurationInMinutes": int - batch_soak_duration_in_minutes: int - drain_batch_size: str - drain_timeout_in_minutes: int - final_soak_duration_in_minutes: int - - class azure.mgmt.containerservice.types.AgentPoolDeleteMachinesParameter(TypedDict, total=False): key "machineNames": Required[list[str]] - machine_names: list[str] + machineNames: list[str] class azure.mgmt.containerservice.types.AgentPoolGatewayProfile(TypedDict, total=False): key "publicIPPrefixSize": int - public_ip_prefix_size: int + publicIPPrefixSize: int class azure.mgmt.containerservice.types.AgentPoolManagedClusterAgentPoolProfileProperties(TypedDict, total=False): @@ -9628,7 +6577,6 @@ namespace azure.mgmt.containerservice.types key "enableEncryptionAtHost": bool key "enableFIPS": bool key "enableNodePublicIP": bool - key "enableOSDiskFullCaching": bool key "enableUltraSSD": bool key "gatewayProfile": ForwardRef('AgentPoolGatewayProfile', module='types') key "gpuInstanceProfile": Union[str, GPUInstanceProfile] @@ -9654,7 +6602,6 @@ namespace azure.mgmt.containerservice.types key "podIPAllocationMode": Union[str, PodIPAllocationMode] key "podSubnetID": str key "powerState": ForwardRef('PowerState', module='types') - key "preparedImageSpecificationProfile": ForwardRef('PreparedImageSpecificationProfile', module='types') key "provisioningState": str key "proximityPlacementGroupID": str key "scaleDownMode": Union[str, ScaleDownMode] @@ -9665,176 +6612,112 @@ namespace azure.mgmt.containerservice.types key "status": ForwardRef('AgentPoolStatus', module='types') key "type": Union[str, AgentPoolType] key "upgradeSettings": ForwardRef('AgentPoolUpgradeSettings', module='types') - key "upgradeSettingsBlueGreen": ForwardRef('AgentPoolBlueGreenUpgradeSettings', module='types') - key "upgradeStrategy": Union[str, UpgradeStrategy] - key "virtualMachinesProfile": ForwardRef('VirtualMachinesProfile', module='types') - key "vmSize": str - key "vnetSubnetID": str - key "windowsProfile": ForwardRef('AgentPoolWindowsProfile', module='types') - key "workloadRuntime": Union[str, WorkloadRuntime] - artifact_streaming_profile: AgentPoolArtifactStreamingProfile - availabilityZones: list[str] - availability_zones: list[str] - capacity_reservation_group_id: str - count: int - creation_data: CreationData - current_orchestrator_version: str - e_tag: str - enable_auto_scaling: bool - enable_encryption_at_host: bool - enable_fips: bool - enable_node_public_ip: bool - enable_os_disk_full_caching: bool - enable_ultra_ssd: bool - gateway_profile: AgentPoolGatewayProfile - gpu_instance_profile: Union[str, GPUInstanceProfile] - gpu_profile: GPUProfile - host_group_id: str - kubelet_config: KubeletConfig - kubelet_disk_type: Union[str, KubeletDiskType] - linux_os_config: LinuxOSConfig - local_dns_profile: LocalDNSProfile - max_count: int - max_pods: int - message_of_the_day: str - min_count: int + key "virtualMachinesProfile": ForwardRef('VirtualMachinesProfile', module='types') + key "vmSize": str + key "vnetSubnetID": str + key "windowsProfile": ForwardRef('AgentPoolWindowsProfile', module='types') + key "workloadRuntime": Union[str, WorkloadRuntime] + artifactStreamingProfile: AgentPoolArtifactStreamingProfile + availabilityZones: list[str] + capacityReservationGroupID: str + count: int + creationData: CreationData + currentOrchestratorVersion: str + eTag: str + enableAutoScaling: bool + enableEncryptionAtHost: bool + enableFIPS: bool + enableNodePublicIP: bool + enableUltraSSD: bool + gatewayProfile: AgentPoolGatewayProfile + gpuInstanceProfile: Union[str, GPUInstanceProfile] + gpuProfile: GPUProfile + hostGroupID: str + kubeletConfig: KubeletConfig + kubeletDiskType: Union[str, KubeletDiskType] + linuxOSConfig: LinuxOSConfig + localDNSProfile: LocalDNSProfile + maxCount: int + maxPods: int + messageOfTheDay: str + minCount: int mode: Union[str, AgentPoolMode] - network_profile: AgentPoolNetworkProfile - nodeInitializationTaints: list[str] + networkProfile: AgentPoolNetworkProfile + nodeImageVersion: str nodeLabels: dict[str, str] + nodePublicIPPrefixID: str nodeTaints: list[str] - node_image_version: str - node_initialization_taints: list[str] - node_labels: dict[str, str] - node_public_ip_prefix_id: str - node_taints: list[str] - orchestrator_version: str - os_disk_size_gb: int - os_disk_type: Union[str, OSDiskType] - os_sku: Union[str, OSSKU] - os_type: Union[str, OSType] - pod_ip_allocation_mode: Union[str, PodIPAllocationMode] - pod_subnet_id: str - power_state: PowerState - prepared_image_specification_profile: PreparedImageSpecificationProfile - provisioning_state: str - proximity_placement_group_id: str - scale_down_mode: Union[str, ScaleDownMode] - scale_set_eviction_policy: Union[str, ScaleSetEvictionPolicy] - scale_set_priority: Union[str, ScaleSetPriority] - security_profile: AgentPoolSecurityProfile - spot_max_price: float + orchestratorVersion: str + osDiskSizeGB: int + osDiskType: Union[str, OSDiskType] + osSKU: Union[str, OSSKU] + osType: Union[str, OSType] + podIPAllocationMode: Union[str, PodIPAllocationMode] + podSubnetID: str + powerState: PowerState + provisioningState: str + proximityPlacementGroupID: str + scaleDownMode: Union[str, ScaleDownMode] + scaleSetEvictionPolicy: Union[str, ScaleSetEvictionPolicy] + scaleSetPriority: Union[str, ScaleSetPriority] + securityProfile: AgentPoolSecurityProfile + spotMaxPrice: float status: AgentPoolStatus tags: dict[str, str] - type_properties_type: Union[str, AgentPoolType] - upgrade_settings: AgentPoolUpgradeSettings - upgrade_settings_blue_green: AgentPoolBlueGreenUpgradeSettings - upgrade_strategy: Union[str, UpgradeStrategy] + type: Union[str, AgentPoolType] + upgradeSettings: AgentPoolUpgradeSettings virtualMachineNodesStatus: list[VirtualMachineNodes] - virtual_machine_nodes_status: list[VirtualMachineNodes] - virtual_machines_profile: VirtualMachinesProfile - vm_size: str - vnet_subnet_id: str - windows_profile: AgentPoolWindowsProfile - workload_runtime: Union[str, WorkloadRuntime] - - - class azure.mgmt.containerservice.types.AgentPoolNetworkInterface(TypedDict, total=False): - key "enableAcceleratedNetworking": bool - key "type": Union[str, AgentPoolNetworkInterfaceType] - key "vnetSubnetId": str - enable_accelerated_networking: bool - type: Union[str, AgentPoolNetworkInterfaceType] - vnet_subnet_id: str + virtualMachinesProfile: VirtualMachinesProfile + vmSize: str + vnetSubnetID: str + windowsProfile: AgentPoolWindowsProfile + workloadRuntime: Union[str, WorkloadRuntime] class azure.mgmt.containerservice.types.AgentPoolNetworkProfile(TypedDict, total=False): allowedHostPorts: list[PortRange] - allowed_host_ports: list[PortRange] applicationSecurityGroups: list[str] - application_security_groups: list[str] - nodePublicIPPrefixIDs: list[str] nodePublicIPTags: list[IPTag] - node_public_ip_prefix_i_ds: list[str] - node_public_ip_tags: list[IPTag] - secondaryNetworkInterfaces: list[AgentPoolNetworkInterface] - secondary_network_interfaces: list[AgentPoolNetworkInterface] class azure.mgmt.containerservice.types.AgentPoolSecurityProfile(TypedDict, total=False): key "enableSecureBoot": bool key "enableVTPM": bool key "sshAccess": Union[str, AgentPoolSSHAccess] - enable_secure_boot: bool - enable_vtpm: bool - ssh_access: Union[str, AgentPoolSSHAccess] + enableSecureBoot: bool + enableVTPM: bool + sshAccess: Union[str, AgentPoolSSHAccess] class azure.mgmt.containerservice.types.AgentPoolStatus(TypedDict, total=False): key "provisioningError": ForwardRef('ErrorDetail', module='types') - provisioning_error: ErrorDetail + provisioningError: ErrorDetail class azure.mgmt.containerservice.types.AgentPoolUpgradeSettings(TypedDict, total=False): key "drainTimeoutInMinutes": int - key "maxBlockedNodes": str key "maxSurge": str key "maxUnavailable": str key "nodeSoakDurationInMinutes": int key "undrainableNodeBehavior": Union[str, UndrainableNodeBehavior] - drain_timeout_in_minutes: int - max_blocked_nodes: str - max_surge: str - max_unavailable: str - node_soak_duration_in_minutes: int - undrainable_node_behavior: Union[str, UndrainableNodeBehavior] + drainTimeoutInMinutes: int + maxSurge: str + maxUnavailable: str + nodeSoakDurationInMinutes: int + undrainableNodeBehavior: Union[str, UndrainableNodeBehavior] class azure.mgmt.containerservice.types.AgentPoolWindowsProfile(TypedDict, total=False): key "disableOutboundNat": bool - disable_outbound_nat: bool - - - class azure.mgmt.containerservice.types.AlertConfiguration(ProxyResource): - key "id": str - key "name": str - key "properties": ForwardRef('AlertConfigurationProperties', module='types') - key "systemData": ForwardRef('SystemData', module='types') - key "type": str - id: str - name: str - properties: AlertConfigurationProperties - system_data: SystemData - type: str - - - class azure.mgmt.containerservice.types.AlertConfigurationProperties(TypedDict, total=False): - key "mode": Required[Union[str, AlertConfigurationMode]] - key "notification": Required[AlertNotification] - key "provisioningState": Union[str, AlertConfigurationProvisioningState] - mode: Union[str, AlertConfigurationMode] - notification: AlertNotification - provisioning_state: Union[str, AlertConfigurationProvisioningState] - - - class azure.mgmt.containerservice.types.AlertNotification(TypedDict, total=False): - key "actionGroupId": Required[str] - action_group_id: str - - - class azure.mgmt.containerservice.types.AllowedSubject(TypedDict, total=False): - key "namespaceSelector": Required[LabelSelector] - key "serviceAccountSelector": ForwardRef('LabelSelector', module='types') - namespace_selector: LabelSelector - service_account_selector: LabelSelector + disableOutboundNat: bool class azure.mgmt.containerservice.types.AutoScaleProfile(TypedDict, total=False): key "maxCount": int key "minCount": int key "size": str - max_count: int - min_count: int + maxCount: int + minCount: int size: str @@ -9844,44 +6727,28 @@ namespace azure.mgmt.containerservice.types key "keyVaultNetworkAccess": Union[str, KeyVaultNetworkAccessTypes] key "keyVaultResourceId": str enabled: bool - key_id: str - key_vault_network_access: Union[str, KeyVaultNetworkAccessTypes] - key_vault_resource_id: str - - - class azure.mgmt.containerservice.types.BastionProfile(TypedDict, total=False): - key "bastionId": str - key "enabled": bool - key "publicIpAddressId": str - key "scaleUnits": int - key "sku": Union[str, BastionSku] - bastion_id: str - enabled: bool - public_ip_address_id: str - scale_units: int - sku: Union[str, BastionSku] + keyId: str + keyVaultNetworkAccess: Union[str, KeyVaultNetworkAccessTypes] + keyVaultResourceId: str class azure.mgmt.containerservice.types.ClusterUpgradeSettings(TypedDict, total=False): key "overrideSettings": ForwardRef('UpgradeOverrideSettings', module='types') - override_settings: UpgradeOverrideSettings + overrideSettings: UpgradeOverrideSettings class azure.mgmt.containerservice.types.ContainerServiceLinuxProfile(TypedDict, total=False): key "adminUsername": Required[str] key "ssh": Required[ContainerServiceSshConfiguration] - admin_username: str + adminUsername: str ssh: ContainerServiceSshConfiguration class azure.mgmt.containerservice.types.ContainerServiceNetworkProfile(TypedDict, total=False): key "advancedNetworking": ForwardRef('AdvancedNetworking', module='types') - key "bastionProfile": ForwardRef('BastionProfile', module='types') key "dnsServiceIP": str - key "kubeProxyConfig": ForwardRef('ContainerServiceNetworkProfileKubeProxyConfig', module='types') key "loadBalancerProfile": ForwardRef('ManagedClusterLoadBalancerProfile', module='types') key "loadBalancerSku": Union[str, LoadBalancerSku] - key "natGatewayId": str key "natGatewayProfile": ForwardRef('ManagedClusterNATGatewayProfile', module='types') key "networkDataplane": Union[str, NetworkDataplane] key "networkMode": Union[str, NetworkMode] @@ -9890,73 +6757,45 @@ namespace azure.mgmt.containerservice.types key "networkPolicy": Union[str, NetworkPolicy] key "outboundType": Union[str, OutboundType] key "podCidr": str - key "podLinkLocalAccess": Union[str, PodLinkLocalAccess] key "serviceCidr": str key "staticEgressGatewayProfile": ForwardRef('ManagedClusterStaticEgressGatewayProfile', module='types') - advanced_networking: AdvancedNetworking - bastion_profile: BastionProfile - dns_service_ip: str + advancedNetworking: AdvancedNetworking + dnsServiceIP: str ipFamilies: list[Union[str, IPFamily]] - ip_families: list[Union[str, IPFamily]] - kube_proxy_config: ContainerServiceNetworkProfileKubeProxyConfig - load_balancer_profile: ManagedClusterLoadBalancerProfile - load_balancer_sku: Union[str, LoadBalancerSku] - nat_gateway_id: str - nat_gateway_profile: ManagedClusterNATGatewayProfile - network_dataplane: Union[str, NetworkDataplane] - network_mode: Union[str, NetworkMode] - network_plugin: Union[str, NetworkPlugin] - network_plugin_mode: Union[str, NetworkPluginMode] - network_policy: Union[str, NetworkPolicy] - outbound_type: Union[str, OutboundType] + loadBalancerProfile: ManagedClusterLoadBalancerProfile + loadBalancerSku: Union[str, LoadBalancerSku] + natGatewayProfile: ManagedClusterNATGatewayProfile + networkDataplane: Union[str, NetworkDataplane] + networkMode: Union[str, NetworkMode] + networkPlugin: Union[str, NetworkPlugin] + networkPluginMode: Union[str, NetworkPluginMode] + networkPolicy: Union[str, NetworkPolicy] + outboundType: Union[str, OutboundType] + podCidr: str podCidrs: list[str] - pod_cidr: str - pod_cidrs: list[str] - pod_link_local_access: Union[str, PodLinkLocalAccess] + serviceCidr: str serviceCidrs: list[str] - service_cidr: str - service_cidrs: list[str] - static_egress_gateway_profile: ManagedClusterStaticEgressGatewayProfile - - - class azure.mgmt.containerservice.types.ContainerServiceNetworkProfileKubeProxyConfig(TypedDict, total=False): - key "enabled": bool - key "ipvsConfig": ForwardRef('ContainerServiceNetworkProfileKubeProxyConfigIpvsConfig', module='types') - key "mode": Union[str, Mode] - enabled: bool - ipvs_config: ContainerServiceNetworkProfileKubeProxyConfigIpvsConfig - mode: Union[str, Mode] - - - class azure.mgmt.containerservice.types.ContainerServiceNetworkProfileKubeProxyConfigIpvsConfig(TypedDict, total=False): - key "scheduler": Union[str, IpvsScheduler] - key "tcpFinTimeoutSeconds": int - key "tcpTimeoutSeconds": int - key "udpTimeoutSeconds": int - scheduler: Union[str, IpvsScheduler] - tcp_fin_timeout_seconds: int - tcp_timeout_seconds: int - udp_timeout_seconds: int + staticEgressGatewayProfile: ManagedClusterStaticEgressGatewayProfile class azure.mgmt.containerservice.types.ContainerServiceSshConfiguration(TypedDict, total=False): key "publicKeys": Required[list[ContainerServiceSshPublicKey]] - public_keys: list[ContainerServiceSshPublicKey] + publicKeys: list[ContainerServiceSshPublicKey] class azure.mgmt.containerservice.types.ContainerServiceSshPublicKey(TypedDict, total=False): key "keyData": Required[str] - key_data: str + keyData: str class azure.mgmt.containerservice.types.CreationData(TypedDict, total=False): key "sourceResourceId": str - source_resource_id: str + sourceResourceId: str class azure.mgmt.containerservice.types.DailySchedule(TypedDict, total=False): key "intervalDays": Required[int] - interval_days: int + intervalDays: int class azure.mgmt.containerservice.types.DateSpan(TypedDict, total=False): @@ -9972,9 +6811,9 @@ namespace azure.mgmt.containerservice.types key "resourceId": str key "tenantId": str location: str - referral_resource: str - resource_id: str - tenant_id: str + referralResource: str + resourceId: str + tenantId: str class azure.mgmt.containerservice.types.ErrorAdditionalInfo(TypedDict, total=False): @@ -9989,7 +6828,6 @@ namespace azure.mgmt.containerservice.types key "message": str key "target": str additionalInfo: list[ErrorAdditionalInfo] - additional_info: list[ErrorAdditionalInfo] code: str details: list[ErrorDetail] message: str @@ -10005,26 +6843,13 @@ namespace azure.mgmt.containerservice.types class azure.mgmt.containerservice.types.GPUProfile(TypedDict, total=False): key "driver": Union[str, GPUDriver] - key "driverType": Union[str, DriverType] - key "nvidia": ForwardRef('NvidiaGPUProfile', module='types') driver: Union[str, GPUDriver] - driver_type: Union[str, DriverType] - nvidia: NvidiaGPUProfile - - - class azure.mgmt.containerservice.types.HardEvictionThreshold(TypedDict, total=False): - key "memoryAvailable": str - key "nodeFsAvailable": str - key "nodeFsInodesFree": str - memory_available: str - node_fs_available: str - node_fs_inodes_free: str class azure.mgmt.containerservice.types.IPTag(TypedDict, total=False): key "ipTagType": str key "tag": str - ip_tag_type: str + ipTagType: str tag: str @@ -10035,11 +6860,11 @@ namespace azure.mgmt.containerservice.types key "properties": ForwardRef('IdentityBindingProperties', module='types') key "systemData": ForwardRef('SystemData', module='types') key "type": str - e_tag: str + eTag: str id: str name: str properties: IdentityBindingProperties - system_data: SystemData + systemData: SystemData type: str @@ -10048,26 +6873,24 @@ namespace azure.mgmt.containerservice.types key "objectId": str key "resourceId": Required[str] key "tenantId": str - client_id: str - object_id: str - resource_id: str - tenant_id: str + clientId: str + objectId: str + resourceId: str + tenantId: str class azure.mgmt.containerservice.types.IdentityBindingOidcIssuerProfile(TypedDict, total=False): key "oidcIssuerUrl": str - oidc_issuer_url: str + oidcIssuerUrl: str class azure.mgmt.containerservice.types.IdentityBindingProperties(TypedDict, total=False): key "managedIdentity": Required[IdentityBindingManagedIdentityProfile] key "oidcIssuer": ForwardRef('IdentityBindingOidcIssuerProfile', module='types') key "provisioningState": Union[str, IdentityBindingProvisioningState] - allowedSubjects: list[AllowedSubject] - allowed_subjects: list[AllowedSubject] - managed_identity: IdentityBindingManagedIdentityProfile - oidc_issuer: IdentityBindingOidcIssuerProfile - provisioning_state: Union[str, IdentityBindingProvisioningState] + managedIdentity: IdentityBindingManagedIdentityProfile + oidcIssuer: IdentityBindingOidcIssuerProfile + provisioningState: Union[str, IdentityBindingProvisioningState] class azure.mgmt.containerservice.types.IstioCertificateAuthority(TypedDict, total=False): @@ -10078,10 +6901,8 @@ namespace azure.mgmt.containerservice.types class azure.mgmt.containerservice.types.IstioComponents(TypedDict, total=False): key "proxyRedirectionMechanism": Union[str, ProxyRedirectionMechanism] egressGateways: list[IstioEgressGateway] - egress_gateways: list[IstioEgressGateway] ingressGateways: list[IstioIngressGateway] - ingress_gateways: list[IstioIngressGateway] - proxy_redirection_mechanism: Union[str, ProxyRedirectionMechanism] + proxyRedirectionMechanism: Union[str, ProxyRedirectionMechanism] class azure.mgmt.containerservice.types.IstioEgressGateway(TypedDict, total=False): @@ -10090,7 +6911,7 @@ namespace azure.mgmt.containerservice.types key "name": Required[str] key "namespace": str enabled: bool - gateway_configuration_name: str + gatewayConfigurationName: str name: str namespace: str @@ -10108,90 +6929,21 @@ namespace azure.mgmt.containerservice.types key "keyObjectName": str key "keyVaultId": str key "rootCertObjectName": str - cert_chain_object_name: str - cert_object_name: str - key_object_name: str - key_vault_id: str - root_cert_object_name: str + certChainObjectName: str + certObjectName: str + keyObjectName: str + keyVaultId: str + rootCertObjectName: str class azure.mgmt.containerservice.types.IstioServiceMesh(TypedDict, total=False): key "certificateAuthority": ForwardRef('IstioCertificateAuthority', module='types') key "components": ForwardRef('IstioComponents', module='types') - certificate_authority: IstioCertificateAuthority + certificateAuthority: IstioCertificateAuthority components: IstioComponents revisions: list[str] - class azure.mgmt.containerservice.types.JWTAuthenticator(ProxyResource): - key "id": str - key "name": str - key "properties": Required[JWTAuthenticatorProperties] - key "systemData": ForwardRef('SystemData', module='types') - key "type": str - id: str - name: str - properties: JWTAuthenticatorProperties - system_data: SystemData - type: str - - - class azure.mgmt.containerservice.types.JWTAuthenticatorClaimMappingExpression(TypedDict, total=False): - key "expression": Required[str] - expression: str - - - class azure.mgmt.containerservice.types.JWTAuthenticatorClaimMappings(TypedDict, total=False): - key "groups": ForwardRef('JWTAuthenticatorClaimMappingExpression', module='types') - key "uid": ForwardRef('JWTAuthenticatorClaimMappingExpression', module='types') - key "username": Required[JWTAuthenticatorClaimMappingExpression] - extra: list[JWTAuthenticatorExtraClaimMappingExpression] - groups: JWTAuthenticatorClaimMappingExpression - uid: JWTAuthenticatorClaimMappingExpression - username: JWTAuthenticatorClaimMappingExpression - - - class azure.mgmt.containerservice.types.JWTAuthenticatorExtraClaimMappingExpression(TypedDict, total=False): - key "key": Required[str] - key "valueExpression": Required[str] - key: str - value_expression: str - - - class azure.mgmt.containerservice.types.JWTAuthenticatorIssuer(TypedDict, total=False): - key "audiences": Required[list[str]] - key "url": Required[str] - audiences: list[str] - url: str - - - class azure.mgmt.containerservice.types.JWTAuthenticatorProperties(TypedDict, total=False): - key "claimMappings": Required[JWTAuthenticatorClaimMappings] - key "issuer": Required[JWTAuthenticatorIssuer] - key "provisioningState": Union[str, JWTAuthenticatorProvisioningState] - claimValidationRules: list[JWTAuthenticatorValidationRule] - claim_mappings: JWTAuthenticatorClaimMappings - claim_validation_rules: list[JWTAuthenticatorValidationRule] - issuer: JWTAuthenticatorIssuer - provisioning_state: Union[str, JWTAuthenticatorProvisioningState] - userValidationRules: list[JWTAuthenticatorValidationRule] - user_validation_rules: list[JWTAuthenticatorValidationRule] - - - class azure.mgmt.containerservice.types.JWTAuthenticatorValidationRule(TypedDict, total=False): - key "expression": Required[str] - key "message": str - expression: str - message: str - - - class azure.mgmt.containerservice.types.KubeReserved(TypedDict, total=False): - key "cpuMillicores": int - key "memoryMB": int - cpu_millicores: int - memory_mb: int - - class azure.mgmt.containerservice.types.KubeletConfig(TypedDict, total=False): key "containerLogMaxFiles": int key "containerLogMaxSizeMB": int @@ -10199,49 +6951,21 @@ namespace azure.mgmt.containerservice.types key "cpuCfsQuotaPeriod": str key "cpuManagerPolicy": str key "failSwapOn": bool - key "hardEvictionThreshold": ForwardRef('HardEvictionThreshold', module='types') key "imageGcHighThreshold": int key "imageGcLowThreshold": int - key "kubeReserved": ForwardRef('KubeReserved', module='types') key "podMaxPids": int - key "seccompDefault": Union[str, SeccompDefault] key "topologyManagerPolicy": str allowedUnsafeSysctls: list[str] - allowed_unsafe_sysctls: list[str] - container_log_max_files: int - container_log_max_size_mb: int - cpu_cfs_quota: bool - cpu_cfs_quota_period: str - cpu_manager_policy: str - fail_swap_on: bool - hard_eviction_threshold: HardEvictionThreshold - image_gc_high_threshold: int - image_gc_low_threshold: int - kube_reserved: KubeReserved - pod_max_pids: int - seccomp_default: Union[str, SeccompDefault] - topology_manager_policy: str - - - class azure.mgmt.containerservice.types.KubernetesResourceObjectEncryptionProfile(TypedDict, total=False): - key "infrastructureEncryption": Union[str, InfrastructureEncryption] - infrastructure_encryption: Union[str, InfrastructureEncryption] - - - class azure.mgmt.containerservice.types.LabelSelector(TypedDict, total=False): - matchExpressions: list[LabelSelectorRequirement] - matchLabels: list[str] - match_expressions: list[LabelSelectorRequirement] - match_labels: list[str] - - - class azure.mgmt.containerservice.types.LabelSelectorRequirement(TypedDict, total=False): - key "key": str - key "operator": Union[str, Operator] - key: str - operator: Union[str, Operator] - values: list[str] - values_property: list[str] + containerLogMaxFiles: int + containerLogMaxSizeMB: int + cpuCfsQuota: bool + cpuCfsQuotaPeriod: str + cpuManagerPolicy: str + failSwapOn: bool + imageGcHighThreshold: int + imageGcLowThreshold: int + podMaxPids: int + topologyManagerPolicy: str class azure.mgmt.containerservice.types.LinuxOSConfig(TypedDict, total=False): @@ -10249,41 +6973,10 @@ namespace azure.mgmt.containerservice.types key "sysctls": ForwardRef('SysctlConfig', module='types') key "transparentHugePageDefrag": str key "transparentHugePageEnabled": str - swap_file_size_mb: int + swapFileSizeMB: int sysctls: SysctlConfig - transparent_huge_page_defrag: str - transparent_huge_page_enabled: str - - - class azure.mgmt.containerservice.types.ListBootstrapDataRequest(TypedDict, total=False): - - - class azure.mgmt.containerservice.types.LoadBalancer(ProxyResource): - key "id": str - key "name": str - key "properties": ForwardRef('LoadBalancerProperties', module='types') - key "systemData": ForwardRef('SystemData', module='types') - key "type": str - id: str - name: str - properties: LoadBalancerProperties - system_data: SystemData - type: str - - - class azure.mgmt.containerservice.types.LoadBalancerProperties(TypedDict, total=False): - key "allowServicePlacement": bool - key "nodeSelector": ForwardRef('LabelSelector', module='types') - key "primaryAgentPoolName": Required[str] - key "provisioningState": str - key "serviceLabelSelector": ForwardRef('LabelSelector', module='types') - key "serviceNamespaceSelector": ForwardRef('LabelSelector', module='types') - allow_service_placement: bool - node_selector: LabelSelector - primary_agent_pool_name: str - provisioning_state: str - service_label_selector: LabelSelector - service_namespace_selector: LabelSelector + transparentHugePageDefrag: str + transparentHugePageEnabled: str class azure.mgmt.containerservice.types.LocalDNSOverride(TypedDict, total=False): @@ -10295,256 +6988,57 @@ namespace azure.mgmt.containerservice.types key "queryLogging": Union[str, LocalDNSQueryLogging] key "serveStale": Union[str, LocalDNSServeStale] key "serveStaleDurationInSeconds": int - cache_duration_in_seconds: int - forward_destination: Union[str, LocalDNSForwardDestination] - forward_policy: Union[str, LocalDNSForwardPolicy] - max_concurrent: int + cacheDurationInSeconds: int + forwardDestination: Union[str, LocalDNSForwardDestination] + forwardPolicy: Union[str, LocalDNSForwardPolicy] + maxConcurrent: int protocol: Union[str, LocalDNSProtocol] - query_logging: Union[str, LocalDNSQueryLogging] - serve_stale: Union[str, LocalDNSServeStale] - serve_stale_duration_in_seconds: int + queryLogging: Union[str, LocalDNSQueryLogging] + serveStale: Union[str, LocalDNSServeStale] + serveStaleDurationInSeconds: int class azure.mgmt.containerservice.types.LocalDNSProfile(TypedDict, total=False): key "mode": Union[str, LocalDNSMode] - key "state": Union[str, LocalDNSState] - kubeDNSOverrides: dict[str, LocalDNSOverride] - kube_dns_overrides: dict[str, LocalDNSOverride] - mode: Union[str, LocalDNSMode] - state: Union[str, LocalDNSState] - vnetDNSOverrides: dict[str, LocalDNSOverride] - vnet_dns_overrides: dict[str, LocalDNSOverride] - - - class azure.mgmt.containerservice.types.Machine(ProxyResource): - key "id": str - key "name": str - key "properties": ForwardRef('MachineProperties', module='types') - key "systemData": ForwardRef('SystemData', module='types') - key "type": str - id: str - name: str - properties: MachineProperties - system_data: SystemData - type: str - zones: list[str] - - - class azure.mgmt.containerservice.types.MachineBillingProfile(TypedDict, total=False): - key "spotMaxPrice": float - spot_max_price: float - - - class azure.mgmt.containerservice.types.MachineHardwareProfile(TypedDict, total=False): - key "gpuInstanceProfile": Union[str, GPUInstanceProfile] - key "gpuProfile": ForwardRef('GPUProfile', module='types') - key "ultraSsdEnabled": bool - key "vmSize": str - gpu_instance_profile: Union[str, GPUInstanceProfile] - gpu_profile: GPUProfile - ultra_ssd_enabled: bool - vm_size: str - - - class azure.mgmt.containerservice.types.MachineIpAddress(TypedDict, total=False): - key "family": Union[str, IPFamily] - key "ip": str - family: Union[str, IPFamily] - ip: str - - - class azure.mgmt.containerservice.types.MachineKubernetesProfile(TypedDict, total=False): - key "artifactStreamingProfile": ForwardRef('AgentPoolArtifactStreamingProfile', module='types') - key "currentOrchestratorVersion": str - key "kubeletConfig": ForwardRef('KubeletConfig', module='types') - key "kubeletDiskType": Union[str, KubeletDiskType] - key "maxPods": int - key "nodeName": str - key "orchestratorVersion": str - key "workloadRuntime": Union[str, WorkloadRuntime] - artifact_streaming_profile: AgentPoolArtifactStreamingProfile - current_orchestrator_version: str - kubelet_config: KubeletConfig - kubelet_disk_type: Union[str, KubeletDiskType] - max_pods: int - nodeInitializationTaints: list[str] - nodeLabels: dict[str, str] - nodeTaints: list[str] - node_initialization_taints: list[str] - node_labels: dict[str, str] - node_name: str - node_taints: list[str] - orchestrator_version: str - workload_runtime: Union[str, WorkloadRuntime] - - - class azure.mgmt.containerservice.types.MachineNetworkProperties(TypedDict, total=False): - key "enableNodePublicIP": bool - key "nodePublicIPPrefixID": str - key "podSubnetID": str - key "vnetSubnetID": str - enable_node_public_ip: bool - ipAddresses: list[MachineIpAddress] - ip_addresses: list[MachineIpAddress] - nodePublicIPTags: list[IPTag] - node_public_ip_prefix_id: str - node_public_ip_tags: list[IPTag] - pod_subnet_id: str - vnet_subnet_id: str - - - class azure.mgmt.containerservice.types.MachineOSProfile(TypedDict, total=False): - key "enableFIPS": bool - key "linuxProfile": ForwardRef('MachineOSProfileLinuxProfile', module='types') - key "osDiskSizeGB": int - key "osDiskType": Union[str, OSDiskType] - key "osSKU": Union[str, OSSKU] - key "osType": Union[str, OSType] - key "windowsProfile": ForwardRef('AgentPoolWindowsProfile', module='types') - enable_fips: bool - linux_profile: MachineOSProfileLinuxProfile - os_disk_size_gb: int - os_disk_type: Union[str, OSDiskType] - os_sku: Union[str, OSSKU] - os_type: Union[str, OSType] - windows_profile: AgentPoolWindowsProfile - - - class azure.mgmt.containerservice.types.MachineOSProfileLinuxProfile(TypedDict, total=False): - key "linuxOSConfig": ForwardRef('LinuxOSConfig', module='types') - key "messageOfTheDay": str - linux_os_config: LinuxOSConfig - message_of_the_day: str - - - class azure.mgmt.containerservice.types.MachineProperties(TypedDict, total=False): - key "billing": ForwardRef('MachineBillingProfile', module='types') - key "eTag": str - key "evictionPolicy": Union[str, ScaleSetEvictionPolicy] - key "hardware": ForwardRef('MachineHardwareProfile', module='types') - key "kubernetes": ForwardRef('MachineKubernetesProfile', module='types') - key "localDNSProfile": ForwardRef('LocalDNSProfile', module='types') - key "mode": Union[str, AgentPoolMode] - key "network": ForwardRef('MachineNetworkProperties', module='types') - key "nodeImageVersion": str - key "operatingSystem": ForwardRef('MachineOSProfile', module='types') - key "priority": Union[str, ScaleSetPriority] - key "provisioningState": str - key "resourceId": str - key "security": ForwardRef('MachineSecurityProfile', module='types') - key "status": ForwardRef('MachineStatus', module='types') - billing: MachineBillingProfile - e_tag: str - eviction_policy: Union[str, ScaleSetEvictionPolicy] - hardware: MachineHardwareProfile - kubernetes: MachineKubernetesProfile - local_dns_profile: LocalDNSProfile - mode: Union[str, AgentPoolMode] - network: MachineNetworkProperties - node_image_version: str - operating_system: MachineOSProfile - priority: Union[str, ScaleSetPriority] - provisioning_state: str - resource_id: str - security: MachineSecurityProfile - status: MachineStatus - tags: dict[str, str] - - - class azure.mgmt.containerservice.types.MachineSecurityProfile(TypedDict, total=False): - key "enableEncryptionAtHost": bool - key "enableSecureBoot": bool - key "enableVTPM": bool - key "sshAccess": Union[str, AgentPoolSSHAccess] - enable_encryption_at_host: bool - enable_secure_boot: bool - enable_vtpm: bool - ssh_access: Union[str, AgentPoolSSHAccess] - - - class azure.mgmt.containerservice.types.MachineStatus(TypedDict, total=False): - key "creationTimestamp": str - key "driftAction": Union[str, DriftAction] - key "driftReason": str - key "provisioningError": ForwardRef('ErrorDetail', module='types') - key "vmState": Union[str, VmState] - creation_timestamp: str - drift_action: Union[str, DriftAction] - drift_reason: str - provisioning_error: ErrorDetail - vm_state: Union[str, VmState] - - - class azure.mgmt.containerservice.types.MaintenanceConfiguration(ProxyResource): - key "id": str - key "name": str - key "properties": ForwardRef('MaintenanceConfigurationProperties', module='types') - key "systemData": ForwardRef('SystemData', module='types') - key "type": str - id: str - name: str - properties: MaintenanceConfigurationProperties - system_data: SystemData - type: str - - - class azure.mgmt.containerservice.types.MaintenanceConfigurationProperties(TypedDict, total=False): - key "maintenanceWindow": ForwardRef('MaintenanceWindow', module='types') - key "maintenanceWindowId": str - maintenance_window: MaintenanceWindow - maintenance_window_id: str - notAllowedTime: list[TimeSpan] - not_allowed_time: list[TimeSpan] - timeInWeek: list[TimeInWeek] - time_in_week: list[TimeInWeek] - - - class azure.mgmt.containerservice.types.MaintenanceWindow(TypedDict, total=False): - key "durationHours": Required[int] - key "schedule": Required[Schedule] - key "startDate": str - key "startTime": Required[str] - key "utcOffset": str - duration_hours: int - notAllowedDates: list[DateSpan] - not_allowed_dates: list[DateSpan] - schedule: Schedule - start_date: str - start_time: str - utc_offset: str + key "state": Union[str, LocalDNSState] + kubeDNSOverrides: dict[str, LocalDNSOverride] + mode: Union[str, LocalDNSMode] + state: Union[str, LocalDNSState] + vnetDNSOverrides: dict[str, LocalDNSOverride] - class azure.mgmt.containerservice.types.MaintenanceWindowResource(TrackedResource): + class azure.mgmt.containerservice.types.MaintenanceConfiguration(ProxyResource): key "id": str - key "location": Required[str] key "name": str - key "properties": ForwardRef('MaintenanceWindowResourceProperties', module='types') + key "properties": ForwardRef('MaintenanceConfigurationProperties', module='types') key "systemData": ForwardRef('SystemData', module='types') key "type": str id: str - location: str name: str - properties: MaintenanceWindowResourceProperties - system_data: SystemData - tags: dict[str, str] + properties: MaintenanceConfigurationProperties + systemData: SystemData type: str - class azure.mgmt.containerservice.types.MaintenanceWindowResourceProperties(TypedDict, total=False): + class azure.mgmt.containerservice.types.MaintenanceConfigurationProperties(TypedDict, total=False): + key "maintenanceWindow": ForwardRef('MaintenanceWindow', module='types') + maintenanceWindow: MaintenanceWindow + notAllowedTime: list[TimeSpan] + timeInWeek: list[TimeInWeek] + + + class azure.mgmt.containerservice.types.MaintenanceWindow(TypedDict, total=False): key "durationHours": Required[int] - key "provisioningState": Union[str, ResourceProvisioningState] key "schedule": Required[Schedule] key "startDate": str key "startTime": Required[str] key "utcOffset": str - duration_hours: int + durationHours: int notAllowedDates: list[DateSpan] - not_allowed_dates: list[DateSpan] - provisioning_state: Union[str, ResourceProvisioningState] schedule: Schedule - start_date: str - start_time: str - utc_offset: str + startDate: str + startTime: str + utcOffset: str class azure.mgmt.containerservice.types.ManagedCluster(TrackedResource): @@ -10559,8 +7053,8 @@ namespace azure.mgmt.containerservice.types key "sku": ForwardRef('ManagedClusterSKU', module='types') key "systemData": ForwardRef('SystemData', module='types') key "type": str - e_tag: str - extended_location: ExtendedLocation + eTag: str + extendedLocation: ExtendedLocation id: str identity: ManagedClusterIdentity kind: str @@ -10568,7 +7062,7 @@ namespace azure.mgmt.containerservice.types name: str properties: ManagedClusterProperties sku: ManagedClusterSKU - system_data: SystemData + systemData: SystemData tags: dict[str, str] type: str @@ -10581,13 +7075,12 @@ namespace azure.mgmt.containerservice.types key "serverAppSecret": str key "tenantID": str adminGroupObjectIDs: list[str] - admin_group_object_i_ds: list[str] - client_app_id: str - enable_azure_rbac: bool + clientAppID: str + enableAzureRBAC: bool managed: bool - server_app_id: str - server_app_secret: str - tenant_id: str + serverAppID: str + serverAppSecret: str + tenantID: str class azure.mgmt.containerservice.types.ManagedClusterAIToolchainOperatorProfile(TypedDict, total=False): @@ -10603,13 +7096,12 @@ namespace azure.mgmt.containerservice.types key "privateDNSZone": str key "subnetId": str authorizedIPRanges: list[str] - authorized_ip_ranges: list[str] - disable_run_command: bool - enable_private_cluster: bool - enable_private_cluster_public_fqdn: bool - enable_vnet_integration: bool - private_dns_zone: str - subnet_id: str + disableRunCommand: bool + enablePrivateCluster: bool + enablePrivateClusterPublicFQDN: bool + enableVnetIntegration: bool + privateDNSZone: str + subnetId: str class azure.mgmt.containerservice.types.ManagedClusterAddonProfile(TypedDict, total=False): @@ -10624,9 +7116,9 @@ namespace azure.mgmt.containerservice.types key "clientId": str key "objectId": str key "resourceId": str - client_id: str - object_id: str - resource_id: str + clientId: str + objectId: str + resourceId: str class azure.mgmt.containerservice.types.ManagedClusterAgentPoolProfile(ManagedClusterAgentPoolProfileProperties): @@ -10640,7 +7132,6 @@ namespace azure.mgmt.containerservice.types key "enableEncryptionAtHost": bool key "enableFIPS": bool key "enableNodePublicIP": bool - key "enableOSDiskFullCaching": bool key "enableUltraSSD": bool key "gatewayProfile": ForwardRef('AgentPoolGatewayProfile', module='types') key "gpuInstanceProfile": Union[str, GPUInstanceProfile] @@ -10667,7 +7158,6 @@ namespace azure.mgmt.containerservice.types key "podIPAllocationMode": Union[str, PodIPAllocationMode] key "podSubnetID": str key "powerState": ForwardRef('PowerState', module='types') - key "preparedImageSpecificationProfile": ForwardRef('PreparedImageSpecificationProfile', module='types') key "provisioningState": str key "proximityPlacementGroupID": str key "scaleDownMode": Union[str, ScaleDownMode] @@ -10678,79 +7168,67 @@ namespace azure.mgmt.containerservice.types key "status": ForwardRef('AgentPoolStatus', module='types') key "type": Union[str, AgentPoolType] key "upgradeSettings": ForwardRef('AgentPoolUpgradeSettings', module='types') - key "upgradeSettingsBlueGreen": ForwardRef('AgentPoolBlueGreenUpgradeSettings', module='types') - key "upgradeStrategy": Union[str, UpgradeStrategy] key "virtualMachinesProfile": ForwardRef('VirtualMachinesProfile', module='types') key "vmSize": str key "vnetSubnetID": str key "windowsProfile": ForwardRef('AgentPoolWindowsProfile', module='types') key "workloadRuntime": Union[str, WorkloadRuntime] - artifact_streaming_profile: AgentPoolArtifactStreamingProfile + artifactStreamingProfile: AgentPoolArtifactStreamingProfile availabilityZones: list[str] - availability_zones: list[str] - capacity_reservation_group_id: str + capacityReservationGroupID: str count: int - creation_data: CreationData - current_orchestrator_version: str - e_tag: str - enable_auto_scaling: bool - enable_encryption_at_host: bool - enable_fips: bool - enable_node_public_ip: bool - enable_os_disk_full_caching: bool - enable_ultra_ssd: bool - gateway_profile: AgentPoolGatewayProfile - gpu_instance_profile: Union[str, GPUInstanceProfile] - gpu_profile: GPUProfile - host_group_id: str - kubelet_config: KubeletConfig - kubelet_disk_type: Union[str, KubeletDiskType] - linux_os_config: LinuxOSConfig - local_dns_profile: LocalDNSProfile - max_count: int - max_pods: int - message_of_the_day: str - min_count: int + creationData: CreationData + currentOrchestratorVersion: str + eTag: str + enableAutoScaling: bool + enableEncryptionAtHost: bool + enableFIPS: bool + enableNodePublicIP: bool + enableUltraSSD: bool + gatewayProfile: AgentPoolGatewayProfile + gpuInstanceProfile: Union[str, GPUInstanceProfile] + gpuProfile: GPUProfile + hostGroupID: str + kubeletConfig: KubeletConfig + kubeletDiskType: Union[str, KubeletDiskType] + linuxOSConfig: LinuxOSConfig + localDNSProfile: LocalDNSProfile + maxCount: int + maxPods: int + messageOfTheDay: str + minCount: int mode: Union[str, AgentPoolMode] name: str - network_profile: AgentPoolNetworkProfile - nodeInitializationTaints: list[str] + networkProfile: AgentPoolNetworkProfile + nodeImageVersion: str nodeLabels: dict[str, str] + nodePublicIPPrefixID: str nodeTaints: list[str] - node_image_version: str - node_initialization_taints: list[str] - node_labels: dict[str, str] - node_public_ip_prefix_id: str - node_taints: list[str] - orchestrator_version: str - os_disk_size_gb: int - os_disk_type: Union[str, OSDiskType] - os_sku: Union[str, OSSKU] - os_type: Union[str, OSType] - pod_ip_allocation_mode: Union[str, PodIPAllocationMode] - pod_subnet_id: str - power_state: PowerState - prepared_image_specification_profile: PreparedImageSpecificationProfile - provisioning_state: str - proximity_placement_group_id: str - scale_down_mode: Union[str, ScaleDownMode] - scale_set_eviction_policy: Union[str, ScaleSetEvictionPolicy] - scale_set_priority: Union[str, ScaleSetPriority] - security_profile: AgentPoolSecurityProfile - spot_max_price: float + orchestratorVersion: str + osDiskSizeGB: int + osDiskType: Union[str, OSDiskType] + osSKU: Union[str, OSSKU] + osType: Union[str, OSType] + podIPAllocationMode: Union[str, PodIPAllocationMode] + podSubnetID: str + powerState: PowerState + provisioningState: str + proximityPlacementGroupID: str + scaleDownMode: Union[str, ScaleDownMode] + scaleSetEvictionPolicy: Union[str, ScaleSetEvictionPolicy] + scaleSetPriority: Union[str, ScaleSetPriority] + securityProfile: AgentPoolSecurityProfile + spotMaxPrice: float status: AgentPoolStatus tags: dict[str, str] type: Union[str, AgentPoolType] - upgrade_settings: AgentPoolUpgradeSettings - upgrade_settings_blue_green: AgentPoolBlueGreenUpgradeSettings - upgrade_strategy: Union[str, UpgradeStrategy] + upgradeSettings: AgentPoolUpgradeSettings virtualMachineNodesStatus: list[VirtualMachineNodes] - virtual_machine_nodes_status: list[VirtualMachineNodes] - virtual_machines_profile: VirtualMachinesProfile - vm_size: str - vnet_subnet_id: str - windows_profile: AgentPoolWindowsProfile - workload_runtime: Union[str, WorkloadRuntime] + virtualMachinesProfile: VirtualMachinesProfile + vmSize: str + vnetSubnetID: str + windowsProfile: AgentPoolWindowsProfile + workloadRuntime: Union[str, WorkloadRuntime] class azure.mgmt.containerservice.types.ManagedClusterAgentPoolProfileProperties(TypedDict, total=False): @@ -10764,7 +7242,6 @@ namespace azure.mgmt.containerservice.types key "enableEncryptionAtHost": bool key "enableFIPS": bool key "enableNodePublicIP": bool - key "enableOSDiskFullCaching": bool key "enableUltraSSD": bool key "gatewayProfile": ForwardRef('AgentPoolGatewayProfile', module='types') key "gpuInstanceProfile": Union[str, GPUInstanceProfile] @@ -10790,7 +7267,6 @@ namespace azure.mgmt.containerservice.types key "podIPAllocationMode": Union[str, PodIPAllocationMode] key "podSubnetID": str key "powerState": ForwardRef('PowerState', module='types') - key "preparedImageSpecificationProfile": ForwardRef('PreparedImageSpecificationProfile', module='types') key "provisioningState": str key "proximityPlacementGroupID": str key "scaleDownMode": Union[str, ScaleDownMode] @@ -10801,78 +7277,66 @@ namespace azure.mgmt.containerservice.types key "status": ForwardRef('AgentPoolStatus', module='types') key "type": Union[str, AgentPoolType] key "upgradeSettings": ForwardRef('AgentPoolUpgradeSettings', module='types') - key "upgradeSettingsBlueGreen": ForwardRef('AgentPoolBlueGreenUpgradeSettings', module='types') - key "upgradeStrategy": Union[str, UpgradeStrategy] key "virtualMachinesProfile": ForwardRef('VirtualMachinesProfile', module='types') key "vmSize": str key "vnetSubnetID": str key "windowsProfile": ForwardRef('AgentPoolWindowsProfile', module='types') key "workloadRuntime": Union[str, WorkloadRuntime] - artifact_streaming_profile: AgentPoolArtifactStreamingProfile + artifactStreamingProfile: AgentPoolArtifactStreamingProfile availabilityZones: list[str] - availability_zones: list[str] - capacity_reservation_group_id: str + capacityReservationGroupID: str count: int - creation_data: CreationData - current_orchestrator_version: str - e_tag: str - enable_auto_scaling: bool - enable_encryption_at_host: bool - enable_fips: bool - enable_node_public_ip: bool - enable_os_disk_full_caching: bool - enable_ultra_ssd: bool - gateway_profile: AgentPoolGatewayProfile - gpu_instance_profile: Union[str, GPUInstanceProfile] - gpu_profile: GPUProfile - host_group_id: str - kubelet_config: KubeletConfig - kubelet_disk_type: Union[str, KubeletDiskType] - linux_os_config: LinuxOSConfig - local_dns_profile: LocalDNSProfile - max_count: int - max_pods: int - message_of_the_day: str - min_count: int + creationData: CreationData + currentOrchestratorVersion: str + eTag: str + enableAutoScaling: bool + enableEncryptionAtHost: bool + enableFIPS: bool + enableNodePublicIP: bool + enableUltraSSD: bool + gatewayProfile: AgentPoolGatewayProfile + gpuInstanceProfile: Union[str, GPUInstanceProfile] + gpuProfile: GPUProfile + hostGroupID: str + kubeletConfig: KubeletConfig + kubeletDiskType: Union[str, KubeletDiskType] + linuxOSConfig: LinuxOSConfig + localDNSProfile: LocalDNSProfile + maxCount: int + maxPods: int + messageOfTheDay: str + minCount: int mode: Union[str, AgentPoolMode] - network_profile: AgentPoolNetworkProfile - nodeInitializationTaints: list[str] + networkProfile: AgentPoolNetworkProfile + nodeImageVersion: str nodeLabels: dict[str, str] + nodePublicIPPrefixID: str nodeTaints: list[str] - node_image_version: str - node_initialization_taints: list[str] - node_labels: dict[str, str] - node_public_ip_prefix_id: str - node_taints: list[str] - orchestrator_version: str - os_disk_size_gb: int - os_disk_type: Union[str, OSDiskType] - os_sku: Union[str, OSSKU] - os_type: Union[str, OSType] - pod_ip_allocation_mode: Union[str, PodIPAllocationMode] - pod_subnet_id: str - power_state: PowerState - prepared_image_specification_profile: PreparedImageSpecificationProfile - provisioning_state: str - proximity_placement_group_id: str - scale_down_mode: Union[str, ScaleDownMode] - scale_set_eviction_policy: Union[str, ScaleSetEvictionPolicy] - scale_set_priority: Union[str, ScaleSetPriority] - security_profile: AgentPoolSecurityProfile - spot_max_price: float + orchestratorVersion: str + osDiskSizeGB: int + osDiskType: Union[str, OSDiskType] + osSKU: Union[str, OSSKU] + osType: Union[str, OSType] + podIPAllocationMode: Union[str, PodIPAllocationMode] + podSubnetID: str + powerState: PowerState + provisioningState: str + proximityPlacementGroupID: str + scaleDownMode: Union[str, ScaleDownMode] + scaleSetEvictionPolicy: Union[str, ScaleSetEvictionPolicy] + scaleSetPriority: Union[str, ScaleSetPriority] + securityProfile: AgentPoolSecurityProfile + spotMaxPrice: float status: AgentPoolStatus tags: dict[str, str] type: Union[str, AgentPoolType] - upgrade_settings: AgentPoolUpgradeSettings - upgrade_settings_blue_green: AgentPoolBlueGreenUpgradeSettings - upgrade_strategy: Union[str, UpgradeStrategy] + upgradeSettings: AgentPoolUpgradeSettings virtualMachineNodesStatus: list[VirtualMachineNodes] - virtual_machine_nodes_status: list[VirtualMachineNodes] - virtual_machines_profile: VirtualMachinesProfile - vm_size: str - vnet_subnet_id: str - windows_profile: AgentPoolWindowsProfile - workload_runtime: Union[str, WorkloadRuntime] + virtualMachinesProfile: VirtualMachinesProfile + vmSize: str + vnetSubnetID: str + windowsProfile: AgentPoolWindowsProfile + workloadRuntime: Union[str, WorkloadRuntime] class azure.mgmt.containerservice.types.ManagedClusterAppRoutingIstio(TypedDict, total=False): @@ -10883,26 +7347,20 @@ namespace azure.mgmt.containerservice.types class azure.mgmt.containerservice.types.ManagedClusterAutoUpgradeProfile(TypedDict, total=False): key "nodeOSUpgradeChannel": Union[str, NodeOSUpgradeChannel] key "upgradeChannel": Union[str, UpgradeChannel] - node_os_upgrade_channel: Union[str, NodeOSUpgradeChannel] - upgrade_channel: Union[str, UpgradeChannel] + nodeOSUpgradeChannel: Union[str, NodeOSUpgradeChannel] + upgradeChannel: Union[str, UpgradeChannel] class azure.mgmt.containerservice.types.ManagedClusterAzureMonitorProfile(TypedDict, total=False): key "appMonitoring": ForwardRef('ManagedClusterAzureMonitorProfileAppMonitoring', module='types') - key "containerInsights": ForwardRef('ManagedClusterAzureMonitorProfileContainerInsights', module='types') key "metrics": ForwardRef('ManagedClusterAzureMonitorProfileMetrics', module='types') - app_monitoring: ManagedClusterAzureMonitorProfileAppMonitoring - container_insights: ManagedClusterAzureMonitorProfileContainerInsights + appMonitoring: ManagedClusterAzureMonitorProfileAppMonitoring metrics: ManagedClusterAzureMonitorProfileMetrics class azure.mgmt.containerservice.types.ManagedClusterAzureMonitorProfileAppMonitoring(TypedDict, total=False): key "autoInstrumentation": ForwardRef('ManagedClusterAzureMonitorProfileAppMonitoringAutoInstrumentation', module='types') - key "openTelemetryLogsAndTraces": ForwardRef('ManagedClusterAzureMonitorProfileAppMonitoringOpenTelemetryLogsAndTraces', module='types') - key "openTelemetryMetrics": ForwardRef('ManagedClusterAzureMonitorProfileAppMonitoringOpenTelemetryMetrics', module='types') - auto_instrumentation: ManagedClusterAzureMonitorProfileAppMonitoringAutoInstrumentation - open_telemetry_logs_and_traces: ManagedClusterAzureMonitorProfileAppMonitoringOpenTelemetryLogsAndTraces - open_telemetry_metrics: ManagedClusterAzureMonitorProfileAppMonitoringOpenTelemetryMetrics + autoInstrumentation: ManagedClusterAzureMonitorProfileAppMonitoringAutoInstrumentation class azure.mgmt.containerservice.types.ManagedClusterAzureMonitorProfileAppMonitoringAutoInstrumentation(TypedDict, total=False): @@ -10910,53 +7368,20 @@ namespace azure.mgmt.containerservice.types enabled: bool - class azure.mgmt.containerservice.types.ManagedClusterAzureMonitorProfileAppMonitoringOpenTelemetryLogsAndTraces(TypedDict, total=False): - key "enabled": bool - key "grpcPort": int - key "httpPort": int - enabled: bool - grpc_port: int - http_port: int - - - class azure.mgmt.containerservice.types.ManagedClusterAzureMonitorProfileAppMonitoringOpenTelemetryMetrics(TypedDict, total=False): - key "enabled": bool - key "grpcPort": int - key "httpPort": int - enabled: bool - grpc_port: int - http_port: int - - - class azure.mgmt.containerservice.types.ManagedClusterAzureMonitorProfileContainerInsights(TypedDict, total=False): - key "containerNetworkLogs": Union[str, ContainerNetworkLogs] - key "disableCustomMetrics": bool - key "disablePrometheusMetricsScraping": bool - key "enabled": bool - key "logAnalyticsWorkspaceResourceId": str - key "syslogPort": int - container_network_logs: Union[str, ContainerNetworkLogs] - disable_custom_metrics: bool - disable_prometheus_metrics_scraping: bool - enabled: bool - log_analytics_workspace_resource_id: str - syslog_port: int - - class azure.mgmt.containerservice.types.ManagedClusterAzureMonitorProfileKubeStateMetrics(TypedDict, total=False): key "metricAnnotationsAllowList": str key "metricLabelsAllowlist": str - metric_annotations_allow_list: str - metric_labels_allowlist: str + metricAnnotationsAllowList: str + metricLabelsAllowlist: str class azure.mgmt.containerservice.types.ManagedClusterAzureMonitorProfileMetrics(TypedDict, total=False): key "controlPlane": ForwardRef('ManagedClusterAzureMonitorProfileMetricsControlPlane', module='types') key "enabled": Required[bool] key "kubeStateMetrics": ForwardRef('ManagedClusterAzureMonitorProfileKubeStateMetrics', module='types') - control_plane: ManagedClusterAzureMonitorProfileMetricsControlPlane + controlPlane: ManagedClusterAzureMonitorProfileMetricsControlPlane enabled: bool - kube_state_metrics: ManagedClusterAzureMonitorProfileKubeStateMetrics + kubeStateMetrics: ManagedClusterAzureMonitorProfileKubeStateMetrics class azure.mgmt.containerservice.types.ManagedClusterAzureMonitorProfileMetricsControlPlane(TypedDict, total=False): @@ -10967,13 +7392,8 @@ namespace azure.mgmt.containerservice.types class azure.mgmt.containerservice.types.ManagedClusterBootstrapProfile(TypedDict, total=False): key "artifactSource": Union[str, ArtifactSource] key "containerRegistryId": str - artifact_source: Union[str, ArtifactSource] - container_registry_id: str - - - class azure.mgmt.containerservice.types.ManagedClusterControlPlaneScalingProfile(TypedDict, total=False): - key "scalingSize": Required[Union[str, ControlPlaneScalingSize]] - scaling_size: Union[str, ControlPlaneScalingSize] + artifactSource: Union[str, ArtifactSource] + containerRegistryId: str class azure.mgmt.containerservice.types.ManagedClusterCostAnalysis(TypedDict, total=False): @@ -10986,21 +7406,11 @@ namespace azure.mgmt.containerservice.types key "httpProxy": str key "httpsProxy": str key "trustedCa": str - effectiveNoProxy: list[str] - effective_no_proxy: list[str] enabled: bool - http_proxy: str - https_proxy: str + httpProxy: str + httpsProxy: str noProxy: list[str] - no_proxy: list[str] - trusted_ca: str - - - class azure.mgmt.containerservice.types.ManagedClusterHealthMonitorProfile(TypedDict, total=False): - key "enableContinuousControlPlaneAndAddonMonitor": bool - key "enableOnDemandMonitor": bool - enable_continuous_control_plane_and_addon_monitor: bool - enable_on_demand_monitor: bool + trustedCa: str class azure.mgmt.containerservice.types.ManagedClusterHostedSystemProfile(TypedDict, total=False): @@ -11008,8 +7418,8 @@ namespace azure.mgmt.containerservice.types key "nodeSubnetID": str key "systemNodeSubnetID": str enabled: bool - node_subnet_id: str - system_node_subnet_id: str + nodeSubnetID: str + systemNodeSubnetID: str class azure.mgmt.containerservice.types.ManagedClusterIdentity(TypedDict, total=False): @@ -11017,35 +7427,17 @@ namespace azure.mgmt.containerservice.types key "tenantId": str key "type": Union[str, ResourceIdentityType] delegatedResources: dict[str, DelegatedResource] - delegated_resources: dict[str, DelegatedResource] - principal_id: str - tenant_id: str + principalId: str + tenantId: str type: Union[str, ResourceIdentityType] userAssignedIdentities: dict[str, ManagedServiceIdentityUserAssignedIdentitiesValue] - user_assigned_identities: dict[str, ManagedServiceIdentityUserAssignedIdentitiesValue] - - - class azure.mgmt.containerservice.types.ManagedClusterIngressDefaultDomainProfile(TypedDict, total=False): - key "domainName": str - key "enabled": bool - domain_name: str - enabled: bool class azure.mgmt.containerservice.types.ManagedClusterIngressProfile(TypedDict, total=False): - key "applicationLoadBalancer": ForwardRef('ManagedClusterIngressProfileApplicationLoadBalancer', module='types') key "gatewayAPI": ForwardRef('ManagedClusterIngressProfileGatewayConfiguration', module='types') key "webAppRouting": ForwardRef('ManagedClusterIngressProfileWebAppRouting', module='types') - application_load_balancer: ManagedClusterIngressProfileApplicationLoadBalancer - gateway_api: ManagedClusterIngressProfileGatewayConfiguration - web_app_routing: ManagedClusterIngressProfileWebAppRouting - - - class azure.mgmt.containerservice.types.ManagedClusterIngressProfileApplicationLoadBalancer(TypedDict, total=False): - key "enabled": bool - key "identity": ForwardRef('UserAssignedIdentity', module='types') - enabled: bool - identity: UserAssignedIdentity + gatewayAPI: ManagedClusterIngressProfileGatewayConfiguration + webAppRouting: ManagedClusterIngressProfileWebAppRouting class azure.mgmt.containerservice.types.ManagedClusterIngressProfileGatewayConfiguration(TypedDict, total=False): @@ -11055,20 +7447,17 @@ namespace azure.mgmt.containerservice.types class azure.mgmt.containerservice.types.ManagedClusterIngressProfileNginx(TypedDict, total=False): key "defaultIngressControllerType": Union[str, NginxIngressControllerType] - default_ingress_controller_type: Union[str, NginxIngressControllerType] + defaultIngressControllerType: Union[str, NginxIngressControllerType] class azure.mgmt.containerservice.types.ManagedClusterIngressProfileWebAppRouting(TypedDict, total=False): - key "defaultDomain": ForwardRef('ManagedClusterIngressDefaultDomainProfile', module='types') key "enabled": bool key "gatewayAPIImplementations": ForwardRef('ManagedClusterWebAppRoutingGatewayAPIImplementations', module='types') key "identity": ForwardRef('UserAssignedIdentity', module='types') key "nginx": ForwardRef('ManagedClusterIngressProfileNginx', module='types') - default_domain: ManagedClusterIngressDefaultDomainProfile dnsZoneResourceIds: list[str] - dns_zone_resource_ids: list[str] enabled: bool - gateway_api_implementations: ManagedClusterWebAppRoutingGatewayAPIImplementations + gatewayAPIImplementations: ManagedClusterWebAppRoutingGatewayAPIImplementations identity: UserAssignedIdentity nginx: ManagedClusterIngressProfileNginx @@ -11076,93 +7465,71 @@ namespace azure.mgmt.containerservice.types class azure.mgmt.containerservice.types.ManagedClusterLoadBalancerProfile(TypedDict, total=False): key "allocatedOutboundPorts": int key "backendPoolType": Union[str, BackendPoolType] - key "clusterServiceLoadBalancerHealthProbeMode": Union[str, ClusterServiceLoadBalancerHealthProbeMode] key "enableMultipleStandardLoadBalancers": bool key "idleTimeoutInMinutes": int key "managedOutboundIPs": ForwardRef('ManagedClusterLoadBalancerProfileManagedOutboundIPs', module='types') key "outboundIPPrefixes": ForwardRef('ManagedClusterLoadBalancerProfileOutboundIPPrefixes', module='types') key "outboundIPs": ForwardRef('ManagedClusterLoadBalancerProfileOutboundIPs', module='types') - allocated_outbound_ports: int - backend_pool_type: Union[str, BackendPoolType] - cluster_service_load_balancer_health_probe_mode: Union[str, ClusterServiceLoadBalancerHealthProbeMode] + allocatedOutboundPorts: int + backendPoolType: Union[str, BackendPoolType] effectiveOutboundIPs: list[ResourceReference] - effective_outbound_i_ps: list[ResourceReference] - enable_multiple_standard_load_balancers: bool - idle_timeout_in_minutes: int - managed_outbound_i_ps: ManagedClusterLoadBalancerProfileManagedOutboundIPs - outbound_i_ps: ManagedClusterLoadBalancerProfileOutboundIPs - outbound_ip_prefixes: ManagedClusterLoadBalancerProfileOutboundIPPrefixes + enableMultipleStandardLoadBalancers: bool + idleTimeoutInMinutes: int + managedOutboundIPs: ManagedClusterLoadBalancerProfileManagedOutboundIPs + outboundIPPrefixes: ManagedClusterLoadBalancerProfileOutboundIPPrefixes + outboundIPs: ManagedClusterLoadBalancerProfileOutboundIPs class azure.mgmt.containerservice.types.ManagedClusterLoadBalancerProfileManagedOutboundIPs(TypedDict, total=False): key "count": int key "countIPv6": int count: int - count_ipv6: int + countIPv6: int class azure.mgmt.containerservice.types.ManagedClusterLoadBalancerProfileOutboundIPPrefixes(TypedDict, total=False): publicIPPrefixes: list[ResourceReference] - public_ip_prefixes: list[ResourceReference] class azure.mgmt.containerservice.types.ManagedClusterLoadBalancerProfileOutboundIPs(TypedDict, total=False): publicIPs: list[ResourceReference] - public_i_ps: list[ResourceReference] class azure.mgmt.containerservice.types.ManagedClusterManagedOutboundIPProfile(TypedDict, total=False): key "count": int - key "countIPv6": int count: int - count_i_pv6: int class azure.mgmt.containerservice.types.ManagedClusterMetricsProfile(TypedDict, total=False): key "costAnalysis": ForwardRef('ManagedClusterCostAnalysis', module='types') - cost_analysis: ManagedClusterCostAnalysis + costAnalysis: ManagedClusterCostAnalysis class azure.mgmt.containerservice.types.ManagedClusterNATGatewayProfile(TypedDict, total=False): key "idleTimeoutInMinutes": int key "managedOutboundIPProfile": ForwardRef('ManagedClusterManagedOutboundIPProfile', module='types') - key "outboundIPPrefixes": ForwardRef('ManagedClusterNATGatewayProfileOutboundIpPrefixes', module='types') - key "outboundIPs": ForwardRef('ManagedClusterNATGatewayProfileOutboundIPs', module='types') effectiveOutboundIPs: list[ResourceReference] - effective_outbound_i_ps: list[ResourceReference] - idle_timeout_in_minutes: int - managed_outbound_ip_profile: ManagedClusterManagedOutboundIPProfile - outbound_i_ps: ManagedClusterNATGatewayProfileOutboundIPs - outbound_ip_prefixes: ManagedClusterNATGatewayProfileOutboundIpPrefixes - - - class azure.mgmt.containerservice.types.ManagedClusterNATGatewayProfileOutboundIPs(TypedDict, total=False): - publicIPs: list[str] - public_i_ps: list[str] - - - class azure.mgmt.containerservice.types.ManagedClusterNATGatewayProfileOutboundIpPrefixes(TypedDict, total=False): - publicIPPrefixes: list[str] - public_ip_prefixes: list[str] + idleTimeoutInMinutes: int + managedOutboundIPProfile: ManagedClusterManagedOutboundIPProfile class azure.mgmt.containerservice.types.ManagedClusterNodeProvisioningProfile(TypedDict, total=False): key "defaultNodePools": Union[str, NodeProvisioningDefaultNodePools] key "mode": Union[str, NodeProvisioningMode] - default_node_pools: Union[str, NodeProvisioningDefaultNodePools] + defaultNodePools: Union[str, NodeProvisioningDefaultNodePools] mode: Union[str, NodeProvisioningMode] class azure.mgmt.containerservice.types.ManagedClusterNodeResourceGroupProfile(TypedDict, total=False): key "restrictionLevel": Union[str, RestrictionLevel] - restriction_level: Union[str, RestrictionLevel] + restrictionLevel: Union[str, RestrictionLevel] class azure.mgmt.containerservice.types.ManagedClusterOIDCIssuerProfile(TypedDict, total=False): key "enabled": bool key "issuerURL": str enabled: bool - issuer_url: str + issuerURL: str class azure.mgmt.containerservice.types.ManagedClusterPodIdentity(TypedDict, total=False): @@ -11172,12 +7539,12 @@ namespace azure.mgmt.containerservice.types key "namespace": Required[str] key "provisioningInfo": ForwardRef('ManagedClusterPodIdentityProvisioningInfo', module='types') key "provisioningState": Union[str, ManagedClusterPodIdentityProvisioningState] - binding_selector: str + bindingSelector: str identity: UserAssignedIdentity name: str namespace: str - provisioning_info: ManagedClusterPodIdentityProvisioningInfo - provisioning_state: Union[str, ManagedClusterPodIdentityProvisioningState] + provisioningInfo: ManagedClusterPodIdentityProvisioningInfo + provisioningState: Union[str, ManagedClusterPodIdentityProvisioningState] class azure.mgmt.containerservice.types.ManagedClusterPodIdentityException(TypedDict, total=False): @@ -11186,18 +7553,16 @@ namespace azure.mgmt.containerservice.types key "podLabels": Required[dict[str, str]] name: str namespace: str - pod_labels: dict[str, str] + podLabels: dict[str, str] class azure.mgmt.containerservice.types.ManagedClusterPodIdentityProfile(TypedDict, total=False): key "allowNetworkPluginKubenet": bool key "enabled": bool - allow_network_plugin_kubenet: bool + allowNetworkPluginKubenet: bool enabled: bool userAssignedIdentities: list[ManagedClusterPodIdentity] userAssignedIdentityExceptions: list[ManagedClusterPodIdentityException] - user_assigned_identities: list[ManagedClusterPodIdentity] - user_assigned_identity_exceptions: list[ManagedClusterPodIdentityException] class azure.mgmt.containerservice.types.ManagedClusterPodIdentityProvisioningError(TypedDict, total=False): @@ -11229,18 +7594,13 @@ namespace azure.mgmt.containerservice.types key "azureMonitorProfile": ForwardRef('ManagedClusterAzureMonitorProfile', module='types') key "azurePortalFQDN": str key "bootstrapProfile": ForwardRef('ManagedClusterBootstrapProfile', module='types') - key "controlPlaneScalingProfile": ForwardRef('ManagedClusterControlPlaneScalingProfile', module='types') - key "creationData": ForwardRef('CreationData', module='types') key "currentKubernetesVersion": str key "disableLocalAccounts": bool key "diskEncryptionSetID": str key "dnsPrefix": str - key "enableFIPS": bool - key "enableNamespaceResources": bool key "enableRBAC": bool key "fqdn": str key "fqdnSubdomain": str - key "healthMonitorProfile": ForwardRef('ManagedClusterHealthMonitorProfile', module='types') key "hostedSystemProfile": ForwardRef('ManagedClusterHostedSystemProfile', module='types') key "httpProxyConfig": ForwardRef('ManagedClusterHTTPProxyConfig', module='types') key "ingressProfile": ForwardRef('ManagedClusterIngressProfile', module='types') @@ -11249,7 +7609,6 @@ namespace azure.mgmt.containerservice.types key "maxAgentPools": int key "metricsProfile": ForwardRef('ManagedClusterMetricsProfile', module='types') key "networkProfile": ForwardRef('ContainerServiceNetworkProfile', module='types') - key "nodeDisruptionProfile": ForwardRef('NodeDisruptionProfile', module='types') key "nodeProvisioningProfile": ForwardRef('ManagedClusterNodeProvisioningProfile', module='types') key "nodeResourceGroup": str key "nodeResourceGroupProfile": ForwardRef('ManagedClusterNodeResourceGroupProfile', module='types') @@ -11270,63 +7629,53 @@ namespace azure.mgmt.containerservice.types key "upgradeSettings": ForwardRef('ClusterUpgradeSettings', module='types') key "windowsProfile": ForwardRef('ManagedClusterWindowsProfile', module='types') key "workloadAutoScalerProfile": ForwardRef('ManagedClusterWorkloadAutoScalerProfile', module='types') - aad_profile: ManagedClusterAADProfile + aadProfile: ManagedClusterAADProfile addonProfiles: dict[str, ManagedClusterAddonProfile] - addon_profiles: dict[str, ManagedClusterAddonProfile] agentPoolProfiles: list[ManagedClusterAgentPoolProfile] - agent_pool_profiles: list[ManagedClusterAgentPoolProfile] - ai_toolchain_operator_profile: ManagedClusterAIToolchainOperatorProfile - api_server_access_profile: ManagedClusterAPIServerAccessProfile - auto_scaler_profile: ManagedClusterPropertiesAutoScalerProfile - auto_upgrade_profile: ManagedClusterAutoUpgradeProfile - azure_monitor_profile: ManagedClusterAzureMonitorProfile - azure_portal_fqdn: str - bootstrap_profile: ManagedClusterBootstrapProfile - control_plane_scaling_profile: ManagedClusterControlPlaneScalingProfile - creation_data: CreationData - current_kubernetes_version: str - disable_local_accounts: bool - disk_encryption_set_id: str - dns_prefix: str - enable_fips: bool - enable_namespace_resources: bool - enable_rbac: bool + aiToolchainOperatorProfile: ManagedClusterAIToolchainOperatorProfile + apiServerAccessProfile: ManagedClusterAPIServerAccessProfile + autoScalerProfile: ManagedClusterPropertiesAutoScalerProfile + autoUpgradeProfile: ManagedClusterAutoUpgradeProfile + azureMonitorProfile: ManagedClusterAzureMonitorProfile + azurePortalFQDN: str + bootstrapProfile: ManagedClusterBootstrapProfile + currentKubernetesVersion: str + disableLocalAccounts: bool + diskEncryptionSetID: str + dnsPrefix: str + enableRBAC: bool fqdn: str - fqdn_subdomain: str - health_monitor_profile: ManagedClusterHealthMonitorProfile - hosted_system_profile: ManagedClusterHostedSystemProfile - http_proxy_config: ManagedClusterHTTPProxyConfig + fqdnSubdomain: str + hostedSystemProfile: ManagedClusterHostedSystemProfile + httpProxyConfig: ManagedClusterHTTPProxyConfig identityProfile: dict[str, UserAssignedIdentity] - identity_profile: dict[str, UserAssignedIdentity] - ingress_profile: ManagedClusterIngressProfile - kubernetes_version: str - linux_profile: ContainerServiceLinuxProfile - max_agent_pools: int - metrics_profile: ManagedClusterMetricsProfile - network_profile: ContainerServiceNetworkProfile - node_disruption_profile: NodeDisruptionProfile - node_provisioning_profile: ManagedClusterNodeProvisioningProfile - node_resource_group: str - node_resource_group_profile: ManagedClusterNodeResourceGroupProfile - oidc_issuer_profile: ManagedClusterOIDCIssuerProfile - pod_identity_profile: ManagedClusterPodIdentityProfile - power_state: PowerState + ingressProfile: ManagedClusterIngressProfile + kubernetesVersion: str + linuxProfile: ContainerServiceLinuxProfile + maxAgentPools: int + metricsProfile: ManagedClusterMetricsProfile + networkProfile: ContainerServiceNetworkProfile + nodeProvisioningProfile: ManagedClusterNodeProvisioningProfile + nodeResourceGroup: str + nodeResourceGroupProfile: ManagedClusterNodeResourceGroupProfile + oidcIssuerProfile: ManagedClusterOIDCIssuerProfile + podIdentityProfile: ManagedClusterPodIdentityProfile + powerState: PowerState + privateFQDN: str privateLinkResources: list[PrivateLinkResource] - private_fqdn: str - private_link_resources: list[PrivateLinkResource] - provisioning_state: str - public_network_access: Union[str, PublicNetworkAccess] - resource_uid: str - scheduler_profile: SchedulerProfile - security_profile: ManagedClusterSecurityProfile - service_mesh_profile: ServiceMeshProfile - service_principal_profile: ManagedClusterServicePrincipalProfile + provisioningState: str + publicNetworkAccess: Union[str, PublicNetworkAccess] + resourceUID: str + schedulerProfile: SchedulerProfile + securityProfile: ManagedClusterSecurityProfile + serviceMeshProfile: ServiceMeshProfile + servicePrincipalProfile: ManagedClusterServicePrincipalProfile status: ManagedClusterStatus - storage_profile: ManagedClusterStorageProfile - support_plan: Union[str, KubernetesSupportPlan] - upgrade_settings: ClusterUpgradeSettings - windows_profile: ManagedClusterWindowsProfile - workload_auto_scaler_profile: ManagedClusterWorkloadAutoScalerProfile + storageProfile: ManagedClusterStorageProfile + supportPlan: Union[str, KubernetesSupportPlan] + upgradeSettings: ClusterUpgradeSettings + windowsProfile: ManagedClusterWindowsProfile + workloadAutoScalerProfile: ManagedClusterWorkloadAutoScalerProfile class azure.mgmt.containerservice.types.ManagedClusterPropertiesAutoScalerProfile(TypedDict): @@ -11350,37 +7699,26 @@ namespace azure.mgmt.containerservice.types key "scan-interval": str key "skip-nodes-with-local-storage": str key "skip-nodes-with-system-pods": str - balance_similar_node_groups: str - daemonset_eviction_for_empty_nodes: bool - daemonset_eviction_for_occupied_nodes: bool + balance-similar-node-groups: str + daemonset-eviction-for-empty-nodes: bool + daemonset-eviction-for-occupied-nodes: bool expander: Union[str, Expander] - ignore_daemonsets_utilization: bool - max_empty_bulk_delete: str - max_graceful_termination_sec: str - max_node_provision_time: str - max_total_unready_percentage: str - new_pod_scale_up_delay: str - ok_total_unready_count: str - scale_down_delay_after_add: str - scale_down_delay_after_delete: str - scale_down_delay_after_failure: str - scale_down_unneeded_time: str - scale_down_unready_time: str - scale_down_utilization_threshold: str - scan_interval: str - skip_nodes_with_local_storage: str - skip_nodes_with_system_pods: str - - - class azure.mgmt.containerservice.types.ManagedClusterPropertiesForSnapshot(TypedDict, total=False): - key "enableRbac": bool - key "kubernetesVersion": str - key "networkProfile": ForwardRef('NetworkProfileForSnapshot', module='types') - key "sku": ForwardRef('ManagedClusterSKU', module='types') - enable_rbac: bool - kubernetes_version: str - network_profile: NetworkProfileForSnapshot - sku: ManagedClusterSKU + ignore-daemonsets-utilization: bool + max-empty-bulk-delete: str + max-graceful-termination-sec: str + max-node-provision-time: str + max-total-unready-percentage: str + new-pod-scale-up-delay: str + ok-total-unready-count: str + scale-down-delay-after-add: str + scale-down-delay-after-delete: str + scale-down-delay-after-failure: str + scale-down-unneeded-time: str + scale-down-unready-time: str + scale-down-utilization-threshold: str + scan-interval: str + skip-nodes-with-local-storage: str + skip-nodes-with-system-pods: str class azure.mgmt.containerservice.types.ManagedClusterSKU(TypedDict, total=False): @@ -11394,36 +7732,27 @@ namespace azure.mgmt.containerservice.types key "azureKeyVaultKms": ForwardRef('AzureKeyVaultKms', module='types') key "defender": ForwardRef('ManagedClusterSecurityProfileDefender', module='types') key "imageCleaner": ForwardRef('ManagedClusterSecurityProfileImageCleaner', module='types') - key "imageIntegrity": ForwardRef('ManagedClusterSecurityProfileImageIntegrity', module='types') - key "kubernetesResourceObjectEncryptionProfile": ForwardRef('KubernetesResourceObjectEncryptionProfile', module='types') - key "nodeRestriction": ForwardRef('ManagedClusterSecurityProfileNodeRestriction', module='types') - key "serviceAccountImagePullProfile": ForwardRef('ServiceAccountImagePullProfile', module='types') key "workloadIdentity": ForwardRef('ManagedClusterSecurityProfileWorkloadIdentity', module='types') - azure_key_vault_kms: AzureKeyVaultKms + azureKeyVaultKms: AzureKeyVaultKms customCATrustCertificates: list[str] - custom_ca_trust_certificates: list[str] defender: ManagedClusterSecurityProfileDefender - image_cleaner: ManagedClusterSecurityProfileImageCleaner - image_integrity: ManagedClusterSecurityProfileImageIntegrity - kubernetes_resource_object_encryption_profile: KubernetesResourceObjectEncryptionProfile - node_restriction: ManagedClusterSecurityProfileNodeRestriction - service_account_image_pull_profile: ServiceAccountImagePullProfile - workload_identity: ManagedClusterSecurityProfileWorkloadIdentity + imageCleaner: ManagedClusterSecurityProfileImageCleaner + workloadIdentity: ManagedClusterSecurityProfileWorkloadIdentity class azure.mgmt.containerservice.types.ManagedClusterSecurityProfileDefender(TypedDict, total=False): key "logAnalyticsWorkspaceResourceId": str key "securityGating": ForwardRef('ManagedClusterSecurityProfileDefenderSecurityGating', module='types') key "securityMonitoring": ForwardRef('ManagedClusterSecurityProfileDefenderSecurityMonitoring', module='types') - log_analytics_workspace_resource_id: str - security_gating: ManagedClusterSecurityProfileDefenderSecurityGating - security_monitoring: ManagedClusterSecurityProfileDefenderSecurityMonitoring + logAnalyticsWorkspaceResourceId: str + securityGating: ManagedClusterSecurityProfileDefenderSecurityGating + securityMonitoring: ManagedClusterSecurityProfileDefenderSecurityMonitoring class azure.mgmt.containerservice.types.ManagedClusterSecurityProfileDefenderSecurityGating(TypedDict, total=False): key "allowSecretAccess": bool key "enabled": bool - allow_secret_access: bool + allowSecretAccess: bool enabled: bool identities: list[ManagedClusterSecurityProfileDefenderSecurityGatingIdentity] @@ -11431,7 +7760,7 @@ namespace azure.mgmt.containerservice.types class azure.mgmt.containerservice.types.ManagedClusterSecurityProfileDefenderSecurityGatingIdentity(TypedDict, total=False): key "azureContainerRegistry": str key "identity": ForwardRef('UserAssignedIdentity', module='types') - azure_container_registry: str + azureContainerRegistry: str identity: UserAssignedIdentity @@ -11444,17 +7773,7 @@ namespace azure.mgmt.containerservice.types key "enabled": bool key "intervalHours": int enabled: bool - interval_hours: int - - - class azure.mgmt.containerservice.types.ManagedClusterSecurityProfileImageIntegrity(TypedDict, total=False): - key "enabled": bool - enabled: bool - - - class azure.mgmt.containerservice.types.ManagedClusterSecurityProfileNodeRestriction(TypedDict, total=False): - key "enabled": bool - enabled: bool + intervalHours: int class azure.mgmt.containerservice.types.ManagedClusterSecurityProfileWorkloadIdentity(TypedDict, total=False): @@ -11465,35 +7784,10 @@ namespace azure.mgmt.containerservice.types class azure.mgmt.containerservice.types.ManagedClusterServicePrincipalProfile(TypedDict, total=False): key "clientId": Required[str] key "secret": str - client_id: str + clientId: str secret: str - class azure.mgmt.containerservice.types.ManagedClusterSnapshot(TrackedResource): - key "id": str - key "location": Required[str] - key "name": str - key "properties": ForwardRef('ManagedClusterSnapshotProperties', module='types') - key "systemData": ForwardRef('SystemData', module='types') - key "type": str - id: str - location: str - name: str - properties: ManagedClusterSnapshotProperties - system_data: SystemData - tags: dict[str, str] - type: str - - - class azure.mgmt.containerservice.types.ManagedClusterSnapshotProperties(TypedDict, total=False): - key "creationData": ForwardRef('CreationData', module='types') - key "managedClusterPropertiesReadOnly": ForwardRef('ManagedClusterPropertiesForSnapshot', module='types') - key "snapshotType": Union[str, SnapshotType] - creation_data: CreationData - managed_cluster_properties_read_only: ManagedClusterPropertiesForSnapshot - snapshot_type: Union[str, SnapshotType] - - class azure.mgmt.containerservice.types.ManagedClusterStaticEgressGatewayProfile(TypedDict, total=False): key "enabled": bool enabled: bool @@ -11501,7 +7795,7 @@ namespace azure.mgmt.containerservice.types class azure.mgmt.containerservice.types.ManagedClusterStatus(TypedDict, total=False): key "provisioningError": ForwardRef('ErrorDetail', module='types') - provisioning_error: ErrorDetail + provisioningError: ErrorDetail class azure.mgmt.containerservice.types.ManagedClusterStorageProfile(TypedDict, total=False): @@ -11509,10 +7803,10 @@ namespace azure.mgmt.containerservice.types key "diskCSIDriver": ForwardRef('ManagedClusterStorageProfileDiskCSIDriver', module='types') key "fileCSIDriver": ForwardRef('ManagedClusterStorageProfileFileCSIDriver', module='types') key "snapshotController": ForwardRef('ManagedClusterStorageProfileSnapshotController', module='types') - blob_csi_driver: ManagedClusterStorageProfileBlobCSIDriver - disk_csi_driver: ManagedClusterStorageProfileDiskCSIDriver - file_csi_driver: ManagedClusterStorageProfileFileCSIDriver - snapshot_controller: ManagedClusterStorageProfileSnapshotController + blobCSIDriver: ManagedClusterStorageProfileBlobCSIDriver + diskCSIDriver: ManagedClusterStorageProfileDiskCSIDriver + fileCSIDriver: ManagedClusterStorageProfileFileCSIDriver + snapshotController: ManagedClusterStorageProfileSnapshotController class azure.mgmt.containerservice.types.ManagedClusterStorageProfileBlobCSIDriver(TypedDict, total=False): @@ -11537,7 +7831,7 @@ namespace azure.mgmt.containerservice.types class azure.mgmt.containerservice.types.ManagedClusterWebAppRoutingGatewayAPIImplementations(TypedDict, total=False): key "appRoutingIstio": ForwardRef('ManagedClusterAppRoutingIstio', module='types') - app_routing_istio: ManagedClusterAppRoutingIstio + appRoutingIstio: ManagedClusterAppRoutingIstio class azure.mgmt.containerservice.types.ManagedClusterWindowsProfile(TypedDict, total=False): @@ -11546,18 +7840,18 @@ namespace azure.mgmt.containerservice.types key "enableCSIProxy": bool key "gmsaProfile": ForwardRef('WindowsGmsaProfile', module='types') key "licenseType": Union[str, LicenseType] - admin_password: str - admin_username: str - enable_csi_proxy: bool - gmsa_profile: WindowsGmsaProfile - license_type: Union[str, LicenseType] + adminPassword: str + adminUsername: str + enableCSIProxy: bool + gmsaProfile: WindowsGmsaProfile + licenseType: Union[str, LicenseType] class azure.mgmt.containerservice.types.ManagedClusterWorkloadAutoScalerProfile(TypedDict, total=False): key "keda": ForwardRef('ManagedClusterWorkloadAutoScalerProfileKeda', module='types') key "verticalPodAutoscaler": ForwardRef('ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler', module='types') keda: ManagedClusterWorkloadAutoScalerProfileKeda - vertical_pod_autoscaler: ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler + verticalPodAutoscaler: ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler class azure.mgmt.containerservice.types.ManagedClusterWorkloadAutoScalerProfileKeda(TypedDict, total=False): @@ -11566,9 +7860,7 @@ namespace azure.mgmt.containerservice.types class azure.mgmt.containerservice.types.ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler(TypedDict, total=False): - key "addonAutoscaling": Union[str, AddonAutoscaling] key "enabled": Required[bool] - addon_autoscaling: Union[str, AddonAutoscaling] enabled: bool @@ -11580,12 +7872,12 @@ namespace azure.mgmt.containerservice.types key "properties": ForwardRef('NamespaceProperties', module='types') key "systemData": ForwardRef('SystemData', module='types') key "type": str - e_tag: str + eTag: str id: str location: str name: str properties: NamespaceProperties - system_data: SystemData + systemData: SystemData tags: dict[str, str] type: str @@ -11593,8 +7885,8 @@ namespace azure.mgmt.containerservice.types class azure.mgmt.containerservice.types.ManagedServiceIdentityUserAssignedIdentitiesValue(TypedDict, total=False): key "clientId": str key "principalId": str - client_id: str - principal_id: str + clientId: str + principalId: str class azure.mgmt.containerservice.types.ManualScaleProfile(TypedDict, total=False): @@ -11604,39 +7896,6 @@ namespace azure.mgmt.containerservice.types size: str - class azure.mgmt.containerservice.types.MeshMembership(ProxyResource): - key "eTag": str - key "id": str - key "managedBy": str - key "name": str - key "properties": ForwardRef('MeshMembershipProperties', module='types') - key "systemData": ForwardRef('SystemData', module='types') - key "type": str - e_tag: str - id: str - managed_by: str - name: str - properties: MeshMembershipProperties - system_data: SystemData - type: str - - - class azure.mgmt.containerservice.types.MeshMembershipPrivateConnectProfile(TypedDict, total=False): - key "privateIpAddress": str - key "subnetResourceId": str - private_ip_address: str - subnet_resource_id: str - - - class azure.mgmt.containerservice.types.MeshMembershipProperties(TypedDict, total=False): - key "managedMeshID": Required[str] - key "privateConnectProfile": ForwardRef('MeshMembershipPrivateConnectProfile', module='types') - key "provisioningState": Union[str, MeshMembershipProvisioningState] - managed_mesh_id: str - private_connect_profile: MeshMembershipPrivateConnectProfile - provisioning_state: Union[str, MeshMembershipProvisioningState] - - class azure.mgmt.containerservice.types.NamespaceProperties(TypedDict, total=False): key "adoptionPolicy": Union[str, AdoptionPolicy] key "defaultNetworkPolicy": ForwardRef('NetworkPolicies', module='types') @@ -11644,14 +7903,14 @@ namespace azure.mgmt.containerservice.types key "deletePolicy": Union[str, DeletePolicy] key "portalFqdn": str key "provisioningState": Union[str, NamespaceProvisioningState] - adoption_policy: Union[str, AdoptionPolicy] + adoptionPolicy: Union[str, AdoptionPolicy] annotations: dict[str, str] - default_network_policy: NetworkPolicies - default_resource_quota: ResourceQuota - delete_policy: Union[str, DeletePolicy] + defaultNetworkPolicy: NetworkPolicies + defaultResourceQuota: ResourceQuota + deletePolicy: Union[str, DeletePolicy] labels: dict[str, str] - portal_fqdn: str - provisioning_state: Union[str, NamespaceProvisioningState] + portalFqdn: str + provisioningState: Union[str, NamespaceProvisioningState] class azure.mgmt.containerservice.types.NetworkPolicies(TypedDict, total=False): @@ -11661,37 +7920,12 @@ namespace azure.mgmt.containerservice.types ingress: Union[str, PolicyRule] - class azure.mgmt.containerservice.types.NetworkProfileForSnapshot(TypedDict, total=False): - key "loadBalancerSku": Union[str, LoadBalancerSku] - key "networkMode": Union[str, NetworkMode] - key "networkPlugin": Union[str, NetworkPlugin] - key "networkPluginMode": Union[str, NetworkPluginMode] - key "networkPolicy": Union[str, NetworkPolicy] - load_balancer_sku: Union[str, LoadBalancerSku] - network_mode: Union[str, NetworkMode] - network_plugin: Union[str, NetworkPlugin] - network_plugin_mode: Union[str, NetworkPluginMode] - network_policy: Union[str, NetworkPolicy] - - - class azure.mgmt.containerservice.types.NodeDisruptionProfile(TypedDict, total=False): - key "nodeDisruptionPolicy": Union[str, NodeDisruptionPolicy] - node_disruption_policy: Union[str, NodeDisruptionPolicy] - - - class azure.mgmt.containerservice.types.NvidiaGPUProfile(TypedDict, total=False): - key "managementMode": Union[str, ManagementMode] - key "migStrategy": Union[str, MigStrategy] - management_mode: Union[str, ManagementMode] - mig_strategy: Union[str, MigStrategy] - - class azure.mgmt.containerservice.types.PortRange(TypedDict, total=False): key "portEnd": int key "portStart": int key "protocol": Union[str, Protocol] - port_end: int - port_start: int + portEnd: int + portStart: int protocol: Union[str, Protocol] @@ -11700,11 +7934,6 @@ namespace azure.mgmt.containerservice.types code: Union[str, Code] - class azure.mgmt.containerservice.types.PreparedImageSpecificationProfile(TypedDict, total=False): - key "preparedImageSpecificationId": str - prepared_image_specification_id: str - - class azure.mgmt.containerservice.types.PrivateEndpoint(TypedDict, total=False): key "id": str id: str @@ -11719,7 +7948,7 @@ namespace azure.mgmt.containerservice.types id: str name: str properties: PrivateEndpointConnectionProperties - system_data: SystemData + systemData: SystemData type: str @@ -11727,9 +7956,9 @@ namespace azure.mgmt.containerservice.types key "privateEndpoint": ForwardRef('PrivateEndpoint', module='types') key "privateLinkServiceConnectionState": Required[PrivateLinkServiceConnectionState] key "provisioningState": Union[str, PrivateEndpointConnectionProvisioningState] - private_endpoint: PrivateEndpoint - private_link_service_connection_state: PrivateLinkServiceConnectionState - provisioning_state: Union[str, PrivateEndpointConnectionProvisioningState] + privateEndpoint: PrivateEndpoint + privateLinkServiceConnectionState: PrivateLinkServiceConnectionState + provisioningState: Union[str, PrivateEndpointConnectionProvisioningState] class azure.mgmt.containerservice.types.PrivateLinkResource(TypedDict, total=False): @@ -11738,12 +7967,11 @@ namespace azure.mgmt.containerservice.types key "name": str key "privateLinkServiceID": str key "type": str - group_id: str + groupId: str id: str name: str - private_link_service_id: str + privateLinkServiceID: str requiredMembers: list[str] - required_members: list[str] type: str @@ -11761,22 +7989,17 @@ namespace azure.mgmt.containerservice.types key "type": str id: str name: str - system_data: SystemData + systemData: SystemData type: str - class azure.mgmt.containerservice.types.RebalanceLoadBalancersRequestBody(TypedDict, total=False): - loadBalancerNames: list[str] - load_balancer_names: list[str] - - class azure.mgmt.containerservice.types.RelativeMonthlySchedule(TypedDict, total=False): key "dayOfWeek": Required[Union[str, WeekDay]] key "intervalMonths": Required[int] key "weekIndex": Required[Union[str, Type]] - day_of_week: Union[str, WeekDay] - interval_months: int - week_index: Union[str, Type] + dayOfWeek: Union[str, WeekDay] + intervalMonths: int + weekIndex: Union[str, Type] class azure.mgmt.containerservice.types.Resource(TypedDict, total=False): @@ -11786,7 +8009,7 @@ namespace azure.mgmt.containerservice.types key "type": str id: str name: str - system_data: SystemData + systemData: SystemData type: str @@ -11795,10 +8018,10 @@ namespace azure.mgmt.containerservice.types key "cpuRequest": str key "memoryLimit": str key "memoryRequest": str - cpu_limit: str - cpu_request: str - memory_limit: str - memory_request: str + cpuLimit: str + cpuRequest: str + memoryLimit: str + memoryRequest: str class azure.mgmt.containerservice.types.ResourceReference(TypedDict, total=False): @@ -11810,7 +8033,7 @@ namespace azure.mgmt.containerservice.types key "clusterToken": str key "command": Required[str] key "context": str - cluster_token: str + clusterToken: str command: str context: str @@ -11825,15 +8048,15 @@ namespace azure.mgmt.containerservice.types key "daily": ForwardRef('DailySchedule', module='types') key "relativeMonthly": ForwardRef('RelativeMonthlySchedule', module='types') key "weekly": ForwardRef('WeeklySchedule', module='types') - absolute_monthly: AbsoluteMonthlySchedule + absoluteMonthly: AbsoluteMonthlySchedule daily: DailySchedule - relative_monthly: RelativeMonthlySchedule + relativeMonthly: RelativeMonthlySchedule weekly: WeeklySchedule class azure.mgmt.containerservice.types.SchedulerInstanceProfile(TypedDict, total=False): key "schedulerConfigMode": Union[str, SchedulerConfigMode] - scheduler_config_mode: Union[str, SchedulerConfigMode] + schedulerConfigMode: Union[str, SchedulerConfigMode] class azure.mgmt.containerservice.types.SchedulerProfile(TypedDict, total=False): @@ -11841,13 +8064,6 @@ namespace azure.mgmt.containerservice.types upstream: SchedulerInstanceProfile - class azure.mgmt.containerservice.types.ServiceAccountImagePullProfile(TypedDict, total=False): - key "defaultManagedIdentityId": str - key "enabled": bool - default_managed_identity_id: str - enabled: bool - - class azure.mgmt.containerservice.types.ServiceMeshProfile(TypedDict, total=False): key "istio": ForwardRef('IstioServiceMesh', module='types') key "mode": Required[Union[str, ServiceMeshMode]] @@ -11866,7 +8082,7 @@ namespace azure.mgmt.containerservice.types location: str name: str properties: SnapshotProperties - system_data: SystemData + systemData: SystemData tags: dict[str, str] type: str @@ -11880,14 +8096,14 @@ namespace azure.mgmt.containerservice.types key "osType": Union[str, OSType] key "snapshotType": Union[str, SnapshotType] key "vmSize": str - creation_data: CreationData - enable_fips: bool - kubernetes_version: str - node_image_version: str - os_sku: Union[str, OSSKU] - os_type: Union[str, OSType] - snapshot_type: Union[str, SnapshotType] - vm_size: str + creationData: CreationData + enableFIPS: bool + kubernetesVersion: str + nodeImageVersion: str + osSku: Union[str, OSSKU] + osType: Union[str, OSType] + snapshotType: Union[str, SnapshotType] + vmSize: str class azure.mgmt.containerservice.types.SysctlConfig(TypedDict, total=False): @@ -11919,34 +8135,34 @@ namespace azure.mgmt.containerservice.types key "vmMaxMapCount": int key "vmSwappiness": int key "vmVfsCachePressure": int - fs_aio_max_nr: int - fs_file_max: int - fs_inotify_max_user_watches: int - fs_nr_open: int - kernel_threads_max: int - net_core_netdev_max_backlog: int - net_core_optmem_max: int - net_core_rmem_default: int - net_core_rmem_max: int - net_core_somaxconn: int - net_core_wmem_default: int - net_core_wmem_max: int - net_ipv4_ip_local_port_range: str - net_ipv4_neigh_default_gc_thresh1: int - net_ipv4_neigh_default_gc_thresh2: int - net_ipv4_neigh_default_gc_thresh3: int - net_ipv4_tcp_fin_timeout: int - net_ipv4_tcp_keepalive_probes: int - net_ipv4_tcp_keepalive_time: int - net_ipv4_tcp_max_syn_backlog: int - net_ipv4_tcp_max_tw_buckets: int - net_ipv4_tcp_tw_reuse: bool - net_ipv4_tcpkeepalive_intvl: int - net_netfilter_nf_conntrack_buckets: int - net_netfilter_nf_conntrack_max: int - vm_max_map_count: int - vm_swappiness: int - vm_vfs_cache_pressure: int + fsAioMaxNr: int + fsFileMax: int + fsInotifyMaxUserWatches: int + fsNrOpen: int + kernelThreadsMax: int + netCoreNetdevMaxBacklog: int + netCoreOptmemMax: int + netCoreRmemDefault: int + netCoreRmemMax: int + netCoreSomaxconn: int + netCoreWmemDefault: int + netCoreWmemMax: int + netIpv4IpLocalPortRange: str + netIpv4NeighDefaultGcThresh1: int + netIpv4NeighDefaultGcThresh2: int + netIpv4NeighDefaultGcThresh3: int + netIpv4TcpFinTimeout: int + netIpv4TcpKeepaliveProbes: int + netIpv4TcpKeepaliveTime: int + netIpv4TcpMaxSynBacklog: int + netIpv4TcpMaxTwBuckets: int + netIpv4TcpTwReuse: bool + netIpv4TcpkeepaliveIntvl: int + netNetfilterNfConntrackBuckets: int + netNetfilterNfConntrackMax: int + vmMaxMapCount: int + vmSwappiness: int + vmVfsCachePressure: int class azure.mgmt.containerservice.types.SystemData(TypedDict, total=False): @@ -11956,12 +8172,12 @@ namespace azure.mgmt.containerservice.types key "lastModifiedAt": str key "lastModifiedBy": str key "lastModifiedByType": Union[str, CreatedByType] - created_at: str - created_by: str - created_by_type: Union[str, CreatedByType] - last_modified_at: str - last_modified_by: str - last_modified_by_type: Union[str, CreatedByType] + createdAt: str + createdBy: str + createdByType: Union[str, CreatedByType] + lastModifiedAt: str + lastModifiedBy: str + lastModifiedByType: Union[str, CreatedByType] class azure.mgmt.containerservice.types.TagsObject(TypedDict, total=False): @@ -11972,7 +8188,6 @@ namespace azure.mgmt.containerservice.types key "day": Union[str, WeekDay] day: Union[str, WeekDay] hourSlots: list[int] - hour_slots: list[int] class azure.mgmt.containerservice.types.TimeSpan(TypedDict, total=False): @@ -11991,7 +8206,7 @@ namespace azure.mgmt.containerservice.types id: str location: str name: str - system_data: SystemData + systemData: SystemData tags: dict[str, str] type: str @@ -12005,7 +8220,7 @@ namespace azure.mgmt.containerservice.types id: str name: str properties: TrustedAccessRoleBindingProperties - system_data: SystemData + systemData: SystemData type: str @@ -12013,15 +8228,15 @@ namespace azure.mgmt.containerservice.types key "provisioningState": Union[str, TrustedAccessRoleBindingProvisioningState] key "roles": Required[list[str]] key "sourceResourceId": Required[str] - provisioning_state: Union[str, TrustedAccessRoleBindingProvisioningState] + provisioningState: Union[str, TrustedAccessRoleBindingProvisioningState] roles: list[str] - source_resource_id: str + sourceResourceId: str class azure.mgmt.containerservice.types.UpgradeOverrideSettings(TypedDict, total=False): key "forceUpgrade": bool key "until": str - force_upgrade: bool + forceUpgrade: bool until: str @@ -12029,9 +8244,9 @@ namespace azure.mgmt.containerservice.types key "clientId": str key "objectId": str key "resourceId": str - client_id: str - object_id: str - resource_id: str + clientId: str + objectId: str + resourceId: str class azure.mgmt.containerservice.types.VirtualMachineNodes(TypedDict, total=False): @@ -12049,17 +8264,17 @@ namespace azure.mgmt.containerservice.types class azure.mgmt.containerservice.types.WeeklySchedule(TypedDict, total=False): key "dayOfWeek": Required[Union[str, WeekDay]] key "intervalWeeks": Required[int] - day_of_week: Union[str, WeekDay] - interval_weeks: int + dayOfWeek: Union[str, WeekDay] + intervalWeeks: int class azure.mgmt.containerservice.types.WindowsGmsaProfile(TypedDict, total=False): key "dnsServer": str key "enabled": bool key "rootDomainName": str - dns_server: str + dnsServer: str enabled: bool - root_domain_name: str + rootDomainName: str ``` \ No newline at end of file diff --git a/sdk/containerservice/azure-mgmt-containerservice/api.metadata.yml b/sdk/containerservice/azure-mgmt-containerservice/api.metadata.yml index 5479d638bbf3..c5f673d175ec 100644 --- a/sdk/containerservice/azure-mgmt-containerservice/api.metadata.yml +++ b/sdk/containerservice/azure-mgmt-containerservice/api.metadata.yml @@ -1,3 +1,3 @@ -apiMdSha256: 7d0383d6fbb4deef19972bab524821fb34ba3c3a0dcd17d8548adacccdd4dfe0 -parserVersion: 0.3.30 +apiMdSha256: 25de3fac3dcf854be72123df1d95407b35dec8d11c12e1d40d39958f3388026c +parserVersion: 0.3.31 pythonVersion: 3.13.14 diff --git a/sdk/containerservice/azure-mgmt-containerservice/apiview-properties.json b/sdk/containerservice/azure-mgmt-containerservice/apiview-properties.json index eab92f7796b3..a1633b4d039e 100644 --- a/sdk/containerservice/azure-mgmt-containerservice/apiview-properties.json +++ b/sdk/containerservice/azure-mgmt-containerservice/apiview-properties.json @@ -15,11 +15,9 @@ "azure.mgmt.containerservice.models.AgentPoolAvailableVersions": "Microsoft.ContainerService.AgentPoolAvailableVersions", "azure.mgmt.containerservice.models.AgentPoolAvailableVersionsProperties": "Microsoft.ContainerService.AgentPoolAvailableVersionsProperties", "azure.mgmt.containerservice.models.AgentPoolAvailableVersionsPropertiesAgentPoolVersionsItem": "Microsoft.ContainerService.AgentPoolAvailableVersionsPropertiesAgentPoolVersionsItem", - "azure.mgmt.containerservice.models.AgentPoolBlueGreenUpgradeSettings": "Microsoft.ContainerService.AgentPoolBlueGreenUpgradeSettings", "azure.mgmt.containerservice.models.AgentPoolDeleteMachinesParameter": "Microsoft.ContainerService.AgentPoolDeleteMachinesParameter", "azure.mgmt.containerservice.models.AgentPoolGatewayProfile": "Microsoft.ContainerService.AgentPoolGatewayProfile", "azure.mgmt.containerservice.models.AgentPoolManagedClusterAgentPoolProfileProperties": "Microsoft.ContainerService.AgentPoolManagedClusterAgentPoolProfileProperties", - "azure.mgmt.containerservice.models.AgentPoolNetworkInterface": "Microsoft.ContainerService.AgentPoolNetworkInterface", "azure.mgmt.containerservice.models.AgentPoolNetworkProfile": "Microsoft.ContainerService.AgentPoolNetworkProfile", "azure.mgmt.containerservice.models.AgentPoolRecentlyUsedVersion": "Microsoft.ContainerService.AgentPoolRecentlyUsedVersion", "azure.mgmt.containerservice.models.AgentPoolSecurityProfile": "Microsoft.ContainerService.AgentPoolSecurityProfile", @@ -29,29 +27,13 @@ "azure.mgmt.containerservice.models.AgentPoolUpgradeProfilePropertiesUpgradesItem": "Microsoft.ContainerService.AgentPoolUpgradeProfilePropertiesUpgradesItem", "azure.mgmt.containerservice.models.AgentPoolUpgradeSettings": "Microsoft.ContainerService.AgentPoolUpgradeSettings", "azure.mgmt.containerservice.models.AgentPoolWindowsProfile": "Microsoft.ContainerService.AgentPoolWindowsProfile", - "azure.mgmt.containerservice.models.AlertConfiguration": "Microsoft.ContainerService.AlertConfiguration", - "azure.mgmt.containerservice.models.AlertConfigurationProperties": "Microsoft.ContainerService.AlertConfigurationProperties", - "azure.mgmt.containerservice.models.AlertNotification": "Microsoft.ContainerService.AlertNotification", - "azure.mgmt.containerservice.models.AllowedSubject": "Microsoft.ContainerService.AllowedSubject", "azure.mgmt.containerservice.models.AutoScaleProfile": "Microsoft.ContainerService.AutoScaleProfile", "azure.mgmt.containerservice.models.AzureKeyVaultKms": "Microsoft.ContainerService.AzureKeyVaultKms", - "azure.mgmt.containerservice.models.BastionProfile": "Microsoft.ContainerService.BastionProfile", - "azure.mgmt.containerservice.models.BootstrapAzureConfig": "Microsoft.ContainerService.BootstrapAzureConfig", - "azure.mgmt.containerservice.models.BootstrapComponentVersions": "Microsoft.ContainerService.BootstrapComponentVersions", - "azure.mgmt.containerservice.models.BootstrapKubeletConfig": "Microsoft.ContainerService.BootstrapKubeletConfig", - "azure.mgmt.containerservice.models.BootstrapNetworkingConfig": "Microsoft.ContainerService.BootstrapNetworkingConfig", - "azure.mgmt.containerservice.models.BootstrapNodeConfig": "Microsoft.ContainerService.BootstrapNodeConfig", - "azure.mgmt.containerservice.models.BootstrapTargetCluster": "Microsoft.ContainerService.BootstrapTargetCluster", - "azure.mgmt.containerservice.models.BootstrapTokenInfo": "Microsoft.ContainerService.BootstrapTokenInfo", "azure.mgmt.containerservice.models.ClusterUpgradeSettings": "Microsoft.ContainerService.ClusterUpgradeSettings", "azure.mgmt.containerservice.models.CommandResultProperties": "Microsoft.ContainerService.CommandResultProperties", "azure.mgmt.containerservice.models.CompatibleVersions": "Microsoft.ContainerService.CompatibleVersions", - "azure.mgmt.containerservice.models.Component": "Microsoft.ContainerService.Component", - "azure.mgmt.containerservice.models.ComponentsByRelease": "Microsoft.ContainerService.ComponentsByRelease", "azure.mgmt.containerservice.models.ContainerServiceLinuxProfile": "Microsoft.ContainerService.ContainerServiceLinuxProfile", "azure.mgmt.containerservice.models.ContainerServiceNetworkProfile": "Microsoft.ContainerService.ContainerServiceNetworkProfile", - "azure.mgmt.containerservice.models.ContainerServiceNetworkProfileKubeProxyConfig": "Microsoft.ContainerService.ContainerServiceNetworkProfileKubeProxyConfig", - "azure.mgmt.containerservice.models.ContainerServiceNetworkProfileKubeProxyConfigIpvsConfig": "Microsoft.ContainerService.ContainerServiceNetworkProfileKubeProxyConfigIpvsConfig", "azure.mgmt.containerservice.models.ContainerServiceSshConfiguration": "Microsoft.ContainerService.ContainerServiceSshConfiguration", "azure.mgmt.containerservice.models.ContainerServiceSshPublicKey": "Microsoft.ContainerService.ContainerServiceSshPublicKey", "azure.mgmt.containerservice.models.CreationData": "Microsoft.ContainerService.CreationData", @@ -67,9 +49,6 @@ "azure.mgmt.containerservice.models.ErrorResponse": "Azure.ResourceManager.CommonTypes.ErrorResponse", "azure.mgmt.containerservice.models.ExtendedLocation": "Microsoft.ContainerService.ExtendedLocation", "azure.mgmt.containerservice.models.GPUProfile": "Microsoft.ContainerService.GPUProfile", - "azure.mgmt.containerservice.models.GuardrailsAvailableVersion": "Microsoft.ContainerService.GuardrailsAvailableVersion", - "azure.mgmt.containerservice.models.GuardrailsAvailableVersionsProperties": "Microsoft.ContainerService.GuardrailsAvailableVersionsProperties", - "azure.mgmt.containerservice.models.HardEvictionThreshold": "Microsoft.ContainerService.HardEvictionThreshold", "azure.mgmt.containerservice.models.IdentityBinding": "Microsoft.ContainerService.IdentityBinding", "azure.mgmt.containerservice.models.IdentityBindingManagedIdentityProfile": "Microsoft.ContainerService.IdentityBindingManagedIdentityProfile", "azure.mgmt.containerservice.models.IdentityBindingOidcIssuerProfile": "Microsoft.ContainerService.IdentityBindingOidcIssuerProfile", @@ -81,45 +60,22 @@ "azure.mgmt.containerservice.models.IstioIngressGateway": "Microsoft.ContainerService.IstioIngressGateway", "azure.mgmt.containerservice.models.IstioPluginCertificateAuthority": "Microsoft.ContainerService.IstioPluginCertificateAuthority", "azure.mgmt.containerservice.models.IstioServiceMesh": "Microsoft.ContainerService.IstioServiceMesh", - "azure.mgmt.containerservice.models.JWTAuthenticator": "Microsoft.ContainerService.JWTAuthenticator", - "azure.mgmt.containerservice.models.JWTAuthenticatorClaimMappingExpression": "Microsoft.ContainerService.JWTAuthenticatorClaimMappingExpression", - "azure.mgmt.containerservice.models.JWTAuthenticatorClaimMappings": "Microsoft.ContainerService.JWTAuthenticatorClaimMappings", - "azure.mgmt.containerservice.models.JWTAuthenticatorExtraClaimMappingExpression": "Microsoft.ContainerService.JWTAuthenticatorExtraClaimMappingExpression", - "azure.mgmt.containerservice.models.JWTAuthenticatorIssuer": "Microsoft.ContainerService.JWTAuthenticatorIssuer", - "azure.mgmt.containerservice.models.JWTAuthenticatorProperties": "Microsoft.ContainerService.JWTAuthenticatorProperties", - "azure.mgmt.containerservice.models.JWTAuthenticatorValidationRule": "Microsoft.ContainerService.JWTAuthenticatorValidationRule", "azure.mgmt.containerservice.models.KubeletConfig": "Microsoft.ContainerService.KubeletConfig", - "azure.mgmt.containerservice.models.KubeReserved": "Microsoft.ContainerService.KubeReserved", "azure.mgmt.containerservice.models.KubernetesPatchVersion": "Microsoft.ContainerService.KubernetesPatchVersion", - "azure.mgmt.containerservice.models.KubernetesResourceObjectEncryptionProfile": "Microsoft.ContainerService.KubernetesResourceObjectEncryptionProfile", "azure.mgmt.containerservice.models.KubernetesVersion": "Microsoft.ContainerService.KubernetesVersion", "azure.mgmt.containerservice.models.KubernetesVersionCapabilities": "Microsoft.ContainerService.KubernetesVersionCapabilities", "azure.mgmt.containerservice.models.KubernetesVersionListResult": "Microsoft.ContainerService.KubernetesVersionListResult", - "azure.mgmt.containerservice.models.LabelSelector": "Microsoft.ContainerService.LabelSelector", - "azure.mgmt.containerservice.models.LabelSelectorRequirement": "Microsoft.ContainerService.LabelSelectorRequirement", "azure.mgmt.containerservice.models.LinuxOSConfig": "Microsoft.ContainerService.LinuxOSConfig", - "azure.mgmt.containerservice.models.ListBootstrapDataRequest": "Microsoft.ContainerService.ListBootstrapDataRequest", - "azure.mgmt.containerservice.models.LoadBalancer": "Microsoft.ContainerService.LoadBalancer", - "azure.mgmt.containerservice.models.LoadBalancerProperties": "Microsoft.ContainerService.LoadBalancerProperties", "azure.mgmt.containerservice.models.LocalDNSOverride": "Microsoft.ContainerService.LocalDNSOverride", "azure.mgmt.containerservice.models.LocalDNSProfile": "Microsoft.ContainerService.LocalDNSProfile", "azure.mgmt.containerservice.models.Machine": "Microsoft.ContainerService.Machine", - "azure.mgmt.containerservice.models.MachineBillingProfile": "Microsoft.ContainerService.MachineBillingProfile", - "azure.mgmt.containerservice.models.MachineHardwareProfile": "Microsoft.ContainerService.MachineHardwareProfile", "azure.mgmt.containerservice.models.MachineIpAddress": "Microsoft.ContainerService.MachineIpAddress", - "azure.mgmt.containerservice.models.MachineKubernetesProfile": "Microsoft.ContainerService.MachineKubernetesProfile", "azure.mgmt.containerservice.models.MachineNetworkProperties": "Microsoft.ContainerService.MachineNetworkProperties", - "azure.mgmt.containerservice.models.MachineOSProfile": "Microsoft.ContainerService.MachineOSProfile", - "azure.mgmt.containerservice.models.MachineOSProfileLinuxProfile": "Microsoft.ContainerService.MachineOSProfileLinuxProfile", "azure.mgmt.containerservice.models.MachineProperties": "Microsoft.ContainerService.MachineProperties", - "azure.mgmt.containerservice.models.MachineSecurityProfile": "Microsoft.ContainerService.MachineSecurityProfile", - "azure.mgmt.containerservice.models.MachineStatus": "Microsoft.ContainerService.MachineStatus", "azure.mgmt.containerservice.models.MaintenanceConfiguration": "Microsoft.ContainerService.MaintenanceConfiguration", "azure.mgmt.containerservice.models.MaintenanceConfigurationProperties": "Microsoft.ContainerService.MaintenanceConfigurationProperties", "azure.mgmt.containerservice.models.MaintenanceWindow": "Microsoft.ContainerService.MaintenanceWindow", "azure.mgmt.containerservice.models.TrackedResource": "Azure.ResourceManager.CommonTypes.TrackedResource", - "azure.mgmt.containerservice.models.MaintenanceWindowResource": "Microsoft.ContainerService.MaintenanceWindowResource", - "azure.mgmt.containerservice.models.MaintenanceWindowResourceProperties": "Microsoft.ContainerService.MaintenanceWindowResourceProperties", "azure.mgmt.containerservice.models.ManagedCluster": "Microsoft.ContainerService.ManagedCluster", "azure.mgmt.containerservice.models.ManagedClusterAADProfile": "Microsoft.ContainerService.ManagedClusterAADProfile", "azure.mgmt.containerservice.models.ManagedClusterAccessProfile": "Microsoft.ContainerService.ManagedClusterAccessProfile", @@ -135,22 +91,15 @@ "azure.mgmt.containerservice.models.ManagedClusterAzureMonitorProfile": "Microsoft.ContainerService.ManagedClusterAzureMonitorProfile", "azure.mgmt.containerservice.models.ManagedClusterAzureMonitorProfileAppMonitoring": "Microsoft.ContainerService.ManagedClusterAzureMonitorProfileAppMonitoring", "azure.mgmt.containerservice.models.ManagedClusterAzureMonitorProfileAppMonitoringAutoInstrumentation": "Microsoft.ContainerService.ManagedClusterAzureMonitorProfileAppMonitoringAutoInstrumentation", - "azure.mgmt.containerservice.models.ManagedClusterAzureMonitorProfileAppMonitoringOpenTelemetryLogsAndTraces": "Microsoft.ContainerService.ManagedClusterAzureMonitorProfileAppMonitoringOpenTelemetryLogsAndTraces", - "azure.mgmt.containerservice.models.ManagedClusterAzureMonitorProfileAppMonitoringOpenTelemetryMetrics": "Microsoft.ContainerService.ManagedClusterAzureMonitorProfileAppMonitoringOpenTelemetryMetrics", - "azure.mgmt.containerservice.models.ManagedClusterAzureMonitorProfileContainerInsights": "Microsoft.ContainerService.ManagedClusterAzureMonitorProfileContainerInsights", "azure.mgmt.containerservice.models.ManagedClusterAzureMonitorProfileKubeStateMetrics": "Microsoft.ContainerService.ManagedClusterAzureMonitorProfileKubeStateMetrics", "azure.mgmt.containerservice.models.ManagedClusterAzureMonitorProfileMetrics": "Microsoft.ContainerService.ManagedClusterAzureMonitorProfileMetrics", "azure.mgmt.containerservice.models.ManagedClusterAzureMonitorProfileMetricsControlPlane": "Microsoft.ContainerService.ManagedClusterAzureMonitorProfileMetricsControlPlane", "azure.mgmt.containerservice.models.ManagedClusterBootstrapProfile": "Microsoft.ContainerService.ManagedClusterBootstrapProfile", - "azure.mgmt.containerservice.models.ManagedClusterControlPlaneScalingProfile": "Microsoft.ContainerService.ManagedClusterControlPlaneScalingProfile", "azure.mgmt.containerservice.models.ManagedClusterCostAnalysis": "Microsoft.ContainerService.ManagedClusterCostAnalysis", - "azure.mgmt.containerservice.models.ManagedClusterHealthMonitorProfile": "Microsoft.ContainerService.ManagedClusterHealthMonitorProfile", "azure.mgmt.containerservice.models.ManagedClusterHostedSystemProfile": "Microsoft.ContainerService.ManagedClusterHostedSystemProfile", "azure.mgmt.containerservice.models.ManagedClusterHTTPProxyConfig": "Microsoft.ContainerService.ManagedClusterHTTPProxyConfig", "azure.mgmt.containerservice.models.ManagedClusterIdentity": "Microsoft.ContainerService.ManagedClusterIdentity", - "azure.mgmt.containerservice.models.ManagedClusterIngressDefaultDomainProfile": "Microsoft.ContainerService.ManagedClusterIngressDefaultDomainProfile", "azure.mgmt.containerservice.models.ManagedClusterIngressProfile": "Microsoft.ContainerService.ManagedClusterIngressProfile", - "azure.mgmt.containerservice.models.ManagedClusterIngressProfileApplicationLoadBalancer": "Microsoft.ContainerService.ManagedClusterIngressProfileApplicationLoadBalancer", "azure.mgmt.containerservice.models.ManagedClusterIngressProfileGatewayConfiguration": "Microsoft.ContainerService.ManagedClusterIngressProfileGatewayConfiguration", "azure.mgmt.containerservice.models.ManagedClusterIngressProfileNginx": "Microsoft.ContainerService.ManagedClusterIngressProfileNginx", "azure.mgmt.containerservice.models.ManagedClusterIngressProfileWebAppRouting": "Microsoft.ContainerService.ManagedClusterIngressProfileWebAppRouting", @@ -161,8 +110,6 @@ "azure.mgmt.containerservice.models.ManagedClusterManagedOutboundIPProfile": "Microsoft.ContainerService.ManagedClusterManagedOutboundIPProfile", "azure.mgmt.containerservice.models.ManagedClusterMetricsProfile": "Microsoft.ContainerService.ManagedClusterMetricsProfile", "azure.mgmt.containerservice.models.ManagedClusterNATGatewayProfile": "Microsoft.ContainerService.ManagedClusterNATGatewayProfile", - "azure.mgmt.containerservice.models.ManagedClusterNATGatewayProfileOutboundIpPrefixes": "Microsoft.ContainerService.ManagedClusterNATGatewayProfile.outboundIPPrefixes.anonymous", - "azure.mgmt.containerservice.models.ManagedClusterNATGatewayProfileOutboundIPs": "Microsoft.ContainerService.ManagedClusterNATGatewayProfile.outboundIPs.anonymous", "azure.mgmt.containerservice.models.ManagedClusterNodeProvisioningProfile": "Microsoft.ContainerService.ManagedClusterNodeProvisioningProfile", "azure.mgmt.containerservice.models.ManagedClusterNodeResourceGroupProfile": "Microsoft.ContainerService.ManagedClusterNodeResourceGroupProfile", "azure.mgmt.containerservice.models.ManagedClusterOIDCIssuerProfile": "Microsoft.ContainerService.ManagedClusterOIDCIssuerProfile", @@ -176,20 +123,15 @@ "azure.mgmt.containerservice.models.ManagedClusterPoolUpgradeProfileUpgradesItem": "Microsoft.ContainerService.ManagedClusterPoolUpgradeProfileUpgradesItem", "azure.mgmt.containerservice.models.ManagedClusterProperties": "Microsoft.ContainerService.ManagedClusterProperties", "azure.mgmt.containerservice.models.ManagedClusterPropertiesAutoScalerProfile": "Microsoft.ContainerService.ManagedClusterPropertiesAutoScalerProfile", - "azure.mgmt.containerservice.models.ManagedClusterPropertiesForSnapshot": "Microsoft.ContainerService.ManagedClusterPropertiesForSnapshot", "azure.mgmt.containerservice.models.ManagedClusterSecurityProfile": "Microsoft.ContainerService.ManagedClusterSecurityProfile", "azure.mgmt.containerservice.models.ManagedClusterSecurityProfileDefender": "Microsoft.ContainerService.ManagedClusterSecurityProfileDefender", "azure.mgmt.containerservice.models.ManagedClusterSecurityProfileDefenderSecurityGating": "Microsoft.ContainerService.ManagedClusterSecurityProfileDefenderSecurityGating", "azure.mgmt.containerservice.models.ManagedClusterSecurityProfileDefenderSecurityGatingIdentity": "Microsoft.ContainerService.ManagedClusterSecurityProfileDefenderSecurityGatingIdentity", "azure.mgmt.containerservice.models.ManagedClusterSecurityProfileDefenderSecurityMonitoring": "Microsoft.ContainerService.ManagedClusterSecurityProfileDefenderSecurityMonitoring", "azure.mgmt.containerservice.models.ManagedClusterSecurityProfileImageCleaner": "Microsoft.ContainerService.ManagedClusterSecurityProfileImageCleaner", - "azure.mgmt.containerservice.models.ManagedClusterSecurityProfileImageIntegrity": "Microsoft.ContainerService.ManagedClusterSecurityProfileImageIntegrity", - "azure.mgmt.containerservice.models.ManagedClusterSecurityProfileNodeRestriction": "Microsoft.ContainerService.ManagedClusterSecurityProfileNodeRestriction", "azure.mgmt.containerservice.models.ManagedClusterSecurityProfileWorkloadIdentity": "Microsoft.ContainerService.ManagedClusterSecurityProfileWorkloadIdentity", "azure.mgmt.containerservice.models.ManagedClusterServicePrincipalProfile": "Microsoft.ContainerService.ManagedClusterServicePrincipalProfile", "azure.mgmt.containerservice.models.ManagedClusterSKU": "Microsoft.ContainerService.ManagedClusterSKU", - "azure.mgmt.containerservice.models.ManagedClusterSnapshot": "Microsoft.ContainerService.ManagedClusterSnapshot", - "azure.mgmt.containerservice.models.ManagedClusterSnapshotProperties": "Microsoft.ContainerService.ManagedClusterSnapshotProperties", "azure.mgmt.containerservice.models.ManagedClusterStaticEgressGatewayProfile": "Microsoft.ContainerService.ManagedClusterStaticEgressGatewayProfile", "azure.mgmt.containerservice.models.ManagedClusterStatus": "Microsoft.ContainerService.ManagedClusterStatus", "azure.mgmt.containerservice.models.ManagedClusterStorageProfile": "Microsoft.ContainerService.ManagedClusterStorageProfile", @@ -207,9 +149,6 @@ "azure.mgmt.containerservice.models.ManagedNamespace": "Microsoft.ContainerService.ManagedNamespace", "azure.mgmt.containerservice.models.ManagedServiceIdentityUserAssignedIdentitiesValue": "Microsoft.ContainerService.ManagedServiceIdentityUserAssignedIdentitiesValue", "azure.mgmt.containerservice.models.ManualScaleProfile": "Microsoft.ContainerService.ManualScaleProfile", - "azure.mgmt.containerservice.models.MeshMembership": "Microsoft.ContainerService.MeshMembership", - "azure.mgmt.containerservice.models.MeshMembershipPrivateConnectProfile": "Microsoft.ContainerService.MeshMembershipPrivateConnectProfile", - "azure.mgmt.containerservice.models.MeshMembershipProperties": "Microsoft.ContainerService.MeshMembershipProperties", "azure.mgmt.containerservice.models.MeshRevision": "Microsoft.ContainerService.MeshRevision", "azure.mgmt.containerservice.models.MeshRevisionProfile": "Microsoft.ContainerService.MeshRevisionProfile", "azure.mgmt.containerservice.models.MeshRevisionProfileProperties": "Microsoft.ContainerService.MeshRevisionProfileProperties", @@ -217,18 +156,11 @@ "azure.mgmt.containerservice.models.MeshUpgradeProfileProperties": "Microsoft.ContainerService.MeshUpgradeProfileProperties", "azure.mgmt.containerservice.models.NamespaceProperties": "Microsoft.ContainerService.NamespaceProperties", "azure.mgmt.containerservice.models.NetworkPolicies": "Microsoft.ContainerService.NetworkPolicies", - "azure.mgmt.containerservice.models.NetworkProfileForSnapshot": "Microsoft.ContainerService.NetworkProfileForSnapshot", - "azure.mgmt.containerservice.models.NodeDisruptionProfile": "Microsoft.ContainerService.NodeDisruptionProfile", - "azure.mgmt.containerservice.models.NodeImageVersion": "Microsoft.ContainerService.NodeImageVersion", - "azure.mgmt.containerservice.models.NvidiaGPUProfile": "Microsoft.ContainerService.NvidiaGPUProfile", - "azure.mgmt.containerservice.models.OperationStatusResult": "Azure.ResourceManager.CommonTypes.OperationStatusResult", "azure.mgmt.containerservice.models.OperationValue": "Microsoft.ContainerService.OperationValue", "azure.mgmt.containerservice.models.OperationValueDisplay": "Microsoft.ContainerService.OperationValueDisplay", "azure.mgmt.containerservice.models.OutboundEnvironmentEndpoint": "Microsoft.ContainerService.OutboundEnvironmentEndpoint", - "azure.mgmt.containerservice.models.PoolBootstrapData": "Microsoft.ContainerService.PoolBootstrapData", "azure.mgmt.containerservice.models.PortRange": "Microsoft.ContainerService.PortRange", "azure.mgmt.containerservice.models.PowerState": "Microsoft.ContainerService.PowerState", - "azure.mgmt.containerservice.models.PreparedImageSpecificationProfile": "Microsoft.ContainerService.PreparedImageSpecificationProfile", "azure.mgmt.containerservice.models.PrivateEndpoint": "Microsoft.ContainerService.PrivateEndpoint", "azure.mgmt.containerservice.models.PrivateEndpointConnection": "Microsoft.ContainerService.PrivateEndpointConnection", "azure.mgmt.containerservice.models.PrivateEndpointConnectionListResult": "Microsoft.ContainerService.PrivateEndpointConnectionListResult", @@ -236,27 +168,15 @@ "azure.mgmt.containerservice.models.PrivateLinkResource": "Microsoft.ContainerService.PrivateLinkResource", "azure.mgmt.containerservice.models.PrivateLinkResourcesListResult": "Microsoft.ContainerService.PrivateLinkResourcesListResult", "azure.mgmt.containerservice.models.PrivateLinkServiceConnectionState": "Microsoft.ContainerService.PrivateLinkServiceConnectionState", - "azure.mgmt.containerservice.models.RebalanceLoadBalancersRequestBody": "Microsoft.ContainerService.RebalanceLoadBalancersRequestBody", "azure.mgmt.containerservice.models.RelativeMonthlySchedule": "Microsoft.ContainerService.RelativeMonthlySchedule", "azure.mgmt.containerservice.models.ResourceQuota": "Microsoft.ContainerService.ResourceQuota", "azure.mgmt.containerservice.models.ResourceReference": "Microsoft.ContainerService.ResourceReference", - "azure.mgmt.containerservice.models.ResourceSku": "Microsoft.ContainerService.ResourceSku", - "azure.mgmt.containerservice.models.ResourceSkuCapabilities": "Microsoft.ContainerService.ResourceSkuCapabilities", - "azure.mgmt.containerservice.models.ResourceSkuCapacity": "Microsoft.ContainerService.ResourceSkuCapacity", - "azure.mgmt.containerservice.models.ResourceSkuCosts": "Microsoft.ContainerService.ResourceSkuCosts", - "azure.mgmt.containerservice.models.ResourceSkuLocationInfo": "Microsoft.ContainerService.ResourceSkuLocationInfo", - "azure.mgmt.containerservice.models.ResourceSkuRestrictionInfo": "Microsoft.ContainerService.ResourceSkuRestrictionInfo", - "azure.mgmt.containerservice.models.ResourceSkuRestrictions": "Microsoft.ContainerService.ResourceSkuRestrictions", - "azure.mgmt.containerservice.models.ResourceSkuZoneDetails": "Microsoft.ContainerService.ResourceSkuZoneDetails", "azure.mgmt.containerservice.models.RunCommandRequest": "Microsoft.ContainerService.RunCommandRequest", "azure.mgmt.containerservice.models.RunCommandResult": "Microsoft.ContainerService.RunCommandResult", - "azure.mgmt.containerservice.models.SafeguardsAvailableVersion": "Microsoft.ContainerService.SafeguardsAvailableVersion", - "azure.mgmt.containerservice.models.SafeguardsAvailableVersionsProperties": "Microsoft.ContainerService.SafeguardsAvailableVersionsProperties", "azure.mgmt.containerservice.models.ScaleProfile": "Microsoft.ContainerService.ScaleProfile", "azure.mgmt.containerservice.models.Schedule": "Microsoft.ContainerService.Schedule", "azure.mgmt.containerservice.models.SchedulerInstanceProfile": "Microsoft.ContainerService.SchedulerInstanceProfile", "azure.mgmt.containerservice.models.SchedulerProfile": "Microsoft.ContainerService.SchedulerProfile", - "azure.mgmt.containerservice.models.ServiceAccountImagePullProfile": "Microsoft.ContainerService.ServiceAccountImagePullProfile", "azure.mgmt.containerservice.models.ServiceMeshProfile": "Microsoft.ContainerService.ServiceMeshProfile", "azure.mgmt.containerservice.models.Snapshot": "Microsoft.ContainerService.Snapshot", "azure.mgmt.containerservice.models.SnapshotProperties": "Microsoft.ContainerService.SnapshotProperties", @@ -284,20 +204,14 @@ "azure.mgmt.containerservice.models.ScaleDownMode": "Microsoft.ContainerService.ScaleDownMode", "azure.mgmt.containerservice.models.AgentPoolType": "Microsoft.ContainerService.AgentPoolType", "azure.mgmt.containerservice.models.AgentPoolMode": "Microsoft.ContainerService.AgentPoolMode", - "azure.mgmt.containerservice.models.UpgradeStrategy": "Microsoft.ContainerService.UpgradeStrategy", "azure.mgmt.containerservice.models.UndrainableNodeBehavior": "Microsoft.ContainerService.UndrainableNodeBehavior", "azure.mgmt.containerservice.models.Code": "Microsoft.ContainerService.Code", "azure.mgmt.containerservice.models.ScaleSetPriority": "Microsoft.ContainerService.ScaleSetPriority", "azure.mgmt.containerservice.models.ScaleSetEvictionPolicy": "Microsoft.ContainerService.ScaleSetEvictionPolicy", - "azure.mgmt.containerservice.models.SeccompDefault": "Microsoft.ContainerService.SeccompDefault", "azure.mgmt.containerservice.models.GPUInstanceProfile": "Microsoft.ContainerService.GPUInstanceProfile", "azure.mgmt.containerservice.models.Protocol": "Microsoft.ContainerService.Protocol", - "azure.mgmt.containerservice.models.AgentPoolNetworkInterfaceType": "Microsoft.ContainerService.AgentPoolNetworkInterfaceType", "azure.mgmt.containerservice.models.AgentPoolSSHAccess": "Microsoft.ContainerService.AgentPoolSSHAccess", "azure.mgmt.containerservice.models.GPUDriver": "Microsoft.ContainerService.GPUDriver", - "azure.mgmt.containerservice.models.DriverType": "Microsoft.ContainerService.DriverType", - "azure.mgmt.containerservice.models.ManagementMode": "Microsoft.ContainerService.ManagementMode", - "azure.mgmt.containerservice.models.MigStrategy": "Microsoft.ContainerService.MigStrategy", "azure.mgmt.containerservice.models.LocalDNSMode": "Microsoft.ContainerService.LocalDNSMode", "azure.mgmt.containerservice.models.LocalDNSState": "Microsoft.ContainerService.LocalDNSState", "azure.mgmt.containerservice.models.LocalDNSQueryLogging": "Microsoft.ContainerService.LocalDNSQueryLogging", @@ -320,23 +234,15 @@ "azure.mgmt.containerservice.models.OutboundType": "Microsoft.ContainerService.OutboundType", "azure.mgmt.containerservice.models.LoadBalancerSku": "Microsoft.ContainerService.LoadBalancerSku", "azure.mgmt.containerservice.models.BackendPoolType": "Microsoft.ContainerService.BackendPoolType", - "azure.mgmt.containerservice.models.ClusterServiceLoadBalancerHealthProbeMode": "Microsoft.ContainerService.ClusterServiceLoadBalancerHealthProbeMode", - "azure.mgmt.containerservice.models.BastionSku": "Microsoft.ContainerService.BastionSku", "azure.mgmt.containerservice.models.IPFamily": "Microsoft.ContainerService.IPFamily", - "azure.mgmt.containerservice.models.PodLinkLocalAccess": "Microsoft.ContainerService.PodLinkLocalAccess", - "azure.mgmt.containerservice.models.Mode": "Microsoft.ContainerService.Mode", - "azure.mgmt.containerservice.models.IpvsScheduler": "Microsoft.ContainerService.IpvsScheduler", "azure.mgmt.containerservice.models.UpgradeChannel": "Microsoft.ContainerService.UpgradeChannel", "azure.mgmt.containerservice.models.NodeOSUpgradeChannel": "Microsoft.ContainerService.NodeOSUpgradeChannel", "azure.mgmt.containerservice.models.Expander": "Microsoft.ContainerService.Expander", "azure.mgmt.containerservice.models.KeyVaultNetworkAccessTypes": "Microsoft.ContainerService.KeyVaultNetworkAccessTypes", - "azure.mgmt.containerservice.models.InfrastructureEncryption": "Microsoft.ContainerService.InfrastructureEncryption", "azure.mgmt.containerservice.models.GatewayAPIIstioEnabled": "Microsoft.ContainerService.GatewayAPIIstioEnabled", "azure.mgmt.containerservice.models.NginxIngressControllerType": "Microsoft.ContainerService.NginxIngressControllerType", "azure.mgmt.containerservice.models.ManagedGatewayType": "Microsoft.ContainerService.ManagedGatewayType", "azure.mgmt.containerservice.models.PublicNetworkAccess": "Microsoft.ContainerService.PublicNetworkAccess", - "azure.mgmt.containerservice.models.AddonAutoscaling": "Microsoft.ContainerService.AddonAutoscaling", - "azure.mgmt.containerservice.models.ContainerNetworkLogs": "Microsoft.ContainerService.ContainerNetworkLogs", "azure.mgmt.containerservice.models.ServiceMeshMode": "Microsoft.ContainerService.ServiceMeshMode", "azure.mgmt.containerservice.models.IstioIngressGatewayMode": "Microsoft.ContainerService.IstioIngressGatewayMode", "azure.mgmt.containerservice.models.ProxyRedirectionMechanism": "Microsoft.ContainerService.ProxyRedirectionMechanism", @@ -344,37 +250,22 @@ "azure.mgmt.containerservice.models.NodeProvisioningDefaultNodePools": "Microsoft.ContainerService.NodeProvisioningDefaultNodePools", "azure.mgmt.containerservice.models.ArtifactSource": "Microsoft.ContainerService.ArtifactSource", "azure.mgmt.containerservice.models.SchedulerConfigMode": "Microsoft.ContainerService.SchedulerConfigMode", - "azure.mgmt.containerservice.models.ControlPlaneScalingSize": "Microsoft.ContainerService.ControlPlaneScalingSize", - "azure.mgmt.containerservice.models.NodeDisruptionPolicy": "Microsoft.ContainerService.NodeDisruptionPolicy", "azure.mgmt.containerservice.models.ManagedClusterSKUName": "Microsoft.ContainerService.ManagedClusterSKUName", "azure.mgmt.containerservice.models.ManagedClusterSKUTier": "Microsoft.ContainerService.ManagedClusterSKUTier", "azure.mgmt.containerservice.models.ExtendedLocationTypes": "Microsoft.ContainerService.ExtendedLocationTypes", "azure.mgmt.containerservice.models.ResourceIdentityType": "Microsoft.ContainerService.ResourceIdentityType", "azure.mgmt.containerservice.models.Format": "Microsoft.ContainerService.Format", - "azure.mgmt.containerservice.models.GuardrailsSupport": "Microsoft.ContainerService.GuardrailsSupport", - "azure.mgmt.containerservice.models.SafeguardsSupport": "Microsoft.ContainerService.SafeguardsSupport", "azure.mgmt.containerservice.models.WeekDay": "Microsoft.ContainerService.WeekDay", "azure.mgmt.containerservice.models.Type": "Microsoft.ContainerService.Type", - "azure.mgmt.containerservice.models.ResourceProvisioningState": "Azure.ResourceManager.ResourceProvisioningState", "azure.mgmt.containerservice.models.NamespaceProvisioningState": "Microsoft.ContainerService.NamespaceProvisioningState", "azure.mgmt.containerservice.models.PolicyRule": "Microsoft.ContainerService.PolicyRule", "azure.mgmt.containerservice.models.AdoptionPolicy": "Microsoft.ContainerService.AdoptionPolicy", "azure.mgmt.containerservice.models.DeletePolicy": "Microsoft.ContainerService.DeletePolicy", - "azure.mgmt.containerservice.models.DriftAction": "Microsoft.ContainerService.DriftAction", - "azure.mgmt.containerservice.models.VmState": "Microsoft.ContainerService.VmState", "azure.mgmt.containerservice.models.PrivateEndpointConnectionProvisioningState": "Microsoft.ContainerService.PrivateEndpointConnectionProvisioningState", "azure.mgmt.containerservice.models.ConnectionStatus": "Microsoft.ContainerService.ConnectionStatus", "azure.mgmt.containerservice.models.SnapshotType": "Microsoft.ContainerService.SnapshotType", "azure.mgmt.containerservice.models.TrustedAccessRoleBindingProvisioningState": "Microsoft.ContainerService.TrustedAccessRoleBindingProvisioningState", - "azure.mgmt.containerservice.models.Operator": "Microsoft.ContainerService.Operator", "azure.mgmt.containerservice.models.IdentityBindingProvisioningState": "Microsoft.ContainerService.IdentityBindingProvisioningState", - "azure.mgmt.containerservice.models.JWTAuthenticatorProvisioningState": "Microsoft.ContainerService.JWTAuthenticatorProvisioningState", - "azure.mgmt.containerservice.models.MeshMembershipProvisioningState": "Microsoft.ContainerService.MeshMembershipProvisioningState", - "azure.mgmt.containerservice.models.AlertConfigurationMode": "Microsoft.ContainerService.AlertConfigurationMode", - "azure.mgmt.containerservice.models.AlertConfigurationProvisioningState": "Microsoft.ContainerService.AlertConfigurationProvisioningState", - "azure.mgmt.containerservice.models.ResourceSkuCapacityScaleType": "Microsoft.ContainerService.ResourceSkuCapacityScaleType", - "azure.mgmt.containerservice.models.ResourceSkuRestrictionsType": "Microsoft.ContainerService.ResourceSkuRestrictionsType", - "azure.mgmt.containerservice.models.ResourceSkuRestrictionsReasonCode": "Microsoft.ContainerService.ResourceSkuRestrictionsReasonCode", "azure.mgmt.containerservice.operations.AgentPoolsOperations.get": "Microsoft.ContainerService.AgentPools.get", "azure.mgmt.containerservice.aio.operations.AgentPoolsOperations.get": "Microsoft.ContainerService.AgentPools.get", "azure.mgmt.containerservice.operations.AgentPoolsOperations.begin_create_or_update": "Microsoft.ContainerService.AgentPools.createOrUpdate", @@ -385,14 +276,10 @@ "azure.mgmt.containerservice.aio.operations.AgentPoolsOperations.list": "Microsoft.ContainerService.AgentPools.list", "azure.mgmt.containerservice.operations.AgentPoolsOperations.begin_abort_latest_operation": "Microsoft.ContainerService.AgentPools.abortLatestOperation", "azure.mgmt.containerservice.aio.operations.AgentPoolsOperations.begin_abort_latest_operation": "Microsoft.ContainerService.AgentPools.abortLatestOperation", - "azure.mgmt.containerservice.operations.AgentPoolsOperations.begin_complete_upgrade": "Microsoft.ContainerService.AgentPools.completeUpgrade", - "azure.mgmt.containerservice.aio.operations.AgentPoolsOperations.begin_complete_upgrade": "Microsoft.ContainerService.AgentPools.completeUpgrade", "azure.mgmt.containerservice.operations.AgentPoolsOperations.begin_delete_machines": "Microsoft.ContainerService.AgentPools.deleteMachines", "azure.mgmt.containerservice.aio.operations.AgentPoolsOperations.begin_delete_machines": "Microsoft.ContainerService.AgentPools.deleteMachines", "azure.mgmt.containerservice.operations.AgentPoolsOperations.begin_upgrade_node_image_version": "Microsoft.ContainerService.AgentPools.upgradeNodeImageVersion", "azure.mgmt.containerservice.aio.operations.AgentPoolsOperations.begin_upgrade_node_image_version": "Microsoft.ContainerService.AgentPools.upgradeNodeImageVersion", - "azure.mgmt.containerservice.operations.AgentPoolsOperations.list_bootstrap_data": "Microsoft.ContainerService.AgentPools.listBootstrapData", - "azure.mgmt.containerservice.aio.operations.AgentPoolsOperations.list_bootstrap_data": "Microsoft.ContainerService.AgentPools.listBootstrapData", "azure.mgmt.containerservice.operations.AgentPoolsOperations.get_available_agent_pool_versions": "Microsoft.ContainerService.ManagedClusters.getAvailableAgentPoolVersions", "azure.mgmt.containerservice.aio.operations.AgentPoolsOperations.get_available_agent_pool_versions": "Microsoft.ContainerService.ManagedClusters.getAvailableAgentPoolVersions", "azure.mgmt.containerservice.operations.AgentPoolsOperations.get_upgrade_profile": "Microsoft.ContainerService.AgentPoolUpgradeProfiles.getUpgradeProfile", @@ -437,18 +324,8 @@ "azure.mgmt.containerservice.aio.operations.ManagedClustersOperations.get_command_result": "Microsoft.ContainerService.ManagedClusters.getCommandResult", "azure.mgmt.containerservice.operations.ManagedClustersOperations.list_outbound_network_dependencies_endpoints": "Microsoft.ContainerService.ManagedClusters.listOutboundNetworkDependenciesEndpoints", "azure.mgmt.containerservice.aio.operations.ManagedClustersOperations.list_outbound_network_dependencies_endpoints": "Microsoft.ContainerService.ManagedClusters.listOutboundNetworkDependenciesEndpoints", - "azure.mgmt.containerservice.operations.ManagedClustersOperations.begin_rebalance_load_balancers": "Microsoft.ContainerService.ManagedClusters.rebalanceLoadBalancers", - "azure.mgmt.containerservice.aio.operations.ManagedClustersOperations.begin_rebalance_load_balancers": "Microsoft.ContainerService.ManagedClusters.rebalanceLoadBalancers", "azure.mgmt.containerservice.operations.ManagedClustersOperations.get_upgrade_profile": "Microsoft.ContainerService.ManagedClusterUpgradeProfiles.getUpgradeProfile", "azure.mgmt.containerservice.aio.operations.ManagedClustersOperations.get_upgrade_profile": "Microsoft.ContainerService.ManagedClusterUpgradeProfiles.getUpgradeProfile", - "azure.mgmt.containerservice.operations.ManagedClustersOperations.get_guardrails_versions": "Microsoft.ContainerService.GuardrailsAvailableVersions.getGuardrailsVersions", - "azure.mgmt.containerservice.aio.operations.ManagedClustersOperations.get_guardrails_versions": "Microsoft.ContainerService.GuardrailsAvailableVersions.getGuardrailsVersions", - "azure.mgmt.containerservice.operations.ManagedClustersOperations.list_guardrails_versions": "Microsoft.ContainerService.GuardrailsAvailableVersions.listGuardrailsVersions", - "azure.mgmt.containerservice.aio.operations.ManagedClustersOperations.list_guardrails_versions": "Microsoft.ContainerService.GuardrailsAvailableVersions.listGuardrailsVersions", - "azure.mgmt.containerservice.operations.ManagedClustersOperations.get_safeguards_versions": "Microsoft.ContainerService.SafeguardsAvailableVersions.getSafeguardsVersions", - "azure.mgmt.containerservice.aio.operations.ManagedClustersOperations.get_safeguards_versions": "Microsoft.ContainerService.SafeguardsAvailableVersions.getSafeguardsVersions", - "azure.mgmt.containerservice.operations.ManagedClustersOperations.list_safeguards_versions": "Microsoft.ContainerService.SafeguardsAvailableVersions.listSafeguardsVersions", - "azure.mgmt.containerservice.aio.operations.ManagedClustersOperations.list_safeguards_versions": "Microsoft.ContainerService.SafeguardsAvailableVersions.listSafeguardsVersions", "azure.mgmt.containerservice.operations.ManagedClustersOperations.get_mesh_revision_profile": "Microsoft.ContainerService.MeshRevisionProfiles.getMeshRevisionProfile", "azure.mgmt.containerservice.aio.operations.ManagedClustersOperations.get_mesh_revision_profile": "Microsoft.ContainerService.MeshRevisionProfiles.getMeshRevisionProfile", "azure.mgmt.containerservice.operations.ManagedClustersOperations.list_mesh_revision_profiles": "Microsoft.ContainerService.MeshRevisionProfiles.listMeshRevisionProfiles", @@ -467,18 +344,6 @@ "azure.mgmt.containerservice.aio.operations.MaintenanceConfigurationsOperations.delete": "Microsoft.ContainerService.MaintenanceConfigurations.delete", "azure.mgmt.containerservice.operations.MaintenanceConfigurationsOperations.list_by_managed_cluster": "Microsoft.ContainerService.MaintenanceConfigurations.listByManagedCluster", "azure.mgmt.containerservice.aio.operations.MaintenanceConfigurationsOperations.list_by_managed_cluster": "Microsoft.ContainerService.MaintenanceConfigurations.listByManagedCluster", - "azure.mgmt.containerservice.operations.MaintenanceWindowsOperations.get": "Microsoft.ContainerService.MaintenanceWindows.get", - "azure.mgmt.containerservice.aio.operations.MaintenanceWindowsOperations.get": "Microsoft.ContainerService.MaintenanceWindows.get", - "azure.mgmt.containerservice.operations.MaintenanceWindowsOperations.begin_create_or_update": "Microsoft.ContainerService.MaintenanceWindows.createOrUpdate", - "azure.mgmt.containerservice.aio.operations.MaintenanceWindowsOperations.begin_create_or_update": "Microsoft.ContainerService.MaintenanceWindows.createOrUpdate", - "azure.mgmt.containerservice.operations.MaintenanceWindowsOperations.update_tags": "Microsoft.ContainerService.MaintenanceWindows.updateTags", - "azure.mgmt.containerservice.aio.operations.MaintenanceWindowsOperations.update_tags": "Microsoft.ContainerService.MaintenanceWindows.updateTags", - "azure.mgmt.containerservice.operations.MaintenanceWindowsOperations.begin_delete": "Microsoft.ContainerService.MaintenanceWindows.delete", - "azure.mgmt.containerservice.aio.operations.MaintenanceWindowsOperations.begin_delete": "Microsoft.ContainerService.MaintenanceWindows.delete", - "azure.mgmt.containerservice.operations.MaintenanceWindowsOperations.list": "Microsoft.ContainerService.MaintenanceWindows.list", - "azure.mgmt.containerservice.aio.operations.MaintenanceWindowsOperations.list": "Microsoft.ContainerService.MaintenanceWindows.list", - "azure.mgmt.containerservice.operations.MaintenanceWindowsOperations.list_by_subscription": "Microsoft.ContainerService.MaintenanceWindows.listBySubscription", - "azure.mgmt.containerservice.aio.operations.MaintenanceWindowsOperations.list_by_subscription": "Microsoft.ContainerService.MaintenanceWindows.listBySubscription", "azure.mgmt.containerservice.operations.ManagedNamespacesOperations.get": "Microsoft.ContainerService.ManagedNamespaces.get", "azure.mgmt.containerservice.aio.operations.ManagedNamespacesOperations.get": "Microsoft.ContainerService.ManagedNamespaces.get", "azure.mgmt.containerservice.operations.ManagedNamespacesOperations.begin_create_or_update": "Microsoft.ContainerService.ManagedNamespaces.createOrUpdate", @@ -493,8 +358,6 @@ "azure.mgmt.containerservice.aio.operations.ManagedNamespacesOperations.list_credential": "Microsoft.ContainerService.ManagedNamespaces.listCredential", "azure.mgmt.containerservice.operations.MachinesOperations.get": "Microsoft.ContainerService.Machines.get", "azure.mgmt.containerservice.aio.operations.MachinesOperations.get": "Microsoft.ContainerService.Machines.get", - "azure.mgmt.containerservice.operations.MachinesOperations.begin_create_or_update": "Microsoft.ContainerService.Machines.createOrUpdate", - "azure.mgmt.containerservice.aio.operations.MachinesOperations.begin_create_or_update": "Microsoft.ContainerService.Machines.createOrUpdate", "azure.mgmt.containerservice.operations.MachinesOperations.list": "Microsoft.ContainerService.Machines.list", "azure.mgmt.containerservice.aio.operations.MachinesOperations.list": "Microsoft.ContainerService.Machines.list", "azure.mgmt.containerservice.operations.PrivateEndpointConnectionsOperations.get": "Microsoft.ContainerService.PrivateEndpointConnections.get", @@ -517,18 +380,6 @@ "azure.mgmt.containerservice.aio.operations.SnapshotsOperations.list_by_resource_group": "Microsoft.ContainerService.Snapshots.listByResourceGroup", "azure.mgmt.containerservice.operations.SnapshotsOperations.list": "Microsoft.ContainerService.Snapshots.list", "azure.mgmt.containerservice.aio.operations.SnapshotsOperations.list": "Microsoft.ContainerService.Snapshots.list", - "azure.mgmt.containerservice.operations.ManagedClusterSnapshotsOperations.get": "Microsoft.ContainerService.ManagedClusterSnapshots.get", - "azure.mgmt.containerservice.aio.operations.ManagedClusterSnapshotsOperations.get": "Microsoft.ContainerService.ManagedClusterSnapshots.get", - "azure.mgmt.containerservice.operations.ManagedClusterSnapshotsOperations.create_or_update": "Microsoft.ContainerService.ManagedClusterSnapshots.createOrUpdate", - "azure.mgmt.containerservice.aio.operations.ManagedClusterSnapshotsOperations.create_or_update": "Microsoft.ContainerService.ManagedClusterSnapshots.createOrUpdate", - "azure.mgmt.containerservice.operations.ManagedClusterSnapshotsOperations.update_tags": "Microsoft.ContainerService.ManagedClusterSnapshots.updateTags", - "azure.mgmt.containerservice.aio.operations.ManagedClusterSnapshotsOperations.update_tags": "Microsoft.ContainerService.ManagedClusterSnapshots.updateTags", - "azure.mgmt.containerservice.operations.ManagedClusterSnapshotsOperations.delete": "Microsoft.ContainerService.ManagedClusterSnapshots.delete", - "azure.mgmt.containerservice.aio.operations.ManagedClusterSnapshotsOperations.delete": "Microsoft.ContainerService.ManagedClusterSnapshots.delete", - "azure.mgmt.containerservice.operations.ManagedClusterSnapshotsOperations.list_by_resource_group": "Microsoft.ContainerService.ManagedClusterSnapshots.listByResourceGroup", - "azure.mgmt.containerservice.aio.operations.ManagedClusterSnapshotsOperations.list_by_resource_group": "Microsoft.ContainerService.ManagedClusterSnapshots.listByResourceGroup", - "azure.mgmt.containerservice.operations.ManagedClusterSnapshotsOperations.list": "Microsoft.ContainerService.ManagedClusterSnapshots.list", - "azure.mgmt.containerservice.aio.operations.ManagedClusterSnapshotsOperations.list": "Microsoft.ContainerService.ManagedClusterSnapshots.list", "azure.mgmt.containerservice.operations.TrustedAccessRoleBindingsOperations.get": "Microsoft.ContainerService.TrustedAccessRoleBindings.get", "azure.mgmt.containerservice.aio.operations.TrustedAccessRoleBindingsOperations.get": "Microsoft.ContainerService.TrustedAccessRoleBindings.get", "azure.mgmt.containerservice.operations.TrustedAccessRoleBindingsOperations.begin_create_or_update": "Microsoft.ContainerService.TrustedAccessRoleBindings.createOrUpdate", @@ -537,14 +388,6 @@ "azure.mgmt.containerservice.aio.operations.TrustedAccessRoleBindingsOperations.begin_delete": "Microsoft.ContainerService.TrustedAccessRoleBindings.delete", "azure.mgmt.containerservice.operations.TrustedAccessRoleBindingsOperations.list": "Microsoft.ContainerService.TrustedAccessRoleBindings.list", "azure.mgmt.containerservice.aio.operations.TrustedAccessRoleBindingsOperations.list": "Microsoft.ContainerService.TrustedAccessRoleBindings.list", - "azure.mgmt.containerservice.operations.LoadBalancersOperations.get": "Microsoft.ContainerService.LoadBalancers.get", - "azure.mgmt.containerservice.aio.operations.LoadBalancersOperations.get": "Microsoft.ContainerService.LoadBalancers.get", - "azure.mgmt.containerservice.operations.LoadBalancersOperations.create_or_update": "Microsoft.ContainerService.LoadBalancers.createOrUpdate", - "azure.mgmt.containerservice.aio.operations.LoadBalancersOperations.create_or_update": "Microsoft.ContainerService.LoadBalancers.createOrUpdate", - "azure.mgmt.containerservice.operations.LoadBalancersOperations.begin_delete": "Microsoft.ContainerService.LoadBalancers.delete", - "azure.mgmt.containerservice.aio.operations.LoadBalancersOperations.begin_delete": "Microsoft.ContainerService.LoadBalancers.delete", - "azure.mgmt.containerservice.operations.LoadBalancersOperations.list_by_managed_cluster": "Microsoft.ContainerService.LoadBalancers.listByManagedCluster", - "azure.mgmt.containerservice.aio.operations.LoadBalancersOperations.list_by_managed_cluster": "Microsoft.ContainerService.LoadBalancers.listByManagedCluster", "azure.mgmt.containerservice.operations.IdentityBindingsOperations.get": "Microsoft.ContainerService.IdentityBindings.get", "azure.mgmt.containerservice.aio.operations.IdentityBindingsOperations.get": "Microsoft.ContainerService.IdentityBindings.get", "azure.mgmt.containerservice.operations.IdentityBindingsOperations.begin_create_or_update": "Microsoft.ContainerService.IdentityBindings.createOrUpdate", @@ -553,48 +396,14 @@ "azure.mgmt.containerservice.aio.operations.IdentityBindingsOperations.begin_delete": "Microsoft.ContainerService.IdentityBindings.delete", "azure.mgmt.containerservice.operations.IdentityBindingsOperations.list_by_managed_cluster": "Microsoft.ContainerService.IdentityBindings.listByManagedCluster", "azure.mgmt.containerservice.aio.operations.IdentityBindingsOperations.list_by_managed_cluster": "Microsoft.ContainerService.IdentityBindings.listByManagedCluster", - "azure.mgmt.containerservice.operations.JWTAuthenticatorsOperations.get": "Microsoft.ContainerService.JWTAuthenticators.get", - "azure.mgmt.containerservice.aio.operations.JWTAuthenticatorsOperations.get": "Microsoft.ContainerService.JWTAuthenticators.get", - "azure.mgmt.containerservice.operations.JWTAuthenticatorsOperations.begin_create_or_update": "Microsoft.ContainerService.JWTAuthenticators.createOrUpdate", - "azure.mgmt.containerservice.aio.operations.JWTAuthenticatorsOperations.begin_create_or_update": "Microsoft.ContainerService.JWTAuthenticators.createOrUpdate", - "azure.mgmt.containerservice.operations.JWTAuthenticatorsOperations.begin_delete": "Microsoft.ContainerService.JWTAuthenticators.delete", - "azure.mgmt.containerservice.aio.operations.JWTAuthenticatorsOperations.begin_delete": "Microsoft.ContainerService.JWTAuthenticators.delete", - "azure.mgmt.containerservice.operations.JWTAuthenticatorsOperations.list_by_managed_cluster": "Microsoft.ContainerService.JWTAuthenticators.listByManagedCluster", - "azure.mgmt.containerservice.aio.operations.JWTAuthenticatorsOperations.list_by_managed_cluster": "Microsoft.ContainerService.JWTAuthenticators.listByManagedCluster", - "azure.mgmt.containerservice.operations.MeshMembershipsOperations.get": "Microsoft.ContainerService.MeshMemberships.get", - "azure.mgmt.containerservice.aio.operations.MeshMembershipsOperations.get": "Microsoft.ContainerService.MeshMemberships.get", - "azure.mgmt.containerservice.operations.MeshMembershipsOperations.begin_create_or_update": "Microsoft.ContainerService.MeshMemberships.createOrUpdate", - "azure.mgmt.containerservice.aio.operations.MeshMembershipsOperations.begin_create_or_update": "Microsoft.ContainerService.MeshMemberships.createOrUpdate", - "azure.mgmt.containerservice.operations.MeshMembershipsOperations.begin_delete": "Microsoft.ContainerService.MeshMemberships.delete", - "azure.mgmt.containerservice.aio.operations.MeshMembershipsOperations.begin_delete": "Microsoft.ContainerService.MeshMemberships.delete", - "azure.mgmt.containerservice.operations.MeshMembershipsOperations.list_by_managed_cluster": "Microsoft.ContainerService.MeshMemberships.listByManagedCluster", - "azure.mgmt.containerservice.aio.operations.MeshMembershipsOperations.list_by_managed_cluster": "Microsoft.ContainerService.MeshMemberships.listByManagedCluster", "azure.mgmt.containerservice.operations.Operations.list": "Microsoft.ContainerService.Operations.list", "azure.mgmt.containerservice.aio.operations.Operations.list": "Microsoft.ContainerService.Operations.list", - "azure.mgmt.containerservice.operations.AlertConfigurationsOperations.get": "Microsoft.ContainerService.AlertConfigurations.get", - "azure.mgmt.containerservice.aio.operations.AlertConfigurationsOperations.get": "Microsoft.ContainerService.AlertConfigurations.get", - "azure.mgmt.containerservice.operations.AlertConfigurationsOperations.begin_create_or_update": "Microsoft.ContainerService.AlertConfigurations.createOrUpdate", - "azure.mgmt.containerservice.aio.operations.AlertConfigurationsOperations.begin_create_or_update": "Microsoft.ContainerService.AlertConfigurations.createOrUpdate", - "azure.mgmt.containerservice.operations.AlertConfigurationsOperations.begin_delete": "Microsoft.ContainerService.AlertConfigurations.delete", - "azure.mgmt.containerservice.aio.operations.AlertConfigurationsOperations.begin_delete": "Microsoft.ContainerService.AlertConfigurations.delete", - "azure.mgmt.containerservice.operations.AlertConfigurationsOperations.list_by_managed_cluster": "Microsoft.ContainerService.AlertConfigurations.listByManagedCluster", - "azure.mgmt.containerservice.aio.operations.AlertConfigurationsOperations.list_by_managed_cluster": "Microsoft.ContainerService.AlertConfigurations.listByManagedCluster", - "azure.mgmt.containerservice.operations.OperationStatusResultOperations.get_by_agent_pool": "Microsoft.ContainerService.AgentPools.getByAgentPool", - "azure.mgmt.containerservice.aio.operations.OperationStatusResultOperations.get_by_agent_pool": "Microsoft.ContainerService.AgentPools.getByAgentPool", - "azure.mgmt.containerservice.operations.OperationStatusResultOperations.list": "Microsoft.ContainerService.ManagedClusters.operationStatusResultList", - "azure.mgmt.containerservice.aio.operations.OperationStatusResultOperations.list": "Microsoft.ContainerService.ManagedClusters.operationStatusResultList", - "azure.mgmt.containerservice.operations.OperationStatusResultOperations.get": "Microsoft.ContainerService.ManagedClusters.operationStatusResultGet", - "azure.mgmt.containerservice.aio.operations.OperationStatusResultOperations.get": "Microsoft.ContainerService.ManagedClusters.operationStatusResultGet", "azure.mgmt.containerservice.operations.PrivateLinkResourcesOperations.list": "Microsoft.ContainerService.ManagedClusters.privateLinkResourcesList", "azure.mgmt.containerservice.aio.operations.PrivateLinkResourcesOperations.list": "Microsoft.ContainerService.ManagedClusters.privateLinkResourcesList", "azure.mgmt.containerservice.operations.ResolvePrivateLinkServiceIdOperations.post": "Microsoft.ContainerService.ManagedClusters.post", "azure.mgmt.containerservice.aio.operations.ResolvePrivateLinkServiceIdOperations.post": "Microsoft.ContainerService.ManagedClusters.post", "azure.mgmt.containerservice.operations.TrustedAccessRolesOperations.list": "Microsoft.ContainerService.TrustedAccessRolesOperationGroup.list", - "azure.mgmt.containerservice.aio.operations.TrustedAccessRolesOperations.list": "Microsoft.ContainerService.TrustedAccessRolesOperationGroup.list", - "azure.mgmt.containerservice.operations.ContainerServiceOperations.list_node_image_versions": "Microsoft.ContainerService.ContainerServiceOperationGroup.listNodeImageVersions", - "azure.mgmt.containerservice.aio.operations.ContainerServiceOperations.list_node_image_versions": "Microsoft.ContainerService.ContainerServiceOperationGroup.listNodeImageVersions", - "azure.mgmt.containerservice.operations.VmSkusOperations.list": "Microsoft.ContainerService.VmSkusOperationGroup.list", - "azure.mgmt.containerservice.aio.operations.VmSkusOperations.list": "Microsoft.ContainerService.VmSkusOperationGroup.list" + "azure.mgmt.containerservice.aio.operations.TrustedAccessRolesOperations.list": "Microsoft.ContainerService.TrustedAccessRolesOperationGroup.list" }, - "CrossLanguageVersion": "4e367a2af914" + "CrossLanguageVersion": "0df61c6eb4d9" } \ No newline at end of file diff --git a/sdk/containerservice/azure-mgmt-containerservice/azure/mgmt/containerservice/_client.py b/sdk/containerservice/azure-mgmt-containerservice/azure/mgmt/containerservice/_client.py index f6945a576de4..e377f448d822 100644 --- a/sdk/containerservice/azure-mgmt-containerservice/azure/mgmt/containerservice/_client.py +++ b/sdk/containerservice/azure-mgmt-containerservice/azure/mgmt/containerservice/_client.py @@ -1,3 +1,4 @@ +# pylint: disable=line-too-long,useless-suppression # coding=utf-8 # -------------------------------------------------------------------------- # Copyright (c) Microsoft Corporation. All rights reserved. @@ -21,19 +22,11 @@ from ._utils.serialization import Deserializer, Serializer from .operations import ( AgentPoolsOperations, - AlertConfigurationsOperations, - ContainerServiceOperations, IdentityBindingsOperations, - JWTAuthenticatorsOperations, - LoadBalancersOperations, MachinesOperations, MaintenanceConfigurationsOperations, - MaintenanceWindowsOperations, - ManagedClusterSnapshotsOperations, ManagedClustersOperations, ManagedNamespacesOperations, - MeshMembershipsOperations, - OperationStatusResultOperations, Operations, PrivateEndpointConnectionsOperations, PrivateLinkResourcesOperations, @@ -41,7 +34,6 @@ SnapshotsOperations, TrustedAccessRoleBindingsOperations, TrustedAccessRolesOperations, - VmSkusOperations, ) if sys.version_info >= (3, 11): @@ -54,7 +46,7 @@ from azure.core.credentials import TokenCredential -class ContainerServiceClient: # pylint: disable=too-many-instance-attributes +class ContainerServiceClient: # pylint: disable=too-many-instance-attributes,docstring-keyword-should-match-keyword-only """The Container Service Client. :ivar agent_pools: AgentPoolsOperations operations @@ -64,9 +56,6 @@ class ContainerServiceClient: # pylint: disable=too-many-instance-attributes :ivar maintenance_configurations: MaintenanceConfigurationsOperations operations :vartype maintenance_configurations: azure.mgmt.containerservice.operations.MaintenanceConfigurationsOperations - :ivar maintenance_windows: MaintenanceWindowsOperations operations - :vartype maintenance_windows: - azure.mgmt.containerservice.operations.MaintenanceWindowsOperations :ivar managed_namespaces: ManagedNamespacesOperations operations :vartype managed_namespaces: azure.mgmt.containerservice.operations.ManagedNamespacesOperations :ivar machines: MachinesOperations operations @@ -76,28 +65,13 @@ class ContainerServiceClient: # pylint: disable=too-many-instance-attributes azure.mgmt.containerservice.operations.PrivateEndpointConnectionsOperations :ivar snapshots: SnapshotsOperations operations :vartype snapshots: azure.mgmt.containerservice.operations.SnapshotsOperations - :ivar managed_cluster_snapshots: ManagedClusterSnapshotsOperations operations - :vartype managed_cluster_snapshots: - azure.mgmt.containerservice.operations.ManagedClusterSnapshotsOperations :ivar trusted_access_role_bindings: TrustedAccessRoleBindingsOperations operations :vartype trusted_access_role_bindings: azure.mgmt.containerservice.operations.TrustedAccessRoleBindingsOperations - :ivar load_balancers: LoadBalancersOperations operations - :vartype load_balancers: azure.mgmt.containerservice.operations.LoadBalancersOperations :ivar identity_bindings: IdentityBindingsOperations operations :vartype identity_bindings: azure.mgmt.containerservice.operations.IdentityBindingsOperations - :ivar jwt_authenticators: JWTAuthenticatorsOperations operations - :vartype jwt_authenticators: azure.mgmt.containerservice.operations.JWTAuthenticatorsOperations - :ivar mesh_memberships: MeshMembershipsOperations operations - :vartype mesh_memberships: azure.mgmt.containerservice.operations.MeshMembershipsOperations :ivar operations: Operations operations :vartype operations: azure.mgmt.containerservice.operations.Operations - :ivar alert_configurations: AlertConfigurationsOperations operations - :vartype alert_configurations: - azure.mgmt.containerservice.operations.AlertConfigurationsOperations - :ivar operation_status_result: OperationStatusResultOperations operations - :vartype operation_status_result: - azure.mgmt.containerservice.operations.OperationStatusResultOperations :ivar private_link_resources: PrivateLinkResourcesOperations operations :vartype private_link_resources: azure.mgmt.containerservice.operations.PrivateLinkResourcesOperations @@ -107,10 +81,6 @@ class ContainerServiceClient: # pylint: disable=too-many-instance-attributes :ivar trusted_access_roles: TrustedAccessRolesOperations operations :vartype trusted_access_roles: azure.mgmt.containerservice.operations.TrustedAccessRolesOperations - :ivar container_service: ContainerServiceOperations operations - :vartype container_service: azure.mgmt.containerservice.operations.ContainerServiceOperations - :ivar vm_skus: VmSkusOperations operations - :vartype vm_skus: azure.mgmt.containerservice.operations.VmSkusOperations :param credential: Credential used to authenticate requests to the service. Required. :type credential: ~azure.core.credentials.TokenCredential :param subscription_id: The ID of the target subscription. The value must be an UUID. Required. @@ -120,10 +90,9 @@ class ContainerServiceClient: # pylint: disable=too-many-instance-attributes :keyword cloud_setting: The cloud setting for which to get the ARM endpoint. Default value is None. :paramtype cloud_setting: ~azure.core.AzureClouds - :keyword api_version: The API version to use for this operation. Known values are - "2026-05-02-preview" and None. Default value is None. If not set, the operation's default API - version will be used. Note that overriding this default value may result in unsupported - behavior. + :keyword api_version: The API version to use for this operation. Known values are "2026-05-01" + and None. Default value is None. If not set, the operation's default API version will be used. + Note that overriding this default value may result in unsupported behavior. :paramtype api_version: str :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. @@ -183,9 +152,6 @@ def __init__( self.maintenance_configurations = MaintenanceConfigurationsOperations( self._client, self._config, self._serialize, self._deserialize ) - self.maintenance_windows = MaintenanceWindowsOperations( - self._client, self._config, self._serialize, self._deserialize - ) self.managed_namespaces = ManagedNamespacesOperations( self._client, self._config, self._serialize, self._deserialize ) @@ -194,29 +160,13 @@ def __init__( self._client, self._config, self._serialize, self._deserialize ) self.snapshots = SnapshotsOperations(self._client, self._config, self._serialize, self._deserialize) - self.managed_cluster_snapshots = ManagedClusterSnapshotsOperations( - self._client, self._config, self._serialize, self._deserialize - ) self.trusted_access_role_bindings = TrustedAccessRoleBindingsOperations( self._client, self._config, self._serialize, self._deserialize ) - self.load_balancers = LoadBalancersOperations(self._client, self._config, self._serialize, self._deserialize) self.identity_bindings = IdentityBindingsOperations( self._client, self._config, self._serialize, self._deserialize ) - self.jwt_authenticators = JWTAuthenticatorsOperations( - self._client, self._config, self._serialize, self._deserialize - ) - self.mesh_memberships = MeshMembershipsOperations( - self._client, self._config, self._serialize, self._deserialize - ) self.operations = Operations(self._client, self._config, self._serialize, self._deserialize) - self.alert_configurations = AlertConfigurationsOperations( - self._client, self._config, self._serialize, self._deserialize - ) - self.operation_status_result = OperationStatusResultOperations( - self._client, self._config, self._serialize, self._deserialize - ) self.private_link_resources = PrivateLinkResourcesOperations( self._client, self._config, self._serialize, self._deserialize ) @@ -226,10 +176,6 @@ def __init__( self.trusted_access_roles = TrustedAccessRolesOperations( self._client, self._config, self._serialize, self._deserialize ) - self.container_service = ContainerServiceOperations( - self._client, self._config, self._serialize, self._deserialize - ) - self.vm_skus = VmSkusOperations(self._client, self._config, self._serialize, self._deserialize) def send_request(self, request: HttpRequest, *, stream: bool = False, **kwargs: Any) -> HttpResponse: """Runs the network request through the client's chained policies. diff --git a/sdk/containerservice/azure-mgmt-containerservice/azure/mgmt/containerservice/_configuration.py b/sdk/containerservice/azure-mgmt-containerservice/azure/mgmt/containerservice/_configuration.py index e9f22e522cbf..c8edb077cb8a 100644 --- a/sdk/containerservice/azure-mgmt-containerservice/azure/mgmt/containerservice/_configuration.py +++ b/sdk/containerservice/azure-mgmt-containerservice/azure/mgmt/containerservice/_configuration.py @@ -1,3 +1,4 @@ +# pylint: disable=line-too-long,useless-suppression # coding=utf-8 # -------------------------------------------------------------------------- # Copyright (c) Microsoft Corporation. All rights reserved. @@ -18,7 +19,7 @@ from azure.core.credentials import TokenCredential -class ContainerServiceClientConfiguration: # pylint: disable=too-many-instance-attributes +class ContainerServiceClientConfiguration: # pylint: disable=too-many-instance-attributes,docstring-keyword-should-match-keyword-only """Configuration for ContainerServiceClient. Note that all parameters used to create this instance are saved as instance @@ -33,10 +34,9 @@ class ContainerServiceClientConfiguration: # pylint: disable=too-many-instance- :param cloud_setting: The cloud setting for which to get the ARM endpoint. Default value is None. :type cloud_setting: ~azure.core.AzureClouds - :keyword api_version: The API version to use for this operation. Known values are - "2026-05-02-preview" and None. Default value is None. If not set, the operation's default API - version will be used. Note that overriding this default value may result in unsupported - behavior. + :keyword api_version: The API version to use for this operation. Known values are "2026-05-01" + and None. Default value is None. If not set, the operation's default API version will be used. + Note that overriding this default value may result in unsupported behavior. :paramtype api_version: str """ @@ -48,7 +48,7 @@ def __init__( cloud_setting: Optional["AzureClouds"] = None, **kwargs: Any ) -> None: - api_version: str = kwargs.pop("api_version", "2026-05-02-preview") + api_version: str = kwargs.pop("api_version", "2026-05-01") if credential is None: raise ValueError("Parameter 'credential' must not be None.") diff --git a/sdk/containerservice/azure-mgmt-containerservice/azure/mgmt/containerservice/_utils/model_base.py b/sdk/containerservice/azure-mgmt-containerservice/azure/mgmt/containerservice/_utils/model_base.py index 1934415c1369..88aaf1823543 100644 --- a/sdk/containerservice/azure-mgmt-containerservice/azure/mgmt/containerservice/_utils/model_base.py +++ b/sdk/containerservice/azure-mgmt-containerservice/azure/mgmt/containerservice/_utils/model_base.py @@ -158,7 +158,15 @@ def _is_readonly(p): class SdkJSONEncoder(JSONEncoder): - """A JSON encoder that's capable of serializing datetime objects and bytes.""" + """A JSON encoder that's capable of serializing datetime objects and bytes. + + :param args: Additional positional arguments passed to the base ``JSONEncoder``. + :type args: typing.Any + :keyword exclude_readonly: Whether to exclude readonly properties. Defaults to False. + :paramtype exclude_readonly: bool + :keyword format: The format to use for serialization. Defaults to None. + :paramtype format: typing.Optional[str] + """ def __init__(self, *args, exclude_readonly: bool = False, format: typing.Optional[str] = None, **kwargs): super().__init__(*args, **kwargs) @@ -342,6 +350,12 @@ def _deserialize_int_as_str(attr): return int(attr) +def _deserialize_bool_as_str(attr): + if isinstance(attr, bool): + return attr + return attr.lower() == "true" + + _DESERIALIZE_MAPPING = { datetime: _deserialize_datetime, date: _deserialize_date, @@ -369,6 +383,8 @@ def _deserialize_int_as_str(attr): def get_deserializer(annotation: typing.Any, rf: typing.Optional["_RestField"] = None): if annotation is int and rf and rf._format == "str": return _deserialize_int_as_str + if annotation is bool and rf and rf._format == "str": + return _deserialize_bool_as_str if annotation is str and rf and rf._format in _ARRAY_ENCODE_MAPPING: return functools.partial(_deserialize_array_encoded, _ARRAY_ENCODE_MAPPING[rf._format]) if rf and rf._format: diff --git a/sdk/containerservice/azure-mgmt-containerservice/azure/mgmt/containerservice/_utils/serialization.py b/sdk/containerservice/azure-mgmt-containerservice/azure/mgmt/containerservice/_utils/serialization.py index 75906e2eb77f..ae08f9d89f74 100644 --- a/sdk/containerservice/azure-mgmt-containerservice/azure/mgmt/containerservice/_utils/serialization.py +++ b/sdk/containerservice/azure-mgmt-containerservice/azure/mgmt/containerservice/_utils/serialization.py @@ -480,7 +480,11 @@ def _decode_attribute_map_key(key): class Serializer: # pylint: disable=too-many-public-methods - """Request object model serializer.""" + """Request object model serializer. + + :param classes: Mapping of model names to model types, used to resolve models during serialization. + :type classes: typing.Optional[typing.Mapping[str, type]] + """ basic_types = {str: "str", int: "int", bool: "bool", float: "float"} diff --git a/sdk/containerservice/azure-mgmt-containerservice/azure/mgmt/containerservice/_version.py b/sdk/containerservice/azure-mgmt-containerservice/azure/mgmt/containerservice/_version.py index 3942f3998aa7..ab7221a4237e 100644 --- a/sdk/containerservice/azure-mgmt-containerservice/azure/mgmt/containerservice/_version.py +++ b/sdk/containerservice/azure-mgmt-containerservice/azure/mgmt/containerservice/_version.py @@ -6,4 +6,4 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -VERSION = "41.6.0b1" +VERSION = "41.6.0" diff --git a/sdk/containerservice/azure-mgmt-containerservice/azure/mgmt/containerservice/aio/_client.py b/sdk/containerservice/azure-mgmt-containerservice/azure/mgmt/containerservice/aio/_client.py index ee8945ac1e2d..0bd74b044894 100644 --- a/sdk/containerservice/azure-mgmt-containerservice/azure/mgmt/containerservice/aio/_client.py +++ b/sdk/containerservice/azure-mgmt-containerservice/azure/mgmt/containerservice/aio/_client.py @@ -1,3 +1,4 @@ +# pylint: disable=line-too-long,useless-suppression # coding=utf-8 # -------------------------------------------------------------------------- # Copyright (c) Microsoft Corporation. All rights reserved. @@ -21,19 +22,11 @@ from ._configuration import ContainerServiceClientConfiguration from .operations import ( AgentPoolsOperations, - AlertConfigurationsOperations, - ContainerServiceOperations, IdentityBindingsOperations, - JWTAuthenticatorsOperations, - LoadBalancersOperations, MachinesOperations, MaintenanceConfigurationsOperations, - MaintenanceWindowsOperations, - ManagedClusterSnapshotsOperations, ManagedClustersOperations, ManagedNamespacesOperations, - MeshMembershipsOperations, - OperationStatusResultOperations, Operations, PrivateEndpointConnectionsOperations, PrivateLinkResourcesOperations, @@ -41,7 +34,6 @@ SnapshotsOperations, TrustedAccessRoleBindingsOperations, TrustedAccessRolesOperations, - VmSkusOperations, ) if sys.version_info >= (3, 11): @@ -54,7 +46,7 @@ from azure.core.credentials_async import AsyncTokenCredential -class ContainerServiceClient: # pylint: disable=too-many-instance-attributes +class ContainerServiceClient: # pylint: disable=too-many-instance-attributes,docstring-keyword-should-match-keyword-only """The Container Service Client. :ivar agent_pools: AgentPoolsOperations operations @@ -64,9 +56,6 @@ class ContainerServiceClient: # pylint: disable=too-many-instance-attributes :ivar maintenance_configurations: MaintenanceConfigurationsOperations operations :vartype maintenance_configurations: azure.mgmt.containerservice.aio.operations.MaintenanceConfigurationsOperations - :ivar maintenance_windows: MaintenanceWindowsOperations operations - :vartype maintenance_windows: - azure.mgmt.containerservice.aio.operations.MaintenanceWindowsOperations :ivar managed_namespaces: ManagedNamespacesOperations operations :vartype managed_namespaces: azure.mgmt.containerservice.aio.operations.ManagedNamespacesOperations @@ -77,30 +66,14 @@ class ContainerServiceClient: # pylint: disable=too-many-instance-attributes azure.mgmt.containerservice.aio.operations.PrivateEndpointConnectionsOperations :ivar snapshots: SnapshotsOperations operations :vartype snapshots: azure.mgmt.containerservice.aio.operations.SnapshotsOperations - :ivar managed_cluster_snapshots: ManagedClusterSnapshotsOperations operations - :vartype managed_cluster_snapshots: - azure.mgmt.containerservice.aio.operations.ManagedClusterSnapshotsOperations :ivar trusted_access_role_bindings: TrustedAccessRoleBindingsOperations operations :vartype trusted_access_role_bindings: azure.mgmt.containerservice.aio.operations.TrustedAccessRoleBindingsOperations - :ivar load_balancers: LoadBalancersOperations operations - :vartype load_balancers: azure.mgmt.containerservice.aio.operations.LoadBalancersOperations :ivar identity_bindings: IdentityBindingsOperations operations :vartype identity_bindings: azure.mgmt.containerservice.aio.operations.IdentityBindingsOperations - :ivar jwt_authenticators: JWTAuthenticatorsOperations operations - :vartype jwt_authenticators: - azure.mgmt.containerservice.aio.operations.JWTAuthenticatorsOperations - :ivar mesh_memberships: MeshMembershipsOperations operations - :vartype mesh_memberships: azure.mgmt.containerservice.aio.operations.MeshMembershipsOperations :ivar operations: Operations operations :vartype operations: azure.mgmt.containerservice.aio.operations.Operations - :ivar alert_configurations: AlertConfigurationsOperations operations - :vartype alert_configurations: - azure.mgmt.containerservice.aio.operations.AlertConfigurationsOperations - :ivar operation_status_result: OperationStatusResultOperations operations - :vartype operation_status_result: - azure.mgmt.containerservice.aio.operations.OperationStatusResultOperations :ivar private_link_resources: PrivateLinkResourcesOperations operations :vartype private_link_resources: azure.mgmt.containerservice.aio.operations.PrivateLinkResourcesOperations @@ -110,11 +83,6 @@ class ContainerServiceClient: # pylint: disable=too-many-instance-attributes :ivar trusted_access_roles: TrustedAccessRolesOperations operations :vartype trusted_access_roles: azure.mgmt.containerservice.aio.operations.TrustedAccessRolesOperations - :ivar container_service: ContainerServiceOperations operations - :vartype container_service: - azure.mgmt.containerservice.aio.operations.ContainerServiceOperations - :ivar vm_skus: VmSkusOperations operations - :vartype vm_skus: azure.mgmt.containerservice.aio.operations.VmSkusOperations :param credential: Credential used to authenticate requests to the service. Required. :type credential: ~azure.core.credentials_async.AsyncTokenCredential :param subscription_id: The ID of the target subscription. The value must be an UUID. Required. @@ -124,10 +92,9 @@ class ContainerServiceClient: # pylint: disable=too-many-instance-attributes :keyword cloud_setting: The cloud setting for which to get the ARM endpoint. Default value is None. :paramtype cloud_setting: ~azure.core.AzureClouds - :keyword api_version: The API version to use for this operation. Known values are - "2026-05-02-preview" and None. Default value is None. If not set, the operation's default API - version will be used. Note that overriding this default value may result in unsupported - behavior. + :keyword api_version: The API version to use for this operation. Known values are "2026-05-01" + and None. Default value is None. If not set, the operation's default API version will be used. + Note that overriding this default value may result in unsupported behavior. :paramtype api_version: str :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. @@ -189,9 +156,6 @@ def __init__( self.maintenance_configurations = MaintenanceConfigurationsOperations( self._client, self._config, self._serialize, self._deserialize ) - self.maintenance_windows = MaintenanceWindowsOperations( - self._client, self._config, self._serialize, self._deserialize - ) self.managed_namespaces = ManagedNamespacesOperations( self._client, self._config, self._serialize, self._deserialize ) @@ -200,29 +164,13 @@ def __init__( self._client, self._config, self._serialize, self._deserialize ) self.snapshots = SnapshotsOperations(self._client, self._config, self._serialize, self._deserialize) - self.managed_cluster_snapshots = ManagedClusterSnapshotsOperations( - self._client, self._config, self._serialize, self._deserialize - ) self.trusted_access_role_bindings = TrustedAccessRoleBindingsOperations( self._client, self._config, self._serialize, self._deserialize ) - self.load_balancers = LoadBalancersOperations(self._client, self._config, self._serialize, self._deserialize) self.identity_bindings = IdentityBindingsOperations( self._client, self._config, self._serialize, self._deserialize ) - self.jwt_authenticators = JWTAuthenticatorsOperations( - self._client, self._config, self._serialize, self._deserialize - ) - self.mesh_memberships = MeshMembershipsOperations( - self._client, self._config, self._serialize, self._deserialize - ) self.operations = Operations(self._client, self._config, self._serialize, self._deserialize) - self.alert_configurations = AlertConfigurationsOperations( - self._client, self._config, self._serialize, self._deserialize - ) - self.operation_status_result = OperationStatusResultOperations( - self._client, self._config, self._serialize, self._deserialize - ) self.private_link_resources = PrivateLinkResourcesOperations( self._client, self._config, self._serialize, self._deserialize ) @@ -232,10 +180,6 @@ def __init__( self.trusted_access_roles = TrustedAccessRolesOperations( self._client, self._config, self._serialize, self._deserialize ) - self.container_service = ContainerServiceOperations( - self._client, self._config, self._serialize, self._deserialize - ) - self.vm_skus = VmSkusOperations(self._client, self._config, self._serialize, self._deserialize) def send_request( self, request: HttpRequest, *, stream: bool = False, **kwargs: Any diff --git a/sdk/containerservice/azure-mgmt-containerservice/azure/mgmt/containerservice/aio/_configuration.py b/sdk/containerservice/azure-mgmt-containerservice/azure/mgmt/containerservice/aio/_configuration.py index c13c01158c58..7eba51cae21f 100644 --- a/sdk/containerservice/azure-mgmt-containerservice/azure/mgmt/containerservice/aio/_configuration.py +++ b/sdk/containerservice/azure-mgmt-containerservice/azure/mgmt/containerservice/aio/_configuration.py @@ -1,3 +1,4 @@ +# pylint: disable=line-too-long,useless-suppression # coding=utf-8 # -------------------------------------------------------------------------- # Copyright (c) Microsoft Corporation. All rights reserved. @@ -18,7 +19,7 @@ from azure.core.credentials_async import AsyncTokenCredential -class ContainerServiceClientConfiguration: # pylint: disable=too-many-instance-attributes +class ContainerServiceClientConfiguration: # pylint: disable=too-many-instance-attributes,docstring-keyword-should-match-keyword-only """Configuration for ContainerServiceClient. Note that all parameters used to create this instance are saved as instance @@ -33,10 +34,9 @@ class ContainerServiceClientConfiguration: # pylint: disable=too-many-instance- :param cloud_setting: The cloud setting for which to get the ARM endpoint. Default value is None. :type cloud_setting: ~azure.core.AzureClouds - :keyword api_version: The API version to use for this operation. Known values are - "2026-05-02-preview" and None. Default value is None. If not set, the operation's default API - version will be used. Note that overriding this default value may result in unsupported - behavior. + :keyword api_version: The API version to use for this operation. Known values are "2026-05-01" + and None. Default value is None. If not set, the operation's default API version will be used. + Note that overriding this default value may result in unsupported behavior. :paramtype api_version: str """ @@ -48,7 +48,7 @@ def __init__( cloud_setting: Optional["AzureClouds"] = None, **kwargs: Any ) -> None: - api_version: str = kwargs.pop("api_version", "2026-05-02-preview") + api_version: str = kwargs.pop("api_version", "2026-05-01") if credential is None: raise ValueError("Parameter 'credential' must not be None.") diff --git a/sdk/containerservice/azure-mgmt-containerservice/azure/mgmt/containerservice/aio/operations/__init__.py b/sdk/containerservice/azure-mgmt-containerservice/azure/mgmt/containerservice/aio/operations/__init__.py index a484f1c8d559..69da5e12a363 100644 --- a/sdk/containerservice/azure-mgmt-containerservice/azure/mgmt/containerservice/aio/operations/__init__.py +++ b/sdk/containerservice/azure-mgmt-containerservice/azure/mgmt/containerservice/aio/operations/__init__.py @@ -15,25 +15,16 @@ from ._operations import AgentPoolsOperations # type: ignore from ._operations import ManagedClustersOperations # type: ignore from ._operations import MaintenanceConfigurationsOperations # type: ignore -from ._operations import MaintenanceWindowsOperations # type: ignore from ._operations import ManagedNamespacesOperations # type: ignore from ._operations import MachinesOperations # type: ignore from ._operations import PrivateEndpointConnectionsOperations # type: ignore from ._operations import SnapshotsOperations # type: ignore -from ._operations import ManagedClusterSnapshotsOperations # type: ignore from ._operations import TrustedAccessRoleBindingsOperations # type: ignore -from ._operations import LoadBalancersOperations # type: ignore from ._operations import IdentityBindingsOperations # type: ignore -from ._operations import JWTAuthenticatorsOperations # type: ignore -from ._operations import MeshMembershipsOperations # type: ignore from ._operations import Operations # type: ignore -from ._operations import AlertConfigurationsOperations # type: ignore -from ._operations import OperationStatusResultOperations # type: ignore from ._operations import PrivateLinkResourcesOperations # type: ignore from ._operations import ResolvePrivateLinkServiceIdOperations # type: ignore from ._operations import TrustedAccessRolesOperations # type: ignore -from ._operations import ContainerServiceOperations # type: ignore -from ._operations import VmSkusOperations # type: ignore from ._patch import __all__ as _patch_all from ._patch import * @@ -43,25 +34,16 @@ "AgentPoolsOperations", "ManagedClustersOperations", "MaintenanceConfigurationsOperations", - "MaintenanceWindowsOperations", "ManagedNamespacesOperations", "MachinesOperations", "PrivateEndpointConnectionsOperations", "SnapshotsOperations", - "ManagedClusterSnapshotsOperations", "TrustedAccessRoleBindingsOperations", - "LoadBalancersOperations", "IdentityBindingsOperations", - "JWTAuthenticatorsOperations", - "MeshMembershipsOperations", "Operations", - "AlertConfigurationsOperations", - "OperationStatusResultOperations", "PrivateLinkResourcesOperations", "ResolvePrivateLinkServiceIdOperations", "TrustedAccessRolesOperations", - "ContainerServiceOperations", - "VmSkusOperations", ] __all__.extend([p for p in _patch_all if p not in __all__]) # pyright: ignore _patch_sdk() diff --git a/sdk/containerservice/azure-mgmt-containerservice/azure/mgmt/containerservice/aio/operations/_operations.py b/sdk/containerservice/azure-mgmt-containerservice/azure/mgmt/containerservice/aio/operations/_operations.py index 2a17fb0fb625..93cbe04c8604 100644 --- a/sdk/containerservice/azure-mgmt-containerservice/azure/mgmt/containerservice/aio/operations/_operations.py +++ b/sdk/containerservice/azure-mgmt-containerservice/azure/mgmt/containerservice/aio/operations/_operations.py @@ -40,75 +40,42 @@ from ..._validation import api_version_validation from ...operations._operations import ( build_agent_pools_abort_latest_operation_request, - build_agent_pools_complete_upgrade_request, build_agent_pools_create_or_update_request, build_agent_pools_delete_machines_request, build_agent_pools_delete_request, build_agent_pools_get_available_agent_pool_versions_request, build_agent_pools_get_request, build_agent_pools_get_upgrade_profile_request, - build_agent_pools_list_bootstrap_data_request, build_agent_pools_list_request, build_agent_pools_upgrade_node_image_version_request, - build_alert_configurations_create_or_update_request, - build_alert_configurations_delete_request, - build_alert_configurations_get_request, - build_alert_configurations_list_by_managed_cluster_request, - build_container_service_list_node_image_versions_request, build_identity_bindings_create_or_update_request, build_identity_bindings_delete_request, build_identity_bindings_get_request, build_identity_bindings_list_by_managed_cluster_request, - build_jwt_authenticators_create_or_update_request, - build_jwt_authenticators_delete_request, - build_jwt_authenticators_get_request, - build_jwt_authenticators_list_by_managed_cluster_request, - build_load_balancers_create_or_update_request, - build_load_balancers_delete_request, - build_load_balancers_get_request, - build_load_balancers_list_by_managed_cluster_request, - build_machines_create_or_update_request, build_machines_get_request, build_machines_list_request, build_maintenance_configurations_create_or_update_request, build_maintenance_configurations_delete_request, build_maintenance_configurations_get_request, build_maintenance_configurations_list_by_managed_cluster_request, - build_maintenance_windows_create_or_update_request, - build_maintenance_windows_delete_request, - build_maintenance_windows_get_request, - build_maintenance_windows_list_by_subscription_request, - build_maintenance_windows_list_request, - build_maintenance_windows_update_tags_request, - build_managed_cluster_snapshots_create_or_update_request, - build_managed_cluster_snapshots_delete_request, - build_managed_cluster_snapshots_get_request, - build_managed_cluster_snapshots_list_by_resource_group_request, - build_managed_cluster_snapshots_list_request, - build_managed_cluster_snapshots_update_tags_request, build_managed_clusters_abort_latest_operation_request, build_managed_clusters_create_or_update_request, build_managed_clusters_delete_request, build_managed_clusters_get_access_profile_request, build_managed_clusters_get_command_result_request, - build_managed_clusters_get_guardrails_versions_request, build_managed_clusters_get_mesh_revision_profile_request, build_managed_clusters_get_mesh_upgrade_profile_request, build_managed_clusters_get_request, - build_managed_clusters_get_safeguards_versions_request, build_managed_clusters_get_upgrade_profile_request, build_managed_clusters_list_by_resource_group_request, build_managed_clusters_list_cluster_admin_credentials_request, build_managed_clusters_list_cluster_monitoring_user_credentials_request, build_managed_clusters_list_cluster_user_credentials_request, - build_managed_clusters_list_guardrails_versions_request, build_managed_clusters_list_kubernetes_versions_request, build_managed_clusters_list_mesh_revision_profiles_request, build_managed_clusters_list_mesh_upgrade_profiles_request, build_managed_clusters_list_outbound_network_dependencies_endpoints_request, build_managed_clusters_list_request, - build_managed_clusters_list_safeguards_versions_request, - build_managed_clusters_rebalance_load_balancers_request, build_managed_clusters_reset_aad_profile_request, build_managed_clusters_reset_service_principal_profile_request, build_managed_clusters_rotate_cluster_certificates_request, @@ -123,13 +90,6 @@ build_managed_namespaces_list_by_managed_cluster_request, build_managed_namespaces_list_credential_request, build_managed_namespaces_update_request, - build_mesh_memberships_create_or_update_request, - build_mesh_memberships_delete_request, - build_mesh_memberships_get_request, - build_mesh_memberships_list_by_managed_cluster_request, - build_operation_status_result_get_by_agent_pool_request, - build_operation_status_result_get_request, - build_operation_status_result_list_request, build_operations_list_request, build_private_endpoint_connections_delete_request, build_private_endpoint_connections_get_request, @@ -148,7 +108,6 @@ build_trusted_access_role_bindings_get_request, build_trusted_access_role_bindings_list_request, build_trusted_access_roles_list_request, - build_vm_skus_list_request, ) from .._configuration import ContainerServiceClientConfiguration @@ -157,7 +116,7 @@ List = list -class AgentPoolsOperations: +class AgentPoolsOperations: # pylint: disable=docstring-missing-param """ .. warning:: **DO NOT** instantiate this class directly. @@ -937,161 +896,6 @@ def get_long_running_output(pipeline_response): # pylint: disable=inconsistent- ) return AsyncLROPoller[None](self._client, raw_result, get_long_running_output, polling_method) # type: ignore - @api_version_validation( - method_added_on="2026-05-02-preview", - params_added_on={ - "2026-05-02-preview": [ - "api_version", - "subscription_id", - "resource_group_name", - "resource_name", - "agent_pool_name", - ] - }, - api_versions_list=["2026-05-02-preview"], - ) - async def _complete_upgrade_initial( - self, resource_group_name: str, resource_name: str, agent_pool_name: str, **kwargs: Any - ) -> AsyncIterator[bytes]: - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - _headers = kwargs.pop("headers", {}) or {} - _params = kwargs.pop("params", {}) or {} - - cls: ClsType[AsyncIterator[bytes]] = kwargs.pop("cls", None) - - _request = build_agent_pools_complete_upgrade_request( - resource_group_name=resource_group_name, - resource_name=resource_name, - agent_pool_name=agent_pool_name, - subscription_id=self._config.subscription_id, - api_version=self._config.api_version, - headers=_headers, - params=_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - _decompress = kwargs.pop("decompress", True) - _stream = True - pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access - _request, stream=_stream, **kwargs - ) - - response = pipeline_response.http_response - - if response.status_code not in [202, 204]: - try: - await response.read() # Load the body in memory and close the socket - except (StreamConsumedError, StreamClosedError): - pass - map_error(status_code=response.status_code, response=response, error_map=error_map) - error = _failsafe_deserialize( - _models.ErrorResponse, - response, - ) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - - response_headers = {} - if response.status_code == 202: - response_headers["Azure-AsyncOperation"] = self._deserialize( - "str", response.headers.get("Azure-AsyncOperation") - ) - response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) - response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) - - deserialized = response.iter_bytes() if _decompress else response.iter_raw() - - if cls: - return cls(pipeline_response, deserialized, response_headers) # type: ignore - - return deserialized # type: ignore - - @distributed_trace_async - @api_version_validation( - method_added_on="2026-05-02-preview", - params_added_on={ - "2026-05-02-preview": [ - "api_version", - "subscription_id", - "resource_group_name", - "resource_name", - "agent_pool_name", - ] - }, - api_versions_list=["2026-05-02-preview"], - ) - async def begin_complete_upgrade( - self, resource_group_name: str, resource_name: str, agent_pool_name: str, **kwargs: Any - ) -> AsyncLROPoller[None]: - """Completes the upgrade of an agent pool. - - Completes the upgrade operation for the specified agent pool. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param resource_name: The name of the managed cluster resource. Required. - :type resource_name: str - :param agent_pool_name: The name of the agent pool. Required. - :type agent_pool_name: str - :return: An instance of AsyncLROPoller that returns None - :rtype: ~azure.core.polling.AsyncLROPoller[None] - :raises ~azure.core.exceptions.HttpResponseError: - """ - _headers = kwargs.pop("headers", {}) or {} - _params = kwargs.pop("params", {}) or {} - - cls: ClsType[None] = kwargs.pop("cls", None) - polling: Union[bool, AsyncPollingMethod] = kwargs.pop("polling", True) - lro_delay = kwargs.pop("polling_interval", self._config.polling_interval) - cont_token: Optional[str] = kwargs.pop("continuation_token", None) - if cont_token is None: - raw_result = await self._complete_upgrade_initial( - resource_group_name=resource_group_name, - resource_name=resource_name, - agent_pool_name=agent_pool_name, - cls=lambda x, y, z: x, - headers=_headers, - params=_params, - **kwargs - ) - await raw_result.http_response.read() # type: ignore - kwargs.pop("error_map", None) - - def get_long_running_output(pipeline_response): # pylint: disable=inconsistent-return-statements - if cls: - return cls(pipeline_response, None, {}) # type: ignore - - path_format_arguments = { - "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), - } - - if polling is True: - polling_method: AsyncPollingMethod = cast( - AsyncPollingMethod, AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) - ) - elif polling is False: - polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) - else: - polling_method = polling - if cont_token: - return AsyncLROPoller[None].from_continuation_token( - polling_method=polling_method, - continuation_token=cont_token, - client=self._client, - deserialization_callback=get_long_running_output, - ) - return AsyncLROPoller[None](self._client, raw_result, get_long_running_output, polling_method) # type: ignore - async def _delete_machines_initial( self, resource_group_name: str, @@ -1467,143 +1271,24 @@ def get_long_running_output(pipeline_response): # pylint: disable=inconsistent- ) return AsyncLROPoller[None](self._client, raw_result, get_long_running_output, polling_method) # type: ignore - @overload - async def list_bootstrap_data( - self, - resource_group_name: str, - resource_name: str, - agent_pool_name: str, - body: _models.ListBootstrapDataRequest, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> _models.PoolBootstrapData: - """Lists bootstrap data for a FlexNode agent pool. - - Returns pool-level bootstrap configuration for FlexNode machines. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param resource_name: The name of the managed cluster resource. Required. - :type resource_name: str - :param agent_pool_name: The name of the agent pool. Required. - :type agent_pool_name: str - :param body: The content of the action request. Required. - :type body: ~azure.mgmt.containerservice.models.ListBootstrapDataRequest - :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. - Default value is "application/json". - :paramtype content_type: str - :return: PoolBootstrapData. The PoolBootstrapData is compatible with MutableMapping - :rtype: ~azure.mgmt.containerservice.models.PoolBootstrapData - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @overload - async def list_bootstrap_data( - self, - resource_group_name: str, - resource_name: str, - agent_pool_name: str, - body: _types.ListBootstrapDataRequest, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> _models.PoolBootstrapData: - """Lists bootstrap data for a FlexNode agent pool. - - Returns pool-level bootstrap configuration for FlexNode machines. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param resource_name: The name of the managed cluster resource. Required. - :type resource_name: str - :param agent_pool_name: The name of the agent pool. Required. - :type agent_pool_name: str - :param body: The content of the action request. Required. - :type body: ~azure.mgmt.containerservice.types.ListBootstrapDataRequest - :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. - Default value is "application/json". - :paramtype content_type: str - :return: PoolBootstrapData. The PoolBootstrapData is compatible with MutableMapping - :rtype: ~azure.mgmt.containerservice.models.PoolBootstrapData - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @overload - async def list_bootstrap_data( - self, - resource_group_name: str, - resource_name: str, - agent_pool_name: str, - body: IO[bytes], - *, - content_type: str = "application/json", - **kwargs: Any - ) -> _models.PoolBootstrapData: - """Lists bootstrap data for a FlexNode agent pool. - - Returns pool-level bootstrap configuration for FlexNode machines. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param resource_name: The name of the managed cluster resource. Required. - :type resource_name: str - :param agent_pool_name: The name of the agent pool. Required. - :type agent_pool_name: str - :param body: The content of the action request. Required. - :type body: IO[bytes] - :keyword content_type: Body Parameter content-type. Content type parameter for binary body. - Default value is "application/json". - :paramtype content_type: str - :return: PoolBootstrapData. The PoolBootstrapData is compatible with MutableMapping - :rtype: ~azure.mgmt.containerservice.models.PoolBootstrapData - :raises ~azure.core.exceptions.HttpResponseError: - """ - @distributed_trace_async - @api_version_validation( - method_added_on="2026-05-02-preview", - params_added_on={ - "2026-05-02-preview": [ - "api_version", - "subscription_id", - "resource_group_name", - "resource_name", - "agent_pool_name", - "content_type", - "accept", - ] - }, - api_versions_list=["2026-05-02-preview"], - ) - async def list_bootstrap_data( - self, - resource_group_name: str, - resource_name: str, - agent_pool_name: str, - body: Union[_models.ListBootstrapDataRequest, _types.ListBootstrapDataRequest, IO[bytes]], - **kwargs: Any - ) -> _models.PoolBootstrapData: - """Lists bootstrap data for a FlexNode agent pool. + async def get_available_agent_pool_versions( + self, resource_group_name: str, resource_name: str, **kwargs: Any + ) -> _models.AgentPoolAvailableVersions: + """Gets a list of supported Kubernetes versions for the specified agent pool. - Returns pool-level bootstrap configuration for FlexNode machines. + See `supported Kubernetes versions + `_ for more details about + the version lifecycle. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param resource_name: The name of the managed cluster resource. Required. :type resource_name: str - :param agent_pool_name: The name of the agent pool. Required. - :type agent_pool_name: str - :param body: The content of the action request. Is either a ListBootstrapDataRequest type or a - IO[bytes] type. Required. - :type body: ~azure.mgmt.containerservice.models.ListBootstrapDataRequest or - ~azure.mgmt.containerservice.types.ListBootstrapDataRequest or IO[bytes] - :return: PoolBootstrapData. The PoolBootstrapData is compatible with MutableMapping - :rtype: ~azure.mgmt.containerservice.models.PoolBootstrapData + :return: AgentPoolAvailableVersions. The AgentPoolAvailableVersions is compatible with + MutableMapping + :rtype: ~azure.mgmt.containerservice.models.AgentPoolAvailableVersions :raises ~azure.core.exceptions.HttpResponseError: """ error_map: MutableMapping = { @@ -1614,27 +1299,16 @@ async def list_bootstrap_data( } error_map.update(kwargs.pop("error_map", {}) or {}) - _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - cls: ClsType[_models.PoolBootstrapData] = kwargs.pop("cls", None) - - content_type = content_type or "application/json" - _content = None - if isinstance(body, (IOBase, bytes)): - _content = body - else: - _content = json.dumps(body, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + cls: ClsType[_models.AgentPoolAvailableVersions] = kwargs.pop("cls", None) - _request = build_agent_pools_list_bootstrap_data_request( + _request = build_agent_pools_get_available_agent_pool_versions_request( resource_group_name=resource_group_name, resource_name=resource_name, - agent_pool_name=agent_pool_name, subscription_id=self._config.subscription_id, - content_type=content_type, api_version=self._config.api_version, - content=_content, headers=_headers, params=_params, ) @@ -1667,84 +1341,7 @@ async def list_bootstrap_data( if _stream: deserialized = response.iter_bytes() if _decompress else response.iter_raw() else: - deserialized = _deserialize(_models.PoolBootstrapData, response.json()) - - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - - return deserialized # type: ignore - - @distributed_trace_async - async def get_available_agent_pool_versions( - self, resource_group_name: str, resource_name: str, **kwargs: Any - ) -> _models.AgentPoolAvailableVersions: - """Gets a list of supported Kubernetes versions for the specified agent pool. - - See `supported Kubernetes versions - `_ for more details about - the version lifecycle. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param resource_name: The name of the managed cluster resource. Required. - :type resource_name: str - :return: AgentPoolAvailableVersions. The AgentPoolAvailableVersions is compatible with - MutableMapping - :rtype: ~azure.mgmt.containerservice.models.AgentPoolAvailableVersions - :raises ~azure.core.exceptions.HttpResponseError: - """ - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - _headers = kwargs.pop("headers", {}) or {} - _params = kwargs.pop("params", {}) or {} - - cls: ClsType[_models.AgentPoolAvailableVersions] = kwargs.pop("cls", None) - - _request = build_agent_pools_get_available_agent_pool_versions_request( - resource_group_name=resource_group_name, - resource_name=resource_name, - subscription_id=self._config.subscription_id, - api_version=self._config.api_version, - headers=_headers, - params=_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - _decompress = kwargs.pop("decompress", True) - _stream = kwargs.pop("stream", False) - pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access - _request, stream=_stream, **kwargs - ) - - response = pipeline_response.http_response - - if response.status_code not in [200]: - if _stream: - try: - await response.read() # Load the body in memory and close the socket - except (StreamConsumedError, StreamClosedError): - pass - map_error(status_code=response.status_code, response=response, error_map=error_map) - error = _failsafe_deserialize( - _models.ErrorResponse, - response, - ) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - - if _stream: - deserialized = response.iter_bytes() if _decompress else response.iter_raw() - else: - deserialized = _deserialize(_models.AgentPoolAvailableVersions, response.json()) + deserialized = _deserialize(_models.AgentPoolAvailableVersions, response.json()) if cls: return cls(pipeline_response, deserialized, {}) # type: ignore @@ -1827,7 +1424,7 @@ async def get_upgrade_profile( return deserialized # type: ignore -class ManagedClustersOperations: # pylint: disable=too-many-public-methods +class ManagedClustersOperations: # pylint: disable=docstring-missing-param,too-many-public-methods """ .. warning:: **DO NOT** instantiate this class directly. @@ -2473,24 +2070,11 @@ def get_long_running_output(pipeline_response): self._client, raw_result, get_long_running_output, polling_method # type: ignore ) - @api_version_validation( - params_added_on={"2026-05-02-preview": ["ignore_pod_disruption_budget"]}, - api_versions_list=[ - "2025-10-01", - "2026-01-01", - "2026-02-01", - "2026-03-01", - "2026-04-01", - "2026-05-01", - "2026-05-02-preview", - ], - ) async def _delete_initial( self, resource_group_name: str, resource_name: str, *, - ignore_pod_disruption_budget: Optional[bool] = None, etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, **kwargs: Any @@ -2518,7 +2102,6 @@ async def _delete_initial( resource_group_name=resource_group_name, resource_name=resource_name, subscription_id=self._config.subscription_id, - ignore_pod_disruption_budget=ignore_pod_disruption_budget, etag=etag, match_condition=match_condition, api_version=self._config.api_version, @@ -2566,24 +2149,11 @@ async def _delete_initial( return deserialized # type: ignore @distributed_trace_async - @api_version_validation( - params_added_on={"2026-05-02-preview": ["ignore_pod_disruption_budget"]}, - api_versions_list=[ - "2025-10-01", - "2026-01-01", - "2026-02-01", - "2026-03-01", - "2026-04-01", - "2026-05-01", - "2026-05-02-preview", - ], - ) async def begin_delete( self, resource_group_name: str, resource_name: str, *, - ignore_pod_disruption_budget: Optional[bool] = None, etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, **kwargs: Any @@ -2595,9 +2165,6 @@ async def begin_delete( :type resource_group_name: str :param resource_name: The name of the managed cluster resource. Required. :type resource_name: str - :keyword ignore_pod_disruption_budget: ignore-pod-disruption-budget=true to delete those pods - on a node without considering Pod Disruption Budget. Default value is None. - :paramtype ignore_pod_disruption_budget: bool :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is None. :paramtype etag: str @@ -2618,7 +2185,6 @@ async def begin_delete( raw_result = await self._delete_initial( resource_group_name=resource_group_name, resource_name=resource_name, - ignore_pod_disruption_budget=ignore_pod_disruption_budget, etag=etag, match_condition=match_condition, cls=lambda x, y, z: x, @@ -4700,28 +4266,22 @@ async def get_next(next_link=None): return AsyncItemPaged(get_next, extract_data) - @api_version_validation( - method_added_on="2026-05-02-preview", - params_added_on={ - "2026-05-02-preview": [ - "api_version", - "subscription_id", - "resource_group_name", - "resource_name", - "content_type", - ] - }, - api_versions_list=["2026-05-02-preview"], - ) - async def _rebalance_load_balancers_initial( - self, - resource_group_name: str, - resource_name: str, - parameters: Union[ - _models.RebalanceLoadBalancersRequestBody, _types.RebalanceLoadBalancersRequestBody, IO[bytes] - ], - **kwargs: Any - ) -> AsyncIterator[bytes]: + @distributed_trace_async + async def get_upgrade_profile( + self, resource_group_name: str, resource_name: str, **kwargs: Any + ) -> _models.ManagedClusterUpgradeProfile: + """Gets the upgrade profile of a managed cluster. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param resource_name: The name of the managed cluster resource. Required. + :type resource_name: str + :return: ManagedClusterUpgradeProfile. The ManagedClusterUpgradeProfile is compatible with + MutableMapping + :rtype: ~azure.mgmt.containerservice.models.ManagedClusterUpgradeProfile + :raises ~azure.core.exceptions.HttpResponseError: + """ error_map: MutableMapping = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, @@ -4730,26 +4290,16 @@ async def _rebalance_load_balancers_initial( } error_map.update(kwargs.pop("error_map", {}) or {}) - _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - cls: ClsType[AsyncIterator[bytes]] = kwargs.pop("cls", None) - - content_type = content_type or "application/json" - _content = None - if isinstance(parameters, (IOBase, bytes)): - _content = parameters - else: - _content = json.dumps(parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + cls: ClsType[_models.ManagedClusterUpgradeProfile] = kwargs.pop("cls", None) - _request = build_managed_clusters_rebalance_load_balancers_request( + _request = build_managed_clusters_get_upgrade_profile_request( resource_group_name=resource_group_name, resource_name=resource_name, subscription_id=self._config.subscription_id, - content_type=content_type, api_version=self._config.api_version, - content=_content, headers=_headers, params=_params, ) @@ -4759,18 +4309,19 @@ async def _rebalance_load_balancers_initial( _request.url = self._client.format_url(_request.url, **path_format_arguments) _decompress = kwargs.pop("decompress", True) - _stream = True + _stream = kwargs.pop("stream", False) pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access _request, stream=_stream, **kwargs ) response = pipeline_response.http_response - if response.status_code not in [202, 204]: - try: - await response.read() # Load the body in memory and close the socket - except (StreamConsumedError, StreamClosedError): - pass + if response.status_code not in [200]: + if _stream: + try: + await response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass map_error(status_code=response.status_code, response=response, error_map=error_map) error = _failsafe_deserialize( _models.ErrorResponse, @@ -4778,297 +4329,47 @@ async def _rebalance_load_balancers_initial( ) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - response_headers = {} - if response.status_code == 202: - response_headers["Azure-AsyncOperation"] = self._deserialize( - "str", response.headers.get("Azure-AsyncOperation") - ) - response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) - response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) - - deserialized = response.iter_bytes() if _decompress else response.iter_raw() + if _stream: + deserialized = response.iter_bytes() if _decompress else response.iter_raw() + else: + deserialized = _deserialize(_models.ManagedClusterUpgradeProfile, response.json()) if cls: - return cls(pipeline_response, deserialized, response_headers) # type: ignore + return cls(pipeline_response, deserialized, {}) # type: ignore return deserialized # type: ignore - @overload - async def begin_rebalance_load_balancers( - self, - resource_group_name: str, - resource_name: str, - parameters: _models.RebalanceLoadBalancersRequestBody, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> AsyncLROPoller[None]: - """Rebalance nodes across specific load balancers. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param resource_name: The name of the managed cluster resource. Required. - :type resource_name: str - :param parameters: The names of the load balancers to be rebalanced. If set to empty, all load - balancers will be rebalanced. Required. - :type parameters: ~azure.mgmt.containerservice.models.RebalanceLoadBalancersRequestBody - :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. - Default value is "application/json". - :paramtype content_type: str - :return: An instance of AsyncLROPoller that returns None - :rtype: ~azure.core.polling.AsyncLROPoller[None] - :raises ~azure.core.exceptions.HttpResponseError: - """ + @distributed_trace_async + async def get_mesh_revision_profile(self, location: str, mode: str, **kwargs: Any) -> _models.MeshRevisionProfile: + """Gets a mesh revision profile for a specified mesh in the specified location. - @overload - async def begin_rebalance_load_balancers( - self, - resource_group_name: str, - resource_name: str, - parameters: _types.RebalanceLoadBalancersRequestBody, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> AsyncLROPoller[None]: - """Rebalance nodes across specific load balancers. + Contains extra metadata on the revision, including supported revisions, cluster compatibility + and available upgrades. - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param resource_name: The name of the managed cluster resource. Required. - :type resource_name: str - :param parameters: The names of the load balancers to be rebalanced. If set to empty, all load - balancers will be rebalanced. Required. - :type parameters: ~azure.mgmt.containerservice.types.RebalanceLoadBalancersRequestBody - :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. - Default value is "application/json". - :paramtype content_type: str - :return: An instance of AsyncLROPoller that returns None - :rtype: ~azure.core.polling.AsyncLROPoller[None] + :param location: The name of the Azure region. Required. + :type location: str + :param mode: The mode of the mesh. Required. + :type mode: str + :return: MeshRevisionProfile. The MeshRevisionProfile is compatible with MutableMapping + :rtype: ~azure.mgmt.containerservice.models.MeshRevisionProfile :raises ~azure.core.exceptions.HttpResponseError: """ + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) - @overload - async def begin_rebalance_load_balancers( - self, - resource_group_name: str, - resource_name: str, - parameters: IO[bytes], - *, - content_type: str = "application/json", - **kwargs: Any - ) -> AsyncLROPoller[None]: - """Rebalance nodes across specific load balancers. + _headers = kwargs.pop("headers", {}) or {} + _params = kwargs.pop("params", {}) or {} - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param resource_name: The name of the managed cluster resource. Required. - :type resource_name: str - :param parameters: The names of the load balancers to be rebalanced. If set to empty, all load - balancers will be rebalanced. Required. - :type parameters: IO[bytes] - :keyword content_type: Body Parameter content-type. Content type parameter for binary body. - Default value is "application/json". - :paramtype content_type: str - :return: An instance of AsyncLROPoller that returns None - :rtype: ~azure.core.polling.AsyncLROPoller[None] - :raises ~azure.core.exceptions.HttpResponseError: - """ + cls: ClsType[_models.MeshRevisionProfile] = kwargs.pop("cls", None) - @distributed_trace_async - @api_version_validation( - method_added_on="2026-05-02-preview", - params_added_on={ - "2026-05-02-preview": [ - "api_version", - "subscription_id", - "resource_group_name", - "resource_name", - "content_type", - ] - }, - api_versions_list=["2026-05-02-preview"], - ) - async def begin_rebalance_load_balancers( - self, - resource_group_name: str, - resource_name: str, - parameters: Union[ - _models.RebalanceLoadBalancersRequestBody, _types.RebalanceLoadBalancersRequestBody, IO[bytes] - ], - **kwargs: Any - ) -> AsyncLROPoller[None]: - """Rebalance nodes across specific load balancers. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param resource_name: The name of the managed cluster resource. Required. - :type resource_name: str - :param parameters: The names of the load balancers to be rebalanced. If set to empty, all load - balancers will be rebalanced. Is either a RebalanceLoadBalancersRequestBody type or a IO[bytes] - type. Required. - :type parameters: ~azure.mgmt.containerservice.models.RebalanceLoadBalancersRequestBody or - ~azure.mgmt.containerservice.types.RebalanceLoadBalancersRequestBody or IO[bytes] - :return: An instance of AsyncLROPoller that returns None - :rtype: ~azure.core.polling.AsyncLROPoller[None] - :raises ~azure.core.exceptions.HttpResponseError: - """ - _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - _params = kwargs.pop("params", {}) or {} - - content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - cls: ClsType[None] = kwargs.pop("cls", None) - polling: Union[bool, AsyncPollingMethod] = kwargs.pop("polling", True) - lro_delay = kwargs.pop("polling_interval", self._config.polling_interval) - cont_token: Optional[str] = kwargs.pop("continuation_token", None) - if cont_token is None: - raw_result = await self._rebalance_load_balancers_initial( - resource_group_name=resource_group_name, - resource_name=resource_name, - parameters=parameters, - content_type=content_type, - cls=lambda x, y, z: x, - headers=_headers, - params=_params, - **kwargs - ) - await raw_result.http_response.read() # type: ignore - kwargs.pop("error_map", None) - - def get_long_running_output(pipeline_response): # pylint: disable=inconsistent-return-statements - if cls: - return cls(pipeline_response, None, {}) # type: ignore - - path_format_arguments = { - "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), - } - - if polling is True: - polling_method: AsyncPollingMethod = cast( - AsyncPollingMethod, AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) - ) - elif polling is False: - polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) - else: - polling_method = polling - if cont_token: - return AsyncLROPoller[None].from_continuation_token( - polling_method=polling_method, - continuation_token=cont_token, - client=self._client, - deserialization_callback=get_long_running_output, - ) - return AsyncLROPoller[None](self._client, raw_result, get_long_running_output, polling_method) # type: ignore - - @distributed_trace_async - async def get_upgrade_profile( - self, resource_group_name: str, resource_name: str, **kwargs: Any - ) -> _models.ManagedClusterUpgradeProfile: - """Gets the upgrade profile of a managed cluster. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param resource_name: The name of the managed cluster resource. Required. - :type resource_name: str - :return: ManagedClusterUpgradeProfile. The ManagedClusterUpgradeProfile is compatible with - MutableMapping - :rtype: ~azure.mgmt.containerservice.models.ManagedClusterUpgradeProfile - :raises ~azure.core.exceptions.HttpResponseError: - """ - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - _headers = kwargs.pop("headers", {}) or {} - _params = kwargs.pop("params", {}) or {} - - cls: ClsType[_models.ManagedClusterUpgradeProfile] = kwargs.pop("cls", None) - - _request = build_managed_clusters_get_upgrade_profile_request( - resource_group_name=resource_group_name, - resource_name=resource_name, - subscription_id=self._config.subscription_id, - api_version=self._config.api_version, - headers=_headers, - params=_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - _decompress = kwargs.pop("decompress", True) - _stream = kwargs.pop("stream", False) - pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access - _request, stream=_stream, **kwargs - ) - - response = pipeline_response.http_response - - if response.status_code not in [200]: - if _stream: - try: - await response.read() # Load the body in memory and close the socket - except (StreamConsumedError, StreamClosedError): - pass - map_error(status_code=response.status_code, response=response, error_map=error_map) - error = _failsafe_deserialize( - _models.ErrorResponse, - response, - ) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - - if _stream: - deserialized = response.iter_bytes() if _decompress else response.iter_raw() - else: - deserialized = _deserialize(_models.ManagedClusterUpgradeProfile, response.json()) - - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - - return deserialized # type: ignore - - @distributed_trace_async - async def get_guardrails_versions( - self, location: str, version: str, **kwargs: Any - ) -> _models.GuardrailsAvailableVersion: - """Gets supported Guardrails version in the specified subscription and location. - - Contains Guardrails version along with its support info and whether it is a default version. - - :param location: The name of the Azure region. Required. - :type location: str - :param version: Safeguards version. Required. - :type version: str - :return: GuardrailsAvailableVersion. The GuardrailsAvailableVersion is compatible with - MutableMapping - :rtype: ~azure.mgmt.containerservice.models.GuardrailsAvailableVersion - :raises ~azure.core.exceptions.HttpResponseError: - """ - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - _headers = kwargs.pop("headers", {}) or {} - _params = kwargs.pop("params", {}) or {} - - cls: ClsType[_models.GuardrailsAvailableVersion] = kwargs.pop("cls", None) - - _request = build_managed_clusters_get_guardrails_versions_request( + _request = build_managed_clusters_get_mesh_revision_profile_request( location=location, - version=version, + mode=mode, subscription_id=self._config.subscription_id, api_version=self._config.api_version, headers=_headers, @@ -5103,7 +4404,7 @@ async def get_guardrails_versions( if _stream: deserialized = response.iter_bytes() if _decompress else response.iter_raw() else: - deserialized = _deserialize(_models.GuardrailsAvailableVersion, response.json()) + deserialized = _deserialize(_models.MeshRevisionProfile, response.json()) if cls: return cls(pipeline_response, deserialized, {}) # type: ignore @@ -5111,25 +4412,25 @@ async def get_guardrails_versions( return deserialized # type: ignore @distributed_trace - def list_guardrails_versions( + def list_mesh_revision_profiles( self, location: str, **kwargs: Any - ) -> AsyncItemPaged["_models.GuardrailsAvailableVersion"]: - """Gets a list of supported Guardrails versions in the specified subscription and location. + ) -> AsyncItemPaged["_models.MeshRevisionProfile"]: + """Lists mesh revision profiles for all meshes in the specified location. - Contains list of Guardrails version along with its support info and whether it is a default - version. + Contains extra metadata on each revision, including supported revisions, cluster compatibility + and available upgrades. :param location: The name of the Azure region. Required. :type location: str - :return: An iterator like instance of GuardrailsAvailableVersion + :return: An iterator like instance of MeshRevisionProfile :rtype: - ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.containerservice.models.GuardrailsAvailableVersion] + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.containerservice.models.MeshRevisionProfile] :raises ~azure.core.exceptions.HttpResponseError: """ _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - cls: ClsType[List[_models.GuardrailsAvailableVersion]] = kwargs.pop("cls", None) + cls: ClsType[List[_models.MeshRevisionProfile]] = kwargs.pop("cls", None) error_map: MutableMapping = { 401: ClientAuthenticationError, @@ -5142,7 +4443,7 @@ def list_guardrails_versions( def prepare_request(next_link=None): if not next_link: - _request = build_managed_clusters_list_guardrails_versions_request( + _request = build_managed_clusters_list_mesh_revision_profiles_request( location=location, subscription_id=self._config.subscription_id, api_version=self._config.api_version, @@ -5184,7 +4485,7 @@ def prepare_request(next_link=None): async def extract_data(pipeline_response): deserialized = pipeline_response.http_response.json() list_of_elem = _deserialize( - List[_models.GuardrailsAvailableVersion], + List[_models.MeshRevisionProfile], deserialized.get("value", []), ) if cls: @@ -5213,20 +4514,20 @@ async def get_next(next_link=None): return AsyncItemPaged(get_next, extract_data) @distributed_trace_async - async def get_safeguards_versions( - self, location: str, version: str, **kwargs: Any - ) -> _models.SafeguardsAvailableVersion: - """Gets supported Safeguards version in the specified subscription and location. - - Contains Safeguards version along with its support info and whether it is a default version. + async def get_mesh_upgrade_profile( + self, resource_group_name: str, resource_name: str, mode: str, **kwargs: Any + ) -> _models.MeshUpgradeProfile: + """Gets available upgrades for a service mesh in a cluster. - :param location: The name of the Azure region. Required. - :type location: str - :param version: Safeguards version. Required. - :type version: str - :return: SafeguardsAvailableVersion. The SafeguardsAvailableVersion is compatible with - MutableMapping - :rtype: ~azure.mgmt.containerservice.models.SafeguardsAvailableVersion + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param resource_name: The name of the managed cluster resource. Required. + :type resource_name: str + :param mode: The mode of the mesh. Required. + :type mode: str + :return: MeshUpgradeProfile. The MeshUpgradeProfile is compatible with MutableMapping + :rtype: ~azure.mgmt.containerservice.models.MeshUpgradeProfile :raises ~azure.core.exceptions.HttpResponseError: """ error_map: MutableMapping = { @@ -5240,11 +4541,12 @@ async def get_safeguards_versions( _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - cls: ClsType[_models.SafeguardsAvailableVersion] = kwargs.pop("cls", None) + cls: ClsType[_models.MeshUpgradeProfile] = kwargs.pop("cls", None) - _request = build_managed_clusters_get_safeguards_versions_request( - location=location, - version=version, + _request = build_managed_clusters_get_mesh_upgrade_profile_request( + resource_group_name=resource_group_name, + resource_name=resource_name, + mode=mode, subscription_id=self._config.subscription_id, api_version=self._config.api_version, headers=_headers, @@ -5279,7 +4581,7 @@ async def get_safeguards_versions( if _stream: deserialized = response.iter_bytes() if _decompress else response.iter_raw() else: - deserialized = _deserialize(_models.SafeguardsAvailableVersion, response.json()) + deserialized = _deserialize(_models.MeshUpgradeProfile, response.json()) if cls: return cls(pipeline_response, deserialized, {}) # type: ignore @@ -5287,25 +4589,25 @@ async def get_safeguards_versions( return deserialized # type: ignore @distributed_trace - def list_safeguards_versions( - self, location: str, **kwargs: Any - ) -> AsyncItemPaged["_models.SafeguardsAvailableVersion"]: - """Gets a list of supported Safeguards versions in the specified subscription and location. - - Contains list of Safeguards version along with its support info and whether it is a default - version. + def list_mesh_upgrade_profiles( + self, resource_group_name: str, resource_name: str, **kwargs: Any + ) -> AsyncItemPaged["_models.MeshUpgradeProfile"]: + """Lists available upgrades for all service meshes in a specific cluster. - :param location: The name of the Azure region. Required. - :type location: str - :return: An iterator like instance of SafeguardsAvailableVersion + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param resource_name: The name of the managed cluster resource. Required. + :type resource_name: str + :return: An iterator like instance of MeshUpgradeProfile :rtype: - ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.containerservice.models.SafeguardsAvailableVersion] + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.containerservice.models.MeshUpgradeProfile] :raises ~azure.core.exceptions.HttpResponseError: """ _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - cls: ClsType[List[_models.SafeguardsAvailableVersion]] = kwargs.pop("cls", None) + cls: ClsType[List[_models.MeshUpgradeProfile]] = kwargs.pop("cls", None) error_map: MutableMapping = { 401: ClientAuthenticationError, @@ -5318,8 +4620,9 @@ def list_safeguards_versions( def prepare_request(next_link=None): if not next_link: - _request = build_managed_clusters_list_safeguards_versions_request( - location=location, + _request = build_managed_clusters_list_mesh_upgrade_profiles_request( + resource_group_name=resource_group_name, + resource_name=resource_name, subscription_id=self._config.subscription_id, api_version=self._config.api_version, headers=_headers, @@ -5360,7 +4663,7 @@ def prepare_request(next_link=None): async def extract_data(pipeline_response): deserialized = pipeline_response.http_response.json() list_of_elem = _deserialize( - List[_models.SafeguardsAvailableVersion], + List[_models.MeshUpgradeProfile], deserialized.get("value", []), ) if cls: @@ -5389,18 +4692,17 @@ async def get_next(next_link=None): return AsyncItemPaged(get_next, extract_data) @distributed_trace_async - async def get_mesh_revision_profile(self, location: str, mode: str, **kwargs: Any) -> _models.MeshRevisionProfile: - """Gets a mesh revision profile for a specified mesh in the specified location. + async def list_kubernetes_versions(self, location: str, **kwargs: Any) -> _models.KubernetesVersionListResult: + """Gets a list of supported Kubernetes versions in the specified subscription. - Contains extra metadata on the revision, including supported revisions, cluster compatibility - and available upgrades. + Contains extra metadata on the version, including supported patch versions, capabilities, + available upgrades, and details on preview status of the version. :param location: The name of the Azure region. Required. :type location: str - :param mode: The mode of the mesh. Required. - :type mode: str - :return: MeshRevisionProfile. The MeshRevisionProfile is compatible with MutableMapping - :rtype: ~azure.mgmt.containerservice.models.MeshRevisionProfile + :return: KubernetesVersionListResult. The KubernetesVersionListResult is compatible with + MutableMapping + :rtype: ~azure.mgmt.containerservice.models.KubernetesVersionListResult :raises ~azure.core.exceptions.HttpResponseError: """ error_map: MutableMapping = { @@ -5414,11 +4716,10 @@ async def get_mesh_revision_profile(self, location: str, mode: str, **kwargs: An _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - cls: ClsType[_models.MeshRevisionProfile] = kwargs.pop("cls", None) + cls: ClsType[_models.KubernetesVersionListResult] = kwargs.pop("cls", None) - _request = build_managed_clusters_get_mesh_revision_profile_request( + _request = build_managed_clusters_list_kubernetes_versions_request( location=location, - mode=mode, subscription_id=self._config.subscription_id, api_version=self._config.api_version, headers=_headers, @@ -5453,130 +4754,48 @@ async def get_mesh_revision_profile(self, location: str, mode: str, **kwargs: An if _stream: deserialized = response.iter_bytes() if _decompress else response.iter_raw() else: - deserialized = _deserialize(_models.MeshRevisionProfile, response.json()) + deserialized = _deserialize(_models.KubernetesVersionListResult, response.json()) if cls: return cls(pipeline_response, deserialized, {}) # type: ignore return deserialized # type: ignore - @distributed_trace - def list_mesh_revision_profiles( - self, location: str, **kwargs: Any - ) -> AsyncItemPaged["_models.MeshRevisionProfile"]: - """Lists mesh revision profiles for all meshes in the specified location. - - Contains extra metadata on each revision, including supported revisions, cluster compatibility - and available upgrades. - :param location: The name of the Azure region. Required. - :type location: str - :return: An iterator like instance of MeshRevisionProfile - :rtype: - ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.containerservice.models.MeshRevisionProfile] - :raises ~azure.core.exceptions.HttpResponseError: - """ - _headers = kwargs.pop("headers", {}) or {} - _params = kwargs.pop("params", {}) or {} +class MaintenanceConfigurationsOperations: # pylint: disable=docstring-missing-param + """ + .. warning:: + **DO NOT** instantiate this class directly. - cls: ClsType[List[_models.MeshRevisionProfile]] = kwargs.pop("cls", None) - - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - def prepare_request(next_link=None): - if not next_link: - - _request = build_managed_clusters_list_mesh_revision_profiles_request( - location=location, - subscription_id=self._config.subscription_id, - api_version=self._config.api_version, - headers=_headers, - params=_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url( - "self._config.base_url", self._config.base_url, "str", skip_quote=True - ), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - else: - # make call to next link with the client's api-version - _parsed_next_link = urllib.parse.urlparse(next_link) - _next_request_params = case_insensitive_dict( - { - key: [urllib.parse.quote(v) for v in value] - for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items() - } - ) - _next_request_params["api-version"] = self._config.api_version - _request = HttpRequest( - "GET", - urllib.parse.urljoin(next_link, _parsed_next_link.path), - headers=_headers, - params=_next_request_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url( - "self._config.base_url", self._config.base_url, "str", skip_quote=True - ), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - return _request - - async def extract_data(pipeline_response): - deserialized = pipeline_response.http_response.json() - list_of_elem = _deserialize( - List[_models.MeshRevisionProfile], - deserialized.get("value", []), - ) - if cls: - list_of_elem = cls(list_of_elem) # type: ignore - return deserialized.get("nextLink") or None, AsyncList(list_of_elem) - - async def get_next(next_link=None): - _request = prepare_request(next_link) - - _stream = False - pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access - _request, stream=_stream, **kwargs - ) - response = pipeline_response.http_response - - if response.status_code not in [200]: - map_error(status_code=response.status_code, response=response, error_map=error_map) - error = _failsafe_deserialize( - _models.ErrorResponse, - response, - ) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - - return pipeline_response + Instead, you should access the following operations through + :class:`~azure.mgmt.containerservice.aio.ContainerServiceClient`'s + :attr:`maintenance_configurations` attribute. + """ - return AsyncItemPaged(get_next, extract_data) + def __init__(self, *args, **kwargs) -> None: + input_args = list(args) + self._client: AsyncPipelineClient = input_args.pop(0) if input_args else kwargs.pop("client") + self._config: ContainerServiceClientConfiguration = input_args.pop(0) if input_args else kwargs.pop("config") + self._serialize: Serializer = input_args.pop(0) if input_args else kwargs.pop("serializer") + self._deserialize: Deserializer = input_args.pop(0) if input_args else kwargs.pop("deserializer") @distributed_trace_async - async def get_mesh_upgrade_profile( - self, resource_group_name: str, resource_name: str, mode: str, **kwargs: Any - ) -> _models.MeshUpgradeProfile: - """Gets available upgrades for a service mesh in a cluster. + async def get( + self, resource_group_name: str, resource_name: str, config_name: str, **kwargs: Any + ) -> _models.MaintenanceConfiguration: + """Gets the specified maintenance configuration of a managed cluster. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param resource_name: The name of the managed cluster resource. Required. :type resource_name: str - :param mode: The mode of the mesh. Required. - :type mode: str - :return: MeshUpgradeProfile. The MeshUpgradeProfile is compatible with MutableMapping - :rtype: ~azure.mgmt.containerservice.models.MeshUpgradeProfile + :param config_name: The name of the maintenance configuration. Supported values are 'default', + 'aksManagedAutoUpgradeSchedule', or 'aksManagedNodeOSUpgradeSchedule'. Required. + :type config_name: str + :return: MaintenanceConfiguration. The MaintenanceConfiguration is compatible with + MutableMapping + :rtype: ~azure.mgmt.containerservice.models.MaintenanceConfiguration :raises ~azure.core.exceptions.HttpResponseError: """ error_map: MutableMapping = { @@ -5590,12 +4809,12 @@ async def get_mesh_upgrade_profile( _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - cls: ClsType[_models.MeshUpgradeProfile] = kwargs.pop("cls", None) + cls: ClsType[_models.MaintenanceConfiguration] = kwargs.pop("cls", None) - _request = build_managed_clusters_get_mesh_upgrade_profile_request( + _request = build_maintenance_configurations_get_request( resource_group_name=resource_group_name, resource_name=resource_name, - mode=mode, + config_name=config_name, subscription_id=self._config.subscription_id, api_version=self._config.api_version, headers=_headers, @@ -5630,34 +4849,137 @@ async def get_mesh_upgrade_profile( if _stream: deserialized = response.iter_bytes() if _decompress else response.iter_raw() else: - deserialized = _deserialize(_models.MeshUpgradeProfile, response.json()) + deserialized = _deserialize(_models.MaintenanceConfiguration, response.json()) if cls: return cls(pipeline_response, deserialized, {}) # type: ignore return deserialized # type: ignore - @distributed_trace - def list_mesh_upgrade_profiles( - self, resource_group_name: str, resource_name: str, **kwargs: Any - ) -> AsyncItemPaged["_models.MeshUpgradeProfile"]: - """Lists available upgrades for all service meshes in a specific cluster. + @overload + async def create_or_update( + self, + resource_group_name: str, + resource_name: str, + config_name: str, + parameters: _models.MaintenanceConfiguration, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> _models.MaintenanceConfiguration: + """Creates or updates a maintenance configuration in the specified managed cluster. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param resource_name: The name of the managed cluster resource. Required. :type resource_name: str - :return: An iterator like instance of MeshUpgradeProfile - :rtype: - ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.containerservice.models.MeshUpgradeProfile] + :param config_name: The name of the maintenance configuration. Supported values are 'default', + 'aksManagedAutoUpgradeSchedule', or 'aksManagedNodeOSUpgradeSchedule'. Required. + :type config_name: str + :param parameters: The maintenance configuration to create or update. Required. + :type parameters: ~azure.mgmt.containerservice.models.MaintenanceConfiguration + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: MaintenanceConfiguration. The MaintenanceConfiguration is compatible with + MutableMapping + :rtype: ~azure.mgmt.containerservice.models.MaintenanceConfiguration :raises ~azure.core.exceptions.HttpResponseError: """ - _headers = kwargs.pop("headers", {}) or {} - _params = kwargs.pop("params", {}) or {} - cls: ClsType[List[_models.MeshUpgradeProfile]] = kwargs.pop("cls", None) + @overload + async def create_or_update( + self, + resource_group_name: str, + resource_name: str, + config_name: str, + parameters: _types.MaintenanceConfiguration, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> _models.MaintenanceConfiguration: + """Creates or updates a maintenance configuration in the specified managed cluster. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param resource_name: The name of the managed cluster resource. Required. + :type resource_name: str + :param config_name: The name of the maintenance configuration. Supported values are 'default', + 'aksManagedAutoUpgradeSchedule', or 'aksManagedNodeOSUpgradeSchedule'. Required. + :type config_name: str + :param parameters: The maintenance configuration to create or update. Required. + :type parameters: ~azure.mgmt.containerservice.types.MaintenanceConfiguration + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: MaintenanceConfiguration. The MaintenanceConfiguration is compatible with + MutableMapping + :rtype: ~azure.mgmt.containerservice.models.MaintenanceConfiguration + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + async def create_or_update( + self, + resource_group_name: str, + resource_name: str, + config_name: str, + parameters: IO[bytes], + *, + content_type: str = "application/json", + **kwargs: Any + ) -> _models.MaintenanceConfiguration: + """Creates or updates a maintenance configuration in the specified managed cluster. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param resource_name: The name of the managed cluster resource. Required. + :type resource_name: str + :param config_name: The name of the maintenance configuration. Supported values are 'default', + 'aksManagedAutoUpgradeSchedule', or 'aksManagedNodeOSUpgradeSchedule'. Required. + :type config_name: str + :param parameters: The maintenance configuration to create or update. Required. + :type parameters: IO[bytes] + :keyword content_type: Body Parameter content-type. Content type parameter for binary body. + Default value is "application/json". + :paramtype content_type: str + :return: MaintenanceConfiguration. The MaintenanceConfiguration is compatible with + MutableMapping + :rtype: ~azure.mgmt.containerservice.models.MaintenanceConfiguration + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @distributed_trace_async + async def create_or_update( + self, + resource_group_name: str, + resource_name: str, + config_name: str, + parameters: Union[_models.MaintenanceConfiguration, _types.MaintenanceConfiguration, IO[bytes]], + **kwargs: Any + ) -> _models.MaintenanceConfiguration: + """Creates or updates a maintenance configuration in the specified managed cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param resource_name: The name of the managed cluster resource. Required. + :type resource_name: str + :param config_name: The name of the maintenance configuration. Supported values are 'default', + 'aksManagedAutoUpgradeSchedule', or 'aksManagedNodeOSUpgradeSchedule'. Required. + :type config_name: str + :param parameters: The maintenance configuration to create or update. Is either a + MaintenanceConfiguration type or a IO[bytes] type. Required. + :type parameters: ~azure.mgmt.containerservice.models.MaintenanceConfiguration or + ~azure.mgmt.containerservice.types.MaintenanceConfiguration or IO[bytes] + :return: MaintenanceConfiguration. The MaintenanceConfiguration is compatible with + MutableMapping + :rtype: ~azure.mgmt.containerservice.models.MaintenanceConfiguration + :raises ~azure.core.exceptions.HttpResponseError: + """ error_map: MutableMapping = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, @@ -5666,19 +4988,169 @@ def list_mesh_upgrade_profiles( } error_map.update(kwargs.pop("error_map", {}) or {}) - def prepare_request(next_link=None): - if not next_link: + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _params = kwargs.pop("params", {}) or {} - _request = build_managed_clusters_list_mesh_upgrade_profiles_request( - resource_group_name=resource_group_name, - resource_name=resource_name, - subscription_id=self._config.subscription_id, - api_version=self._config.api_version, - headers=_headers, - params=_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url( + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + cls: ClsType[_models.MaintenanceConfiguration] = kwargs.pop("cls", None) + + content_type = content_type or "application/json" + _content = None + if isinstance(parameters, (IOBase, bytes)): + _content = parameters + else: + _content = json.dumps(parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + + _request = build_maintenance_configurations_create_or_update_request( + resource_group_name=resource_group_name, + resource_name=resource_name, + config_name=config_name, + subscription_id=self._config.subscription_id, + content_type=content_type, + api_version=self._config.api_version, + content=_content, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + _decompress = kwargs.pop("decompress", True) + _stream = kwargs.pop("stream", False) + pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access + _request, stream=_stream, **kwargs + ) + + response = pipeline_response.http_response + + if response.status_code not in [200, 201]: + if _stream: + try: + await response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if _stream: + deserialized = response.iter_bytes() if _decompress else response.iter_raw() + else: + deserialized = _deserialize(_models.MaintenanceConfiguration, response.json()) + + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + + return deserialized # type: ignore + + @distributed_trace_async + async def delete(self, resource_group_name: str, resource_name: str, config_name: str, **kwargs: Any) -> None: + """Deletes a maintenance configuration. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param resource_name: The name of the managed cluster resource. Required. + :type resource_name: str + :param config_name: The name of the maintenance configuration. Supported values are 'default', + 'aksManagedAutoUpgradeSchedule', or 'aksManagedNodeOSUpgradeSchedule'. Required. + :type config_name: str + :return: None + :rtype: None + :raises ~azure.core.exceptions.HttpResponseError: + """ + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + _headers = kwargs.pop("headers", {}) or {} + _params = kwargs.pop("params", {}) or {} + + cls: ClsType[None] = kwargs.pop("cls", None) + + _request = build_maintenance_configurations_delete_request( + resource_group_name=resource_group_name, + resource_name=resource_name, + config_name=config_name, + subscription_id=self._config.subscription_id, + api_version=self._config.api_version, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + _stream = False + pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access + _request, stream=_stream, **kwargs + ) + + response = pipeline_response.http_response + + if response.status_code not in [200, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) # type: ignore + + @distributed_trace + def list_by_managed_cluster( + self, resource_group_name: str, resource_name: str, **kwargs: Any + ) -> AsyncItemPaged["_models.MaintenanceConfiguration"]: + """Gets a list of maintenance configurations in the specified managed cluster. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param resource_name: The name of the managed cluster resource. Required. + :type resource_name: str + :return: An iterator like instance of MaintenanceConfiguration + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.containerservice.models.MaintenanceConfiguration] + :raises ~azure.core.exceptions.HttpResponseError: + """ + _headers = kwargs.pop("headers", {}) or {} + _params = kwargs.pop("params", {}) or {} + + cls: ClsType[List[_models.MaintenanceConfiguration]] = kwargs.pop("cls", None) + + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + def prepare_request(next_link=None): + if not next_link: + + _request = build_maintenance_configurations_list_by_managed_cluster_request( + resource_group_name=resource_group_name, + resource_name=resource_name, + subscription_id=self._config.subscription_id, + api_version=self._config.api_version, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url( "self._config.base_url", self._config.base_url, "str", skip_quote=True ), } @@ -5712,7 +5184,7 @@ def prepare_request(next_link=None): async def extract_data(pipeline_response): deserialized = pipeline_response.http_response.json() list_of_elem = _deserialize( - List[_models.MeshUpgradeProfile], + List[_models.MaintenanceConfiguration], deserialized.get("value", []), ) if cls: @@ -5740,85 +5212,15 @@ async def get_next(next_link=None): return AsyncItemPaged(get_next, extract_data) - @distributed_trace_async - async def list_kubernetes_versions(self, location: str, **kwargs: Any) -> _models.KubernetesVersionListResult: - """Gets a list of supported Kubernetes versions in the specified subscription. - - Contains extra metadata on the version, including supported patch versions, capabilities, - available upgrades, and details on preview status of the version. - - :param location: The name of the Azure region. Required. - :type location: str - :return: KubernetesVersionListResult. The KubernetesVersionListResult is compatible with - MutableMapping - :rtype: ~azure.mgmt.containerservice.models.KubernetesVersionListResult - :raises ~azure.core.exceptions.HttpResponseError: - """ - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - _headers = kwargs.pop("headers", {}) or {} - _params = kwargs.pop("params", {}) or {} - - cls: ClsType[_models.KubernetesVersionListResult] = kwargs.pop("cls", None) - - _request = build_managed_clusters_list_kubernetes_versions_request( - location=location, - subscription_id=self._config.subscription_id, - api_version=self._config.api_version, - headers=_headers, - params=_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - _decompress = kwargs.pop("decompress", True) - _stream = kwargs.pop("stream", False) - pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access - _request, stream=_stream, **kwargs - ) - - response = pipeline_response.http_response - - if response.status_code not in [200]: - if _stream: - try: - await response.read() # Load the body in memory and close the socket - except (StreamConsumedError, StreamClosedError): - pass - map_error(status_code=response.status_code, response=response, error_map=error_map) - error = _failsafe_deserialize( - _models.ErrorResponse, - response, - ) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - - if _stream: - deserialized = response.iter_bytes() if _decompress else response.iter_raw() - else: - deserialized = _deserialize(_models.KubernetesVersionListResult, response.json()) - - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - - return deserialized # type: ignore - -class MaintenanceConfigurationsOperations: +class ManagedNamespacesOperations: # pylint: disable=docstring-missing-param """ .. warning:: **DO NOT** instantiate this class directly. Instead, you should access the following operations through :class:`~azure.mgmt.containerservice.aio.ContainerServiceClient`'s - :attr:`maintenance_configurations` attribute. + :attr:`managed_namespaces` attribute. """ def __init__(self, *args, **kwargs) -> None: @@ -5830,21 +5232,19 @@ def __init__(self, *args, **kwargs) -> None: @distributed_trace_async async def get( - self, resource_group_name: str, resource_name: str, config_name: str, **kwargs: Any - ) -> _models.MaintenanceConfiguration: - """Gets the specified maintenance configuration of a managed cluster. + self, resource_group_name: str, resource_name: str, managed_namespace_name: str, **kwargs: Any + ) -> _models.ManagedNamespace: + """Gets the specified namespace of a managed cluster. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param resource_name: The name of the managed cluster resource. Required. :type resource_name: str - :param config_name: The name of the maintenance configuration. Supported values are 'default', - 'aksManagedAutoUpgradeSchedule', or 'aksManagedNodeOSUpgradeSchedule'. Required. - :type config_name: str - :return: MaintenanceConfiguration. The MaintenanceConfiguration is compatible with - MutableMapping - :rtype: ~azure.mgmt.containerservice.models.MaintenanceConfiguration + :param managed_namespace_name: The name of the managed namespace. Required. + :type managed_namespace_name: str + :return: ManagedNamespace. The ManagedNamespace is compatible with MutableMapping + :rtype: ~azure.mgmt.containerservice.models.ManagedNamespace :raises ~azure.core.exceptions.HttpResponseError: """ error_map: MutableMapping = { @@ -5858,12 +5258,12 @@ async def get( _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - cls: ClsType[_models.MaintenanceConfiguration] = kwargs.pop("cls", None) + cls: ClsType[_models.ManagedNamespace] = kwargs.pop("cls", None) - _request = build_maintenance_configurations_get_request( + _request = build_managed_namespaces_get_request( resource_group_name=resource_group_name, resource_name=resource_name, - config_name=config_name, + managed_namespace_name=managed_namespace_name, subscription_id=self._config.subscription_id, api_version=self._config.api_version, headers=_headers, @@ -5898,186 +5298,445 @@ async def get( if _stream: deserialized = response.iter_bytes() if _decompress else response.iter_raw() else: - deserialized = _deserialize(_models.MaintenanceConfiguration, response.json()) + deserialized = _deserialize(_models.ManagedNamespace, response.json()) if cls: return cls(pipeline_response, deserialized, {}) # type: ignore return deserialized # type: ignore + async def _create_or_update_initial( + self, + resource_group_name: str, + resource_name: str, + managed_namespace_name: str, + parameters: Union[_models.ManagedNamespace, _types.ManagedNamespace, IO[bytes]], + **kwargs: Any + ) -> AsyncIterator[bytes]: + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _params = kwargs.pop("params", {}) or {} + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + cls: ClsType[AsyncIterator[bytes]] = kwargs.pop("cls", None) + + content_type = content_type or "application/json" + _content = None + if isinstance(parameters, (IOBase, bytes)): + _content = parameters + else: + _content = json.dumps(parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + + _request = build_managed_namespaces_create_or_update_request( + resource_group_name=resource_group_name, + resource_name=resource_name, + managed_namespace_name=managed_namespace_name, + subscription_id=self._config.subscription_id, + content_type=content_type, + api_version=self._config.api_version, + content=_content, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + _decompress = kwargs.pop("decompress", True) + _stream = True + pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access + _request, stream=_stream, **kwargs + ) + + response = pipeline_response.http_response + + if response.status_code not in [200, 201]: + try: + await response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + response_headers = {} + if response.status_code == 201: + response_headers["Azure-AsyncOperation"] = self._deserialize( + "str", response.headers.get("Azure-AsyncOperation") + ) + response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) + + deserialized = response.iter_bytes() if _decompress else response.iter_raw() + + if cls: + return cls(pipeline_response, deserialized, response_headers) # type: ignore + + return deserialized # type: ignore + @overload - async def create_or_update( + async def begin_create_or_update( self, resource_group_name: str, resource_name: str, - config_name: str, - parameters: _models.MaintenanceConfiguration, + managed_namespace_name: str, + parameters: _models.ManagedNamespace, *, content_type: str = "application/json", **kwargs: Any - ) -> _models.MaintenanceConfiguration: - """Creates or updates a maintenance configuration in the specified managed cluster. + ) -> AsyncLROPoller[_models.ManagedNamespace]: + """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. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param resource_name: The name of the managed cluster resource. Required. :type resource_name: str - :param config_name: The name of the maintenance configuration. Supported values are 'default', - 'aksManagedAutoUpgradeSchedule', or 'aksManagedNodeOSUpgradeSchedule'. Required. - :type config_name: str - :param parameters: The maintenance configuration to create or update. Required. - :type parameters: ~azure.mgmt.containerservice.models.MaintenanceConfiguration + :param managed_namespace_name: The name of the managed namespace. Required. + :type managed_namespace_name: str + :param parameters: The namespace to create or update. Required. + :type parameters: ~azure.mgmt.containerservice.models.ManagedNamespace :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str - :return: MaintenanceConfiguration. The MaintenanceConfiguration is compatible with - MutableMapping - :rtype: ~azure.mgmt.containerservice.models.MaintenanceConfiguration + :return: An instance of AsyncLROPoller that returns ManagedNamespace. The ManagedNamespace is + compatible with MutableMapping + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.containerservice.models.ManagedNamespace] :raises ~azure.core.exceptions.HttpResponseError: """ @overload - async def create_or_update( + async def begin_create_or_update( self, resource_group_name: str, resource_name: str, - config_name: str, - parameters: _types.MaintenanceConfiguration, + managed_namespace_name: str, + parameters: _types.ManagedNamespace, *, content_type: str = "application/json", **kwargs: Any - ) -> _models.MaintenanceConfiguration: - """Creates or updates a maintenance configuration in the specified managed cluster. + ) -> AsyncLROPoller[_models.ManagedNamespace]: + """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. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param resource_name: The name of the managed cluster resource. Required. :type resource_name: str - :param config_name: The name of the maintenance configuration. Supported values are 'default', - 'aksManagedAutoUpgradeSchedule', or 'aksManagedNodeOSUpgradeSchedule'. Required. - :type config_name: str - :param parameters: The maintenance configuration to create or update. Required. - :type parameters: ~azure.mgmt.containerservice.types.MaintenanceConfiguration + :param managed_namespace_name: The name of the managed namespace. Required. + :type managed_namespace_name: str + :param parameters: The namespace to create or update. Required. + :type parameters: ~azure.mgmt.containerservice.types.ManagedNamespace :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str - :return: MaintenanceConfiguration. The MaintenanceConfiguration is compatible with - MutableMapping - :rtype: ~azure.mgmt.containerservice.models.MaintenanceConfiguration + :return: An instance of AsyncLROPoller that returns ManagedNamespace. The ManagedNamespace is + compatible with MutableMapping + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.containerservice.models.ManagedNamespace] :raises ~azure.core.exceptions.HttpResponseError: """ @overload - async def create_or_update( + async def begin_create_or_update( self, resource_group_name: str, resource_name: str, - config_name: str, + managed_namespace_name: str, parameters: IO[bytes], *, content_type: str = "application/json", **kwargs: Any - ) -> _models.MaintenanceConfiguration: - """Creates or updates a maintenance configuration in the specified managed cluster. + ) -> AsyncLROPoller[_models.ManagedNamespace]: + """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. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param resource_name: The name of the managed cluster resource. Required. :type resource_name: str - :param config_name: The name of the maintenance configuration. Supported values are 'default', - 'aksManagedAutoUpgradeSchedule', or 'aksManagedNodeOSUpgradeSchedule'. Required. - :type config_name: str - :param parameters: The maintenance configuration to create or update. Required. + :param managed_namespace_name: The name of the managed namespace. Required. + :type managed_namespace_name: str + :param parameters: The namespace to create or update. Required. :type parameters: IO[bytes] :keyword content_type: Body Parameter content-type. Content type parameter for binary body. Default value is "application/json". :paramtype content_type: str - :return: MaintenanceConfiguration. The MaintenanceConfiguration is compatible with - MutableMapping - :rtype: ~azure.mgmt.containerservice.models.MaintenanceConfiguration + :return: An instance of AsyncLROPoller that returns ManagedNamespace. The ManagedNamespace is + compatible with MutableMapping + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.containerservice.models.ManagedNamespace] :raises ~azure.core.exceptions.HttpResponseError: """ @distributed_trace_async - async def create_or_update( + async def begin_create_or_update( self, resource_group_name: str, resource_name: str, - config_name: str, - parameters: Union[_models.MaintenanceConfiguration, _types.MaintenanceConfiguration, IO[bytes]], + managed_namespace_name: str, + parameters: Union[_models.ManagedNamespace, _types.ManagedNamespace, IO[bytes]], **kwargs: Any - ) -> _models.MaintenanceConfiguration: - """Creates or updates a maintenance configuration in the specified managed cluster. + ) -> AsyncLROPoller[_models.ManagedNamespace]: + """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. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param resource_name: The name of the managed cluster resource. Required. :type resource_name: str - :param config_name: The name of the maintenance configuration. Supported values are 'default', - 'aksManagedAutoUpgradeSchedule', or 'aksManagedNodeOSUpgradeSchedule'. Required. - :type config_name: str - :param parameters: The maintenance configuration to create or update. Is either a - MaintenanceConfiguration type or a IO[bytes] type. Required. - :type parameters: ~azure.mgmt.containerservice.models.MaintenanceConfiguration or - ~azure.mgmt.containerservice.types.MaintenanceConfiguration or IO[bytes] - :return: MaintenanceConfiguration. The MaintenanceConfiguration is compatible with - MutableMapping - :rtype: ~azure.mgmt.containerservice.models.MaintenanceConfiguration + :param managed_namespace_name: The name of the managed namespace. Required. + :type managed_namespace_name: str + :param parameters: The namespace to create or update. Is either a ManagedNamespace type or a + IO[bytes] type. Required. + :type parameters: ~azure.mgmt.containerservice.models.ManagedNamespace or + ~azure.mgmt.containerservice.types.ManagedNamespace or IO[bytes] + :return: An instance of AsyncLROPoller that returns ManagedNamespace. The ManagedNamespace is + compatible with MutableMapping + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.containerservice.models.ManagedNamespace] :raises ~azure.core.exceptions.HttpResponseError: """ - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = kwargs.pop("params", {}) or {} content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - cls: ClsType[_models.MaintenanceConfiguration] = kwargs.pop("cls", None) + cls: ClsType[_models.ManagedNamespace] = kwargs.pop("cls", None) + polling: Union[bool, AsyncPollingMethod] = kwargs.pop("polling", True) + lro_delay = kwargs.pop("polling_interval", self._config.polling_interval) + cont_token: Optional[str] = kwargs.pop("continuation_token", None) + if cont_token is None: + raw_result = await self._create_or_update_initial( + resource_group_name=resource_group_name, + resource_name=resource_name, + managed_namespace_name=managed_namespace_name, + parameters=parameters, + content_type=content_type, + cls=lambda x, y, z: x, + headers=_headers, + params=_params, + **kwargs + ) + await raw_result.http_response.read() # type: ignore + kwargs.pop("error_map", None) - content_type = content_type or "application/json" - _content = None - if isinstance(parameters, (IOBase, bytes)): - _content = parameters - else: - _content = json.dumps(parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + def get_long_running_output(pipeline_response): + response = pipeline_response.http_response + deserialized = _deserialize(_models.ManagedNamespace, response.json()) + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + return deserialized - _request = build_maintenance_configurations_create_or_update_request( - resource_group_name=resource_group_name, - resource_name=resource_name, - config_name=config_name, - subscription_id=self._config.subscription_id, - content_type=content_type, - api_version=self._config.api_version, - content=_content, - headers=_headers, - params=_params, - ) path_format_arguments = { "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - _decompress = kwargs.pop("decompress", True) - _stream = kwargs.pop("stream", False) - pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access - _request, stream=_stream, **kwargs - ) - - response = pipeline_response.http_response - if response.status_code not in [200, 201]: - if _stream: - try: - await response.read() # Load the body in memory and close the socket + if polling is True: + polling_method: AsyncPollingMethod = cast( + AsyncPollingMethod, AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + ) + elif polling is False: + polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) + else: + polling_method = polling + if cont_token: + return AsyncLROPoller[_models.ManagedNamespace].from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output, + ) + return AsyncLROPoller[_models.ManagedNamespace]( + self._client, raw_result, get_long_running_output, polling_method # type: ignore + ) + + @overload + async def update( + self, + resource_group_name: str, + resource_name: str, + managed_namespace_name: str, + parameters: _models.TagsObject, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> _models.ManagedNamespace: + """Updates tags on a managed namespace. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param resource_name: The name of the managed cluster resource. Required. + :type resource_name: str + :param managed_namespace_name: The name of the managed namespace. Required. + :type managed_namespace_name: str + :param parameters: Parameters supplied to the patch namespace operation, we only support patch + tags for now. Required. + :type parameters: ~azure.mgmt.containerservice.models.TagsObject + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: ManagedNamespace. The ManagedNamespace is compatible with MutableMapping + :rtype: ~azure.mgmt.containerservice.models.ManagedNamespace + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + async def update( + self, + resource_group_name: str, + resource_name: str, + managed_namespace_name: str, + parameters: _types.TagsObject, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> _models.ManagedNamespace: + """Updates tags on a managed namespace. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param resource_name: The name of the managed cluster resource. Required. + :type resource_name: str + :param managed_namespace_name: The name of the managed namespace. Required. + :type managed_namespace_name: str + :param parameters: Parameters supplied to the patch namespace operation, we only support patch + tags for now. Required. + :type parameters: ~azure.mgmt.containerservice.types.TagsObject + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: ManagedNamespace. The ManagedNamespace is compatible with MutableMapping + :rtype: ~azure.mgmt.containerservice.models.ManagedNamespace + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + async def update( + self, + resource_group_name: str, + resource_name: str, + managed_namespace_name: str, + parameters: IO[bytes], + *, + content_type: str = "application/json", + **kwargs: Any + ) -> _models.ManagedNamespace: + """Updates tags on a managed namespace. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param resource_name: The name of the managed cluster resource. Required. + :type resource_name: str + :param managed_namespace_name: The name of the managed namespace. Required. + :type managed_namespace_name: str + :param parameters: Parameters supplied to the patch namespace operation, we only support patch + tags for now. Required. + :type parameters: IO[bytes] + :keyword content_type: Body Parameter content-type. Content type parameter for binary body. + Default value is "application/json". + :paramtype content_type: str + :return: ManagedNamespace. The ManagedNamespace is compatible with MutableMapping + :rtype: ~azure.mgmt.containerservice.models.ManagedNamespace + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @distributed_trace_async + async def update( + self, + resource_group_name: str, + resource_name: str, + managed_namespace_name: str, + parameters: Union[_models.TagsObject, _types.TagsObject, IO[bytes]], + **kwargs: Any + ) -> _models.ManagedNamespace: + """Updates tags on a managed namespace. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param resource_name: The name of the managed cluster resource. Required. + :type resource_name: str + :param managed_namespace_name: The name of the managed namespace. Required. + :type managed_namespace_name: str + :param parameters: Parameters supplied to the patch namespace operation, we only support patch + tags for now. Is either a TagsObject type or a IO[bytes] type. Required. + :type parameters: ~azure.mgmt.containerservice.models.TagsObject or + ~azure.mgmt.containerservice.types.TagsObject or IO[bytes] + :return: ManagedNamespace. The ManagedNamespace is compatible with MutableMapping + :rtype: ~azure.mgmt.containerservice.models.ManagedNamespace + :raises ~azure.core.exceptions.HttpResponseError: + """ + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _params = kwargs.pop("params", {}) or {} + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + cls: ClsType[_models.ManagedNamespace] = kwargs.pop("cls", None) + + content_type = content_type or "application/json" + _content = None + if isinstance(parameters, (IOBase, bytes)): + _content = parameters + else: + _content = json.dumps(parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + + _request = build_managed_namespaces_update_request( + resource_group_name=resource_group_name, + resource_name=resource_name, + managed_namespace_name=managed_namespace_name, + subscription_id=self._config.subscription_id, + content_type=content_type, + api_version=self._config.api_version, + content=_content, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + _decompress = kwargs.pop("decompress", True) + _stream = kwargs.pop("stream", False) + pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access + _request, stream=_stream, **kwargs + ) + + response = pipeline_response.http_response + + if response.status_code not in [200]: + if _stream: + try: + await response.read() # Load the body in memory and close the socket except (StreamConsumedError, StreamClosedError): pass map_error(status_code=response.status_code, response=response, error_map=error_map) @@ -6090,29 +5749,16 @@ async def create_or_update( if _stream: deserialized = response.iter_bytes() if _decompress else response.iter_raw() else: - deserialized = _deserialize(_models.MaintenanceConfiguration, response.json()) + deserialized = _deserialize(_models.ManagedNamespace, response.json()) if cls: return cls(pipeline_response, deserialized, {}) # type: ignore return deserialized # type: ignore - @distributed_trace_async - async def delete(self, resource_group_name: str, resource_name: str, config_name: str, **kwargs: Any) -> None: - """Deletes a maintenance configuration. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param resource_name: The name of the managed cluster resource. Required. - :type resource_name: str - :param config_name: The name of the maintenance configuration. Supported values are 'default', - 'aksManagedAutoUpgradeSchedule', or 'aksManagedNodeOSUpgradeSchedule'. Required. - :type config_name: str - :return: None - :rtype: None - :raises ~azure.core.exceptions.HttpResponseError: - """ + async def _delete_initial( + self, resource_group_name: str, resource_name: str, managed_namespace_name: str, **kwargs: Any + ) -> AsyncIterator[bytes]: error_map: MutableMapping = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, @@ -6124,12 +5770,12 @@ async def delete(self, resource_group_name: str, resource_name: str, config_name _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - cls: ClsType[None] = kwargs.pop("cls", None) + cls: ClsType[AsyncIterator[bytes]] = kwargs.pop("cls", None) - _request = build_maintenance_configurations_delete_request( + _request = build_managed_namespaces_delete_request( resource_group_name=resource_group_name, resource_name=resource_name, - config_name=config_name, + managed_namespace_name=managed_namespace_name, subscription_id=self._config.subscription_id, api_version=self._config.api_version, headers=_headers, @@ -6140,14 +5786,19 @@ async def delete(self, resource_group_name: str, resource_name: str, config_name } _request.url = self._client.format_url(_request.url, **path_format_arguments) - _stream = False + _decompress = kwargs.pop("decompress", True) + _stream = True pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access _request, stream=_stream, **kwargs ) response = pipeline_response.http_response - if response.status_code not in [200, 204]: + if response.status_code not in [202, 204]: + try: + await response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass map_error(status_code=response.status_code, response=response, error_map=error_map) error = _failsafe_deserialize( _models.ErrorResponse, @@ -6155,30 +5806,104 @@ async def delete(self, resource_group_name: str, resource_name: str, config_name ) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + response_headers = {} + if response.status_code == 202: + response_headers["Azure-AsyncOperation"] = self._deserialize( + "str", response.headers.get("Azure-AsyncOperation") + ) + response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) + response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) + + deserialized = response.iter_bytes() if _decompress else response.iter_raw() + if cls: - return cls(pipeline_response, None, {}) # type: ignore + return cls(pipeline_response, deserialized, response_headers) # type: ignore - @distributed_trace - def list_by_managed_cluster( - self, resource_group_name: str, resource_name: str, **kwargs: Any - ) -> AsyncItemPaged["_models.MaintenanceConfiguration"]: - """Gets a list of maintenance configurations in the specified managed cluster. + return deserialized # type: ignore + + @distributed_trace_async + async def begin_delete( + self, resource_group_name: str, resource_name: str, managed_namespace_name: str, **kwargs: Any + ) -> AsyncLROPoller[None]: + """Deletes a namespace. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param resource_name: The name of the managed cluster resource. Required. :type resource_name: str - :return: An iterator like instance of MaintenanceConfiguration - :rtype: - ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.containerservice.models.MaintenanceConfiguration] + :param managed_namespace_name: The name of the managed namespace. Required. + :type managed_namespace_name: str + :return: An instance of AsyncLROPoller that returns None + :rtype: ~azure.core.polling.AsyncLROPoller[None] :raises ~azure.core.exceptions.HttpResponseError: """ _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - cls: ClsType[List[_models.MaintenanceConfiguration]] = kwargs.pop("cls", None) - + cls: ClsType[None] = kwargs.pop("cls", None) + polling: Union[bool, AsyncPollingMethod] = kwargs.pop("polling", True) + lro_delay = kwargs.pop("polling_interval", self._config.polling_interval) + cont_token: Optional[str] = kwargs.pop("continuation_token", None) + if cont_token is None: + raw_result = await self._delete_initial( + resource_group_name=resource_group_name, + resource_name=resource_name, + managed_namespace_name=managed_namespace_name, + cls=lambda x, y, z: x, + headers=_headers, + params=_params, + **kwargs + ) + await raw_result.http_response.read() # type: ignore + kwargs.pop("error_map", None) + + def get_long_running_output(pipeline_response): # pylint: disable=inconsistent-return-statements + if cls: + return cls(pipeline_response, None, {}) # type: ignore + + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + + if polling is True: + polling_method: AsyncPollingMethod = cast( + AsyncPollingMethod, AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + ) + elif polling is False: + polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) + else: + polling_method = polling + if cont_token: + return AsyncLROPoller[None].from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output, + ) + return AsyncLROPoller[None](self._client, raw_result, get_long_running_output, polling_method) # type: ignore + + @distributed_trace + def list_by_managed_cluster( + self, resource_group_name: str, resource_name: str, **kwargs: Any + ) -> AsyncItemPaged["_models.ManagedNamespace"]: + """Gets a list of managed namespaces in the specified managed cluster. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param resource_name: The name of the managed cluster resource. Required. + :type resource_name: str + :return: An iterator like instance of ManagedNamespace + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.containerservice.models.ManagedNamespace] + :raises ~azure.core.exceptions.HttpResponseError: + """ + _headers = kwargs.pop("headers", {}) or {} + _params = kwargs.pop("params", {}) or {} + + cls: ClsType[List[_models.ManagedNamespace]] = kwargs.pop("cls", None) + error_map: MutableMapping = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, @@ -6190,7 +5915,7 @@ def list_by_managed_cluster( def prepare_request(next_link=None): if not next_link: - _request = build_maintenance_configurations_list_by_managed_cluster_request( + _request = build_managed_namespaces_list_by_managed_cluster_request( resource_group_name=resource_group_name, resource_name=resource_name, subscription_id=self._config.subscription_id, @@ -6233,7 +5958,7 @@ def prepare_request(next_link=None): async def extract_data(pipeline_response): deserialized = pipeline_response.http_response.json() list_of_elem = _deserialize( - List[_models.MaintenanceConfiguration], + List[_models.ManagedNamespace], deserialized.get("value", []), ) if cls: @@ -6261,51 +5986,21 @@ async def get_next(next_link=None): return AsyncItemPaged(get_next, extract_data) - -class MaintenanceWindowsOperations: - """ - .. warning:: - **DO NOT** instantiate this class directly. - - Instead, you should access the following operations through - :class:`~azure.mgmt.containerservice.aio.ContainerServiceClient`'s - :attr:`maintenance_windows` attribute. - """ - - def __init__(self, *args, **kwargs) -> None: - input_args = list(args) - self._client: AsyncPipelineClient = input_args.pop(0) if input_args else kwargs.pop("client") - self._config: ContainerServiceClientConfiguration = input_args.pop(0) if input_args else kwargs.pop("config") - self._serialize: Serializer = input_args.pop(0) if input_args else kwargs.pop("serializer") - self._deserialize: Deserializer = input_args.pop(0) if input_args else kwargs.pop("deserializer") - @distributed_trace_async - @api_version_validation( - method_added_on="2026-05-02-preview", - params_added_on={ - "2026-05-02-preview": [ - "api_version", - "subscription_id", - "resource_group_name", - "maintenance_window_name", - "accept", - ] - }, - api_versions_list=["2026-05-02-preview"], - ) - async def get( - self, resource_group_name: str, maintenance_window_name: str, **kwargs: Any - ) -> _models.MaintenanceWindowResource: - """Gets the specified maintenance window. + async def list_credential( + self, resource_group_name: str, resource_name: str, managed_namespace_name: str, **kwargs: Any + ) -> _models.CredentialResults: + """Lists the credentials of a namespace. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str - :param maintenance_window_name: The name of the maintenance window. Required. - :type maintenance_window_name: str - :return: MaintenanceWindowResource. The MaintenanceWindowResource is compatible with - MutableMapping - :rtype: ~azure.mgmt.containerservice.models.MaintenanceWindowResource + :param resource_name: The name of the managed cluster resource. Required. + :type resource_name: str + :param managed_namespace_name: The name of the managed namespace. Required. + :type managed_namespace_name: str + :return: CredentialResults. The CredentialResults is compatible with MutableMapping + :rtype: ~azure.mgmt.containerservice.models.CredentialResults :raises ~azure.core.exceptions.HttpResponseError: """ error_map: MutableMapping = { @@ -6319,11 +6014,12 @@ async def get( _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - cls: ClsType[_models.MaintenanceWindowResource] = kwargs.pop("cls", None) + cls: ClsType[_models.CredentialResults] = kwargs.pop("cls", None) - _request = build_maintenance_windows_get_request( + _request = build_managed_namespaces_list_credential_request( resource_group_name=resource_group_name, - maintenance_window_name=maintenance_window_name, + resource_name=resource_name, + managed_namespace_name=managed_namespace_name, subscription_id=self._config.subscription_id, api_version=self._config.api_version, headers=_headers, @@ -6358,34 +6054,50 @@ async def get( if _stream: deserialized = response.iter_bytes() if _decompress else response.iter_raw() else: - deserialized = _deserialize(_models.MaintenanceWindowResource, response.json()) + deserialized = _deserialize(_models.CredentialResults, response.json()) if cls: return cls(pipeline_response, deserialized, {}) # type: ignore return deserialized # type: ignore - @api_version_validation( - method_added_on="2026-05-02-preview", - params_added_on={ - "2026-05-02-preview": [ - "api_version", - "subscription_id", - "resource_group_name", - "maintenance_window_name", - "content_type", - "accept", - ] - }, - api_versions_list=["2026-05-02-preview"], - ) - async def _create_or_update_initial( - self, - resource_group_name: str, - maintenance_window_name: str, - resource: Union[_models.MaintenanceWindowResource, _types.MaintenanceWindowResource, IO[bytes]], - **kwargs: Any - ) -> AsyncIterator[bytes]: + +class MachinesOperations: # pylint: disable=docstring-missing-param + """ + .. warning:: + **DO NOT** instantiate this class directly. + + Instead, you should access the following operations through + :class:`~azure.mgmt.containerservice.aio.ContainerServiceClient`'s + :attr:`machines` attribute. + """ + + def __init__(self, *args, **kwargs) -> None: + input_args = list(args) + self._client: AsyncPipelineClient = input_args.pop(0) if input_args else kwargs.pop("client") + self._config: ContainerServiceClientConfiguration = input_args.pop(0) if input_args else kwargs.pop("config") + self._serialize: Serializer = input_args.pop(0) if input_args else kwargs.pop("serializer") + self._deserialize: Deserializer = input_args.pop(0) if input_args else kwargs.pop("deserializer") + + @distributed_trace_async + async def get( + self, resource_group_name: str, resource_name: str, agent_pool_name: str, machine_name: str, **kwargs: Any + ) -> _models.Machine: + """Get a specific machine in the specified agent pool. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param resource_name: The name of the managed cluster resource. Required. + :type resource_name: str + :param agent_pool_name: The name of the agent pool. Required. + :type agent_pool_name: str + :param machine_name: Host name of the machine. Required. + :type machine_name: str + :return: Machine. The Machine is compatible with MutableMapping + :rtype: ~azure.mgmt.containerservice.models.Machine + :raises ~azure.core.exceptions.HttpResponseError: + """ error_map: MutableMapping = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, @@ -6394,26 +6106,18 @@ async def _create_or_update_initial( } error_map.update(kwargs.pop("error_map", {}) or {}) - _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - cls: ClsType[AsyncIterator[bytes]] = kwargs.pop("cls", None) - - content_type = content_type or "application/json" - _content = None - if isinstance(resource, (IOBase, bytes)): - _content = resource - else: - _content = json.dumps(resource, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + cls: ClsType[_models.Machine] = kwargs.pop("cls", None) - _request = build_maintenance_windows_create_or_update_request( + _request = build_machines_get_request( resource_group_name=resource_group_name, - maintenance_window_name=maintenance_window_name, + resource_name=resource_name, + agent_pool_name=agent_pool_name, + machine_name=machine_name, subscription_id=self._config.subscription_id, - content_type=content_type, api_version=self._config.api_version, - content=_content, headers=_headers, params=_params, ) @@ -6423,18 +6127,19 @@ async def _create_or_update_initial( _request.url = self._client.format_url(_request.url, **path_format_arguments) _decompress = kwargs.pop("decompress", True) - _stream = True + _stream = kwargs.pop("stream", False) pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access _request, stream=_stream, **kwargs ) response = pipeline_response.http_response - if response.status_code not in [200, 201]: - try: - await response.read() # Load the body in memory and close the socket - except (StreamConsumedError, StreamClosedError): - pass + if response.status_code not in [200]: + if _stream: + try: + await response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass map_error(status_code=response.status_code, response=response, error_map=error_map) error = _failsafe_deserialize( _models.ErrorResponse, @@ -6442,321 +6147,159 @@ async def _create_or_update_initial( ) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - response_headers = {} - if response.status_code == 201: - response_headers["Azure-AsyncOperation"] = self._deserialize( - "str", response.headers.get("Azure-AsyncOperation") - ) - response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) - - deserialized = response.iter_bytes() if _decompress else response.iter_raw() + if _stream: + deserialized = response.iter_bytes() if _decompress else response.iter_raw() + else: + deserialized = _deserialize(_models.Machine, response.json()) if cls: - return cls(pipeline_response, deserialized, response_headers) # type: ignore + return cls(pipeline_response, deserialized, {}) # type: ignore return deserialized # type: ignore - @overload - async def begin_create_or_update( - self, - resource_group_name: str, - maintenance_window_name: str, - resource: _models.MaintenanceWindowResource, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> AsyncLROPoller[_models.MaintenanceWindowResource]: - """Creates or updates a maintenance window. + @distributed_trace + def list( + self, resource_group_name: str, resource_name: str, agent_pool_name: str, **kwargs: Any + ) -> AsyncItemPaged["_models.Machine"]: + """Gets a list of machines in the specified agent pool. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str - :param maintenance_window_name: The name of the maintenance window. Required. - :type maintenance_window_name: str - :param resource: The maintenance window to create or update. Required. - :type resource: ~azure.mgmt.containerservice.models.MaintenanceWindowResource - :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. - Default value is "application/json". - :paramtype content_type: str - :return: An instance of AsyncLROPoller that returns MaintenanceWindowResource. The - MaintenanceWindowResource is compatible with MutableMapping - :rtype: - ~azure.core.polling.AsyncLROPoller[~azure.mgmt.containerservice.models.MaintenanceWindowResource] + :param resource_name: The name of the managed cluster resource. Required. + :type resource_name: str + :param agent_pool_name: The name of the agent pool. Required. + :type agent_pool_name: str + :return: An iterator like instance of Machine + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.containerservice.models.Machine] :raises ~azure.core.exceptions.HttpResponseError: """ + _headers = kwargs.pop("headers", {}) or {} + _params = kwargs.pop("params", {}) or {} - @overload - async def begin_create_or_update( - self, - resource_group_name: str, - maintenance_window_name: str, - resource: _types.MaintenanceWindowResource, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> AsyncLROPoller[_models.MaintenanceWindowResource]: - """Creates or updates a maintenance window. + cls: ClsType[List[_models.Machine]] = kwargs.pop("cls", None) - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param maintenance_window_name: The name of the maintenance window. Required. - :type maintenance_window_name: str - :param resource: The maintenance window to create or update. Required. - :type resource: ~azure.mgmt.containerservice.types.MaintenanceWindowResource - :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. - Default value is "application/json". - :paramtype content_type: str - :return: An instance of AsyncLROPoller that returns MaintenanceWindowResource. The - MaintenanceWindowResource is compatible with MutableMapping - :rtype: - ~azure.core.polling.AsyncLROPoller[~azure.mgmt.containerservice.models.MaintenanceWindowResource] - :raises ~azure.core.exceptions.HttpResponseError: - """ + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) - @overload - async def begin_create_or_update( - self, - resource_group_name: str, - maintenance_window_name: str, - resource: IO[bytes], - *, - content_type: str = "application/json", - **kwargs: Any - ) -> AsyncLROPoller[_models.MaintenanceWindowResource]: - """Creates or updates a maintenance window. + def prepare_request(next_link=None): + if not next_link: - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param maintenance_window_name: The name of the maintenance window. Required. - :type maintenance_window_name: str - :param resource: The maintenance window to create or update. Required. - :type resource: IO[bytes] - :keyword content_type: Body Parameter content-type. Content type parameter for binary body. - Default value is "application/json". - :paramtype content_type: str - :return: An instance of AsyncLROPoller that returns MaintenanceWindowResource. The - MaintenanceWindowResource is compatible with MutableMapping - :rtype: - ~azure.core.polling.AsyncLROPoller[~azure.mgmt.containerservice.models.MaintenanceWindowResource] - :raises ~azure.core.exceptions.HttpResponseError: - """ + _request = build_machines_list_request( + resource_group_name=resource_group_name, + resource_name=resource_name, + agent_pool_name=agent_pool_name, + subscription_id=self._config.subscription_id, + api_version=self._config.api_version, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url( + "self._config.base_url", self._config.base_url, "str", skip_quote=True + ), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) - @distributed_trace_async - @api_version_validation( - method_added_on="2026-05-02-preview", - params_added_on={ - "2026-05-02-preview": [ - "api_version", - "subscription_id", - "resource_group_name", - "maintenance_window_name", - "content_type", - "accept", - ] - }, - api_versions_list=["2026-05-02-preview"], - ) - async def begin_create_or_update( - self, - resource_group_name: str, - maintenance_window_name: str, - resource: Union[_models.MaintenanceWindowResource, _types.MaintenanceWindowResource, IO[bytes]], - **kwargs: Any - ) -> AsyncLROPoller[_models.MaintenanceWindowResource]: - """Creates or updates a maintenance window. + else: + # make call to next link with the client's api-version + _parsed_next_link = urllib.parse.urlparse(next_link) + _next_request_params = case_insensitive_dict( + { + key: [urllib.parse.quote(v) for v in value] + for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items() + } + ) + _next_request_params["api-version"] = self._config.api_version + _request = HttpRequest( + "GET", + urllib.parse.urljoin(next_link, _parsed_next_link.path), + headers=_headers, + params=_next_request_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url( + "self._config.base_url", self._config.base_url, "str", skip_quote=True + ), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param maintenance_window_name: The name of the maintenance window. Required. - :type maintenance_window_name: str - :param resource: The maintenance window to create or update. Is either a - MaintenanceWindowResource type or a IO[bytes] type. Required. - :type resource: ~azure.mgmt.containerservice.models.MaintenanceWindowResource or - ~azure.mgmt.containerservice.types.MaintenanceWindowResource or IO[bytes] - :return: An instance of AsyncLROPoller that returns MaintenanceWindowResource. The - MaintenanceWindowResource is compatible with MutableMapping - :rtype: - ~azure.core.polling.AsyncLROPoller[~azure.mgmt.containerservice.models.MaintenanceWindowResource] - :raises ~azure.core.exceptions.HttpResponseError: - """ - _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - _params = kwargs.pop("params", {}) or {} + return _request - content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - cls: ClsType[_models.MaintenanceWindowResource] = kwargs.pop("cls", None) - polling: Union[bool, AsyncPollingMethod] = kwargs.pop("polling", True) - lro_delay = kwargs.pop("polling_interval", self._config.polling_interval) - cont_token: Optional[str] = kwargs.pop("continuation_token", None) - if cont_token is None: - raw_result = await self._create_or_update_initial( - resource_group_name=resource_group_name, - maintenance_window_name=maintenance_window_name, - resource=resource, - content_type=content_type, - cls=lambda x, y, z: x, - headers=_headers, - params=_params, - **kwargs + async def extract_data(pipeline_response): + deserialized = pipeline_response.http_response.json() + list_of_elem = _deserialize( + List[_models.Machine], + deserialized.get("value", []), ) - await raw_result.http_response.read() # type: ignore - kwargs.pop("error_map", None) - - def get_long_running_output(pipeline_response): - response = pipeline_response.http_response - deserialized = _deserialize(_models.MaintenanceWindowResource, response.json()) if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - return deserialized + list_of_elem = cls(list_of_elem) # type: ignore + return deserialized.get("nextLink") or None, AsyncList(list_of_elem) - path_format_arguments = { - "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), - } + async def get_next(next_link=None): + _request = prepare_request(next_link) - if polling is True: - polling_method: AsyncPollingMethod = cast( - AsyncPollingMethod, AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) - ) - elif polling is False: - polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) - else: - polling_method = polling - if cont_token: - return AsyncLROPoller[_models.MaintenanceWindowResource].from_continuation_token( - polling_method=polling_method, - continuation_token=cont_token, - client=self._client, - deserialization_callback=get_long_running_output, + _stream = False + pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access + _request, stream=_stream, **kwargs ) - return AsyncLROPoller[_models.MaintenanceWindowResource]( - self._client, raw_result, get_long_running_output, polling_method # type: ignore - ) + response = pipeline_response.http_response - @overload - async def update_tags( - self, - resource_group_name: str, - maintenance_window_name: str, - properties: _models.TagsObject, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> _models.MaintenanceWindowResource: - """Updates tags on a maintenance window. + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param maintenance_window_name: The name of the maintenance window. Required. - :type maintenance_window_name: str - :param properties: Parameters supplied to the Update maintenance window Tags operation. - Required. - :type properties: ~azure.mgmt.containerservice.models.TagsObject - :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. - Default value is "application/json". - :paramtype content_type: str - :return: MaintenanceWindowResource. The MaintenanceWindowResource is compatible with - MutableMapping - :rtype: ~azure.mgmt.containerservice.models.MaintenanceWindowResource - :raises ~azure.core.exceptions.HttpResponseError: - """ + return pipeline_response - @overload - async def update_tags( - self, - resource_group_name: str, - maintenance_window_name: str, - properties: _types.TagsObject, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> _models.MaintenanceWindowResource: - """Updates tags on a maintenance window. + return AsyncItemPaged(get_next, extract_data) - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param maintenance_window_name: The name of the maintenance window. Required. - :type maintenance_window_name: str - :param properties: Parameters supplied to the Update maintenance window Tags operation. - Required. - :type properties: ~azure.mgmt.containerservice.types.TagsObject - :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. - Default value is "application/json". - :paramtype content_type: str - :return: MaintenanceWindowResource. The MaintenanceWindowResource is compatible with - MutableMapping - :rtype: ~azure.mgmt.containerservice.models.MaintenanceWindowResource - :raises ~azure.core.exceptions.HttpResponseError: - """ - @overload - async def update_tags( - self, - resource_group_name: str, - maintenance_window_name: str, - properties: IO[bytes], - *, - content_type: str = "application/json", - **kwargs: Any - ) -> _models.MaintenanceWindowResource: - """Updates tags on a maintenance window. +class PrivateEndpointConnectionsOperations: # pylint: disable=docstring-missing-param + """ + .. warning:: + **DO NOT** instantiate this class directly. - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param maintenance_window_name: The name of the maintenance window. Required. - :type maintenance_window_name: str - :param properties: Parameters supplied to the Update maintenance window Tags operation. - Required. - :type properties: IO[bytes] - :keyword content_type: Body Parameter content-type. Content type parameter for binary body. - Default value is "application/json". - :paramtype content_type: str - :return: MaintenanceWindowResource. The MaintenanceWindowResource is compatible with - MutableMapping - :rtype: ~azure.mgmt.containerservice.models.MaintenanceWindowResource - :raises ~azure.core.exceptions.HttpResponseError: - """ + Instead, you should access the following operations through + :class:`~azure.mgmt.containerservice.aio.ContainerServiceClient`'s + :attr:`private_endpoint_connections` attribute. + """ + + def __init__(self, *args, **kwargs) -> None: + input_args = list(args) + self._client: AsyncPipelineClient = input_args.pop(0) if input_args else kwargs.pop("client") + self._config: ContainerServiceClientConfiguration = input_args.pop(0) if input_args else kwargs.pop("config") + self._serialize: Serializer = input_args.pop(0) if input_args else kwargs.pop("serializer") + self._deserialize: Deserializer = input_args.pop(0) if input_args else kwargs.pop("deserializer") @distributed_trace_async - @api_version_validation( - method_added_on="2026-05-02-preview", - params_added_on={ - "2026-05-02-preview": [ - "api_version", - "subscription_id", - "resource_group_name", - "maintenance_window_name", - "content_type", - "accept", - ] - }, - api_versions_list=["2026-05-02-preview"], - ) - async def update_tags( - self, - resource_group_name: str, - maintenance_window_name: str, - properties: Union[_models.TagsObject, _types.TagsObject, IO[bytes]], - **kwargs: Any - ) -> _models.MaintenanceWindowResource: - """Updates tags on a maintenance window. + async def get( + self, resource_group_name: str, resource_name: str, private_endpoint_connection_name: str, **kwargs: Any + ) -> _models.PrivateEndpointConnection: + """Gets the specified private endpoint connection. + + To learn more about private clusters, see: + `https://docs.microsoft.com/azure/aks/private-clusters + `_. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str - :param maintenance_window_name: The name of the maintenance window. Required. - :type maintenance_window_name: str - :param properties: Parameters supplied to the Update maintenance window Tags operation. Is - either a TagsObject type or a IO[bytes] type. Required. - :type properties: ~azure.mgmt.containerservice.models.TagsObject or - ~azure.mgmt.containerservice.types.TagsObject or IO[bytes] - :return: MaintenanceWindowResource. The MaintenanceWindowResource is compatible with + :param resource_name: The name of the managed cluster resource. Required. + :type resource_name: str + :param private_endpoint_connection_name: The name of the private endpoint connection. Required. + :type private_endpoint_connection_name: str + :return: PrivateEndpointConnection. The PrivateEndpointConnection is compatible with MutableMapping - :rtype: ~azure.mgmt.containerservice.models.MaintenanceWindowResource + :rtype: ~azure.mgmt.containerservice.models.PrivateEndpointConnection :raises ~azure.core.exceptions.HttpResponseError: """ error_map: MutableMapping = { @@ -6767,26 +6310,17 @@ async def update_tags( } error_map.update(kwargs.pop("error_map", {}) or {}) - _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - cls: ClsType[_models.MaintenanceWindowResource] = kwargs.pop("cls", None) - - content_type = content_type or "application/json" - _content = None - if isinstance(properties, (IOBase, bytes)): - _content = properties - else: - _content = json.dumps(properties, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + cls: ClsType[_models.PrivateEndpointConnection] = kwargs.pop("cls", None) - _request = build_maintenance_windows_update_tags_request( + _request = build_private_endpoint_connections_get_request( resource_group_name=resource_group_name, - maintenance_window_name=maintenance_window_name, + resource_name=resource_name, + private_endpoint_connection_name=private_endpoint_connection_name, subscription_id=self._config.subscription_id, - content_type=content_type, api_version=self._config.api_version, - content=_content, headers=_headers, params=_params, ) @@ -6819,39 +6353,221 @@ async def update_tags( if _stream: deserialized = response.iter_bytes() if _decompress else response.iter_raw() else: - deserialized = _deserialize(_models.MaintenanceWindowResource, response.json()) + deserialized = _deserialize(_models.PrivateEndpointConnection, response.json()) if cls: return cls(pipeline_response, deserialized, {}) # type: ignore return deserialized # type: ignore - @api_version_validation( - method_added_on="2026-05-02-preview", - params_added_on={ - "2026-05-02-preview": ["api_version", "subscription_id", "resource_group_name", "maintenance_window_name"] - }, - api_versions_list=["2026-05-02-preview"], - ) - async def _delete_initial( - self, resource_group_name: str, maintenance_window_name: str, **kwargs: Any - ) -> AsyncIterator[bytes]: - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - _headers = kwargs.pop("headers", {}) or {} - _params = kwargs.pop("params", {}) or {} + @overload + async def update( + self, + resource_group_name: str, + resource_name: str, + private_endpoint_connection_name: str, + parameters: _models.PrivateEndpointConnection, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> _models.PrivateEndpointConnection: + """Updates a private endpoint connection. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param resource_name: The name of the managed cluster resource. Required. + :type resource_name: str + :param private_endpoint_connection_name: The name of the private endpoint connection. Required. + :type private_endpoint_connection_name: str + :param parameters: The updated private endpoint connection. Required. + :type parameters: ~azure.mgmt.containerservice.models.PrivateEndpointConnection + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: PrivateEndpointConnection. The PrivateEndpointConnection is compatible with + MutableMapping + :rtype: ~azure.mgmt.containerservice.models.PrivateEndpointConnection + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + async def update( + self, + resource_group_name: str, + resource_name: str, + private_endpoint_connection_name: str, + parameters: _types.PrivateEndpointConnection, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> _models.PrivateEndpointConnection: + """Updates a private endpoint connection. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param resource_name: The name of the managed cluster resource. Required. + :type resource_name: str + :param private_endpoint_connection_name: The name of the private endpoint connection. Required. + :type private_endpoint_connection_name: str + :param parameters: The updated private endpoint connection. Required. + :type parameters: ~azure.mgmt.containerservice.types.PrivateEndpointConnection + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: PrivateEndpointConnection. The PrivateEndpointConnection is compatible with + MutableMapping + :rtype: ~azure.mgmt.containerservice.models.PrivateEndpointConnection + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + async def update( + self, + resource_group_name: str, + resource_name: str, + private_endpoint_connection_name: str, + parameters: IO[bytes], + *, + content_type: str = "application/json", + **kwargs: Any + ) -> _models.PrivateEndpointConnection: + """Updates a private endpoint connection. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param resource_name: The name of the managed cluster resource. Required. + :type resource_name: str + :param private_endpoint_connection_name: The name of the private endpoint connection. Required. + :type private_endpoint_connection_name: str + :param parameters: The updated private endpoint connection. Required. + :type parameters: IO[bytes] + :keyword content_type: Body Parameter content-type. Content type parameter for binary body. + Default value is "application/json". + :paramtype content_type: str + :return: PrivateEndpointConnection. The PrivateEndpointConnection is compatible with + MutableMapping + :rtype: ~azure.mgmt.containerservice.models.PrivateEndpointConnection + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @distributed_trace_async + async def update( + self, + resource_group_name: str, + resource_name: str, + private_endpoint_connection_name: str, + parameters: Union[_models.PrivateEndpointConnection, _types.PrivateEndpointConnection, IO[bytes]], + **kwargs: Any + ) -> _models.PrivateEndpointConnection: + """Updates a private endpoint connection. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param resource_name: The name of the managed cluster resource. Required. + :type resource_name: str + :param private_endpoint_connection_name: The name of the private endpoint connection. Required. + :type private_endpoint_connection_name: str + :param parameters: The updated private endpoint connection. Is either a + PrivateEndpointConnection type or a IO[bytes] type. Required. + :type parameters: ~azure.mgmt.containerservice.models.PrivateEndpointConnection or + ~azure.mgmt.containerservice.types.PrivateEndpointConnection or IO[bytes] + :return: PrivateEndpointConnection. The PrivateEndpointConnection is compatible with + MutableMapping + :rtype: ~azure.mgmt.containerservice.models.PrivateEndpointConnection + :raises ~azure.core.exceptions.HttpResponseError: + """ + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _params = kwargs.pop("params", {}) or {} + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + cls: ClsType[_models.PrivateEndpointConnection] = kwargs.pop("cls", None) + + content_type = content_type or "application/json" + _content = None + if isinstance(parameters, (IOBase, bytes)): + _content = parameters + else: + _content = json.dumps(parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + + _request = build_private_endpoint_connections_update_request( + resource_group_name=resource_group_name, + resource_name=resource_name, + private_endpoint_connection_name=private_endpoint_connection_name, + subscription_id=self._config.subscription_id, + content_type=content_type, + api_version=self._config.api_version, + content=_content, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + _decompress = kwargs.pop("decompress", True) + _stream = kwargs.pop("stream", False) + pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access + _request, stream=_stream, **kwargs + ) + + response = pipeline_response.http_response + + if response.status_code not in [200, 201]: + if _stream: + try: + await response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if _stream: + deserialized = response.iter_bytes() if _decompress else response.iter_raw() + else: + deserialized = _deserialize(_models.PrivateEndpointConnection, response.json()) + + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + + return deserialized # type: ignore + + async def _delete_initial( + self, resource_group_name: str, resource_name: str, private_endpoint_connection_name: str, **kwargs: Any + ) -> AsyncIterator[bytes]: + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + _headers = kwargs.pop("headers", {}) or {} + _params = kwargs.pop("params", {}) or {} cls: ClsType[AsyncIterator[bytes]] = kwargs.pop("cls", None) - _request = build_maintenance_windows_delete_request( + _request = build_private_endpoint_connections_delete_request( resource_group_name=resource_group_name, - maintenance_window_name=maintenance_window_name, + resource_name=resource_name, + private_endpoint_connection_name=private_endpoint_connection_name, subscription_id=self._config.subscription_id, api_version=self._config.api_version, headers=_headers, @@ -6870,7 +6586,7 @@ async def _delete_initial( response = pipeline_response.http_response - if response.status_code not in [202, 204]: + if response.status_code not in [200, 204]: try: await response.read() # Load the body in memory and close the socket except (StreamConsumedError, StreamClosedError): @@ -6883,8 +6599,10 @@ async def _delete_initial( raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) response_headers = {} - if response.status_code == 202: - response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) + if response.status_code == 200: + response_headers["Azure-AsyncOperation"] = self._deserialize( + "str", response.headers.get("Azure-AsyncOperation") + ) response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) deserialized = response.iter_bytes() if _decompress else response.iter_raw() @@ -6895,23 +6613,18 @@ async def _delete_initial( return deserialized # type: ignore @distributed_trace_async - @api_version_validation( - method_added_on="2026-05-02-preview", - params_added_on={ - "2026-05-02-preview": ["api_version", "subscription_id", "resource_group_name", "maintenance_window_name"] - }, - api_versions_list=["2026-05-02-preview"], - ) async def begin_delete( - self, resource_group_name: str, maintenance_window_name: str, **kwargs: Any + self, resource_group_name: str, resource_name: str, private_endpoint_connection_name: str, **kwargs: Any ) -> AsyncLROPoller[None]: - """Deletes a maintenance window. + """Deletes a private endpoint connection. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str - :param maintenance_window_name: The name of the maintenance window. Required. - :type maintenance_window_name: str + :param resource_name: The name of the managed cluster resource. Required. + :type resource_name: str + :param private_endpoint_connection_name: The name of the private endpoint connection. Required. + :type private_endpoint_connection_name: str :return: An instance of AsyncLROPoller that returns None :rtype: ~azure.core.polling.AsyncLROPoller[None] :raises ~azure.core.exceptions.HttpResponseError: @@ -6926,7 +6639,8 @@ async def begin_delete( if cont_token is None: raw_result = await self._delete_initial( resource_group_name=resource_group_name, - maintenance_window_name=maintenance_window_name, + resource_name=resource_name, + private_endpoint_connection_name=private_endpoint_connection_name, cls=lambda x, y, z: x, headers=_headers, params=_params, @@ -6960,28 +6674,26 @@ def get_long_running_output(pipeline_response): # pylint: disable=inconsistent- ) return AsyncLROPoller[None](self._client, raw_result, get_long_running_output, polling_method) # type: ignore - @distributed_trace - @api_version_validation( - method_added_on="2026-05-02-preview", - params_added_on={"2026-05-02-preview": ["api_version", "subscription_id", "resource_group_name", "accept"]}, - api_versions_list=["2026-05-02-preview"], - ) - def list(self, resource_group_name: str, **kwargs: Any) -> AsyncItemPaged["_models.MaintenanceWindowResource"]: - """Lists maintenance windows in the specified resource group. + @distributed_trace_async + async def list( + self, resource_group_name: str, resource_name: str, **kwargs: Any + ) -> _models.PrivateEndpointConnectionListResult: + """Gets a list of private endpoint connections in the specified managed cluster. + + To learn more about private clusters, see: + `https://docs.microsoft.com/azure/aks/private-clusters + `_. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str - :return: An iterator like instance of MaintenanceWindowResource - :rtype: - ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.containerservice.models.MaintenanceWindowResource] + :param resource_name: The name of the managed cluster resource. Required. + :type resource_name: str + :return: PrivateEndpointConnectionListResult. The PrivateEndpointConnectionListResult is + compatible with MutableMapping + :rtype: ~azure.mgmt.containerservice.models.PrivateEndpointConnectionListResult :raises ~azure.core.exceptions.HttpResponseError: """ - _headers = kwargs.pop("headers", {}) or {} - _params = kwargs.pop("params", {}) or {} - - cls: ClsType[List[_models.MaintenanceWindowResource]] = kwargs.pop("cls", None) - error_map: MutableMapping = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, @@ -6990,187 +6702,64 @@ def list(self, resource_group_name: str, **kwargs: Any) -> AsyncItemPaged["_mode } error_map.update(kwargs.pop("error_map", {}) or {}) - def prepare_request(next_link=None): - if not next_link: + _headers = kwargs.pop("headers", {}) or {} + _params = kwargs.pop("params", {}) or {} - _request = build_maintenance_windows_list_request( - resource_group_name=resource_group_name, - subscription_id=self._config.subscription_id, - api_version=self._config.api_version, - headers=_headers, - params=_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url( - "self._config.base_url", self._config.base_url, "str", skip_quote=True - ), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - else: - # make call to next link with the client's api-version - _parsed_next_link = urllib.parse.urlparse(next_link) - _next_request_params = case_insensitive_dict( - { - key: [urllib.parse.quote(v) for v in value] - for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items() - } - ) - _next_request_params["api-version"] = self._config.api_version - _request = HttpRequest( - "GET", - urllib.parse.urljoin(next_link, _parsed_next_link.path), - headers=_headers, - params=_next_request_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url( - "self._config.base_url", self._config.base_url, "str", skip_quote=True - ), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - return _request - - async def extract_data(pipeline_response): - deserialized = pipeline_response.http_response.json() - list_of_elem = _deserialize( - List[_models.MaintenanceWindowResource], - deserialized.get("value", []), - ) - if cls: - list_of_elem = cls(list_of_elem) # type: ignore - return deserialized.get("nextLink") or None, AsyncList(list_of_elem) - - async def get_next(next_link=None): - _request = prepare_request(next_link) - - _stream = False - pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access - _request, stream=_stream, **kwargs - ) - response = pipeline_response.http_response - - if response.status_code not in [200]: - map_error(status_code=response.status_code, response=response, error_map=error_map) - error = _failsafe_deserialize( - _models.ErrorResponse, - response, - ) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - - return pipeline_response - - return AsyncItemPaged(get_next, extract_data) - - @distributed_trace - @api_version_validation( - method_added_on="2026-05-02-preview", - params_added_on={"2026-05-02-preview": ["api_version", "subscription_id", "accept"]}, - api_versions_list=["2026-05-02-preview"], - ) - def list_by_subscription(self, **kwargs: Any) -> AsyncItemPaged["_models.MaintenanceWindowResource"]: - """Lists maintenance windows in the specified subscription. - - :return: An iterator like instance of MaintenanceWindowResource - :rtype: - ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.containerservice.models.MaintenanceWindowResource] - :raises ~azure.core.exceptions.HttpResponseError: - """ - _headers = kwargs.pop("headers", {}) or {} - _params = kwargs.pop("params", {}) or {} - - cls: ClsType[List[_models.MaintenanceWindowResource]] = kwargs.pop("cls", None) + cls: ClsType[_models.PrivateEndpointConnectionListResult] = kwargs.pop("cls", None) - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, + _request = build_private_endpoint_connections_list_request( + resource_group_name=resource_group_name, + resource_name=resource_name, + subscription_id=self._config.subscription_id, + api_version=self._config.api_version, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), } - error_map.update(kwargs.pop("error_map", {}) or {}) - - def prepare_request(next_link=None): - if not next_link: - - _request = build_maintenance_windows_list_by_subscription_request( - subscription_id=self._config.subscription_id, - api_version=self._config.api_version, - headers=_headers, - params=_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url( - "self._config.base_url", self._config.base_url, "str", skip_quote=True - ), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - else: - # make call to next link with the client's api-version - _parsed_next_link = urllib.parse.urlparse(next_link) - _next_request_params = case_insensitive_dict( - { - key: [urllib.parse.quote(v) for v in value] - for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items() - } - ) - _next_request_params["api-version"] = self._config.api_version - _request = HttpRequest( - "GET", - urllib.parse.urljoin(next_link, _parsed_next_link.path), - headers=_headers, - params=_next_request_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url( - "self._config.base_url", self._config.base_url, "str", skip_quote=True - ), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - return _request + _request.url = self._client.format_url(_request.url, **path_format_arguments) - async def extract_data(pipeline_response): - deserialized = pipeline_response.http_response.json() - list_of_elem = _deserialize( - List[_models.MaintenanceWindowResource], - deserialized.get("value", []), - ) - if cls: - list_of_elem = cls(list_of_elem) # type: ignore - return deserialized.get("nextLink") or None, AsyncList(list_of_elem) + _decompress = kwargs.pop("decompress", True) + _stream = kwargs.pop("stream", False) + pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access + _request, stream=_stream, **kwargs + ) - async def get_next(next_link=None): - _request = prepare_request(next_link) + response = pipeline_response.http_response - _stream = False - pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access - _request, stream=_stream, **kwargs + if response.status_code not in [200]: + if _stream: + try: + await response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = _failsafe_deserialize( + _models.ErrorResponse, + response, ) - response = pipeline_response.http_response + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - if response.status_code not in [200]: - map_error(status_code=response.status_code, response=response, error_map=error_map) - error = _failsafe_deserialize( - _models.ErrorResponse, - response, - ) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + if _stream: + deserialized = response.iter_bytes() if _decompress else response.iter_raw() + else: + deserialized = _deserialize(_models.PrivateEndpointConnectionListResult, response.json()) - return pipeline_response + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore - return AsyncItemPaged(get_next, extract_data) + return deserialized # type: ignore -class ManagedNamespacesOperations: +class SnapshotsOperations: # pylint: disable=docstring-missing-param """ .. warning:: **DO NOT** instantiate this class directly. Instead, you should access the following operations through :class:`~azure.mgmt.containerservice.aio.ContainerServiceClient`'s - :attr:`managed_namespaces` attribute. + :attr:`snapshots` attribute. """ def __init__(self, *args, **kwargs) -> None: @@ -7181,20 +6770,16 @@ def __init__(self, *args, **kwargs) -> None: self._deserialize: Deserializer = input_args.pop(0) if input_args else kwargs.pop("deserializer") @distributed_trace_async - async def get( - self, resource_group_name: str, resource_name: str, managed_namespace_name: str, **kwargs: Any - ) -> _models.ManagedNamespace: - """Gets the specified namespace of a managed cluster. + async def get(self, resource_group_name: str, resource_name: str, **kwargs: Any) -> _models.Snapshot: + """Gets a snapshot. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param resource_name: The name of the managed cluster resource. Required. :type resource_name: str - :param managed_namespace_name: The name of the managed namespace. Required. - :type managed_namespace_name: str - :return: ManagedNamespace. The ManagedNamespace is compatible with MutableMapping - :rtype: ~azure.mgmt.containerservice.models.ManagedNamespace + :return: Snapshot. The Snapshot is compatible with MutableMapping + :rtype: ~azure.mgmt.containerservice.models.Snapshot :raises ~azure.core.exceptions.HttpResponseError: """ error_map: MutableMapping = { @@ -7208,12 +6793,11 @@ async def get( _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - cls: ClsType[_models.ManagedNamespace] = kwargs.pop("cls", None) + cls: ClsType[_models.Snapshot] = kwargs.pop("cls", None) - _request = build_managed_namespaces_get_request( + _request = build_snapshots_get_request( resource_group_name=resource_group_name, resource_name=resource_name, - managed_namespace_name=managed_namespace_name, subscription_id=self._config.subscription_id, api_version=self._config.api_version, headers=_headers, @@ -7248,5153 +6832,117 @@ async def get( if _stream: deserialized = response.iter_bytes() if _decompress else response.iter_raw() else: - deserialized = _deserialize(_models.ManagedNamespace, response.json()) + deserialized = _deserialize(_models.Snapshot, response.json()) if cls: return cls(pipeline_response, deserialized, {}) # type: ignore return deserialized # type: ignore - async def _create_or_update_initial( + @overload + async def create_or_update( self, resource_group_name: str, resource_name: str, - managed_namespace_name: str, - parameters: Union[_models.ManagedNamespace, _types.ManagedNamespace, IO[bytes]], + parameters: _models.Snapshot, + *, + content_type: str = "application/json", **kwargs: Any - ) -> AsyncIterator[bytes]: - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - _params = kwargs.pop("params", {}) or {} + ) -> _models.Snapshot: + """Creates or updates a snapshot. - content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - cls: ClsType[AsyncIterator[bytes]] = kwargs.pop("cls", None) + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param resource_name: The name of the managed cluster resource. Required. + :type resource_name: str + :param parameters: The snapshot to create or update. Required. + :type parameters: ~azure.mgmt.containerservice.models.Snapshot + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: Snapshot. The Snapshot is compatible with MutableMapping + :rtype: ~azure.mgmt.containerservice.models.Snapshot + :raises ~azure.core.exceptions.HttpResponseError: + """ - content_type = content_type or "application/json" - _content = None - if isinstance(parameters, (IOBase, bytes)): - _content = parameters - else: - _content = json.dumps(parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore - - _request = build_managed_namespaces_create_or_update_request( - resource_group_name=resource_group_name, - resource_name=resource_name, - managed_namespace_name=managed_namespace_name, - subscription_id=self._config.subscription_id, - content_type=content_type, - api_version=self._config.api_version, - content=_content, - headers=_headers, - params=_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - _decompress = kwargs.pop("decompress", True) - _stream = True - pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access - _request, stream=_stream, **kwargs - ) - - response = pipeline_response.http_response - - if response.status_code not in [200, 201]: - try: - await response.read() # Load the body in memory and close the socket - except (StreamConsumedError, StreamClosedError): - pass - map_error(status_code=response.status_code, response=response, error_map=error_map) - error = _failsafe_deserialize( - _models.ErrorResponse, - response, - ) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - - response_headers = {} - if response.status_code == 201: - response_headers["Azure-AsyncOperation"] = self._deserialize( - "str", response.headers.get("Azure-AsyncOperation") - ) - response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) - - deserialized = response.iter_bytes() if _decompress else response.iter_raw() - - if cls: - return cls(pipeline_response, deserialized, response_headers) # type: ignore - - return deserialized # type: ignore - - @overload - async def begin_create_or_update( - self, - resource_group_name: str, - resource_name: str, - managed_namespace_name: str, - parameters: _models.ManagedNamespace, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> AsyncLROPoller[_models.ManagedNamespace]: - """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. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param resource_name: The name of the managed cluster resource. Required. - :type resource_name: str - :param managed_namespace_name: The name of the managed namespace. Required. - :type managed_namespace_name: str - :param parameters: The namespace to create or update. Required. - :type parameters: ~azure.mgmt.containerservice.models.ManagedNamespace - :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. - Default value is "application/json". - :paramtype content_type: str - :return: An instance of AsyncLROPoller that returns ManagedNamespace. The ManagedNamespace is - compatible with MutableMapping - :rtype: - ~azure.core.polling.AsyncLROPoller[~azure.mgmt.containerservice.models.ManagedNamespace] - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @overload - async def begin_create_or_update( - self, - resource_group_name: str, - resource_name: str, - managed_namespace_name: str, - parameters: _types.ManagedNamespace, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> AsyncLROPoller[_models.ManagedNamespace]: - """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. + @overload + async def create_or_update( + self, + resource_group_name: str, + resource_name: str, + parameters: _types.Snapshot, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> _models.Snapshot: + """Creates or updates a snapshot. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param resource_name: The name of the managed cluster resource. Required. :type resource_name: str - :param managed_namespace_name: The name of the managed namespace. Required. - :type managed_namespace_name: str - :param parameters: The namespace to create or update. Required. - :type parameters: ~azure.mgmt.containerservice.types.ManagedNamespace + :param parameters: The snapshot to create or update. Required. + :type parameters: ~azure.mgmt.containerservice.types.Snapshot :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str - :return: An instance of AsyncLROPoller that returns ManagedNamespace. The ManagedNamespace is - compatible with MutableMapping - :rtype: - ~azure.core.polling.AsyncLROPoller[~azure.mgmt.containerservice.models.ManagedNamespace] + :return: Snapshot. The Snapshot is compatible with MutableMapping + :rtype: ~azure.mgmt.containerservice.models.Snapshot :raises ~azure.core.exceptions.HttpResponseError: """ @overload - async def begin_create_or_update( + async def create_or_update( self, resource_group_name: str, resource_name: str, - managed_namespace_name: str, parameters: IO[bytes], *, content_type: str = "application/json", **kwargs: Any - ) -> AsyncLROPoller[_models.ManagedNamespace]: - """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. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param resource_name: The name of the managed cluster resource. Required. - :type resource_name: str - :param managed_namespace_name: The name of the managed namespace. Required. - :type managed_namespace_name: str - :param parameters: The namespace to create or update. Required. - :type parameters: IO[bytes] - :keyword content_type: Body Parameter content-type. Content type parameter for binary body. - Default value is "application/json". - :paramtype content_type: str - :return: An instance of AsyncLROPoller that returns ManagedNamespace. The ManagedNamespace is - compatible with MutableMapping - :rtype: - ~azure.core.polling.AsyncLROPoller[~azure.mgmt.containerservice.models.ManagedNamespace] - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @distributed_trace_async - async def begin_create_or_update( - self, - resource_group_name: str, - resource_name: str, - managed_namespace_name: str, - parameters: Union[_models.ManagedNamespace, _types.ManagedNamespace, IO[bytes]], - **kwargs: Any - ) -> AsyncLROPoller[_models.ManagedNamespace]: - """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. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param resource_name: The name of the managed cluster resource. Required. - :type resource_name: str - :param managed_namespace_name: The name of the managed namespace. Required. - :type managed_namespace_name: str - :param parameters: The namespace to create or update. Is either a ManagedNamespace type or a - IO[bytes] type. Required. - :type parameters: ~azure.mgmt.containerservice.models.ManagedNamespace or - ~azure.mgmt.containerservice.types.ManagedNamespace or IO[bytes] - :return: An instance of AsyncLROPoller that returns ManagedNamespace. The ManagedNamespace is - compatible with MutableMapping - :rtype: - ~azure.core.polling.AsyncLROPoller[~azure.mgmt.containerservice.models.ManagedNamespace] - :raises ~azure.core.exceptions.HttpResponseError: - """ - _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - _params = kwargs.pop("params", {}) or {} - - content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - cls: ClsType[_models.ManagedNamespace] = kwargs.pop("cls", None) - polling: Union[bool, AsyncPollingMethod] = kwargs.pop("polling", True) - lro_delay = kwargs.pop("polling_interval", self._config.polling_interval) - cont_token: Optional[str] = kwargs.pop("continuation_token", None) - if cont_token is None: - raw_result = await self._create_or_update_initial( - resource_group_name=resource_group_name, - resource_name=resource_name, - managed_namespace_name=managed_namespace_name, - parameters=parameters, - content_type=content_type, - cls=lambda x, y, z: x, - headers=_headers, - params=_params, - **kwargs - ) - await raw_result.http_response.read() # type: ignore - kwargs.pop("error_map", None) - - def get_long_running_output(pipeline_response): - response = pipeline_response.http_response - deserialized = _deserialize(_models.ManagedNamespace, response.json()) - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - return deserialized - - path_format_arguments = { - "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), - } - - if polling is True: - polling_method: AsyncPollingMethod = cast( - AsyncPollingMethod, AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) - ) - elif polling is False: - polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) - else: - polling_method = polling - if cont_token: - return AsyncLROPoller[_models.ManagedNamespace].from_continuation_token( - polling_method=polling_method, - continuation_token=cont_token, - client=self._client, - deserialization_callback=get_long_running_output, - ) - return AsyncLROPoller[_models.ManagedNamespace]( - self._client, raw_result, get_long_running_output, polling_method # type: ignore - ) - - @overload - async def update( - self, - resource_group_name: str, - resource_name: str, - managed_namespace_name: str, - parameters: _models.TagsObject, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> _models.ManagedNamespace: - """Updates tags on a managed namespace. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param resource_name: The name of the managed cluster resource. Required. - :type resource_name: str - :param managed_namespace_name: The name of the managed namespace. Required. - :type managed_namespace_name: str - :param parameters: Parameters supplied to the patch namespace operation, we only support patch - tags for now. Required. - :type parameters: ~azure.mgmt.containerservice.models.TagsObject - :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. - Default value is "application/json". - :paramtype content_type: str - :return: ManagedNamespace. The ManagedNamespace is compatible with MutableMapping - :rtype: ~azure.mgmt.containerservice.models.ManagedNamespace - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @overload - async def update( - self, - resource_group_name: str, - resource_name: str, - managed_namespace_name: str, - parameters: _types.TagsObject, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> _models.ManagedNamespace: - """Updates tags on a managed namespace. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param resource_name: The name of the managed cluster resource. Required. - :type resource_name: str - :param managed_namespace_name: The name of the managed namespace. Required. - :type managed_namespace_name: str - :param parameters: Parameters supplied to the patch namespace operation, we only support patch - tags for now. Required. - :type parameters: ~azure.mgmt.containerservice.types.TagsObject - :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. - Default value is "application/json". - :paramtype content_type: str - :return: ManagedNamespace. The ManagedNamespace is compatible with MutableMapping - :rtype: ~azure.mgmt.containerservice.models.ManagedNamespace - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @overload - async def update( - self, - resource_group_name: str, - resource_name: str, - managed_namespace_name: str, - parameters: IO[bytes], - *, - content_type: str = "application/json", - **kwargs: Any - ) -> _models.ManagedNamespace: - """Updates tags on a managed namespace. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param resource_name: The name of the managed cluster resource. Required. - :type resource_name: str - :param managed_namespace_name: The name of the managed namespace. Required. - :type managed_namespace_name: str - :param parameters: Parameters supplied to the patch namespace operation, we only support patch - tags for now. Required. - :type parameters: IO[bytes] - :keyword content_type: Body Parameter content-type. Content type parameter for binary body. - Default value is "application/json". - :paramtype content_type: str - :return: ManagedNamespace. The ManagedNamespace is compatible with MutableMapping - :rtype: ~azure.mgmt.containerservice.models.ManagedNamespace - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @distributed_trace_async - async def update( - self, - resource_group_name: str, - resource_name: str, - managed_namespace_name: str, - parameters: Union[_models.TagsObject, _types.TagsObject, IO[bytes]], - **kwargs: Any - ) -> _models.ManagedNamespace: - """Updates tags on a managed namespace. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param resource_name: The name of the managed cluster resource. Required. - :type resource_name: str - :param managed_namespace_name: The name of the managed namespace. Required. - :type managed_namespace_name: str - :param parameters: Parameters supplied to the patch namespace operation, we only support patch - tags for now. Is either a TagsObject type or a IO[bytes] type. Required. - :type parameters: ~azure.mgmt.containerservice.models.TagsObject or - ~azure.mgmt.containerservice.types.TagsObject or IO[bytes] - :return: ManagedNamespace. The ManagedNamespace is compatible with MutableMapping - :rtype: ~azure.mgmt.containerservice.models.ManagedNamespace - :raises ~azure.core.exceptions.HttpResponseError: - """ - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - _params = kwargs.pop("params", {}) or {} - - content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - cls: ClsType[_models.ManagedNamespace] = kwargs.pop("cls", None) - - content_type = content_type or "application/json" - _content = None - if isinstance(parameters, (IOBase, bytes)): - _content = parameters - else: - _content = json.dumps(parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore - - _request = build_managed_namespaces_update_request( - resource_group_name=resource_group_name, - resource_name=resource_name, - managed_namespace_name=managed_namespace_name, - subscription_id=self._config.subscription_id, - content_type=content_type, - api_version=self._config.api_version, - content=_content, - headers=_headers, - params=_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - _decompress = kwargs.pop("decompress", True) - _stream = kwargs.pop("stream", False) - pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access - _request, stream=_stream, **kwargs - ) - - response = pipeline_response.http_response - - if response.status_code not in [200]: - if _stream: - try: - await response.read() # Load the body in memory and close the socket - except (StreamConsumedError, StreamClosedError): - pass - map_error(status_code=response.status_code, response=response, error_map=error_map) - error = _failsafe_deserialize( - _models.ErrorResponse, - response, - ) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - - if _stream: - deserialized = response.iter_bytes() if _decompress else response.iter_raw() - else: - deserialized = _deserialize(_models.ManagedNamespace, response.json()) - - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - - return deserialized # type: ignore - - async def _delete_initial( - self, resource_group_name: str, resource_name: str, managed_namespace_name: str, **kwargs: Any - ) -> AsyncIterator[bytes]: - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - _headers = kwargs.pop("headers", {}) or {} - _params = kwargs.pop("params", {}) or {} - - cls: ClsType[AsyncIterator[bytes]] = kwargs.pop("cls", None) - - _request = build_managed_namespaces_delete_request( - resource_group_name=resource_group_name, - resource_name=resource_name, - managed_namespace_name=managed_namespace_name, - subscription_id=self._config.subscription_id, - api_version=self._config.api_version, - headers=_headers, - params=_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - _decompress = kwargs.pop("decompress", True) - _stream = True - pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access - _request, stream=_stream, **kwargs - ) - - response = pipeline_response.http_response - - if response.status_code not in [202, 204]: - try: - await response.read() # Load the body in memory and close the socket - except (StreamConsumedError, StreamClosedError): - pass - map_error(status_code=response.status_code, response=response, error_map=error_map) - error = _failsafe_deserialize( - _models.ErrorResponse, - response, - ) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - - response_headers = {} - if response.status_code == 202: - response_headers["Azure-AsyncOperation"] = self._deserialize( - "str", response.headers.get("Azure-AsyncOperation") - ) - response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) - response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) - - deserialized = response.iter_bytes() if _decompress else response.iter_raw() - - if cls: - return cls(pipeline_response, deserialized, response_headers) # type: ignore - - return deserialized # type: ignore - - @distributed_trace_async - async def begin_delete( - self, resource_group_name: str, resource_name: str, managed_namespace_name: str, **kwargs: Any - ) -> AsyncLROPoller[None]: - """Deletes a namespace. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param resource_name: The name of the managed cluster resource. Required. - :type resource_name: str - :param managed_namespace_name: The name of the managed namespace. Required. - :type managed_namespace_name: str - :return: An instance of AsyncLROPoller that returns None - :rtype: ~azure.core.polling.AsyncLROPoller[None] - :raises ~azure.core.exceptions.HttpResponseError: - """ - _headers = kwargs.pop("headers", {}) or {} - _params = kwargs.pop("params", {}) or {} - - cls: ClsType[None] = kwargs.pop("cls", None) - polling: Union[bool, AsyncPollingMethod] = kwargs.pop("polling", True) - lro_delay = kwargs.pop("polling_interval", self._config.polling_interval) - cont_token: Optional[str] = kwargs.pop("continuation_token", None) - if cont_token is None: - raw_result = await self._delete_initial( - resource_group_name=resource_group_name, - resource_name=resource_name, - managed_namespace_name=managed_namespace_name, - cls=lambda x, y, z: x, - headers=_headers, - params=_params, - **kwargs - ) - await raw_result.http_response.read() # type: ignore - kwargs.pop("error_map", None) - - def get_long_running_output(pipeline_response): # pylint: disable=inconsistent-return-statements - if cls: - return cls(pipeline_response, None, {}) # type: ignore - - path_format_arguments = { - "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), - } - - if polling is True: - polling_method: AsyncPollingMethod = cast( - AsyncPollingMethod, AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) - ) - elif polling is False: - polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) - else: - polling_method = polling - if cont_token: - return AsyncLROPoller[None].from_continuation_token( - polling_method=polling_method, - continuation_token=cont_token, - client=self._client, - deserialization_callback=get_long_running_output, - ) - return AsyncLROPoller[None](self._client, raw_result, get_long_running_output, polling_method) # type: ignore - - @distributed_trace - def list_by_managed_cluster( - self, resource_group_name: str, resource_name: str, **kwargs: Any - ) -> AsyncItemPaged["_models.ManagedNamespace"]: - """Gets a list of managed namespaces in the specified managed cluster. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param resource_name: The name of the managed cluster resource. Required. - :type resource_name: str - :return: An iterator like instance of ManagedNamespace - :rtype: - ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.containerservice.models.ManagedNamespace] - :raises ~azure.core.exceptions.HttpResponseError: - """ - _headers = kwargs.pop("headers", {}) or {} - _params = kwargs.pop("params", {}) or {} - - cls: ClsType[List[_models.ManagedNamespace]] = kwargs.pop("cls", None) - - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - def prepare_request(next_link=None): - if not next_link: - - _request = build_managed_namespaces_list_by_managed_cluster_request( - resource_group_name=resource_group_name, - resource_name=resource_name, - subscription_id=self._config.subscription_id, - api_version=self._config.api_version, - headers=_headers, - params=_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url( - "self._config.base_url", self._config.base_url, "str", skip_quote=True - ), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - else: - # make call to next link with the client's api-version - _parsed_next_link = urllib.parse.urlparse(next_link) - _next_request_params = case_insensitive_dict( - { - key: [urllib.parse.quote(v) for v in value] - for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items() - } - ) - _next_request_params["api-version"] = self._config.api_version - _request = HttpRequest( - "GET", - urllib.parse.urljoin(next_link, _parsed_next_link.path), - headers=_headers, - params=_next_request_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url( - "self._config.base_url", self._config.base_url, "str", skip_quote=True - ), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - return _request - - async def extract_data(pipeline_response): - deserialized = pipeline_response.http_response.json() - list_of_elem = _deserialize( - List[_models.ManagedNamespace], - deserialized.get("value", []), - ) - if cls: - list_of_elem = cls(list_of_elem) # type: ignore - return deserialized.get("nextLink") or None, AsyncList(list_of_elem) - - async def get_next(next_link=None): - _request = prepare_request(next_link) - - _stream = False - pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access - _request, stream=_stream, **kwargs - ) - response = pipeline_response.http_response - - if response.status_code not in [200]: - map_error(status_code=response.status_code, response=response, error_map=error_map) - error = _failsafe_deserialize( - _models.ErrorResponse, - response, - ) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - - return pipeline_response - - return AsyncItemPaged(get_next, extract_data) - - @distributed_trace_async - async def list_credential( - self, resource_group_name: str, resource_name: str, managed_namespace_name: str, **kwargs: Any - ) -> _models.CredentialResults: - """Lists the credentials of a namespace. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param resource_name: The name of the managed cluster resource. Required. - :type resource_name: str - :param managed_namespace_name: The name of the managed namespace. Required. - :type managed_namespace_name: str - :return: CredentialResults. The CredentialResults is compatible with MutableMapping - :rtype: ~azure.mgmt.containerservice.models.CredentialResults - :raises ~azure.core.exceptions.HttpResponseError: - """ - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - _headers = kwargs.pop("headers", {}) or {} - _params = kwargs.pop("params", {}) or {} - - cls: ClsType[_models.CredentialResults] = kwargs.pop("cls", None) - - _request = build_managed_namespaces_list_credential_request( - resource_group_name=resource_group_name, - resource_name=resource_name, - managed_namespace_name=managed_namespace_name, - subscription_id=self._config.subscription_id, - api_version=self._config.api_version, - headers=_headers, - params=_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - _decompress = kwargs.pop("decompress", True) - _stream = kwargs.pop("stream", False) - pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access - _request, stream=_stream, **kwargs - ) - - response = pipeline_response.http_response - - if response.status_code not in [200]: - if _stream: - try: - await response.read() # Load the body in memory and close the socket - except (StreamConsumedError, StreamClosedError): - pass - map_error(status_code=response.status_code, response=response, error_map=error_map) - error = _failsafe_deserialize( - _models.ErrorResponse, - response, - ) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - - if _stream: - deserialized = response.iter_bytes() if _decompress else response.iter_raw() - else: - deserialized = _deserialize(_models.CredentialResults, response.json()) - - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - - return deserialized # type: ignore - - -class MachinesOperations: - """ - .. warning:: - **DO NOT** instantiate this class directly. - - Instead, you should access the following operations through - :class:`~azure.mgmt.containerservice.aio.ContainerServiceClient`'s - :attr:`machines` attribute. - """ - - def __init__(self, *args, **kwargs) -> None: - input_args = list(args) - self._client: AsyncPipelineClient = input_args.pop(0) if input_args else kwargs.pop("client") - self._config: ContainerServiceClientConfiguration = input_args.pop(0) if input_args else kwargs.pop("config") - self._serialize: Serializer = input_args.pop(0) if input_args else kwargs.pop("serializer") - self._deserialize: Deserializer = input_args.pop(0) if input_args else kwargs.pop("deserializer") - - @distributed_trace_async - async def get( - self, resource_group_name: str, resource_name: str, agent_pool_name: str, machine_name: str, **kwargs: Any - ) -> _models.Machine: - """Get a specific machine in the specified agent pool. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param resource_name: The name of the managed cluster resource. Required. - :type resource_name: str - :param agent_pool_name: The name of the agent pool. Required. - :type agent_pool_name: str - :param machine_name: Host name of the machine. Required. - :type machine_name: str - :return: Machine. The Machine is compatible with MutableMapping - :rtype: ~azure.mgmt.containerservice.models.Machine - :raises ~azure.core.exceptions.HttpResponseError: - """ - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - _headers = kwargs.pop("headers", {}) or {} - _params = kwargs.pop("params", {}) or {} - - cls: ClsType[_models.Machine] = kwargs.pop("cls", None) - - _request = build_machines_get_request( - resource_group_name=resource_group_name, - resource_name=resource_name, - agent_pool_name=agent_pool_name, - machine_name=machine_name, - subscription_id=self._config.subscription_id, - api_version=self._config.api_version, - headers=_headers, - params=_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - _decompress = kwargs.pop("decompress", True) - _stream = kwargs.pop("stream", False) - pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access - _request, stream=_stream, **kwargs - ) - - response = pipeline_response.http_response - - if response.status_code not in [200]: - if _stream: - try: - await response.read() # Load the body in memory and close the socket - except (StreamConsumedError, StreamClosedError): - pass - map_error(status_code=response.status_code, response=response, error_map=error_map) - error = _failsafe_deserialize( - _models.ErrorResponse, - response, - ) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - - if _stream: - deserialized = response.iter_bytes() if _decompress else response.iter_raw() - else: - deserialized = _deserialize(_models.Machine, response.json()) - - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - - return deserialized # type: ignore - - @api_version_validation( - method_added_on="2026-05-02-preview", - params_added_on={ - "2026-05-02-preview": [ - "api_version", - "subscription_id", - "resource_group_name", - "resource_name", - "agent_pool_name", - "machine_name", - "content_type", - "accept", - "etag", - "match_condition", - ] - }, - api_versions_list=["2026-05-02-preview"], - ) - async def _create_or_update_initial( - self, - resource_group_name: str, - resource_name: str, - agent_pool_name: str, - machine_name: str, - parameters: Union[_models.Machine, _types.Machine, IO[bytes]], - *, - etag: Optional[str] = None, - match_condition: Optional[MatchConditions] = None, - **kwargs: Any - ) -> AsyncIterator[bytes]: - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - if match_condition == MatchConditions.IfNotModified: - error_map[412] = ResourceModifiedError - elif match_condition == MatchConditions.IfPresent: - error_map[412] = ResourceNotFoundError - elif match_condition == MatchConditions.IfMissing: - error_map[412] = ResourceExistsError - error_map.update(kwargs.pop("error_map", {}) or {}) - - _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - _params = kwargs.pop("params", {}) or {} - - content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - cls: ClsType[AsyncIterator[bytes]] = kwargs.pop("cls", None) - - content_type = content_type or "application/json" - _content = None - if isinstance(parameters, (IOBase, bytes)): - _content = parameters - else: - _content = json.dumps(parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore - - _request = build_machines_create_or_update_request( - resource_group_name=resource_group_name, - resource_name=resource_name, - agent_pool_name=agent_pool_name, - machine_name=machine_name, - subscription_id=self._config.subscription_id, - etag=etag, - match_condition=match_condition, - content_type=content_type, - api_version=self._config.api_version, - content=_content, - headers=_headers, - params=_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - _decompress = kwargs.pop("decompress", True) - _stream = True - pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access - _request, stream=_stream, **kwargs - ) - - response = pipeline_response.http_response - - if response.status_code not in [200, 201]: - try: - await response.read() # Load the body in memory and close the socket - except (StreamConsumedError, StreamClosedError): - pass - map_error(status_code=response.status_code, response=response, error_map=error_map) - error = _failsafe_deserialize( - _models.ErrorResponse, - response, - ) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - - response_headers = {} - if response.status_code == 201: - response_headers["Azure-AsyncOperation"] = self._deserialize( - "str", response.headers.get("Azure-AsyncOperation") - ) - response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) - - deserialized = response.iter_bytes() if _decompress else response.iter_raw() - - if cls: - return cls(pipeline_response, deserialized, response_headers) # type: ignore - - return deserialized # type: ignore - - @overload - async def begin_create_or_update( - self, - resource_group_name: str, - resource_name: str, - agent_pool_name: str, - machine_name: str, - parameters: _models.Machine, - *, - content_type: str = "application/json", - etag: Optional[str] = None, - match_condition: Optional[MatchConditions] = None, - **kwargs: Any - ) -> AsyncLROPoller[_models.Machine]: - """Creates or updates a machine in the specified agent pool. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param resource_name: The name of the managed cluster resource. Required. - :type resource_name: str - :param agent_pool_name: The name of the agent pool. Required. - :type agent_pool_name: str - :param machine_name: Host name of the machine. Required. - :type machine_name: str - :param parameters: The machine to create or update. Required. - :type parameters: ~azure.mgmt.containerservice.models.Machine - :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. - Default value is "application/json". - :paramtype content_type: str - :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is - None. - :paramtype etag: str - :keyword match_condition: The match condition to use upon the etag. Default value is None. - :paramtype match_condition: ~azure.core.MatchConditions - :return: An instance of AsyncLROPoller that returns Machine. The Machine is compatible with - MutableMapping - :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.containerservice.models.Machine] - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @overload - async def begin_create_or_update( - self, - resource_group_name: str, - resource_name: str, - agent_pool_name: str, - machine_name: str, - parameters: _types.Machine, - *, - content_type: str = "application/json", - etag: Optional[str] = None, - match_condition: Optional[MatchConditions] = None, - **kwargs: Any - ) -> AsyncLROPoller[_models.Machine]: - """Creates or updates a machine in the specified agent pool. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param resource_name: The name of the managed cluster resource. Required. - :type resource_name: str - :param agent_pool_name: The name of the agent pool. Required. - :type agent_pool_name: str - :param machine_name: Host name of the machine. Required. - :type machine_name: str - :param parameters: The machine to create or update. Required. - :type parameters: ~azure.mgmt.containerservice.types.Machine - :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. - Default value is "application/json". - :paramtype content_type: str - :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is - None. - :paramtype etag: str - :keyword match_condition: The match condition to use upon the etag. Default value is None. - :paramtype match_condition: ~azure.core.MatchConditions - :return: An instance of AsyncLROPoller that returns Machine. The Machine is compatible with - MutableMapping - :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.containerservice.models.Machine] - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @overload - async def begin_create_or_update( - self, - resource_group_name: str, - resource_name: str, - agent_pool_name: str, - machine_name: str, - parameters: IO[bytes], - *, - content_type: str = "application/json", - etag: Optional[str] = None, - match_condition: Optional[MatchConditions] = None, - **kwargs: Any - ) -> AsyncLROPoller[_models.Machine]: - """Creates or updates a machine in the specified agent pool. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param resource_name: The name of the managed cluster resource. Required. - :type resource_name: str - :param agent_pool_name: The name of the agent pool. Required. - :type agent_pool_name: str - :param machine_name: Host name of the machine. Required. - :type machine_name: str - :param parameters: The machine to create or update. Required. - :type parameters: IO[bytes] - :keyword content_type: Body Parameter content-type. Content type parameter for binary body. - Default value is "application/json". - :paramtype content_type: str - :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is - None. - :paramtype etag: str - :keyword match_condition: The match condition to use upon the etag. Default value is None. - :paramtype match_condition: ~azure.core.MatchConditions - :return: An instance of AsyncLROPoller that returns Machine. The Machine is compatible with - MutableMapping - :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.containerservice.models.Machine] - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @distributed_trace_async - @api_version_validation( - method_added_on="2026-05-02-preview", - params_added_on={ - "2026-05-02-preview": [ - "api_version", - "subscription_id", - "resource_group_name", - "resource_name", - "agent_pool_name", - "machine_name", - "content_type", - "accept", - "etag", - "match_condition", - ] - }, - api_versions_list=["2026-05-02-preview"], - ) - async def begin_create_or_update( - self, - resource_group_name: str, - resource_name: str, - agent_pool_name: str, - machine_name: str, - parameters: Union[_models.Machine, _types.Machine, IO[bytes]], - *, - etag: Optional[str] = None, - match_condition: Optional[MatchConditions] = None, - **kwargs: Any - ) -> AsyncLROPoller[_models.Machine]: - """Creates or updates a machine in the specified agent pool. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param resource_name: The name of the managed cluster resource. Required. - :type resource_name: str - :param agent_pool_name: The name of the agent pool. Required. - :type agent_pool_name: str - :param machine_name: Host name of the machine. Required. - :type machine_name: str - :param parameters: The machine to create or update. Is either a Machine type or a IO[bytes] - type. Required. - :type parameters: ~azure.mgmt.containerservice.models.Machine or - ~azure.mgmt.containerservice.types.Machine or IO[bytes] - :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is - None. - :paramtype etag: str - :keyword match_condition: The match condition to use upon the etag. Default value is None. - :paramtype match_condition: ~azure.core.MatchConditions - :return: An instance of AsyncLROPoller that returns Machine. The Machine is compatible with - MutableMapping - :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.containerservice.models.Machine] - :raises ~azure.core.exceptions.HttpResponseError: - """ - _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - _params = kwargs.pop("params", {}) or {} - - content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - cls: ClsType[_models.Machine] = kwargs.pop("cls", None) - polling: Union[bool, AsyncPollingMethod] = kwargs.pop("polling", True) - lro_delay = kwargs.pop("polling_interval", self._config.polling_interval) - cont_token: Optional[str] = kwargs.pop("continuation_token", None) - if cont_token is None: - raw_result = await self._create_or_update_initial( - resource_group_name=resource_group_name, - resource_name=resource_name, - agent_pool_name=agent_pool_name, - machine_name=machine_name, - parameters=parameters, - etag=etag, - match_condition=match_condition, - content_type=content_type, - cls=lambda x, y, z: x, - headers=_headers, - params=_params, - **kwargs - ) - await raw_result.http_response.read() # type: ignore - kwargs.pop("error_map", None) - - def get_long_running_output(pipeline_response): - response = pipeline_response.http_response - deserialized = _deserialize(_models.Machine, response.json()) - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - return deserialized - - path_format_arguments = { - "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), - } - - if polling is True: - polling_method: AsyncPollingMethod = cast( - AsyncPollingMethod, AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) - ) - elif polling is False: - polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) - else: - polling_method = polling - if cont_token: - return AsyncLROPoller[_models.Machine].from_continuation_token( - polling_method=polling_method, - continuation_token=cont_token, - client=self._client, - deserialization_callback=get_long_running_output, - ) - return AsyncLROPoller[_models.Machine]( - self._client, raw_result, get_long_running_output, polling_method # type: ignore - ) - - @distributed_trace - def list( - self, resource_group_name: str, resource_name: str, agent_pool_name: str, **kwargs: Any - ) -> AsyncItemPaged["_models.Machine"]: - """Gets a list of machines in the specified agent pool. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param resource_name: The name of the managed cluster resource. Required. - :type resource_name: str - :param agent_pool_name: The name of the agent pool. Required. - :type agent_pool_name: str - :return: An iterator like instance of Machine - :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.containerservice.models.Machine] - :raises ~azure.core.exceptions.HttpResponseError: - """ - _headers = kwargs.pop("headers", {}) or {} - _params = kwargs.pop("params", {}) or {} - - cls: ClsType[List[_models.Machine]] = kwargs.pop("cls", None) - - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - def prepare_request(next_link=None): - if not next_link: - - _request = build_machines_list_request( - resource_group_name=resource_group_name, - resource_name=resource_name, - agent_pool_name=agent_pool_name, - subscription_id=self._config.subscription_id, - api_version=self._config.api_version, - headers=_headers, - params=_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url( - "self._config.base_url", self._config.base_url, "str", skip_quote=True - ), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - else: - # make call to next link with the client's api-version - _parsed_next_link = urllib.parse.urlparse(next_link) - _next_request_params = case_insensitive_dict( - { - key: [urllib.parse.quote(v) for v in value] - for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items() - } - ) - _next_request_params["api-version"] = self._config.api_version - _request = HttpRequest( - "GET", - urllib.parse.urljoin(next_link, _parsed_next_link.path), - headers=_headers, - params=_next_request_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url( - "self._config.base_url", self._config.base_url, "str", skip_quote=True - ), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - return _request - - async def extract_data(pipeline_response): - deserialized = pipeline_response.http_response.json() - list_of_elem = _deserialize( - List[_models.Machine], - deserialized.get("value", []), - ) - if cls: - list_of_elem = cls(list_of_elem) # type: ignore - return deserialized.get("nextLink") or None, AsyncList(list_of_elem) - - async def get_next(next_link=None): - _request = prepare_request(next_link) - - _stream = False - pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access - _request, stream=_stream, **kwargs - ) - response = pipeline_response.http_response - - if response.status_code not in [200]: - map_error(status_code=response.status_code, response=response, error_map=error_map) - error = _failsafe_deserialize( - _models.ErrorResponse, - response, - ) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - - return pipeline_response - - return AsyncItemPaged(get_next, extract_data) - - -class PrivateEndpointConnectionsOperations: - """ - .. warning:: - **DO NOT** instantiate this class directly. - - Instead, you should access the following operations through - :class:`~azure.mgmt.containerservice.aio.ContainerServiceClient`'s - :attr:`private_endpoint_connections` attribute. - """ - - def __init__(self, *args, **kwargs) -> None: - input_args = list(args) - self._client: AsyncPipelineClient = input_args.pop(0) if input_args else kwargs.pop("client") - self._config: ContainerServiceClientConfiguration = input_args.pop(0) if input_args else kwargs.pop("config") - self._serialize: Serializer = input_args.pop(0) if input_args else kwargs.pop("serializer") - self._deserialize: Deserializer = input_args.pop(0) if input_args else kwargs.pop("deserializer") - - @distributed_trace_async - async def get( - self, resource_group_name: str, resource_name: str, private_endpoint_connection_name: str, **kwargs: Any - ) -> _models.PrivateEndpointConnection: - """Gets the specified private endpoint connection. - - To learn more about private clusters, see: - `https://docs.microsoft.com/azure/aks/private-clusters - `_. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param resource_name: The name of the managed cluster resource. Required. - :type resource_name: str - :param private_endpoint_connection_name: The name of the private endpoint connection. Required. - :type private_endpoint_connection_name: str - :return: PrivateEndpointConnection. The PrivateEndpointConnection is compatible with - MutableMapping - :rtype: ~azure.mgmt.containerservice.models.PrivateEndpointConnection - :raises ~azure.core.exceptions.HttpResponseError: - """ - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - _headers = kwargs.pop("headers", {}) or {} - _params = kwargs.pop("params", {}) or {} - - cls: ClsType[_models.PrivateEndpointConnection] = kwargs.pop("cls", None) - - _request = build_private_endpoint_connections_get_request( - resource_group_name=resource_group_name, - resource_name=resource_name, - private_endpoint_connection_name=private_endpoint_connection_name, - subscription_id=self._config.subscription_id, - api_version=self._config.api_version, - headers=_headers, - params=_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - _decompress = kwargs.pop("decompress", True) - _stream = kwargs.pop("stream", False) - pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access - _request, stream=_stream, **kwargs - ) - - response = pipeline_response.http_response - - if response.status_code not in [200]: - if _stream: - try: - await response.read() # Load the body in memory and close the socket - except (StreamConsumedError, StreamClosedError): - pass - map_error(status_code=response.status_code, response=response, error_map=error_map) - error = _failsafe_deserialize( - _models.ErrorResponse, - response, - ) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - - if _stream: - deserialized = response.iter_bytes() if _decompress else response.iter_raw() - else: - deserialized = _deserialize(_models.PrivateEndpointConnection, response.json()) - - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - - return deserialized # type: ignore - - @overload - async def update( - self, - resource_group_name: str, - resource_name: str, - private_endpoint_connection_name: str, - parameters: _models.PrivateEndpointConnection, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> _models.PrivateEndpointConnection: - """Updates a private endpoint connection. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param resource_name: The name of the managed cluster resource. Required. - :type resource_name: str - :param private_endpoint_connection_name: The name of the private endpoint connection. Required. - :type private_endpoint_connection_name: str - :param parameters: The updated private endpoint connection. Required. - :type parameters: ~azure.mgmt.containerservice.models.PrivateEndpointConnection - :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. - Default value is "application/json". - :paramtype content_type: str - :return: PrivateEndpointConnection. The PrivateEndpointConnection is compatible with - MutableMapping - :rtype: ~azure.mgmt.containerservice.models.PrivateEndpointConnection - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @overload - async def update( - self, - resource_group_name: str, - resource_name: str, - private_endpoint_connection_name: str, - parameters: _types.PrivateEndpointConnection, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> _models.PrivateEndpointConnection: - """Updates a private endpoint connection. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param resource_name: The name of the managed cluster resource. Required. - :type resource_name: str - :param private_endpoint_connection_name: The name of the private endpoint connection. Required. - :type private_endpoint_connection_name: str - :param parameters: The updated private endpoint connection. Required. - :type parameters: ~azure.mgmt.containerservice.types.PrivateEndpointConnection - :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. - Default value is "application/json". - :paramtype content_type: str - :return: PrivateEndpointConnection. The PrivateEndpointConnection is compatible with - MutableMapping - :rtype: ~azure.mgmt.containerservice.models.PrivateEndpointConnection - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @overload - async def update( - self, - resource_group_name: str, - resource_name: str, - private_endpoint_connection_name: str, - parameters: IO[bytes], - *, - content_type: str = "application/json", - **kwargs: Any - ) -> _models.PrivateEndpointConnection: - """Updates a private endpoint connection. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param resource_name: The name of the managed cluster resource. Required. - :type resource_name: str - :param private_endpoint_connection_name: The name of the private endpoint connection. Required. - :type private_endpoint_connection_name: str - :param parameters: The updated private endpoint connection. Required. - :type parameters: IO[bytes] - :keyword content_type: Body Parameter content-type. Content type parameter for binary body. - Default value is "application/json". - :paramtype content_type: str - :return: PrivateEndpointConnection. The PrivateEndpointConnection is compatible with - MutableMapping - :rtype: ~azure.mgmt.containerservice.models.PrivateEndpointConnection - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @distributed_trace_async - async def update( - self, - resource_group_name: str, - resource_name: str, - private_endpoint_connection_name: str, - parameters: Union[_models.PrivateEndpointConnection, _types.PrivateEndpointConnection, IO[bytes]], - **kwargs: Any - ) -> _models.PrivateEndpointConnection: - """Updates a private endpoint connection. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param resource_name: The name of the managed cluster resource. Required. - :type resource_name: str - :param private_endpoint_connection_name: The name of the private endpoint connection. Required. - :type private_endpoint_connection_name: str - :param parameters: The updated private endpoint connection. Is either a - PrivateEndpointConnection type or a IO[bytes] type. Required. - :type parameters: ~azure.mgmt.containerservice.models.PrivateEndpointConnection or - ~azure.mgmt.containerservice.types.PrivateEndpointConnection or IO[bytes] - :return: PrivateEndpointConnection. The PrivateEndpointConnection is compatible with - MutableMapping - :rtype: ~azure.mgmt.containerservice.models.PrivateEndpointConnection - :raises ~azure.core.exceptions.HttpResponseError: - """ - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - _params = kwargs.pop("params", {}) or {} - - content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - cls: ClsType[_models.PrivateEndpointConnection] = kwargs.pop("cls", None) - - content_type = content_type or "application/json" - _content = None - if isinstance(parameters, (IOBase, bytes)): - _content = parameters - else: - _content = json.dumps(parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore - - _request = build_private_endpoint_connections_update_request( - resource_group_name=resource_group_name, - resource_name=resource_name, - private_endpoint_connection_name=private_endpoint_connection_name, - subscription_id=self._config.subscription_id, - content_type=content_type, - api_version=self._config.api_version, - content=_content, - headers=_headers, - params=_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - _decompress = kwargs.pop("decompress", True) - _stream = kwargs.pop("stream", False) - pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access - _request, stream=_stream, **kwargs - ) - - response = pipeline_response.http_response - - if response.status_code not in [200, 201]: - if _stream: - try: - await response.read() # Load the body in memory and close the socket - except (StreamConsumedError, StreamClosedError): - pass - map_error(status_code=response.status_code, response=response, error_map=error_map) - error = _failsafe_deserialize( - _models.ErrorResponse, - response, - ) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - - if _stream: - deserialized = response.iter_bytes() if _decompress else response.iter_raw() - else: - deserialized = _deserialize(_models.PrivateEndpointConnection, response.json()) - - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - - return deserialized # type: ignore - - async def _delete_initial( - self, resource_group_name: str, resource_name: str, private_endpoint_connection_name: str, **kwargs: Any - ) -> AsyncIterator[bytes]: - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - _headers = kwargs.pop("headers", {}) or {} - _params = kwargs.pop("params", {}) or {} - - cls: ClsType[AsyncIterator[bytes]] = kwargs.pop("cls", None) - - _request = build_private_endpoint_connections_delete_request( - resource_group_name=resource_group_name, - resource_name=resource_name, - private_endpoint_connection_name=private_endpoint_connection_name, - subscription_id=self._config.subscription_id, - api_version=self._config.api_version, - headers=_headers, - params=_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - _decompress = kwargs.pop("decompress", True) - _stream = True - pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access - _request, stream=_stream, **kwargs - ) - - response = pipeline_response.http_response - - if response.status_code not in [200, 204]: - try: - await response.read() # Load the body in memory and close the socket - except (StreamConsumedError, StreamClosedError): - pass - map_error(status_code=response.status_code, response=response, error_map=error_map) - error = _failsafe_deserialize( - _models.ErrorResponse, - response, - ) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - - response_headers = {} - if response.status_code == 200: - response_headers["Azure-AsyncOperation"] = self._deserialize( - "str", response.headers.get("Azure-AsyncOperation") - ) - response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) - - deserialized = response.iter_bytes() if _decompress else response.iter_raw() - - if cls: - return cls(pipeline_response, deserialized, response_headers) # type: ignore - - return deserialized # type: ignore - - @distributed_trace_async - async def begin_delete( - self, resource_group_name: str, resource_name: str, private_endpoint_connection_name: str, **kwargs: Any - ) -> AsyncLROPoller[None]: - """Deletes a private endpoint connection. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param resource_name: The name of the managed cluster resource. Required. - :type resource_name: str - :param private_endpoint_connection_name: The name of the private endpoint connection. Required. - :type private_endpoint_connection_name: str - :return: An instance of AsyncLROPoller that returns None - :rtype: ~azure.core.polling.AsyncLROPoller[None] - :raises ~azure.core.exceptions.HttpResponseError: - """ - _headers = kwargs.pop("headers", {}) or {} - _params = kwargs.pop("params", {}) or {} - - cls: ClsType[None] = kwargs.pop("cls", None) - polling: Union[bool, AsyncPollingMethod] = kwargs.pop("polling", True) - lro_delay = kwargs.pop("polling_interval", self._config.polling_interval) - cont_token: Optional[str] = kwargs.pop("continuation_token", None) - if cont_token is None: - raw_result = await self._delete_initial( - resource_group_name=resource_group_name, - resource_name=resource_name, - private_endpoint_connection_name=private_endpoint_connection_name, - cls=lambda x, y, z: x, - headers=_headers, - params=_params, - **kwargs - ) - await raw_result.http_response.read() # type: ignore - kwargs.pop("error_map", None) - - def get_long_running_output(pipeline_response): # pylint: disable=inconsistent-return-statements - if cls: - return cls(pipeline_response, None, {}) # type: ignore - - path_format_arguments = { - "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), - } - - if polling is True: - polling_method: AsyncPollingMethod = cast( - AsyncPollingMethod, AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) - ) - elif polling is False: - polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) - else: - polling_method = polling - if cont_token: - return AsyncLROPoller[None].from_continuation_token( - polling_method=polling_method, - continuation_token=cont_token, - client=self._client, - deserialization_callback=get_long_running_output, - ) - return AsyncLROPoller[None](self._client, raw_result, get_long_running_output, polling_method) # type: ignore - - @distributed_trace_async - async def list( - self, resource_group_name: str, resource_name: str, **kwargs: Any - ) -> _models.PrivateEndpointConnectionListResult: - """Gets a list of private endpoint connections in the specified managed cluster. - - To learn more about private clusters, see: - `https://docs.microsoft.com/azure/aks/private-clusters - `_. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param resource_name: The name of the managed cluster resource. Required. - :type resource_name: str - :return: PrivateEndpointConnectionListResult. The PrivateEndpointConnectionListResult is - compatible with MutableMapping - :rtype: ~azure.mgmt.containerservice.models.PrivateEndpointConnectionListResult - :raises ~azure.core.exceptions.HttpResponseError: - """ - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - _headers = kwargs.pop("headers", {}) or {} - _params = kwargs.pop("params", {}) or {} - - cls: ClsType[_models.PrivateEndpointConnectionListResult] = kwargs.pop("cls", None) - - _request = build_private_endpoint_connections_list_request( - resource_group_name=resource_group_name, - resource_name=resource_name, - subscription_id=self._config.subscription_id, - api_version=self._config.api_version, - headers=_headers, - params=_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - _decompress = kwargs.pop("decompress", True) - _stream = kwargs.pop("stream", False) - pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access - _request, stream=_stream, **kwargs - ) - - response = pipeline_response.http_response - - if response.status_code not in [200]: - if _stream: - try: - await response.read() # Load the body in memory and close the socket - except (StreamConsumedError, StreamClosedError): - pass - map_error(status_code=response.status_code, response=response, error_map=error_map) - error = _failsafe_deserialize( - _models.ErrorResponse, - response, - ) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - - if _stream: - deserialized = response.iter_bytes() if _decompress else response.iter_raw() - else: - deserialized = _deserialize(_models.PrivateEndpointConnectionListResult, response.json()) - - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - - return deserialized # type: ignore - - -class SnapshotsOperations: - """ - .. warning:: - **DO NOT** instantiate this class directly. - - Instead, you should access the following operations through - :class:`~azure.mgmt.containerservice.aio.ContainerServiceClient`'s - :attr:`snapshots` attribute. - """ - - def __init__(self, *args, **kwargs) -> None: - input_args = list(args) - self._client: AsyncPipelineClient = input_args.pop(0) if input_args else kwargs.pop("client") - self._config: ContainerServiceClientConfiguration = input_args.pop(0) if input_args else kwargs.pop("config") - self._serialize: Serializer = input_args.pop(0) if input_args else kwargs.pop("serializer") - self._deserialize: Deserializer = input_args.pop(0) if input_args else kwargs.pop("deserializer") - - @distributed_trace_async - async def get(self, resource_group_name: str, resource_name: str, **kwargs: Any) -> _models.Snapshot: - """Gets a snapshot. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param resource_name: The name of the managed cluster resource. Required. - :type resource_name: str - :return: Snapshot. The Snapshot is compatible with MutableMapping - :rtype: ~azure.mgmt.containerservice.models.Snapshot - :raises ~azure.core.exceptions.HttpResponseError: - """ - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - _headers = kwargs.pop("headers", {}) or {} - _params = kwargs.pop("params", {}) or {} - - cls: ClsType[_models.Snapshot] = kwargs.pop("cls", None) - - _request = build_snapshots_get_request( - resource_group_name=resource_group_name, - resource_name=resource_name, - subscription_id=self._config.subscription_id, - api_version=self._config.api_version, - headers=_headers, - params=_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - _decompress = kwargs.pop("decompress", True) - _stream = kwargs.pop("stream", False) - pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access - _request, stream=_stream, **kwargs - ) - - response = pipeline_response.http_response - - if response.status_code not in [200]: - if _stream: - try: - await response.read() # Load the body in memory and close the socket - except (StreamConsumedError, StreamClosedError): - pass - map_error(status_code=response.status_code, response=response, error_map=error_map) - error = _failsafe_deserialize( - _models.ErrorResponse, - response, - ) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - - if _stream: - deserialized = response.iter_bytes() if _decompress else response.iter_raw() - else: - deserialized = _deserialize(_models.Snapshot, response.json()) - - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - - return deserialized # type: ignore - - @overload - async def create_or_update( - self, - resource_group_name: str, - resource_name: str, - parameters: _models.Snapshot, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> _models.Snapshot: - """Creates or updates a snapshot. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param resource_name: The name of the managed cluster resource. Required. - :type resource_name: str - :param parameters: The snapshot to create or update. Required. - :type parameters: ~azure.mgmt.containerservice.models.Snapshot - :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. - Default value is "application/json". - :paramtype content_type: str - :return: Snapshot. The Snapshot is compatible with MutableMapping - :rtype: ~azure.mgmt.containerservice.models.Snapshot - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @overload - async def create_or_update( - self, - resource_group_name: str, - resource_name: str, - parameters: _types.Snapshot, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> _models.Snapshot: - """Creates or updates a snapshot. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param resource_name: The name of the managed cluster resource. Required. - :type resource_name: str - :param parameters: The snapshot to create or update. Required. - :type parameters: ~azure.mgmt.containerservice.types.Snapshot - :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. - Default value is "application/json". - :paramtype content_type: str - :return: Snapshot. The Snapshot is compatible with MutableMapping - :rtype: ~azure.mgmt.containerservice.models.Snapshot - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @overload - async def create_or_update( - self, - resource_group_name: str, - resource_name: str, - parameters: IO[bytes], - *, - content_type: str = "application/json", - **kwargs: Any - ) -> _models.Snapshot: - """Creates or updates a snapshot. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param resource_name: The name of the managed cluster resource. Required. - :type resource_name: str - :param parameters: The snapshot to create or update. Required. - :type parameters: IO[bytes] - :keyword content_type: Body Parameter content-type. Content type parameter for binary body. - Default value is "application/json". - :paramtype content_type: str - :return: Snapshot. The Snapshot is compatible with MutableMapping - :rtype: ~azure.mgmt.containerservice.models.Snapshot - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @distributed_trace_async - async def create_or_update( - self, - resource_group_name: str, - resource_name: str, - parameters: Union[_models.Snapshot, _types.Snapshot, IO[bytes]], - **kwargs: Any - ) -> _models.Snapshot: - """Creates or updates a snapshot. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param resource_name: The name of the managed cluster resource. Required. - :type resource_name: str - :param parameters: The snapshot to create or update. Is either a Snapshot type or a IO[bytes] - type. Required. - :type parameters: ~azure.mgmt.containerservice.models.Snapshot or - ~azure.mgmt.containerservice.types.Snapshot or IO[bytes] - :return: Snapshot. The Snapshot is compatible with MutableMapping - :rtype: ~azure.mgmt.containerservice.models.Snapshot - :raises ~azure.core.exceptions.HttpResponseError: - """ - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - _params = kwargs.pop("params", {}) or {} - - content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - cls: ClsType[_models.Snapshot] = kwargs.pop("cls", None) - - content_type = content_type or "application/json" - _content = None - if isinstance(parameters, (IOBase, bytes)): - _content = parameters - else: - _content = json.dumps(parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore - - _request = build_snapshots_create_or_update_request( - resource_group_name=resource_group_name, - resource_name=resource_name, - subscription_id=self._config.subscription_id, - content_type=content_type, - api_version=self._config.api_version, - content=_content, - headers=_headers, - params=_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - _decompress = kwargs.pop("decompress", True) - _stream = kwargs.pop("stream", False) - pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access - _request, stream=_stream, **kwargs - ) - - response = pipeline_response.http_response - - if response.status_code not in [200, 201]: - if _stream: - try: - await response.read() # Load the body in memory and close the socket - except (StreamConsumedError, StreamClosedError): - pass - map_error(status_code=response.status_code, response=response, error_map=error_map) - error = _failsafe_deserialize( - _models.ErrorResponse, - response, - ) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - - if _stream: - deserialized = response.iter_bytes() if _decompress else response.iter_raw() - else: - deserialized = _deserialize(_models.Snapshot, response.json()) - - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - - return deserialized # type: ignore - - @overload - async def update_tags( - self, - resource_group_name: str, - resource_name: str, - parameters: _models.TagsObject, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> _models.Snapshot: - """Updates tags on a snapshot. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param resource_name: The name of the managed cluster resource. Required. - :type resource_name: str - :param parameters: Parameters supplied to the Update snapshot Tags operation. Required. - :type parameters: ~azure.mgmt.containerservice.models.TagsObject - :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. - Default value is "application/json". - :paramtype content_type: str - :return: Snapshot. The Snapshot is compatible with MutableMapping - :rtype: ~azure.mgmt.containerservice.models.Snapshot - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @overload - async def update_tags( - self, - resource_group_name: str, - resource_name: str, - parameters: _types.TagsObject, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> _models.Snapshot: - """Updates tags on a snapshot. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param resource_name: The name of the managed cluster resource. Required. - :type resource_name: str - :param parameters: Parameters supplied to the Update snapshot Tags operation. Required. - :type parameters: ~azure.mgmt.containerservice.types.TagsObject - :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. - Default value is "application/json". - :paramtype content_type: str - :return: Snapshot. The Snapshot is compatible with MutableMapping - :rtype: ~azure.mgmt.containerservice.models.Snapshot - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @overload - async def update_tags( - self, - resource_group_name: str, - resource_name: str, - parameters: IO[bytes], - *, - content_type: str = "application/json", - **kwargs: Any - ) -> _models.Snapshot: - """Updates tags on a snapshot. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param resource_name: The name of the managed cluster resource. Required. - :type resource_name: str - :param parameters: Parameters supplied to the Update snapshot Tags operation. Required. - :type parameters: IO[bytes] - :keyword content_type: Body Parameter content-type. Content type parameter for binary body. - Default value is "application/json". - :paramtype content_type: str - :return: Snapshot. The Snapshot is compatible with MutableMapping - :rtype: ~azure.mgmt.containerservice.models.Snapshot - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @distributed_trace_async - async def update_tags( - self, - resource_group_name: str, - resource_name: str, - parameters: Union[_models.TagsObject, _types.TagsObject, IO[bytes]], - **kwargs: Any - ) -> _models.Snapshot: - """Updates tags on a snapshot. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param resource_name: The name of the managed cluster resource. Required. - :type resource_name: str - :param parameters: Parameters supplied to the Update snapshot Tags operation. Is either a - TagsObject type or a IO[bytes] type. Required. - :type parameters: ~azure.mgmt.containerservice.models.TagsObject or - ~azure.mgmt.containerservice.types.TagsObject or IO[bytes] - :return: Snapshot. The Snapshot is compatible with MutableMapping - :rtype: ~azure.mgmt.containerservice.models.Snapshot - :raises ~azure.core.exceptions.HttpResponseError: - """ - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - _params = kwargs.pop("params", {}) or {} - - content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - cls: ClsType[_models.Snapshot] = kwargs.pop("cls", None) - - content_type = content_type or "application/json" - _content = None - if isinstance(parameters, (IOBase, bytes)): - _content = parameters - else: - _content = json.dumps(parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore - - _request = build_snapshots_update_tags_request( - resource_group_name=resource_group_name, - resource_name=resource_name, - subscription_id=self._config.subscription_id, - content_type=content_type, - api_version=self._config.api_version, - content=_content, - headers=_headers, - params=_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - _decompress = kwargs.pop("decompress", True) - _stream = kwargs.pop("stream", False) - pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access - _request, stream=_stream, **kwargs - ) - - response = pipeline_response.http_response - - if response.status_code not in [200]: - if _stream: - try: - await response.read() # Load the body in memory and close the socket - except (StreamConsumedError, StreamClosedError): - pass - map_error(status_code=response.status_code, response=response, error_map=error_map) - error = _failsafe_deserialize( - _models.ErrorResponse, - response, - ) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - - if _stream: - deserialized = response.iter_bytes() if _decompress else response.iter_raw() - else: - deserialized = _deserialize(_models.Snapshot, response.json()) - - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - - return deserialized # type: ignore - - @distributed_trace_async - async def delete(self, resource_group_name: str, resource_name: str, **kwargs: Any) -> None: - """Deletes a snapshot. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param resource_name: The name of the managed cluster resource. Required. - :type resource_name: str - :return: None - :rtype: None - :raises ~azure.core.exceptions.HttpResponseError: - """ - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - _headers = kwargs.pop("headers", {}) or {} - _params = kwargs.pop("params", {}) or {} - - cls: ClsType[None] = kwargs.pop("cls", None) - - _request = build_snapshots_delete_request( - resource_group_name=resource_group_name, - resource_name=resource_name, - subscription_id=self._config.subscription_id, - api_version=self._config.api_version, - headers=_headers, - params=_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - _stream = False - pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access - _request, stream=_stream, **kwargs - ) - - response = pipeline_response.http_response - - if response.status_code not in [200, 204]: - map_error(status_code=response.status_code, response=response, error_map=error_map) - error = _failsafe_deserialize( - _models.ErrorResponse, - response, - ) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - - if cls: - return cls(pipeline_response, None, {}) # type: ignore - - @distributed_trace - def list_by_resource_group(self, resource_group_name: str, **kwargs: Any) -> AsyncItemPaged["_models.Snapshot"]: - """Lists snapshots in the specified subscription and resource group. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :return: An iterator like instance of Snapshot - :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.containerservice.models.Snapshot] - :raises ~azure.core.exceptions.HttpResponseError: - """ - _headers = kwargs.pop("headers", {}) or {} - _params = kwargs.pop("params", {}) or {} - - cls: ClsType[List[_models.Snapshot]] = kwargs.pop("cls", None) - - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - def prepare_request(next_link=None): - if not next_link: - - _request = build_snapshots_list_by_resource_group_request( - resource_group_name=resource_group_name, - subscription_id=self._config.subscription_id, - api_version=self._config.api_version, - headers=_headers, - params=_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url( - "self._config.base_url", self._config.base_url, "str", skip_quote=True - ), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - else: - # make call to next link with the client's api-version - _parsed_next_link = urllib.parse.urlparse(next_link) - _next_request_params = case_insensitive_dict( - { - key: [urllib.parse.quote(v) for v in value] - for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items() - } - ) - _next_request_params["api-version"] = self._config.api_version - _request = HttpRequest( - "GET", - urllib.parse.urljoin(next_link, _parsed_next_link.path), - headers=_headers, - params=_next_request_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url( - "self._config.base_url", self._config.base_url, "str", skip_quote=True - ), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - return _request - - async def extract_data(pipeline_response): - deserialized = pipeline_response.http_response.json() - list_of_elem = _deserialize( - List[_models.Snapshot], - deserialized.get("value", []), - ) - if cls: - list_of_elem = cls(list_of_elem) # type: ignore - return deserialized.get("nextLink") or None, AsyncList(list_of_elem) - - async def get_next(next_link=None): - _request = prepare_request(next_link) - - _stream = False - pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access - _request, stream=_stream, **kwargs - ) - response = pipeline_response.http_response - - if response.status_code not in [200]: - map_error(status_code=response.status_code, response=response, error_map=error_map) - error = _failsafe_deserialize( - _models.ErrorResponse, - response, - ) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - - return pipeline_response - - return AsyncItemPaged(get_next, extract_data) - - @distributed_trace - def list(self, **kwargs: Any) -> AsyncItemPaged["_models.Snapshot"]: - """Gets a list of snapshots in the specified subscription. - - :return: An iterator like instance of Snapshot - :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.containerservice.models.Snapshot] - :raises ~azure.core.exceptions.HttpResponseError: - """ - _headers = kwargs.pop("headers", {}) or {} - _params = kwargs.pop("params", {}) or {} - - cls: ClsType[List[_models.Snapshot]] = kwargs.pop("cls", None) - - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - def prepare_request(next_link=None): - if not next_link: - - _request = build_snapshots_list_request( - subscription_id=self._config.subscription_id, - api_version=self._config.api_version, - headers=_headers, - params=_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url( - "self._config.base_url", self._config.base_url, "str", skip_quote=True - ), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - else: - # make call to next link with the client's api-version - _parsed_next_link = urllib.parse.urlparse(next_link) - _next_request_params = case_insensitive_dict( - { - key: [urllib.parse.quote(v) for v in value] - for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items() - } - ) - _next_request_params["api-version"] = self._config.api_version - _request = HttpRequest( - "GET", - urllib.parse.urljoin(next_link, _parsed_next_link.path), - headers=_headers, - params=_next_request_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url( - "self._config.base_url", self._config.base_url, "str", skip_quote=True - ), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - return _request - - async def extract_data(pipeline_response): - deserialized = pipeline_response.http_response.json() - list_of_elem = _deserialize( - List[_models.Snapshot], - deserialized.get("value", []), - ) - if cls: - list_of_elem = cls(list_of_elem) # type: ignore - return deserialized.get("nextLink") or None, AsyncList(list_of_elem) - - async def get_next(next_link=None): - _request = prepare_request(next_link) - - _stream = False - pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access - _request, stream=_stream, **kwargs - ) - response = pipeline_response.http_response - - if response.status_code not in [200]: - map_error(status_code=response.status_code, response=response, error_map=error_map) - error = _failsafe_deserialize( - _models.ErrorResponse, - response, - ) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - - return pipeline_response - - return AsyncItemPaged(get_next, extract_data) - - -class ManagedClusterSnapshotsOperations: - """ - .. warning:: - **DO NOT** instantiate this class directly. - - Instead, you should access the following operations through - :class:`~azure.mgmt.containerservice.aio.ContainerServiceClient`'s - :attr:`managed_cluster_snapshots` attribute. - """ - - def __init__(self, *args, **kwargs) -> None: - input_args = list(args) - self._client: AsyncPipelineClient = input_args.pop(0) if input_args else kwargs.pop("client") - self._config: ContainerServiceClientConfiguration = input_args.pop(0) if input_args else kwargs.pop("config") - self._serialize: Serializer = input_args.pop(0) if input_args else kwargs.pop("serializer") - self._deserialize: Deserializer = input_args.pop(0) if input_args else kwargs.pop("deserializer") - - @distributed_trace_async - @api_version_validation( - method_added_on="2026-05-02-preview", - params_added_on={ - "2026-05-02-preview": ["api_version", "subscription_id", "resource_group_name", "resource_name", "accept"] - }, - api_versions_list=["2026-05-02-preview"], - ) - async def get(self, resource_group_name: str, resource_name: str, **kwargs: Any) -> _models.ManagedClusterSnapshot: - """Gets a managed cluster snapshot. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param resource_name: The name of the managed cluster resource. Required. - :type resource_name: str - :return: ManagedClusterSnapshot. The ManagedClusterSnapshot is compatible with MutableMapping - :rtype: ~azure.mgmt.containerservice.models.ManagedClusterSnapshot - :raises ~azure.core.exceptions.HttpResponseError: - """ - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - _headers = kwargs.pop("headers", {}) or {} - _params = kwargs.pop("params", {}) or {} - - cls: ClsType[_models.ManagedClusterSnapshot] = kwargs.pop("cls", None) - - _request = build_managed_cluster_snapshots_get_request( - resource_group_name=resource_group_name, - resource_name=resource_name, - subscription_id=self._config.subscription_id, - api_version=self._config.api_version, - headers=_headers, - params=_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - _decompress = kwargs.pop("decompress", True) - _stream = kwargs.pop("stream", False) - pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access - _request, stream=_stream, **kwargs - ) - - response = pipeline_response.http_response - - if response.status_code not in [200]: - if _stream: - try: - await response.read() # Load the body in memory and close the socket - except (StreamConsumedError, StreamClosedError): - pass - map_error(status_code=response.status_code, response=response, error_map=error_map) - error = _failsafe_deserialize( - _models.ErrorResponse, - response, - ) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - - if _stream: - deserialized = response.iter_bytes() if _decompress else response.iter_raw() - else: - deserialized = _deserialize(_models.ManagedClusterSnapshot, response.json()) - - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - - return deserialized # type: ignore - - @overload - async def create_or_update( - self, - resource_group_name: str, - resource_name: str, - parameters: _models.ManagedClusterSnapshot, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> _models.ManagedClusterSnapshot: - """Creates or updates a managed cluster snapshot. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param resource_name: The name of the managed cluster resource. Required. - :type resource_name: str - :param parameters: The managed cluster snapshot to create or update. Required. - :type parameters: ~azure.mgmt.containerservice.models.ManagedClusterSnapshot - :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. - Default value is "application/json". - :paramtype content_type: str - :return: ManagedClusterSnapshot. The ManagedClusterSnapshot is compatible with MutableMapping - :rtype: ~azure.mgmt.containerservice.models.ManagedClusterSnapshot - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @overload - async def create_or_update( - self, - resource_group_name: str, - resource_name: str, - parameters: _types.ManagedClusterSnapshot, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> _models.ManagedClusterSnapshot: - """Creates or updates a managed cluster snapshot. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param resource_name: The name of the managed cluster resource. Required. - :type resource_name: str - :param parameters: The managed cluster snapshot to create or update. Required. - :type parameters: ~azure.mgmt.containerservice.types.ManagedClusterSnapshot - :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. - Default value is "application/json". - :paramtype content_type: str - :return: ManagedClusterSnapshot. The ManagedClusterSnapshot is compatible with MutableMapping - :rtype: ~azure.mgmt.containerservice.models.ManagedClusterSnapshot - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @overload - async def create_or_update( - self, - resource_group_name: str, - resource_name: str, - parameters: IO[bytes], - *, - content_type: str = "application/json", - **kwargs: Any - ) -> _models.ManagedClusterSnapshot: - """Creates or updates a managed cluster snapshot. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param resource_name: The name of the managed cluster resource. Required. - :type resource_name: str - :param parameters: The managed cluster snapshot to create or update. Required. - :type parameters: IO[bytes] - :keyword content_type: Body Parameter content-type. Content type parameter for binary body. - Default value is "application/json". - :paramtype content_type: str - :return: ManagedClusterSnapshot. The ManagedClusterSnapshot is compatible with MutableMapping - :rtype: ~azure.mgmt.containerservice.models.ManagedClusterSnapshot - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @distributed_trace_async - @api_version_validation( - method_added_on="2026-05-02-preview", - params_added_on={ - "2026-05-02-preview": [ - "api_version", - "subscription_id", - "resource_group_name", - "resource_name", - "content_type", - "accept", - ] - }, - api_versions_list=["2026-05-02-preview"], - ) - async def create_or_update( - self, - resource_group_name: str, - resource_name: str, - parameters: Union[_models.ManagedClusterSnapshot, _types.ManagedClusterSnapshot, IO[bytes]], - **kwargs: Any - ) -> _models.ManagedClusterSnapshot: - """Creates or updates a managed cluster snapshot. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param resource_name: The name of the managed cluster resource. Required. - :type resource_name: str - :param parameters: The managed cluster snapshot to create or update. Is either a - ManagedClusterSnapshot type or a IO[bytes] type. Required. - :type parameters: ~azure.mgmt.containerservice.models.ManagedClusterSnapshot or - ~azure.mgmt.containerservice.types.ManagedClusterSnapshot or IO[bytes] - :return: ManagedClusterSnapshot. The ManagedClusterSnapshot is compatible with MutableMapping - :rtype: ~azure.mgmt.containerservice.models.ManagedClusterSnapshot - :raises ~azure.core.exceptions.HttpResponseError: - """ - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - _params = kwargs.pop("params", {}) or {} - - content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - cls: ClsType[_models.ManagedClusterSnapshot] = kwargs.pop("cls", None) - - content_type = content_type or "application/json" - _content = None - if isinstance(parameters, (IOBase, bytes)): - _content = parameters - else: - _content = json.dumps(parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore - - _request = build_managed_cluster_snapshots_create_or_update_request( - resource_group_name=resource_group_name, - resource_name=resource_name, - subscription_id=self._config.subscription_id, - content_type=content_type, - api_version=self._config.api_version, - content=_content, - headers=_headers, - params=_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - _decompress = kwargs.pop("decompress", True) - _stream = kwargs.pop("stream", False) - pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access - _request, stream=_stream, **kwargs - ) - - response = pipeline_response.http_response - - if response.status_code not in [200, 201]: - if _stream: - try: - await response.read() # Load the body in memory and close the socket - except (StreamConsumedError, StreamClosedError): - pass - map_error(status_code=response.status_code, response=response, error_map=error_map) - error = _failsafe_deserialize( - _models.ErrorResponse, - response, - ) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - - if _stream: - deserialized = response.iter_bytes() if _decompress else response.iter_raw() - else: - deserialized = _deserialize(_models.ManagedClusterSnapshot, response.json()) - - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - - return deserialized # type: ignore - - @overload - async def update_tags( - self, - resource_group_name: str, - resource_name: str, - parameters: _models.TagsObject, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> _models.ManagedClusterSnapshot: - """Updates tags on a managed cluster snapshot. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param resource_name: The name of the managed cluster resource. Required. - :type resource_name: str - :param parameters: Parameters supplied to the Update managed cluster snapshot Tags operation. - Required. - :type parameters: ~azure.mgmt.containerservice.models.TagsObject - :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. - Default value is "application/json". - :paramtype content_type: str - :return: ManagedClusterSnapshot. The ManagedClusterSnapshot is compatible with MutableMapping - :rtype: ~azure.mgmt.containerservice.models.ManagedClusterSnapshot - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @overload - async def update_tags( - self, - resource_group_name: str, - resource_name: str, - parameters: _types.TagsObject, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> _models.ManagedClusterSnapshot: - """Updates tags on a managed cluster snapshot. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param resource_name: The name of the managed cluster resource. Required. - :type resource_name: str - :param parameters: Parameters supplied to the Update managed cluster snapshot Tags operation. - Required. - :type parameters: ~azure.mgmt.containerservice.types.TagsObject - :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. - Default value is "application/json". - :paramtype content_type: str - :return: ManagedClusterSnapshot. The ManagedClusterSnapshot is compatible with MutableMapping - :rtype: ~azure.mgmt.containerservice.models.ManagedClusterSnapshot - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @overload - async def update_tags( - self, - resource_group_name: str, - resource_name: str, - parameters: IO[bytes], - *, - content_type: str = "application/json", - **kwargs: Any - ) -> _models.ManagedClusterSnapshot: - """Updates tags on a managed cluster snapshot. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param resource_name: The name of the managed cluster resource. Required. - :type resource_name: str - :param parameters: Parameters supplied to the Update managed cluster snapshot Tags operation. - Required. - :type parameters: IO[bytes] - :keyword content_type: Body Parameter content-type. Content type parameter for binary body. - Default value is "application/json". - :paramtype content_type: str - :return: ManagedClusterSnapshot. The ManagedClusterSnapshot is compatible with MutableMapping - :rtype: ~azure.mgmt.containerservice.models.ManagedClusterSnapshot - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @distributed_trace_async - @api_version_validation( - method_added_on="2026-05-02-preview", - params_added_on={ - "2026-05-02-preview": [ - "api_version", - "subscription_id", - "resource_group_name", - "resource_name", - "content_type", - "accept", - ] - }, - api_versions_list=["2026-05-02-preview"], - ) - async def update_tags( - self, - resource_group_name: str, - resource_name: str, - parameters: Union[_models.TagsObject, _types.TagsObject, IO[bytes]], - **kwargs: Any - ) -> _models.ManagedClusterSnapshot: - """Updates tags on a managed cluster snapshot. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param resource_name: The name of the managed cluster resource. Required. - :type resource_name: str - :param parameters: Parameters supplied to the Update managed cluster snapshot Tags operation. - Is either a TagsObject type or a IO[bytes] type. Required. - :type parameters: ~azure.mgmt.containerservice.models.TagsObject or - ~azure.mgmt.containerservice.types.TagsObject or IO[bytes] - :return: ManagedClusterSnapshot. The ManagedClusterSnapshot is compatible with MutableMapping - :rtype: ~azure.mgmt.containerservice.models.ManagedClusterSnapshot - :raises ~azure.core.exceptions.HttpResponseError: - """ - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - _params = kwargs.pop("params", {}) or {} - - content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - cls: ClsType[_models.ManagedClusterSnapshot] = kwargs.pop("cls", None) - - content_type = content_type or "application/json" - _content = None - if isinstance(parameters, (IOBase, bytes)): - _content = parameters - else: - _content = json.dumps(parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore - - _request = build_managed_cluster_snapshots_update_tags_request( - resource_group_name=resource_group_name, - resource_name=resource_name, - subscription_id=self._config.subscription_id, - content_type=content_type, - api_version=self._config.api_version, - content=_content, - headers=_headers, - params=_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - _decompress = kwargs.pop("decompress", True) - _stream = kwargs.pop("stream", False) - pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access - _request, stream=_stream, **kwargs - ) - - response = pipeline_response.http_response - - if response.status_code not in [200]: - if _stream: - try: - await response.read() # Load the body in memory and close the socket - except (StreamConsumedError, StreamClosedError): - pass - map_error(status_code=response.status_code, response=response, error_map=error_map) - error = _failsafe_deserialize( - _models.ErrorResponse, - response, - ) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - - if _stream: - deserialized = response.iter_bytes() if _decompress else response.iter_raw() - else: - deserialized = _deserialize(_models.ManagedClusterSnapshot, response.json()) - - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - - return deserialized # type: ignore - - @distributed_trace_async - @api_version_validation( - method_added_on="2026-05-02-preview", - params_added_on={ - "2026-05-02-preview": ["api_version", "subscription_id", "resource_group_name", "resource_name"] - }, - api_versions_list=["2026-05-02-preview"], - ) - async def delete(self, resource_group_name: str, resource_name: str, **kwargs: Any) -> None: - """Deletes a managed cluster snapshot. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param resource_name: The name of the managed cluster resource. Required. - :type resource_name: str - :return: None - :rtype: None - :raises ~azure.core.exceptions.HttpResponseError: - """ - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - _headers = kwargs.pop("headers", {}) or {} - _params = kwargs.pop("params", {}) or {} - - cls: ClsType[None] = kwargs.pop("cls", None) - - _request = build_managed_cluster_snapshots_delete_request( - resource_group_name=resource_group_name, - resource_name=resource_name, - subscription_id=self._config.subscription_id, - api_version=self._config.api_version, - headers=_headers, - params=_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - _stream = False - pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access - _request, stream=_stream, **kwargs - ) - - response = pipeline_response.http_response - - if response.status_code not in [200, 204]: - map_error(status_code=response.status_code, response=response, error_map=error_map) - error = _failsafe_deserialize( - _models.ErrorResponse, - response, - ) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - - if cls: - return cls(pipeline_response, None, {}) # type: ignore - - @distributed_trace - @api_version_validation( - method_added_on="2026-05-02-preview", - params_added_on={"2026-05-02-preview": ["api_version", "subscription_id", "resource_group_name", "accept"]}, - api_versions_list=["2026-05-02-preview"], - ) - def list_by_resource_group( - self, resource_group_name: str, **kwargs: Any - ) -> AsyncItemPaged["_models.ManagedClusterSnapshot"]: - """Lists managed cluster snapshots in the specified subscription and resource group. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :return: An iterator like instance of ManagedClusterSnapshot - :rtype: - ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.containerservice.models.ManagedClusterSnapshot] - :raises ~azure.core.exceptions.HttpResponseError: - """ - _headers = kwargs.pop("headers", {}) or {} - _params = kwargs.pop("params", {}) or {} - - cls: ClsType[List[_models.ManagedClusterSnapshot]] = kwargs.pop("cls", None) - - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - def prepare_request(next_link=None): - if not next_link: - - _request = build_managed_cluster_snapshots_list_by_resource_group_request( - resource_group_name=resource_group_name, - subscription_id=self._config.subscription_id, - api_version=self._config.api_version, - headers=_headers, - params=_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url( - "self._config.base_url", self._config.base_url, "str", skip_quote=True - ), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - else: - # make call to next link with the client's api-version - _parsed_next_link = urllib.parse.urlparse(next_link) - _next_request_params = case_insensitive_dict( - { - key: [urllib.parse.quote(v) for v in value] - for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items() - } - ) - _next_request_params["api-version"] = self._config.api_version - _request = HttpRequest( - "GET", - urllib.parse.urljoin(next_link, _parsed_next_link.path), - headers=_headers, - params=_next_request_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url( - "self._config.base_url", self._config.base_url, "str", skip_quote=True - ), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - return _request - - async def extract_data(pipeline_response): - deserialized = pipeline_response.http_response.json() - list_of_elem = _deserialize( - List[_models.ManagedClusterSnapshot], - deserialized.get("value", []), - ) - if cls: - list_of_elem = cls(list_of_elem) # type: ignore - return deserialized.get("nextLink") or None, AsyncList(list_of_elem) - - async def get_next(next_link=None): - _request = prepare_request(next_link) - - _stream = False - pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access - _request, stream=_stream, **kwargs - ) - response = pipeline_response.http_response - - if response.status_code not in [200]: - map_error(status_code=response.status_code, response=response, error_map=error_map) - error = _failsafe_deserialize( - _models.ErrorResponse, - response, - ) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - - return pipeline_response - - return AsyncItemPaged(get_next, extract_data) - - @distributed_trace - @api_version_validation( - method_added_on="2026-05-02-preview", - params_added_on={"2026-05-02-preview": ["api_version", "subscription_id", "accept"]}, - api_versions_list=["2026-05-02-preview"], - ) - def list(self, **kwargs: Any) -> AsyncItemPaged["_models.ManagedClusterSnapshot"]: - """Gets a list of managed cluster snapshots in the specified subscription. - - :return: An iterator like instance of ManagedClusterSnapshot - :rtype: - ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.containerservice.models.ManagedClusterSnapshot] - :raises ~azure.core.exceptions.HttpResponseError: - """ - _headers = kwargs.pop("headers", {}) or {} - _params = kwargs.pop("params", {}) or {} - - cls: ClsType[List[_models.ManagedClusterSnapshot]] = kwargs.pop("cls", None) - - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - def prepare_request(next_link=None): - if not next_link: - - _request = build_managed_cluster_snapshots_list_request( - subscription_id=self._config.subscription_id, - api_version=self._config.api_version, - headers=_headers, - params=_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url( - "self._config.base_url", self._config.base_url, "str", skip_quote=True - ), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - else: - # make call to next link with the client's api-version - _parsed_next_link = urllib.parse.urlparse(next_link) - _next_request_params = case_insensitive_dict( - { - key: [urllib.parse.quote(v) for v in value] - for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items() - } - ) - _next_request_params["api-version"] = self._config.api_version - _request = HttpRequest( - "GET", - urllib.parse.urljoin(next_link, _parsed_next_link.path), - headers=_headers, - params=_next_request_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url( - "self._config.base_url", self._config.base_url, "str", skip_quote=True - ), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - return _request - - async def extract_data(pipeline_response): - deserialized = pipeline_response.http_response.json() - list_of_elem = _deserialize( - List[_models.ManagedClusterSnapshot], - deserialized.get("value", []), - ) - if cls: - list_of_elem = cls(list_of_elem) # type: ignore - return deserialized.get("nextLink") or None, AsyncList(list_of_elem) - - async def get_next(next_link=None): - _request = prepare_request(next_link) - - _stream = False - pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access - _request, stream=_stream, **kwargs - ) - response = pipeline_response.http_response - - if response.status_code not in [200]: - map_error(status_code=response.status_code, response=response, error_map=error_map) - error = _failsafe_deserialize( - _models.ErrorResponse, - response, - ) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - - return pipeline_response - - return AsyncItemPaged(get_next, extract_data) - - -class TrustedAccessRoleBindingsOperations: - """ - .. warning:: - **DO NOT** instantiate this class directly. - - Instead, you should access the following operations through - :class:`~azure.mgmt.containerservice.aio.ContainerServiceClient`'s - :attr:`trusted_access_role_bindings` attribute. - """ - - def __init__(self, *args, **kwargs) -> None: - input_args = list(args) - self._client: AsyncPipelineClient = input_args.pop(0) if input_args else kwargs.pop("client") - self._config: ContainerServiceClientConfiguration = input_args.pop(0) if input_args else kwargs.pop("config") - self._serialize: Serializer = input_args.pop(0) if input_args else kwargs.pop("serializer") - self._deserialize: Deserializer = input_args.pop(0) if input_args else kwargs.pop("deserializer") - - @distributed_trace_async - async def get( - self, resource_group_name: str, resource_name: str, trusted_access_role_binding_name: str, **kwargs: Any - ) -> _models.TrustedAccessRoleBinding: - """Get a trusted access role binding. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param resource_name: The name of the managed cluster resource. Required. - :type resource_name: str - :param trusted_access_role_binding_name: The name of trusted access role binding. Required. - :type trusted_access_role_binding_name: str - :return: TrustedAccessRoleBinding. The TrustedAccessRoleBinding is compatible with - MutableMapping - :rtype: ~azure.mgmt.containerservice.models.TrustedAccessRoleBinding - :raises ~azure.core.exceptions.HttpResponseError: - """ - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - _headers = kwargs.pop("headers", {}) or {} - _params = kwargs.pop("params", {}) or {} - - cls: ClsType[_models.TrustedAccessRoleBinding] = kwargs.pop("cls", None) - - _request = build_trusted_access_role_bindings_get_request( - resource_group_name=resource_group_name, - resource_name=resource_name, - trusted_access_role_binding_name=trusted_access_role_binding_name, - subscription_id=self._config.subscription_id, - api_version=self._config.api_version, - headers=_headers, - params=_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - _decompress = kwargs.pop("decompress", True) - _stream = kwargs.pop("stream", False) - pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access - _request, stream=_stream, **kwargs - ) - - response = pipeline_response.http_response - - if response.status_code not in [200]: - if _stream: - try: - await response.read() # Load the body in memory and close the socket - except (StreamConsumedError, StreamClosedError): - pass - map_error(status_code=response.status_code, response=response, error_map=error_map) - error = _failsafe_deserialize( - _models.ErrorResponse, - response, - ) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - - if _stream: - deserialized = response.iter_bytes() if _decompress else response.iter_raw() - else: - deserialized = _deserialize(_models.TrustedAccessRoleBinding, response.json()) - - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - - return deserialized # type: ignore - - async def _create_or_update_initial( - self, - resource_group_name: str, - resource_name: str, - trusted_access_role_binding_name: str, - trusted_access_role_binding: Union[ - _models.TrustedAccessRoleBinding, _types.TrustedAccessRoleBinding, IO[bytes] - ], - **kwargs: Any - ) -> AsyncIterator[bytes]: - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - _params = kwargs.pop("params", {}) or {} - - content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - cls: ClsType[AsyncIterator[bytes]] = kwargs.pop("cls", None) - - content_type = content_type or "application/json" - _content = None - if isinstance(trusted_access_role_binding, (IOBase, bytes)): - _content = trusted_access_role_binding - else: - _content = json.dumps(trusted_access_role_binding, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore - - _request = build_trusted_access_role_bindings_create_or_update_request( - resource_group_name=resource_group_name, - resource_name=resource_name, - trusted_access_role_binding_name=trusted_access_role_binding_name, - subscription_id=self._config.subscription_id, - content_type=content_type, - api_version=self._config.api_version, - content=_content, - headers=_headers, - params=_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - _decompress = kwargs.pop("decompress", True) - _stream = True - pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access - _request, stream=_stream, **kwargs - ) - - response = pipeline_response.http_response - - if response.status_code not in [200, 201]: - try: - await response.read() # Load the body in memory and close the socket - except (StreamConsumedError, StreamClosedError): - pass - map_error(status_code=response.status_code, response=response, error_map=error_map) - error = _failsafe_deserialize( - _models.ErrorResponse, - response, - ) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - - response_headers = {} - if response.status_code == 201: - response_headers["Azure-AsyncOperation"] = self._deserialize( - "str", response.headers.get("Azure-AsyncOperation") - ) - response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) - - deserialized = response.iter_bytes() if _decompress else response.iter_raw() - - if cls: - return cls(pipeline_response, deserialized, response_headers) # type: ignore - - return deserialized # type: ignore - - @overload - async def begin_create_or_update( - self, - resource_group_name: str, - resource_name: str, - trusted_access_role_binding_name: str, - trusted_access_role_binding: _models.TrustedAccessRoleBinding, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> AsyncLROPoller[_models.TrustedAccessRoleBinding]: - """Create or update a trusted access role binding. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param resource_name: The name of the managed cluster resource. Required. - :type resource_name: str - :param trusted_access_role_binding_name: The name of trusted access role binding. Required. - :type trusted_access_role_binding_name: str - :param trusted_access_role_binding: A trusted access role binding. Required. - :type trusted_access_role_binding: ~azure.mgmt.containerservice.models.TrustedAccessRoleBinding - :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. - Default value is "application/json". - :paramtype content_type: str - :return: An instance of AsyncLROPoller that returns TrustedAccessRoleBinding. The - TrustedAccessRoleBinding is compatible with MutableMapping - :rtype: - ~azure.core.polling.AsyncLROPoller[~azure.mgmt.containerservice.models.TrustedAccessRoleBinding] - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @overload - async def begin_create_or_update( - self, - resource_group_name: str, - resource_name: str, - trusted_access_role_binding_name: str, - trusted_access_role_binding: _types.TrustedAccessRoleBinding, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> AsyncLROPoller[_models.TrustedAccessRoleBinding]: - """Create or update a trusted access role binding. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param resource_name: The name of the managed cluster resource. Required. - :type resource_name: str - :param trusted_access_role_binding_name: The name of trusted access role binding. Required. - :type trusted_access_role_binding_name: str - :param trusted_access_role_binding: A trusted access role binding. Required. - :type trusted_access_role_binding: ~azure.mgmt.containerservice.types.TrustedAccessRoleBinding - :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. - Default value is "application/json". - :paramtype content_type: str - :return: An instance of AsyncLROPoller that returns TrustedAccessRoleBinding. The - TrustedAccessRoleBinding is compatible with MutableMapping - :rtype: - ~azure.core.polling.AsyncLROPoller[~azure.mgmt.containerservice.models.TrustedAccessRoleBinding] - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @overload - async def begin_create_or_update( - self, - resource_group_name: str, - resource_name: str, - trusted_access_role_binding_name: str, - trusted_access_role_binding: IO[bytes], - *, - content_type: str = "application/json", - **kwargs: Any - ) -> AsyncLROPoller[_models.TrustedAccessRoleBinding]: - """Create or update a trusted access role binding. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param resource_name: The name of the managed cluster resource. Required. - :type resource_name: str - :param trusted_access_role_binding_name: The name of trusted access role binding. Required. - :type trusted_access_role_binding_name: str - :param trusted_access_role_binding: A trusted access role binding. Required. - :type trusted_access_role_binding: IO[bytes] - :keyword content_type: Body Parameter content-type. Content type parameter for binary body. - Default value is "application/json". - :paramtype content_type: str - :return: An instance of AsyncLROPoller that returns TrustedAccessRoleBinding. The - TrustedAccessRoleBinding is compatible with MutableMapping - :rtype: - ~azure.core.polling.AsyncLROPoller[~azure.mgmt.containerservice.models.TrustedAccessRoleBinding] - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @distributed_trace_async - async def begin_create_or_update( - self, - resource_group_name: str, - resource_name: str, - trusted_access_role_binding_name: str, - trusted_access_role_binding: Union[ - _models.TrustedAccessRoleBinding, _types.TrustedAccessRoleBinding, IO[bytes] - ], - **kwargs: Any - ) -> AsyncLROPoller[_models.TrustedAccessRoleBinding]: - """Create or update a trusted access role binding. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param resource_name: The name of the managed cluster resource. Required. - :type resource_name: str - :param trusted_access_role_binding_name: The name of trusted access role binding. Required. - :type trusted_access_role_binding_name: str - :param trusted_access_role_binding: A trusted access role binding. Is either a - TrustedAccessRoleBinding type or a IO[bytes] type. Required. - :type trusted_access_role_binding: ~azure.mgmt.containerservice.models.TrustedAccessRoleBinding - or ~azure.mgmt.containerservice.types.TrustedAccessRoleBinding or IO[bytes] - :return: An instance of AsyncLROPoller that returns TrustedAccessRoleBinding. The - TrustedAccessRoleBinding is compatible with MutableMapping - :rtype: - ~azure.core.polling.AsyncLROPoller[~azure.mgmt.containerservice.models.TrustedAccessRoleBinding] - :raises ~azure.core.exceptions.HttpResponseError: - """ - _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - _params = kwargs.pop("params", {}) or {} - - content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - cls: ClsType[_models.TrustedAccessRoleBinding] = kwargs.pop("cls", None) - polling: Union[bool, AsyncPollingMethod] = kwargs.pop("polling", True) - lro_delay = kwargs.pop("polling_interval", self._config.polling_interval) - cont_token: Optional[str] = kwargs.pop("continuation_token", None) - if cont_token is None: - raw_result = await self._create_or_update_initial( - resource_group_name=resource_group_name, - resource_name=resource_name, - trusted_access_role_binding_name=trusted_access_role_binding_name, - trusted_access_role_binding=trusted_access_role_binding, - content_type=content_type, - cls=lambda x, y, z: x, - headers=_headers, - params=_params, - **kwargs - ) - await raw_result.http_response.read() # type: ignore - kwargs.pop("error_map", None) - - def get_long_running_output(pipeline_response): - response = pipeline_response.http_response - deserialized = _deserialize(_models.TrustedAccessRoleBinding, response.json()) - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - return deserialized - - path_format_arguments = { - "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), - } - - if polling is True: - polling_method: AsyncPollingMethod = cast( - AsyncPollingMethod, AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) - ) - elif polling is False: - polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) - else: - polling_method = polling - if cont_token: - return AsyncLROPoller[_models.TrustedAccessRoleBinding].from_continuation_token( - polling_method=polling_method, - continuation_token=cont_token, - client=self._client, - deserialization_callback=get_long_running_output, - ) - return AsyncLROPoller[_models.TrustedAccessRoleBinding]( - self._client, raw_result, get_long_running_output, polling_method # type: ignore - ) - - async def _delete_initial( - self, resource_group_name: str, resource_name: str, trusted_access_role_binding_name: str, **kwargs: Any - ) -> AsyncIterator[bytes]: - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - _headers = kwargs.pop("headers", {}) or {} - _params = kwargs.pop("params", {}) or {} - - cls: ClsType[AsyncIterator[bytes]] = kwargs.pop("cls", None) - - _request = build_trusted_access_role_bindings_delete_request( - resource_group_name=resource_group_name, - resource_name=resource_name, - trusted_access_role_binding_name=trusted_access_role_binding_name, - subscription_id=self._config.subscription_id, - api_version=self._config.api_version, - headers=_headers, - params=_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - _decompress = kwargs.pop("decompress", True) - _stream = True - pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access - _request, stream=_stream, **kwargs - ) - - response = pipeline_response.http_response - - if response.status_code not in [202, 204]: - try: - await response.read() # Load the body in memory and close the socket - except (StreamConsumedError, StreamClosedError): - pass - map_error(status_code=response.status_code, response=response, error_map=error_map) - error = _failsafe_deserialize( - _models.ErrorResponse, - response, - ) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - - response_headers = {} - if response.status_code == 202: - response_headers["Azure-AsyncOperation"] = self._deserialize( - "str", response.headers.get("Azure-AsyncOperation") - ) - response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) - response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) - - deserialized = response.iter_bytes() if _decompress else response.iter_raw() - - if cls: - return cls(pipeline_response, deserialized, response_headers) # type: ignore - - return deserialized # type: ignore - - @distributed_trace_async - async def begin_delete( - self, resource_group_name: str, resource_name: str, trusted_access_role_binding_name: str, **kwargs: Any - ) -> AsyncLROPoller[None]: - """Delete a trusted access role binding. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param resource_name: The name of the managed cluster resource. Required. - :type resource_name: str - :param trusted_access_role_binding_name: The name of trusted access role binding. Required. - :type trusted_access_role_binding_name: str - :return: An instance of AsyncLROPoller that returns None - :rtype: ~azure.core.polling.AsyncLROPoller[None] - :raises ~azure.core.exceptions.HttpResponseError: - """ - _headers = kwargs.pop("headers", {}) or {} - _params = kwargs.pop("params", {}) or {} - - cls: ClsType[None] = kwargs.pop("cls", None) - polling: Union[bool, AsyncPollingMethod] = kwargs.pop("polling", True) - lro_delay = kwargs.pop("polling_interval", self._config.polling_interval) - cont_token: Optional[str] = kwargs.pop("continuation_token", None) - if cont_token is None: - raw_result = await self._delete_initial( - resource_group_name=resource_group_name, - resource_name=resource_name, - trusted_access_role_binding_name=trusted_access_role_binding_name, - cls=lambda x, y, z: x, - headers=_headers, - params=_params, - **kwargs - ) - await raw_result.http_response.read() # type: ignore - kwargs.pop("error_map", None) - - def get_long_running_output(pipeline_response): # pylint: disable=inconsistent-return-statements - if cls: - return cls(pipeline_response, None, {}) # type: ignore - - path_format_arguments = { - "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), - } - - if polling is True: - polling_method: AsyncPollingMethod = cast( - AsyncPollingMethod, AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) - ) - elif polling is False: - polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) - else: - polling_method = polling - if cont_token: - return AsyncLROPoller[None].from_continuation_token( - polling_method=polling_method, - continuation_token=cont_token, - client=self._client, - deserialization_callback=get_long_running_output, - ) - return AsyncLROPoller[None](self._client, raw_result, get_long_running_output, polling_method) # type: ignore - - @distributed_trace - def list( - self, resource_group_name: str, resource_name: str, **kwargs: Any - ) -> AsyncItemPaged["_models.TrustedAccessRoleBinding"]: - """List trusted access role bindings. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param resource_name: The name of the managed cluster resource. Required. - :type resource_name: str - :return: An iterator like instance of TrustedAccessRoleBinding - :rtype: - ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.containerservice.models.TrustedAccessRoleBinding] - :raises ~azure.core.exceptions.HttpResponseError: - """ - _headers = kwargs.pop("headers", {}) or {} - _params = kwargs.pop("params", {}) or {} - - cls: ClsType[List[_models.TrustedAccessRoleBinding]] = kwargs.pop("cls", None) - - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - def prepare_request(next_link=None): - if not next_link: - - _request = build_trusted_access_role_bindings_list_request( - resource_group_name=resource_group_name, - resource_name=resource_name, - subscription_id=self._config.subscription_id, - api_version=self._config.api_version, - headers=_headers, - params=_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url( - "self._config.base_url", self._config.base_url, "str", skip_quote=True - ), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - else: - # make call to next link with the client's api-version - _parsed_next_link = urllib.parse.urlparse(next_link) - _next_request_params = case_insensitive_dict( - { - key: [urllib.parse.quote(v) for v in value] - for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items() - } - ) - _next_request_params["api-version"] = self._config.api_version - _request = HttpRequest( - "GET", - urllib.parse.urljoin(next_link, _parsed_next_link.path), - headers=_headers, - params=_next_request_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url( - "self._config.base_url", self._config.base_url, "str", skip_quote=True - ), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - return _request - - async def extract_data(pipeline_response): - deserialized = pipeline_response.http_response.json() - list_of_elem = _deserialize( - List[_models.TrustedAccessRoleBinding], - deserialized.get("value", []), - ) - if cls: - list_of_elem = cls(list_of_elem) # type: ignore - return deserialized.get("nextLink") or None, AsyncList(list_of_elem) - - async def get_next(next_link=None): - _request = prepare_request(next_link) - - _stream = False - pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access - _request, stream=_stream, **kwargs - ) - response = pipeline_response.http_response - - if response.status_code not in [200]: - map_error(status_code=response.status_code, response=response, error_map=error_map) - error = _failsafe_deserialize( - _models.ErrorResponse, - response, - ) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - - return pipeline_response - - return AsyncItemPaged(get_next, extract_data) - - -class LoadBalancersOperations: - """ - .. warning:: - **DO NOT** instantiate this class directly. - - Instead, you should access the following operations through - :class:`~azure.mgmt.containerservice.aio.ContainerServiceClient`'s - :attr:`load_balancers` attribute. - """ - - def __init__(self, *args, **kwargs) -> None: - input_args = list(args) - self._client: AsyncPipelineClient = input_args.pop(0) if input_args else kwargs.pop("client") - self._config: ContainerServiceClientConfiguration = input_args.pop(0) if input_args else kwargs.pop("config") - self._serialize: Serializer = input_args.pop(0) if input_args else kwargs.pop("serializer") - self._deserialize: Deserializer = input_args.pop(0) if input_args else kwargs.pop("deserializer") - - @distributed_trace_async - @api_version_validation( - method_added_on="2026-05-02-preview", - params_added_on={ - "2026-05-02-preview": [ - "api_version", - "subscription_id", - "resource_group_name", - "resource_name", - "load_balancer_name", - "accept", - ] - }, - api_versions_list=["2026-05-02-preview"], - ) - async def get( - self, resource_group_name: str, resource_name: str, load_balancer_name: str, **kwargs: Any - ) -> _models.LoadBalancer: - """Gets the specified load balancer. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param resource_name: The name of the managed cluster resource. Required. - :type resource_name: str - :param load_balancer_name: The name of the load balancer. Required. - :type load_balancer_name: str - :return: LoadBalancer. The LoadBalancer is compatible with MutableMapping - :rtype: ~azure.mgmt.containerservice.models.LoadBalancer - :raises ~azure.core.exceptions.HttpResponseError: - """ - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - _headers = kwargs.pop("headers", {}) or {} - _params = kwargs.pop("params", {}) or {} - - cls: ClsType[_models.LoadBalancer] = kwargs.pop("cls", None) - - _request = build_load_balancers_get_request( - resource_group_name=resource_group_name, - resource_name=resource_name, - load_balancer_name=load_balancer_name, - subscription_id=self._config.subscription_id, - api_version=self._config.api_version, - headers=_headers, - params=_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - _decompress = kwargs.pop("decompress", True) - _stream = kwargs.pop("stream", False) - pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access - _request, stream=_stream, **kwargs - ) - - response = pipeline_response.http_response - - if response.status_code not in [200]: - if _stream: - try: - await response.read() # Load the body in memory and close the socket - except (StreamConsumedError, StreamClosedError): - pass - map_error(status_code=response.status_code, response=response, error_map=error_map) - error = _failsafe_deserialize( - _models.ErrorResponse, - response, - ) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - - if _stream: - deserialized = response.iter_bytes() if _decompress else response.iter_raw() - else: - deserialized = _deserialize(_models.LoadBalancer, response.json()) - - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - - return deserialized # type: ignore - - @overload - async def create_or_update( - self, - resource_group_name: str, - resource_name: str, - load_balancer_name: str, - parameters: _models.LoadBalancer, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> _models.LoadBalancer: - """Creates or updates a load balancer in the specified managed cluster. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param resource_name: The name of the managed cluster resource. Required. - :type resource_name: str - :param load_balancer_name: The name of the load balancer. Required. - :type load_balancer_name: str - :param parameters: The load balancer to create or update. Required. - :type parameters: ~azure.mgmt.containerservice.models.LoadBalancer - :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. - Default value is "application/json". - :paramtype content_type: str - :return: LoadBalancer. The LoadBalancer is compatible with MutableMapping - :rtype: ~azure.mgmt.containerservice.models.LoadBalancer - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @overload - async def create_or_update( - self, - resource_group_name: str, - resource_name: str, - load_balancer_name: str, - parameters: _types.LoadBalancer, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> _models.LoadBalancer: - """Creates or updates a load balancer in the specified managed cluster. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param resource_name: The name of the managed cluster resource. Required. - :type resource_name: str - :param load_balancer_name: The name of the load balancer. Required. - :type load_balancer_name: str - :param parameters: The load balancer to create or update. Required. - :type parameters: ~azure.mgmt.containerservice.types.LoadBalancer - :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. - Default value is "application/json". - :paramtype content_type: str - :return: LoadBalancer. The LoadBalancer is compatible with MutableMapping - :rtype: ~azure.mgmt.containerservice.models.LoadBalancer - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @overload - async def create_or_update( - self, - resource_group_name: str, - resource_name: str, - load_balancer_name: str, - parameters: IO[bytes], - *, - content_type: str = "application/json", - **kwargs: Any - ) -> _models.LoadBalancer: - """Creates or updates a load balancer in the specified managed cluster. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param resource_name: The name of the managed cluster resource. Required. - :type resource_name: str - :param load_balancer_name: The name of the load balancer. Required. - :type load_balancer_name: str - :param parameters: The load balancer to create or update. Required. - :type parameters: IO[bytes] - :keyword content_type: Body Parameter content-type. Content type parameter for binary body. - Default value is "application/json". - :paramtype content_type: str - :return: LoadBalancer. The LoadBalancer is compatible with MutableMapping - :rtype: ~azure.mgmt.containerservice.models.LoadBalancer - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @distributed_trace_async - @api_version_validation( - method_added_on="2026-05-02-preview", - params_added_on={ - "2026-05-02-preview": [ - "api_version", - "subscription_id", - "resource_group_name", - "resource_name", - "load_balancer_name", - "content_type", - "accept", - ] - }, - api_versions_list=["2026-05-02-preview"], - ) - async def create_or_update( - self, - resource_group_name: str, - resource_name: str, - load_balancer_name: str, - parameters: Union[_models.LoadBalancer, _types.LoadBalancer, IO[bytes]], - **kwargs: Any - ) -> _models.LoadBalancer: - """Creates or updates a load balancer in the specified managed cluster. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param resource_name: The name of the managed cluster resource. Required. - :type resource_name: str - :param load_balancer_name: The name of the load balancer. Required. - :type load_balancer_name: str - :param parameters: The load balancer to create or update. Is either a LoadBalancer type or a - IO[bytes] type. Required. - :type parameters: ~azure.mgmt.containerservice.models.LoadBalancer or - ~azure.mgmt.containerservice.types.LoadBalancer or IO[bytes] - :return: LoadBalancer. The LoadBalancer is compatible with MutableMapping - :rtype: ~azure.mgmt.containerservice.models.LoadBalancer - :raises ~azure.core.exceptions.HttpResponseError: - """ - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - _params = kwargs.pop("params", {}) or {} - - content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - cls: ClsType[_models.LoadBalancer] = kwargs.pop("cls", None) - - content_type = content_type or "application/json" - _content = None - if isinstance(parameters, (IOBase, bytes)): - _content = parameters - else: - _content = json.dumps(parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore - - _request = build_load_balancers_create_or_update_request( - resource_group_name=resource_group_name, - resource_name=resource_name, - load_balancer_name=load_balancer_name, - subscription_id=self._config.subscription_id, - content_type=content_type, - api_version=self._config.api_version, - content=_content, - headers=_headers, - params=_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - _decompress = kwargs.pop("decompress", True) - _stream = kwargs.pop("stream", False) - pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access - _request, stream=_stream, **kwargs - ) - - response = pipeline_response.http_response - - if response.status_code not in [200, 201]: - if _stream: - try: - await response.read() # Load the body in memory and close the socket - except (StreamConsumedError, StreamClosedError): - pass - map_error(status_code=response.status_code, response=response, error_map=error_map) - error = _failsafe_deserialize( - _models.ErrorResponse, - response, - ) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - - if _stream: - deserialized = response.iter_bytes() if _decompress else response.iter_raw() - else: - deserialized = _deserialize(_models.LoadBalancer, response.json()) - - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - - return deserialized # type: ignore - - @api_version_validation( - method_added_on="2026-05-02-preview", - params_added_on={ - "2026-05-02-preview": [ - "api_version", - "subscription_id", - "resource_group_name", - "resource_name", - "load_balancer_name", - ] - }, - api_versions_list=["2026-05-02-preview"], - ) - async def _delete_initial( - self, resource_group_name: str, resource_name: str, load_balancer_name: str, **kwargs: Any - ) -> AsyncIterator[bytes]: - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - _headers = kwargs.pop("headers", {}) or {} - _params = kwargs.pop("params", {}) or {} - - cls: ClsType[AsyncIterator[bytes]] = kwargs.pop("cls", None) - - _request = build_load_balancers_delete_request( - resource_group_name=resource_group_name, - resource_name=resource_name, - load_balancer_name=load_balancer_name, - subscription_id=self._config.subscription_id, - api_version=self._config.api_version, - headers=_headers, - params=_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - _decompress = kwargs.pop("decompress", True) - _stream = True - pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access - _request, stream=_stream, **kwargs - ) - - response = pipeline_response.http_response - - if response.status_code not in [202, 204]: - try: - await response.read() # Load the body in memory and close the socket - except (StreamConsumedError, StreamClosedError): - pass - map_error(status_code=response.status_code, response=response, error_map=error_map) - error = _failsafe_deserialize( - _models.ErrorResponse, - response, - ) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - - response_headers = {} - if response.status_code == 202: - response_headers["Azure-AsyncOperation"] = self._deserialize( - "str", response.headers.get("Azure-AsyncOperation") - ) - response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) - response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) - - deserialized = response.iter_bytes() if _decompress else response.iter_raw() - - if cls: - return cls(pipeline_response, deserialized, response_headers) # type: ignore - - return deserialized # type: ignore - - @distributed_trace_async - @api_version_validation( - method_added_on="2026-05-02-preview", - params_added_on={ - "2026-05-02-preview": [ - "api_version", - "subscription_id", - "resource_group_name", - "resource_name", - "load_balancer_name", - ] - }, - api_versions_list=["2026-05-02-preview"], - ) - async def begin_delete( - self, resource_group_name: str, resource_name: str, load_balancer_name: str, **kwargs: Any - ) -> AsyncLROPoller[None]: - """Deletes a load balancer in the specified managed cluster. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param resource_name: The name of the managed cluster resource. Required. - :type resource_name: str - :param load_balancer_name: The name of the load balancer. Required. - :type load_balancer_name: str - :return: An instance of AsyncLROPoller that returns None - :rtype: ~azure.core.polling.AsyncLROPoller[None] - :raises ~azure.core.exceptions.HttpResponseError: - """ - _headers = kwargs.pop("headers", {}) or {} - _params = kwargs.pop("params", {}) or {} - - cls: ClsType[None] = kwargs.pop("cls", None) - polling: Union[bool, AsyncPollingMethod] = kwargs.pop("polling", True) - lro_delay = kwargs.pop("polling_interval", self._config.polling_interval) - cont_token: Optional[str] = kwargs.pop("continuation_token", None) - if cont_token is None: - raw_result = await self._delete_initial( - resource_group_name=resource_group_name, - resource_name=resource_name, - load_balancer_name=load_balancer_name, - cls=lambda x, y, z: x, - headers=_headers, - params=_params, - **kwargs - ) - await raw_result.http_response.read() # type: ignore - kwargs.pop("error_map", None) - - def get_long_running_output(pipeline_response): # pylint: disable=inconsistent-return-statements - if cls: - return cls(pipeline_response, None, {}) # type: ignore - - path_format_arguments = { - "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), - } - - if polling is True: - polling_method: AsyncPollingMethod = cast( - AsyncPollingMethod, AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) - ) - elif polling is False: - polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) - else: - polling_method = polling - if cont_token: - return AsyncLROPoller[None].from_continuation_token( - polling_method=polling_method, - continuation_token=cont_token, - client=self._client, - deserialization_callback=get_long_running_output, - ) - return AsyncLROPoller[None](self._client, raw_result, get_long_running_output, polling_method) # type: ignore - - @distributed_trace - @api_version_validation( - method_added_on="2026-05-02-preview", - params_added_on={ - "2026-05-02-preview": ["api_version", "subscription_id", "resource_group_name", "resource_name", "accept"] - }, - api_versions_list=["2026-05-02-preview"], - ) - def list_by_managed_cluster( - self, resource_group_name: str, resource_name: str, **kwargs: Any - ) -> AsyncItemPaged["_models.LoadBalancer"]: - """Gets a list of load balancers in the specified managed cluster. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param resource_name: The name of the managed cluster resource. Required. - :type resource_name: str - :return: An iterator like instance of LoadBalancer - :rtype: - ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.containerservice.models.LoadBalancer] - :raises ~azure.core.exceptions.HttpResponseError: - """ - _headers = kwargs.pop("headers", {}) or {} - _params = kwargs.pop("params", {}) or {} - - cls: ClsType[List[_models.LoadBalancer]] = kwargs.pop("cls", None) - - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - def prepare_request(next_link=None): - if not next_link: - - _request = build_load_balancers_list_by_managed_cluster_request( - resource_group_name=resource_group_name, - resource_name=resource_name, - subscription_id=self._config.subscription_id, - api_version=self._config.api_version, - headers=_headers, - params=_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url( - "self._config.base_url", self._config.base_url, "str", skip_quote=True - ), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - else: - # make call to next link with the client's api-version - _parsed_next_link = urllib.parse.urlparse(next_link) - _next_request_params = case_insensitive_dict( - { - key: [urllib.parse.quote(v) for v in value] - for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items() - } - ) - _next_request_params["api-version"] = self._config.api_version - _request = HttpRequest( - "GET", - urllib.parse.urljoin(next_link, _parsed_next_link.path), - headers=_headers, - params=_next_request_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url( - "self._config.base_url", self._config.base_url, "str", skip_quote=True - ), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - return _request - - async def extract_data(pipeline_response): - deserialized = pipeline_response.http_response.json() - list_of_elem = _deserialize( - List[_models.LoadBalancer], - deserialized.get("value", []), - ) - if cls: - list_of_elem = cls(list_of_elem) # type: ignore - return deserialized.get("nextLink") or None, AsyncList(list_of_elem) - - async def get_next(next_link=None): - _request = prepare_request(next_link) - - _stream = False - pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access - _request, stream=_stream, **kwargs - ) - response = pipeline_response.http_response - - if response.status_code not in [200]: - map_error(status_code=response.status_code, response=response, error_map=error_map) - error = _failsafe_deserialize( - _models.ErrorResponse, - response, - ) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - - return pipeline_response - - return AsyncItemPaged(get_next, extract_data) - - -class IdentityBindingsOperations: - """ - .. warning:: - **DO NOT** instantiate this class directly. - - Instead, you should access the following operations through - :class:`~azure.mgmt.containerservice.aio.ContainerServiceClient`'s - :attr:`identity_bindings` attribute. - """ - - def __init__(self, *args, **kwargs) -> None: - input_args = list(args) - self._client: AsyncPipelineClient = input_args.pop(0) if input_args else kwargs.pop("client") - self._config: ContainerServiceClientConfiguration = input_args.pop(0) if input_args else kwargs.pop("config") - self._serialize: Serializer = input_args.pop(0) if input_args else kwargs.pop("serializer") - self._deserialize: Deserializer = input_args.pop(0) if input_args else kwargs.pop("deserializer") - - @distributed_trace_async - @api_version_validation( - method_added_on="2026-04-01", - params_added_on={ - "2026-04-01": [ - "api_version", - "subscription_id", - "resource_group_name", - "resource_name", - "identity_binding_name", - "accept", - ] - }, - api_versions_list=["2026-04-01", "2026-05-01", "2026-05-02-preview"], - ) - async def get( - self, resource_group_name: str, resource_name: str, identity_binding_name: str, **kwargs: Any - ) -> _models.IdentityBinding: - """Gets the specified Identity Binding. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param resource_name: The name of the managed cluster resource. Required. - :type resource_name: str - :param identity_binding_name: The name of the identity binding. Required. - :type identity_binding_name: str - :return: IdentityBinding. The IdentityBinding is compatible with MutableMapping - :rtype: ~azure.mgmt.containerservice.models.IdentityBinding - :raises ~azure.core.exceptions.HttpResponseError: - """ - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - _headers = kwargs.pop("headers", {}) or {} - _params = kwargs.pop("params", {}) or {} - - cls: ClsType[_models.IdentityBinding] = kwargs.pop("cls", None) - - _request = build_identity_bindings_get_request( - resource_group_name=resource_group_name, - resource_name=resource_name, - identity_binding_name=identity_binding_name, - subscription_id=self._config.subscription_id, - api_version=self._config.api_version, - headers=_headers, - params=_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - _decompress = kwargs.pop("decompress", True) - _stream = kwargs.pop("stream", False) - pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access - _request, stream=_stream, **kwargs - ) - - response = pipeline_response.http_response - - if response.status_code not in [200]: - if _stream: - try: - await response.read() # Load the body in memory and close the socket - except (StreamConsumedError, StreamClosedError): - pass - map_error(status_code=response.status_code, response=response, error_map=error_map) - error = _failsafe_deserialize( - _models.ErrorResponse, - response, - ) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - - if _stream: - deserialized = response.iter_bytes() if _decompress else response.iter_raw() - else: - deserialized = _deserialize(_models.IdentityBinding, response.json()) - - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - - return deserialized # type: ignore - - @api_version_validation( - method_added_on="2026-04-01", - params_added_on={ - "2026-04-01": [ - "api_version", - "subscription_id", - "resource_group_name", - "resource_name", - "identity_binding_name", - "content_type", - "accept", - ] - }, - api_versions_list=["2026-04-01", "2026-05-01", "2026-05-02-preview"], - ) - async def _create_or_update_initial( - self, - resource_group_name: str, - resource_name: str, - identity_binding_name: str, - parameters: Union[_models.IdentityBinding, _types.IdentityBinding, IO[bytes]], - **kwargs: Any - ) -> AsyncIterator[bytes]: - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - _params = kwargs.pop("params", {}) or {} - - content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - cls: ClsType[AsyncIterator[bytes]] = kwargs.pop("cls", None) - - content_type = content_type or "application/json" - _content = None - if isinstance(parameters, (IOBase, bytes)): - _content = parameters - else: - _content = json.dumps(parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore - - _request = build_identity_bindings_create_or_update_request( - resource_group_name=resource_group_name, - resource_name=resource_name, - identity_binding_name=identity_binding_name, - subscription_id=self._config.subscription_id, - content_type=content_type, - api_version=self._config.api_version, - content=_content, - headers=_headers, - params=_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - _decompress = kwargs.pop("decompress", True) - _stream = True - pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access - _request, stream=_stream, **kwargs - ) - - response = pipeline_response.http_response - - if response.status_code not in [200, 201]: - try: - await response.read() # Load the body in memory and close the socket - except (StreamConsumedError, StreamClosedError): - pass - map_error(status_code=response.status_code, response=response, error_map=error_map) - error = _failsafe_deserialize( - _models.ErrorResponse, - response, - ) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - - response_headers = {} - if response.status_code == 201: - response_headers["Azure-AsyncOperation"] = self._deserialize( - "str", response.headers.get("Azure-AsyncOperation") - ) - response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) - response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) - - deserialized = response.iter_bytes() if _decompress else response.iter_raw() - - if cls: - return cls(pipeline_response, deserialized, response_headers) # type: ignore - - return deserialized # type: ignore - - @overload - async def begin_create_or_update( - self, - resource_group_name: str, - resource_name: str, - identity_binding_name: str, - parameters: _models.IdentityBinding, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> AsyncLROPoller[_models.IdentityBinding]: - """Creates or updates an identity binding in the specified managed cluster. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param resource_name: The name of the managed cluster resource. Required. - :type resource_name: str - :param identity_binding_name: The name of the identity binding. Required. - :type identity_binding_name: str - :param parameters: The identity binding to create or update. Required. - :type parameters: ~azure.mgmt.containerservice.models.IdentityBinding - :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. - Default value is "application/json". - :paramtype content_type: str - :return: An instance of AsyncLROPoller that returns IdentityBinding. The IdentityBinding is - compatible with MutableMapping - :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.containerservice.models.IdentityBinding] - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @overload - async def begin_create_or_update( - self, - resource_group_name: str, - resource_name: str, - identity_binding_name: str, - parameters: _types.IdentityBinding, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> AsyncLROPoller[_models.IdentityBinding]: - """Creates or updates an identity binding in the specified managed cluster. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param resource_name: The name of the managed cluster resource. Required. - :type resource_name: str - :param identity_binding_name: The name of the identity binding. Required. - :type identity_binding_name: str - :param parameters: The identity binding to create or update. Required. - :type parameters: ~azure.mgmt.containerservice.types.IdentityBinding - :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. - Default value is "application/json". - :paramtype content_type: str - :return: An instance of AsyncLROPoller that returns IdentityBinding. The IdentityBinding is - compatible with MutableMapping - :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.containerservice.models.IdentityBinding] - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @overload - async def begin_create_or_update( - self, - resource_group_name: str, - resource_name: str, - identity_binding_name: str, - parameters: IO[bytes], - *, - content_type: str = "application/json", - **kwargs: Any - ) -> AsyncLROPoller[_models.IdentityBinding]: - """Creates or updates an identity binding in the specified managed cluster. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param resource_name: The name of the managed cluster resource. Required. - :type resource_name: str - :param identity_binding_name: The name of the identity binding. Required. - :type identity_binding_name: str - :param parameters: The identity binding to create or update. Required. - :type parameters: IO[bytes] - :keyword content_type: Body Parameter content-type. Content type parameter for binary body. - Default value is "application/json". - :paramtype content_type: str - :return: An instance of AsyncLROPoller that returns IdentityBinding. The IdentityBinding is - compatible with MutableMapping - :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.containerservice.models.IdentityBinding] - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @distributed_trace_async - @api_version_validation( - method_added_on="2026-04-01", - params_added_on={ - "2026-04-01": [ - "api_version", - "subscription_id", - "resource_group_name", - "resource_name", - "identity_binding_name", - "content_type", - "accept", - ] - }, - api_versions_list=["2026-04-01", "2026-05-01", "2026-05-02-preview"], - ) - async def begin_create_or_update( - self, - resource_group_name: str, - resource_name: str, - identity_binding_name: str, - parameters: Union[_models.IdentityBinding, _types.IdentityBinding, IO[bytes]], - **kwargs: Any - ) -> AsyncLROPoller[_models.IdentityBinding]: - """Creates or updates an identity binding in the specified managed cluster. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param resource_name: The name of the managed cluster resource. Required. - :type resource_name: str - :param identity_binding_name: The name of the identity binding. Required. - :type identity_binding_name: str - :param parameters: The identity binding to create or update. Is either a IdentityBinding type - or a IO[bytes] type. Required. - :type parameters: ~azure.mgmt.containerservice.models.IdentityBinding or - ~azure.mgmt.containerservice.types.IdentityBinding or IO[bytes] - :return: An instance of AsyncLROPoller that returns IdentityBinding. The IdentityBinding is - compatible with MutableMapping - :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.containerservice.models.IdentityBinding] - :raises ~azure.core.exceptions.HttpResponseError: - """ - _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - _params = kwargs.pop("params", {}) or {} - - content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - cls: ClsType[_models.IdentityBinding] = kwargs.pop("cls", None) - polling: Union[bool, AsyncPollingMethod] = kwargs.pop("polling", True) - lro_delay = kwargs.pop("polling_interval", self._config.polling_interval) - cont_token: Optional[str] = kwargs.pop("continuation_token", None) - if cont_token is None: - raw_result = await self._create_or_update_initial( - resource_group_name=resource_group_name, - resource_name=resource_name, - identity_binding_name=identity_binding_name, - parameters=parameters, - content_type=content_type, - cls=lambda x, y, z: x, - headers=_headers, - params=_params, - **kwargs - ) - await raw_result.http_response.read() # type: ignore - kwargs.pop("error_map", None) - - def get_long_running_output(pipeline_response): - response = pipeline_response.http_response - deserialized = _deserialize(_models.IdentityBinding, response.json()) - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - return deserialized - - path_format_arguments = { - "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), - } - - if polling is True: - polling_method: AsyncPollingMethod = cast( - AsyncPollingMethod, AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) - ) - elif polling is False: - polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) - else: - polling_method = polling - if cont_token: - return AsyncLROPoller[_models.IdentityBinding].from_continuation_token( - polling_method=polling_method, - continuation_token=cont_token, - client=self._client, - deserialization_callback=get_long_running_output, - ) - return AsyncLROPoller[_models.IdentityBinding]( - self._client, raw_result, get_long_running_output, polling_method # type: ignore - ) - - @api_version_validation( - method_added_on="2026-04-01", - params_added_on={ - "2026-04-01": [ - "api_version", - "subscription_id", - "resource_group_name", - "resource_name", - "identity_binding_name", - ] - }, - api_versions_list=["2026-04-01", "2026-05-01", "2026-05-02-preview"], - ) - async def _delete_initial( - self, resource_group_name: str, resource_name: str, identity_binding_name: str, **kwargs: Any - ) -> AsyncIterator[bytes]: - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - _headers = kwargs.pop("headers", {}) or {} - _params = kwargs.pop("params", {}) or {} - - cls: ClsType[AsyncIterator[bytes]] = kwargs.pop("cls", None) - - _request = build_identity_bindings_delete_request( - resource_group_name=resource_group_name, - resource_name=resource_name, - identity_binding_name=identity_binding_name, - subscription_id=self._config.subscription_id, - api_version=self._config.api_version, - headers=_headers, - params=_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - _decompress = kwargs.pop("decompress", True) - _stream = True - pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access - _request, stream=_stream, **kwargs - ) - - response = pipeline_response.http_response - - if response.status_code not in [202, 204]: - try: - await response.read() # Load the body in memory and close the socket - except (StreamConsumedError, StreamClosedError): - pass - map_error(status_code=response.status_code, response=response, error_map=error_map) - error = _failsafe_deserialize( - _models.ErrorResponse, - response, - ) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - - response_headers = {} - if response.status_code == 202: - response_headers["Azure-AsyncOperation"] = self._deserialize( - "str", response.headers.get("Azure-AsyncOperation") - ) - response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) - response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) - - deserialized = response.iter_bytes() if _decompress else response.iter_raw() - - if cls: - return cls(pipeline_response, deserialized, response_headers) # type: ignore - - return deserialized # type: ignore - - @distributed_trace_async - @api_version_validation( - method_added_on="2026-04-01", - params_added_on={ - "2026-04-01": [ - "api_version", - "subscription_id", - "resource_group_name", - "resource_name", - "identity_binding_name", - ] - }, - api_versions_list=["2026-04-01", "2026-05-01", "2026-05-02-preview"], - ) - async def begin_delete( - self, resource_group_name: str, resource_name: str, identity_binding_name: str, **kwargs: Any - ) -> AsyncLROPoller[None]: - """Deletes an identity binding in the specified managed cluster. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param resource_name: The name of the managed cluster resource. Required. - :type resource_name: str - :param identity_binding_name: The name of the identity binding. Required. - :type identity_binding_name: str - :return: An instance of AsyncLROPoller that returns None - :rtype: ~azure.core.polling.AsyncLROPoller[None] - :raises ~azure.core.exceptions.HttpResponseError: - """ - _headers = kwargs.pop("headers", {}) or {} - _params = kwargs.pop("params", {}) or {} - - cls: ClsType[None] = kwargs.pop("cls", None) - polling: Union[bool, AsyncPollingMethod] = kwargs.pop("polling", True) - lro_delay = kwargs.pop("polling_interval", self._config.polling_interval) - cont_token: Optional[str] = kwargs.pop("continuation_token", None) - if cont_token is None: - raw_result = await self._delete_initial( - resource_group_name=resource_group_name, - resource_name=resource_name, - identity_binding_name=identity_binding_name, - cls=lambda x, y, z: x, - headers=_headers, - params=_params, - **kwargs - ) - await raw_result.http_response.read() # type: ignore - kwargs.pop("error_map", None) - - def get_long_running_output(pipeline_response): # pylint: disable=inconsistent-return-statements - if cls: - return cls(pipeline_response, None, {}) # type: ignore - - path_format_arguments = { - "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), - } - - if polling is True: - polling_method: AsyncPollingMethod = cast( - AsyncPollingMethod, AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) - ) - elif polling is False: - polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) - else: - polling_method = polling - if cont_token: - return AsyncLROPoller[None].from_continuation_token( - polling_method=polling_method, - continuation_token=cont_token, - client=self._client, - deserialization_callback=get_long_running_output, - ) - return AsyncLROPoller[None](self._client, raw_result, get_long_running_output, polling_method) # type: ignore - - @distributed_trace - @api_version_validation( - method_added_on="2026-04-01", - params_added_on={ - "2026-04-01": ["api_version", "subscription_id", "resource_group_name", "resource_name", "accept"] - }, - api_versions_list=["2026-04-01", "2026-05-01", "2026-05-02-preview"], - ) - def list_by_managed_cluster( - self, resource_group_name: str, resource_name: str, **kwargs: Any - ) -> AsyncItemPaged["_models.IdentityBinding"]: - """Gets a list of identity bindings in the specified managed cluster. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param resource_name: The name of the managed cluster resource. Required. - :type resource_name: str - :return: An iterator like instance of IdentityBinding - :rtype: - ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.containerservice.models.IdentityBinding] - :raises ~azure.core.exceptions.HttpResponseError: - """ - _headers = kwargs.pop("headers", {}) or {} - _params = kwargs.pop("params", {}) or {} - - cls: ClsType[List[_models.IdentityBinding]] = kwargs.pop("cls", None) - - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - def prepare_request(next_link=None): - if not next_link: - - _request = build_identity_bindings_list_by_managed_cluster_request( - resource_group_name=resource_group_name, - resource_name=resource_name, - subscription_id=self._config.subscription_id, - api_version=self._config.api_version, - headers=_headers, - params=_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url( - "self._config.base_url", self._config.base_url, "str", skip_quote=True - ), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - else: - # make call to next link with the client's api-version - _parsed_next_link = urllib.parse.urlparse(next_link) - _next_request_params = case_insensitive_dict( - { - key: [urllib.parse.quote(v) for v in value] - for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items() - } - ) - _next_request_params["api-version"] = self._config.api_version - _request = HttpRequest( - "GET", - urllib.parse.urljoin(next_link, _parsed_next_link.path), - headers=_headers, - params=_next_request_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url( - "self._config.base_url", self._config.base_url, "str", skip_quote=True - ), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - return _request - - async def extract_data(pipeline_response): - deserialized = pipeline_response.http_response.json() - list_of_elem = _deserialize( - List[_models.IdentityBinding], - deserialized.get("value", []), - ) - if cls: - list_of_elem = cls(list_of_elem) # type: ignore - return deserialized.get("nextLink") or None, AsyncList(list_of_elem) - - async def get_next(next_link=None): - _request = prepare_request(next_link) - - _stream = False - pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access - _request, stream=_stream, **kwargs - ) - response = pipeline_response.http_response - - if response.status_code not in [200]: - map_error(status_code=response.status_code, response=response, error_map=error_map) - error = _failsafe_deserialize( - _models.ErrorResponse, - response, - ) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - - return pipeline_response - - return AsyncItemPaged(get_next, extract_data) - - -class JWTAuthenticatorsOperations: - """ - .. warning:: - **DO NOT** instantiate this class directly. - - Instead, you should access the following operations through - :class:`~azure.mgmt.containerservice.aio.ContainerServiceClient`'s - :attr:`jwt_authenticators` attribute. - """ - - def __init__(self, *args, **kwargs) -> None: - input_args = list(args) - self._client: AsyncPipelineClient = input_args.pop(0) if input_args else kwargs.pop("client") - self._config: ContainerServiceClientConfiguration = input_args.pop(0) if input_args else kwargs.pop("config") - self._serialize: Serializer = input_args.pop(0) if input_args else kwargs.pop("serializer") - self._deserialize: Deserializer = input_args.pop(0) if input_args else kwargs.pop("deserializer") - - @distributed_trace_async - @api_version_validation( - method_added_on="2026-05-02-preview", - params_added_on={ - "2026-05-02-preview": [ - "api_version", - "subscription_id", - "resource_group_name", - "resource_name", - "jwt_authenticator_name", - "accept", - ] - }, - api_versions_list=["2026-05-02-preview"], - ) - async def get( - self, resource_group_name: str, resource_name: str, jwt_authenticator_name: str, **kwargs: Any - ) -> _models.JWTAuthenticator: - """Gets the specified JWT authenticator of a managed cluster. + ) -> _models.Snapshot: + """Creates or updates a snapshot. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param resource_name: The name of the managed cluster resource. Required. :type resource_name: str - :param jwt_authenticator_name: The name of the JWT authenticator. Required. - :type jwt_authenticator_name: str - :return: JWTAuthenticator. The JWTAuthenticator is compatible with MutableMapping - :rtype: ~azure.mgmt.containerservice.models.JWTAuthenticator + :param parameters: The snapshot to create or update. Required. + :type parameters: IO[bytes] + :keyword content_type: Body Parameter content-type. Content type parameter for binary body. + Default value is "application/json". + :paramtype content_type: str + :return: Snapshot. The Snapshot is compatible with MutableMapping + :rtype: ~azure.mgmt.containerservice.models.Snapshot :raises ~azure.core.exceptions.HttpResponseError: """ - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - _headers = kwargs.pop("headers", {}) or {} - _params = kwargs.pop("params", {}) or {} - - cls: ClsType[_models.JWTAuthenticator] = kwargs.pop("cls", None) - - _request = build_jwt_authenticators_get_request( - resource_group_name=resource_group_name, - resource_name=resource_name, - jwt_authenticator_name=jwt_authenticator_name, - subscription_id=self._config.subscription_id, - api_version=self._config.api_version, - headers=_headers, - params=_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - _decompress = kwargs.pop("decompress", True) - _stream = kwargs.pop("stream", False) - pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access - _request, stream=_stream, **kwargs - ) - - response = pipeline_response.http_response - - if response.status_code not in [200]: - if _stream: - try: - await response.read() # Load the body in memory and close the socket - except (StreamConsumedError, StreamClosedError): - pass - map_error(status_code=response.status_code, response=response, error_map=error_map) - error = _failsafe_deserialize( - _models.ErrorResponse, - response, - ) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - - if _stream: - deserialized = response.iter_bytes() if _decompress else response.iter_raw() - else: - deserialized = _deserialize(_models.JWTAuthenticator, response.json()) - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - - return deserialized # type: ignore - - @api_version_validation( - method_added_on="2026-05-02-preview", - params_added_on={ - "2026-05-02-preview": [ - "api_version", - "subscription_id", - "resource_group_name", - "resource_name", - "jwt_authenticator_name", - "content_type", - "accept", - ] - }, - api_versions_list=["2026-05-02-preview"], - ) - async def _create_or_update_initial( + @distributed_trace_async + async def create_or_update( self, resource_group_name: str, resource_name: str, - jwt_authenticator_name: str, - parameters: Union[_models.JWTAuthenticator, _types.JWTAuthenticator, IO[bytes]], + parameters: Union[_models.Snapshot, _types.Snapshot, IO[bytes]], **kwargs: Any - ) -> AsyncIterator[bytes]: + ) -> _models.Snapshot: + """Creates or updates a snapshot. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param resource_name: The name of the managed cluster resource. Required. + :type resource_name: str + :param parameters: The snapshot to create or update. Is either a Snapshot type or a IO[bytes] + type. Required. + :type parameters: ~azure.mgmt.containerservice.models.Snapshot or + ~azure.mgmt.containerservice.types.Snapshot or IO[bytes] + :return: Snapshot. The Snapshot is compatible with MutableMapping + :rtype: ~azure.mgmt.containerservice.models.Snapshot + :raises ~azure.core.exceptions.HttpResponseError: + """ error_map: MutableMapping = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, @@ -12407,7 +6955,7 @@ async def _create_or_update_initial( _params = kwargs.pop("params", {}) or {} content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - cls: ClsType[AsyncIterator[bytes]] = kwargs.pop("cls", None) + cls: ClsType[_models.Snapshot] = kwargs.pop("cls", None) content_type = content_type or "application/json" _content = None @@ -12416,10 +6964,9 @@ async def _create_or_update_initial( else: _content = json.dumps(parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore - _request = build_jwt_authenticators_create_or_update_request( + _request = build_snapshots_create_or_update_request( resource_group_name=resource_group_name, resource_name=resource_name, - jwt_authenticator_name=jwt_authenticator_name, subscription_id=self._config.subscription_id, content_type=content_type, api_version=self._config.api_version, @@ -12433,7 +6980,7 @@ async def _create_or_update_initial( _request.url = self._client.format_url(_request.url, **path_format_arguments) _decompress = kwargs.pop("decompress", True) - _stream = True + _stream = kwargs.pop("stream", False) pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access _request, stream=_stream, **kwargs ) @@ -12441,10 +6988,11 @@ async def _create_or_update_initial( response = pipeline_response.http_response if response.status_code not in [200, 201]: - try: - await response.read() # Load the body in memory and close the socket - except (StreamConsumedError, StreamClosedError): - pass + if _stream: + try: + await response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass map_error(status_code=response.status_code, response=response, error_map=error_map) error = _failsafe_deserialize( _models.ErrorResponse, @@ -12452,230 +7000,200 @@ async def _create_or_update_initial( ) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - response_headers = {} - if response.status_code == 201: - response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) - response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) - - deserialized = response.iter_bytes() if _decompress else response.iter_raw() + if _stream: + deserialized = response.iter_bytes() if _decompress else response.iter_raw() + else: + deserialized = _deserialize(_models.Snapshot, response.json()) if cls: - return cls(pipeline_response, deserialized, response_headers) # type: ignore + return cls(pipeline_response, deserialized, {}) # type: ignore return deserialized # type: ignore @overload - async def begin_create_or_update( + async def update_tags( self, resource_group_name: str, resource_name: str, - jwt_authenticator_name: str, - parameters: _models.JWTAuthenticator, + parameters: _models.TagsObject, *, content_type: str = "application/json", **kwargs: Any - ) -> AsyncLROPoller[_models.JWTAuthenticator]: - """Creates or updates JWT authenticator in the managed cluster and updates the managed cluster to - apply the settings. + ) -> _models.Snapshot: + """Updates tags on a snapshot. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param resource_name: The name of the managed cluster resource. Required. :type resource_name: str - :param jwt_authenticator_name: The name of the JWT authenticator. Required. - :type jwt_authenticator_name: str - :param parameters: The JWT authenticator to create or update. Required. - :type parameters: ~azure.mgmt.containerservice.models.JWTAuthenticator + :param parameters: Parameters supplied to the Update snapshot Tags operation. Required. + :type parameters: ~azure.mgmt.containerservice.models.TagsObject :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str - :return: An instance of AsyncLROPoller that returns JWTAuthenticator. The JWTAuthenticator is - compatible with MutableMapping - :rtype: - ~azure.core.polling.AsyncLROPoller[~azure.mgmt.containerservice.models.JWTAuthenticator] + :return: Snapshot. The Snapshot is compatible with MutableMapping + :rtype: ~azure.mgmt.containerservice.models.Snapshot :raises ~azure.core.exceptions.HttpResponseError: """ @overload - async def begin_create_or_update( + async def update_tags( self, resource_group_name: str, resource_name: str, - jwt_authenticator_name: str, - parameters: _types.JWTAuthenticator, + parameters: _types.TagsObject, *, content_type: str = "application/json", **kwargs: Any - ) -> AsyncLROPoller[_models.JWTAuthenticator]: - """Creates or updates JWT authenticator in the managed cluster and updates the managed cluster to - apply the settings. + ) -> _models.Snapshot: + """Updates tags on a snapshot. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param resource_name: The name of the managed cluster resource. Required. :type resource_name: str - :param jwt_authenticator_name: The name of the JWT authenticator. Required. - :type jwt_authenticator_name: str - :param parameters: The JWT authenticator to create or update. Required. - :type parameters: ~azure.mgmt.containerservice.types.JWTAuthenticator + :param parameters: Parameters supplied to the Update snapshot Tags operation. Required. + :type parameters: ~azure.mgmt.containerservice.types.TagsObject :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str - :return: An instance of AsyncLROPoller that returns JWTAuthenticator. The JWTAuthenticator is - compatible with MutableMapping - :rtype: - ~azure.core.polling.AsyncLROPoller[~azure.mgmt.containerservice.models.JWTAuthenticator] + :return: Snapshot. The Snapshot is compatible with MutableMapping + :rtype: ~azure.mgmt.containerservice.models.Snapshot :raises ~azure.core.exceptions.HttpResponseError: """ @overload - async def begin_create_or_update( + async def update_tags( self, resource_group_name: str, resource_name: str, - jwt_authenticator_name: str, parameters: IO[bytes], *, content_type: str = "application/json", **kwargs: Any - ) -> AsyncLROPoller[_models.JWTAuthenticator]: - """Creates or updates JWT authenticator in the managed cluster and updates the managed cluster to - apply the settings. + ) -> _models.Snapshot: + """Updates tags on a snapshot. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param resource_name: The name of the managed cluster resource. Required. :type resource_name: str - :param jwt_authenticator_name: The name of the JWT authenticator. Required. - :type jwt_authenticator_name: str - :param parameters: The JWT authenticator to create or update. Required. + :param parameters: Parameters supplied to the Update snapshot Tags operation. Required. :type parameters: IO[bytes] :keyword content_type: Body Parameter content-type. Content type parameter for binary body. Default value is "application/json". :paramtype content_type: str - :return: An instance of AsyncLROPoller that returns JWTAuthenticator. The JWTAuthenticator is - compatible with MutableMapping - :rtype: - ~azure.core.polling.AsyncLROPoller[~azure.mgmt.containerservice.models.JWTAuthenticator] + :return: Snapshot. The Snapshot is compatible with MutableMapping + :rtype: ~azure.mgmt.containerservice.models.Snapshot :raises ~azure.core.exceptions.HttpResponseError: """ @distributed_trace_async - @api_version_validation( - method_added_on="2026-05-02-preview", - params_added_on={ - "2026-05-02-preview": [ - "api_version", - "subscription_id", - "resource_group_name", - "resource_name", - "jwt_authenticator_name", - "content_type", - "accept", - ] - }, - api_versions_list=["2026-05-02-preview"], - ) - async def begin_create_or_update( + async def update_tags( self, resource_group_name: str, resource_name: str, - jwt_authenticator_name: str, - parameters: Union[_models.JWTAuthenticator, _types.JWTAuthenticator, IO[bytes]], + parameters: Union[_models.TagsObject, _types.TagsObject, IO[bytes]], **kwargs: Any - ) -> AsyncLROPoller[_models.JWTAuthenticator]: - """Creates or updates JWT authenticator in the managed cluster and updates the managed cluster to - apply the settings. + ) -> _models.Snapshot: + """Updates tags on a snapshot. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param resource_name: The name of the managed cluster resource. Required. :type resource_name: str - :param jwt_authenticator_name: The name of the JWT authenticator. Required. - :type jwt_authenticator_name: str - :param parameters: The JWT authenticator to create or update. Is either a JWTAuthenticator type - or a IO[bytes] type. Required. - :type parameters: ~azure.mgmt.containerservice.models.JWTAuthenticator or - ~azure.mgmt.containerservice.types.JWTAuthenticator or IO[bytes] - :return: An instance of AsyncLROPoller that returns JWTAuthenticator. The JWTAuthenticator is - compatible with MutableMapping - :rtype: - ~azure.core.polling.AsyncLROPoller[~azure.mgmt.containerservice.models.JWTAuthenticator] + :param parameters: Parameters supplied to the Update snapshot Tags operation. Is either a + TagsObject type or a IO[bytes] type. Required. + :type parameters: ~azure.mgmt.containerservice.models.TagsObject or + ~azure.mgmt.containerservice.types.TagsObject or IO[bytes] + :return: Snapshot. The Snapshot is compatible with MutableMapping + :rtype: ~azure.mgmt.containerservice.models.Snapshot :raises ~azure.core.exceptions.HttpResponseError: """ + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = kwargs.pop("params", {}) or {} content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - cls: ClsType[_models.JWTAuthenticator] = kwargs.pop("cls", None) - polling: Union[bool, AsyncPollingMethod] = kwargs.pop("polling", True) - lro_delay = kwargs.pop("polling_interval", self._config.polling_interval) - cont_token: Optional[str] = kwargs.pop("continuation_token", None) - if cont_token is None: - raw_result = await self._create_or_update_initial( - resource_group_name=resource_group_name, - resource_name=resource_name, - jwt_authenticator_name=jwt_authenticator_name, - parameters=parameters, - content_type=content_type, - cls=lambda x, y, z: x, - headers=_headers, - params=_params, - **kwargs - ) - await raw_result.http_response.read() # type: ignore - kwargs.pop("error_map", None) + cls: ClsType[_models.Snapshot] = kwargs.pop("cls", None) - def get_long_running_output(pipeline_response): - response = pipeline_response.http_response - deserialized = _deserialize(_models.JWTAuthenticator, response.json()) - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - return deserialized + content_type = content_type or "application/json" + _content = None + if isinstance(parameters, (IOBase, bytes)): + _content = parameters + else: + _content = json.dumps(parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + _request = build_snapshots_update_tags_request( + resource_group_name=resource_group_name, + resource_name=resource_name, + subscription_id=self._config.subscription_id, + content_type=content_type, + api_version=self._config.api_version, + content=_content, + headers=_headers, + params=_params, + ) path_format_arguments = { "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), } + _request.url = self._client.format_url(_request.url, **path_format_arguments) - if polling is True: - polling_method: AsyncPollingMethod = cast( - AsyncPollingMethod, AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) - ) - elif polling is False: - polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) - else: - polling_method = polling - if cont_token: - return AsyncLROPoller[_models.JWTAuthenticator].from_continuation_token( - polling_method=polling_method, - continuation_token=cont_token, - client=self._client, - deserialization_callback=get_long_running_output, - ) - return AsyncLROPoller[_models.JWTAuthenticator]( - self._client, raw_result, get_long_running_output, polling_method # type: ignore + _decompress = kwargs.pop("decompress", True) + _stream = kwargs.pop("stream", False) + pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access + _request, stream=_stream, **kwargs ) - @api_version_validation( - method_added_on="2026-05-02-preview", - params_added_on={ - "2026-05-02-preview": [ - "api_version", - "subscription_id", - "resource_group_name", - "resource_name", - "jwt_authenticator_name", - ] - }, - api_versions_list=["2026-05-02-preview"], - ) - async def _delete_initial( - self, resource_group_name: str, resource_name: str, jwt_authenticator_name: str, **kwargs: Any - ) -> AsyncIterator[bytes]: + response = pipeline_response.http_response + + if response.status_code not in [200]: + if _stream: + try: + await response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if _stream: + deserialized = response.iter_bytes() if _decompress else response.iter_raw() + else: + deserialized = _deserialize(_models.Snapshot, response.json()) + + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + + return deserialized # type: ignore + + @distributed_trace_async + async def delete(self, resource_group_name: str, resource_name: str, **kwargs: Any) -> None: + """Deletes a snapshot. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param resource_name: The name of the managed cluster resource. Required. + :type resource_name: str + :return: None + :rtype: None + :raises ~azure.core.exceptions.HttpResponseError: + """ error_map: MutableMapping = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, @@ -12687,12 +7205,11 @@ async def _delete_initial( _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - cls: ClsType[AsyncIterator[bytes]] = kwargs.pop("cls", None) + cls: ClsType[None] = kwargs.pop("cls", None) - _request = build_jwt_authenticators_delete_request( + _request = build_snapshots_delete_request( resource_group_name=resource_group_name, resource_name=resource_name, - jwt_authenticator_name=jwt_authenticator_name, subscription_id=self._config.subscription_id, api_version=self._config.api_version, headers=_headers, @@ -12703,19 +7220,14 @@ async def _delete_initial( } _request.url = self._client.format_url(_request.url, **path_format_arguments) - _decompress = kwargs.pop("decompress", True) - _stream = True + _stream = False pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access _request, stream=_stream, **kwargs ) response = pipeline_response.http_response - if response.status_code not in [202, 204]: - try: - await response.read() # Load the body in memory and close the socket - except (StreamConsumedError, StreamClosedError): - pass + if response.status_code not in [200, 204]: map_error(status_code=response.status_code, response=response, error_map=error_map) error = _failsafe_deserialize( _models.ErrorResponse, @@ -12723,123 +7235,118 @@ async def _delete_initial( ) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - response_headers = {} - if response.status_code == 202: - response_headers["Azure-AsyncOperation"] = self._deserialize( - "str", response.headers.get("Azure-AsyncOperation") - ) - response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) - response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) - - deserialized = response.iter_bytes() if _decompress else response.iter_raw() - if cls: - return cls(pipeline_response, deserialized, response_headers) # type: ignore - - return deserialized # type: ignore + return cls(pipeline_response, None, {}) # type: ignore - @distributed_trace_async - @api_version_validation( - method_added_on="2026-05-02-preview", - params_added_on={ - "2026-05-02-preview": [ - "api_version", - "subscription_id", - "resource_group_name", - "resource_name", - "jwt_authenticator_name", - ] - }, - api_versions_list=["2026-05-02-preview"], - ) - async def begin_delete( - self, resource_group_name: str, resource_name: str, jwt_authenticator_name: str, **kwargs: Any - ) -> AsyncLROPoller[None]: - """Deletes a JWT authenticator and updates the managed cluster to apply the settings. + @distributed_trace + def list_by_resource_group(self, resource_group_name: str, **kwargs: Any) -> AsyncItemPaged["_models.Snapshot"]: + """Lists snapshots in the specified subscription and resource group. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str - :param resource_name: The name of the managed cluster resource. Required. - :type resource_name: str - :param jwt_authenticator_name: The name of the JWT authenticator. Required. - :type jwt_authenticator_name: str - :return: An instance of AsyncLROPoller that returns None - :rtype: ~azure.core.polling.AsyncLROPoller[None] + :return: An iterator like instance of Snapshot + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.containerservice.models.Snapshot] :raises ~azure.core.exceptions.HttpResponseError: """ _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - cls: ClsType[None] = kwargs.pop("cls", None) - polling: Union[bool, AsyncPollingMethod] = kwargs.pop("polling", True) - lro_delay = kwargs.pop("polling_interval", self._config.polling_interval) - cont_token: Optional[str] = kwargs.pop("continuation_token", None) - if cont_token is None: - raw_result = await self._delete_initial( - resource_group_name=resource_group_name, - resource_name=resource_name, - jwt_authenticator_name=jwt_authenticator_name, - cls=lambda x, y, z: x, - headers=_headers, - params=_params, - **kwargs - ) - await raw_result.http_response.read() # type: ignore - kwargs.pop("error_map", None) - - def get_long_running_output(pipeline_response): # pylint: disable=inconsistent-return-statements - if cls: - return cls(pipeline_response, None, {}) # type: ignore + cls: ClsType[List[_models.Snapshot]] = kwargs.pop("cls", None) - path_format_arguments = { - "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, } + error_map.update(kwargs.pop("error_map", {}) or {}) - if polling is True: - polling_method: AsyncPollingMethod = cast( - AsyncPollingMethod, AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + def prepare_request(next_link=None): + if not next_link: + + _request = build_snapshots_list_by_resource_group_request( + resource_group_name=resource_group_name, + subscription_id=self._config.subscription_id, + api_version=self._config.api_version, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url( + "self._config.base_url", self._config.base_url, "str", skip_quote=True + ), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + else: + # make call to next link with the client's api-version + _parsed_next_link = urllib.parse.urlparse(next_link) + _next_request_params = case_insensitive_dict( + { + key: [urllib.parse.quote(v) for v in value] + for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items() + } + ) + _next_request_params["api-version"] = self._config.api_version + _request = HttpRequest( + "GET", + urllib.parse.urljoin(next_link, _parsed_next_link.path), + headers=_headers, + params=_next_request_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url( + "self._config.base_url", self._config.base_url, "str", skip_quote=True + ), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + return _request + + async def extract_data(pipeline_response): + deserialized = pipeline_response.http_response.json() + list_of_elem = _deserialize( + List[_models.Snapshot], + deserialized.get("value", []), ) - elif polling is False: - polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) - else: - polling_method = polling - if cont_token: - return AsyncLROPoller[None].from_continuation_token( - polling_method=polling_method, - continuation_token=cont_token, - client=self._client, - deserialization_callback=get_long_running_output, + if cls: + list_of_elem = cls(list_of_elem) # type: ignore + return deserialized.get("nextLink") or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + _request = prepare_request(next_link) + + _stream = False + pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access + _request, stream=_stream, **kwargs ) - return AsyncLROPoller[None](self._client, raw_result, get_long_running_output, polling_method) # type: ignore + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + return AsyncItemPaged(get_next, extract_data) @distributed_trace - @api_version_validation( - method_added_on="2026-05-02-preview", - params_added_on={ - "2026-05-02-preview": ["api_version", "subscription_id", "resource_group_name", "resource_name", "accept"] - }, - api_versions_list=["2026-05-02-preview"], - ) - def list_by_managed_cluster( - self, resource_group_name: str, resource_name: str, **kwargs: Any - ) -> AsyncItemPaged["_models.JWTAuthenticator"]: - """Gets a list of JWT authenticators in the specified managed cluster. + def list(self, **kwargs: Any) -> AsyncItemPaged["_models.Snapshot"]: + """Gets a list of snapshots in the specified subscription. - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param resource_name: The name of the managed cluster resource. Required. - :type resource_name: str - :return: An iterator like instance of JWTAuthenticator - :rtype: - ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.containerservice.models.JWTAuthenticator] + :return: An iterator like instance of Snapshot + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.containerservice.models.Snapshot] :raises ~azure.core.exceptions.HttpResponseError: """ _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - cls: ClsType[List[_models.JWTAuthenticator]] = kwargs.pop("cls", None) + cls: ClsType[List[_models.Snapshot]] = kwargs.pop("cls", None) error_map: MutableMapping = { 401: ClientAuthenticationError, @@ -12852,9 +7359,7 @@ def list_by_managed_cluster( def prepare_request(next_link=None): if not next_link: - _request = build_jwt_authenticators_list_by_managed_cluster_request( - resource_group_name=resource_group_name, - resource_name=resource_name, + _request = build_snapshots_list_request( subscription_id=self._config.subscription_id, api_version=self._config.api_version, headers=_headers, @@ -12895,7 +7400,7 @@ def prepare_request(next_link=None): async def extract_data(pipeline_response): deserialized = pipeline_response.http_response.json() list_of_elem = _deserialize( - List[_models.JWTAuthenticator], + List[_models.Snapshot], deserialized.get("value", []), ) if cls: @@ -12924,14 +7429,14 @@ async def get_next(next_link=None): return AsyncItemPaged(get_next, extract_data) -class MeshMembershipsOperations: +class TrustedAccessRoleBindingsOperations: # pylint: disable=docstring-missing-param """ .. warning:: **DO NOT** instantiate this class directly. Instead, you should access the following operations through :class:`~azure.mgmt.containerservice.aio.ContainerServiceClient`'s - :attr:`mesh_memberships` attribute. + :attr:`trusted_access_role_bindings` attribute. """ def __init__(self, *args, **kwargs) -> None: @@ -12942,34 +7447,21 @@ def __init__(self, *args, **kwargs) -> None: self._deserialize: Deserializer = input_args.pop(0) if input_args else kwargs.pop("deserializer") @distributed_trace_async - @api_version_validation( - method_added_on="2026-05-02-preview", - params_added_on={ - "2026-05-02-preview": [ - "api_version", - "subscription_id", - "resource_group_name", - "resource_name", - "mesh_membership_name", - "accept", - ] - }, - api_versions_list=["2026-05-02-preview"], - ) async def get( - self, resource_group_name: str, resource_name: str, mesh_membership_name: str, **kwargs: Any - ) -> _models.MeshMembership: - """Gets the mesh membership of a managed cluster. + self, resource_group_name: str, resource_name: str, trusted_access_role_binding_name: str, **kwargs: Any + ) -> _models.TrustedAccessRoleBinding: + """Get a trusted access role binding. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param resource_name: The name of the managed cluster resource. Required. :type resource_name: str - :param mesh_membership_name: The name of the mesh membership. Required. - :type mesh_membership_name: str - :return: MeshMembership. The MeshMembership is compatible with MutableMapping - :rtype: ~azure.mgmt.containerservice.models.MeshMembership + :param trusted_access_role_binding_name: The name of trusted access role binding. Required. + :type trusted_access_role_binding_name: str + :return: TrustedAccessRoleBinding. The TrustedAccessRoleBinding is compatible with + MutableMapping + :rtype: ~azure.mgmt.containerservice.models.TrustedAccessRoleBinding :raises ~azure.core.exceptions.HttpResponseError: """ error_map: MutableMapping = { @@ -12983,12 +7475,12 @@ async def get( _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - cls: ClsType[_models.MeshMembership] = kwargs.pop("cls", None) + cls: ClsType[_models.TrustedAccessRoleBinding] = kwargs.pop("cls", None) - _request = build_mesh_memberships_get_request( + _request = build_trusted_access_role_bindings_get_request( resource_group_name=resource_group_name, resource_name=resource_name, - mesh_membership_name=mesh_membership_name, + trusted_access_role_binding_name=trusted_access_role_binding_name, subscription_id=self._config.subscription_id, api_version=self._config.api_version, headers=_headers, @@ -13023,34 +7515,21 @@ async def get( if _stream: deserialized = response.iter_bytes() if _decompress else response.iter_raw() else: - deserialized = _deserialize(_models.MeshMembership, response.json()) + deserialized = _deserialize(_models.TrustedAccessRoleBinding, response.json()) if cls: return cls(pipeline_response, deserialized, {}) # type: ignore return deserialized # type: ignore - @api_version_validation( - method_added_on="2026-05-02-preview", - params_added_on={ - "2026-05-02-preview": [ - "api_version", - "subscription_id", - "resource_group_name", - "resource_name", - "mesh_membership_name", - "content_type", - "accept", - ] - }, - api_versions_list=["2026-05-02-preview"], - ) async def _create_or_update_initial( self, resource_group_name: str, resource_name: str, - mesh_membership_name: str, - parameters: Union[_models.MeshMembership, _types.MeshMembership, IO[bytes]], + trusted_access_role_binding_name: str, + trusted_access_role_binding: Union[ + _models.TrustedAccessRoleBinding, _types.TrustedAccessRoleBinding, IO[bytes] + ], **kwargs: Any ) -> AsyncIterator[bytes]: error_map: MutableMapping = { @@ -13069,15 +7548,15 @@ async def _create_or_update_initial( content_type = content_type or "application/json" _content = None - if isinstance(parameters, (IOBase, bytes)): - _content = parameters + if isinstance(trusted_access_role_binding, (IOBase, bytes)): + _content = trusted_access_role_binding else: - _content = json.dumps(parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + _content = json.dumps(trusted_access_role_binding, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore - _request = build_mesh_memberships_create_or_update_request( + _request = build_trusted_access_role_bindings_create_or_update_request( resource_group_name=resource_group_name, resource_name=resource_name, - mesh_membership_name=mesh_membership_name, + trusted_access_role_binding_name=trusted_access_role_binding_name, subscription_id=self._config.subscription_id, content_type=content_type, api_version=self._config.api_version, @@ -13129,29 +7608,30 @@ async def begin_create_or_update( self, resource_group_name: str, resource_name: str, - mesh_membership_name: str, - parameters: _models.MeshMembership, + trusted_access_role_binding_name: str, + trusted_access_role_binding: _models.TrustedAccessRoleBinding, *, content_type: str = "application/json", **kwargs: Any - ) -> AsyncLROPoller[_models.MeshMembership]: - """Creates or updates the mesh membership of a managed cluster. + ) -> AsyncLROPoller[_models.TrustedAccessRoleBinding]: + """Create or update a trusted access role binding. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param resource_name: The name of the managed cluster resource. Required. :type resource_name: str - :param mesh_membership_name: The name of the mesh membership. Required. - :type mesh_membership_name: str - :param parameters: The mesh membership to create or update. Required. - :type parameters: ~azure.mgmt.containerservice.models.MeshMembership + :param trusted_access_role_binding_name: The name of trusted access role binding. Required. + :type trusted_access_role_binding_name: str + :param trusted_access_role_binding: A trusted access role binding. Required. + :type trusted_access_role_binding: ~azure.mgmt.containerservice.models.TrustedAccessRoleBinding :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str - :return: An instance of AsyncLROPoller that returns MeshMembership. The MeshMembership is - compatible with MutableMapping - :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.containerservice.models.MeshMembership] + :return: An instance of AsyncLROPoller that returns TrustedAccessRoleBinding. The + TrustedAccessRoleBinding is compatible with MutableMapping + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.containerservice.models.TrustedAccessRoleBinding] :raises ~azure.core.exceptions.HttpResponseError: """ @@ -13160,29 +7640,30 @@ async def begin_create_or_update( self, resource_group_name: str, resource_name: str, - mesh_membership_name: str, - parameters: _types.MeshMembership, + trusted_access_role_binding_name: str, + trusted_access_role_binding: _types.TrustedAccessRoleBinding, *, content_type: str = "application/json", **kwargs: Any - ) -> AsyncLROPoller[_models.MeshMembership]: - """Creates or updates the mesh membership of a managed cluster. + ) -> AsyncLROPoller[_models.TrustedAccessRoleBinding]: + """Create or update a trusted access role binding. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param resource_name: The name of the managed cluster resource. Required. :type resource_name: str - :param mesh_membership_name: The name of the mesh membership. Required. - :type mesh_membership_name: str - :param parameters: The mesh membership to create or update. Required. - :type parameters: ~azure.mgmt.containerservice.types.MeshMembership + :param trusted_access_role_binding_name: The name of trusted access role binding. Required. + :type trusted_access_role_binding_name: str + :param trusted_access_role_binding: A trusted access role binding. Required. + :type trusted_access_role_binding: ~azure.mgmt.containerservice.types.TrustedAccessRoleBinding :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str - :return: An instance of AsyncLROPoller that returns MeshMembership. The MeshMembership is - compatible with MutableMapping - :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.containerservice.models.MeshMembership] + :return: An instance of AsyncLROPoller that returns TrustedAccessRoleBinding. The + TrustedAccessRoleBinding is compatible with MutableMapping + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.containerservice.models.TrustedAccessRoleBinding] :raises ~azure.core.exceptions.HttpResponseError: """ @@ -13191,79 +7672,68 @@ async def begin_create_or_update( self, resource_group_name: str, resource_name: str, - mesh_membership_name: str, - parameters: IO[bytes], + trusted_access_role_binding_name: str, + trusted_access_role_binding: IO[bytes], *, content_type: str = "application/json", **kwargs: Any - ) -> AsyncLROPoller[_models.MeshMembership]: - """Creates or updates the mesh membership of a managed cluster. + ) -> AsyncLROPoller[_models.TrustedAccessRoleBinding]: + """Create or update a trusted access role binding. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param resource_name: The name of the managed cluster resource. Required. :type resource_name: str - :param mesh_membership_name: The name of the mesh membership. Required. - :type mesh_membership_name: str - :param parameters: The mesh membership to create or update. Required. - :type parameters: IO[bytes] + :param trusted_access_role_binding_name: The name of trusted access role binding. Required. + :type trusted_access_role_binding_name: str + :param trusted_access_role_binding: A trusted access role binding. Required. + :type trusted_access_role_binding: IO[bytes] :keyword content_type: Body Parameter content-type. Content type parameter for binary body. Default value is "application/json". :paramtype content_type: str - :return: An instance of AsyncLROPoller that returns MeshMembership. The MeshMembership is - compatible with MutableMapping - :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.containerservice.models.MeshMembership] + :return: An instance of AsyncLROPoller that returns TrustedAccessRoleBinding. The + TrustedAccessRoleBinding is compatible with MutableMapping + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.containerservice.models.TrustedAccessRoleBinding] :raises ~azure.core.exceptions.HttpResponseError: """ @distributed_trace_async - @api_version_validation( - method_added_on="2026-05-02-preview", - params_added_on={ - "2026-05-02-preview": [ - "api_version", - "subscription_id", - "resource_group_name", - "resource_name", - "mesh_membership_name", - "content_type", - "accept", - ] - }, - api_versions_list=["2026-05-02-preview"], - ) async def begin_create_or_update( self, resource_group_name: str, resource_name: str, - mesh_membership_name: str, - parameters: Union[_models.MeshMembership, _types.MeshMembership, IO[bytes]], + trusted_access_role_binding_name: str, + trusted_access_role_binding: Union[ + _models.TrustedAccessRoleBinding, _types.TrustedAccessRoleBinding, IO[bytes] + ], **kwargs: Any - ) -> AsyncLROPoller[_models.MeshMembership]: - """Creates or updates the mesh membership of a managed cluster. + ) -> AsyncLROPoller[_models.TrustedAccessRoleBinding]: + """Create or update a trusted access role binding. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param resource_name: The name of the managed cluster resource. Required. :type resource_name: str - :param mesh_membership_name: The name of the mesh membership. Required. - :type mesh_membership_name: str - :param parameters: The mesh membership to create or update. Is either a MeshMembership type or - a IO[bytes] type. Required. - :type parameters: ~azure.mgmt.containerservice.models.MeshMembership or - ~azure.mgmt.containerservice.types.MeshMembership or IO[bytes] - :return: An instance of AsyncLROPoller that returns MeshMembership. The MeshMembership is - compatible with MutableMapping - :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.containerservice.models.MeshMembership] + :param trusted_access_role_binding_name: The name of trusted access role binding. Required. + :type trusted_access_role_binding_name: str + :param trusted_access_role_binding: A trusted access role binding. Is either a + TrustedAccessRoleBinding type or a IO[bytes] type. Required. + :type trusted_access_role_binding: ~azure.mgmt.containerservice.models.TrustedAccessRoleBinding + or ~azure.mgmt.containerservice.types.TrustedAccessRoleBinding or IO[bytes] + :return: An instance of AsyncLROPoller that returns TrustedAccessRoleBinding. The + TrustedAccessRoleBinding is compatible with MutableMapping + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.containerservice.models.TrustedAccessRoleBinding] :raises ~azure.core.exceptions.HttpResponseError: """ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = kwargs.pop("params", {}) or {} content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - cls: ClsType[_models.MeshMembership] = kwargs.pop("cls", None) + cls: ClsType[_models.TrustedAccessRoleBinding] = kwargs.pop("cls", None) polling: Union[bool, AsyncPollingMethod] = kwargs.pop("polling", True) lro_delay = kwargs.pop("polling_interval", self._config.polling_interval) cont_token: Optional[str] = kwargs.pop("continuation_token", None) @@ -13271,8 +7741,8 @@ async def begin_create_or_update( raw_result = await self._create_or_update_initial( resource_group_name=resource_group_name, resource_name=resource_name, - mesh_membership_name=mesh_membership_name, - parameters=parameters, + trusted_access_role_binding_name=trusted_access_role_binding_name, + trusted_access_role_binding=trusted_access_role_binding, content_type=content_type, cls=lambda x, y, z: x, headers=_headers, @@ -13284,7 +7754,7 @@ async def begin_create_or_update( def get_long_running_output(pipeline_response): response = pipeline_response.http_response - deserialized = _deserialize(_models.MeshMembership, response.json()) + deserialized = _deserialize(_models.TrustedAccessRoleBinding, response.json()) if cls: return cls(pipeline_response, deserialized, {}) # type: ignore return deserialized @@ -13302,31 +7772,18 @@ def get_long_running_output(pipeline_response): else: polling_method = polling if cont_token: - return AsyncLROPoller[_models.MeshMembership].from_continuation_token( + return AsyncLROPoller[_models.TrustedAccessRoleBinding].from_continuation_token( polling_method=polling_method, continuation_token=cont_token, client=self._client, deserialization_callback=get_long_running_output, ) - return AsyncLROPoller[_models.MeshMembership]( + return AsyncLROPoller[_models.TrustedAccessRoleBinding]( self._client, raw_result, get_long_running_output, polling_method # type: ignore ) - @api_version_validation( - method_added_on="2026-05-02-preview", - params_added_on={ - "2026-05-02-preview": [ - "api_version", - "subscription_id", - "resource_group_name", - "resource_name", - "mesh_membership_name", - ] - }, - api_versions_list=["2026-05-02-preview"], - ) async def _delete_initial( - self, resource_group_name: str, resource_name: str, mesh_membership_name: str, **kwargs: Any + self, resource_group_name: str, resource_name: str, trusted_access_role_binding_name: str, **kwargs: Any ) -> AsyncIterator[bytes]: error_map: MutableMapping = { 401: ClientAuthenticationError, @@ -13341,10 +7798,10 @@ async def _delete_initial( cls: ClsType[AsyncIterator[bytes]] = kwargs.pop("cls", None) - _request = build_mesh_memberships_delete_request( + _request = build_trusted_access_role_bindings_delete_request( resource_group_name=resource_group_name, resource_name=resource_name, - mesh_membership_name=mesh_membership_name, + trusted_access_role_binding_name=trusted_access_role_binding_name, subscription_id=self._config.subscription_id, api_version=self._config.api_version, headers=_headers, @@ -13391,31 +7848,18 @@ async def _delete_initial( return deserialized # type: ignore @distributed_trace_async - @api_version_validation( - method_added_on="2026-05-02-preview", - params_added_on={ - "2026-05-02-preview": [ - "api_version", - "subscription_id", - "resource_group_name", - "resource_name", - "mesh_membership_name", - ] - }, - api_versions_list=["2026-05-02-preview"], - ) async def begin_delete( - self, resource_group_name: str, resource_name: str, mesh_membership_name: str, **kwargs: Any + self, resource_group_name: str, resource_name: str, trusted_access_role_binding_name: str, **kwargs: Any ) -> AsyncLROPoller[None]: - """Deletes the mesh membership of a managed cluster. + """Delete a trusted access role binding. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param resource_name: The name of the managed cluster resource. Required. :type resource_name: str - :param mesh_membership_name: The name of the mesh membership. Required. - :type mesh_membership_name: str + :param trusted_access_role_binding_name: The name of trusted access role binding. Required. + :type trusted_access_role_binding_name: str :return: An instance of AsyncLROPoller that returns None :rtype: ~azure.core.polling.AsyncLROPoller[None] :raises ~azure.core.exceptions.HttpResponseError: @@ -13431,7 +7875,7 @@ async def begin_delete( raw_result = await self._delete_initial( resource_group_name=resource_group_name, resource_name=resource_name, - mesh_membership_name=mesh_membership_name, + trusted_access_role_binding_name=trusted_access_role_binding_name, cls=lambda x, y, z: x, headers=_headers, params=_params, @@ -13466,32 +7910,25 @@ def get_long_running_output(pipeline_response): # pylint: disable=inconsistent- return AsyncLROPoller[None](self._client, raw_result, get_long_running_output, polling_method) # type: ignore @distributed_trace - @api_version_validation( - method_added_on="2026-05-02-preview", - params_added_on={ - "2026-05-02-preview": ["api_version", "subscription_id", "resource_group_name", "resource_name", "accept"] - }, - api_versions_list=["2026-05-02-preview"], - ) - def list_by_managed_cluster( + def list( self, resource_group_name: str, resource_name: str, **kwargs: Any - ) -> AsyncItemPaged["_models.MeshMembership"]: - """Lists mesh memberships in a managed cluster. + ) -> AsyncItemPaged["_models.TrustedAccessRoleBinding"]: + """List trusted access role bindings. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param resource_name: The name of the managed cluster resource. Required. :type resource_name: str - :return: An iterator like instance of MeshMembership + :return: An iterator like instance of TrustedAccessRoleBinding :rtype: - ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.containerservice.models.MeshMembership] + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.containerservice.models.TrustedAccessRoleBinding] :raises ~azure.core.exceptions.HttpResponseError: """ _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - cls: ClsType[List[_models.MeshMembership]] = kwargs.pop("cls", None) + cls: ClsType[List[_models.TrustedAccessRoleBinding]] = kwargs.pop("cls", None) error_map: MutableMapping = { 401: ClientAuthenticationError, @@ -13504,7 +7941,7 @@ def list_by_managed_cluster( def prepare_request(next_link=None): if not next_link: - _request = build_mesh_memberships_list_by_managed_cluster_request( + _request = build_trusted_access_role_bindings_list_request( resource_group_name=resource_group_name, resource_name=resource_name, subscription_id=self._config.subscription_id, @@ -13547,118 +7984,7 @@ def prepare_request(next_link=None): async def extract_data(pipeline_response): deserialized = pipeline_response.http_response.json() list_of_elem = _deserialize( - List[_models.MeshMembership], - deserialized.get("value", []), - ) - if cls: - list_of_elem = cls(list_of_elem) # type: ignore - return deserialized.get("nextLink") or None, AsyncList(list_of_elem) - - async def get_next(next_link=None): - _request = prepare_request(next_link) - - _stream = False - pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access - _request, stream=_stream, **kwargs - ) - response = pipeline_response.http_response - - if response.status_code not in [200]: - map_error(status_code=response.status_code, response=response, error_map=error_map) - error = _failsafe_deserialize( - _models.ErrorResponse, - response, - ) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - - return pipeline_response - - return AsyncItemPaged(get_next, extract_data) - - -class Operations: - """ - .. warning:: - **DO NOT** instantiate this class directly. - - Instead, you should access the following operations through - :class:`~azure.mgmt.containerservice.aio.ContainerServiceClient`'s - :attr:`operations` attribute. - """ - - def __init__(self, *args, **kwargs) -> None: - input_args = list(args) - self._client: AsyncPipelineClient = input_args.pop(0) if input_args else kwargs.pop("client") - self._config: ContainerServiceClientConfiguration = input_args.pop(0) if input_args else kwargs.pop("config") - self._serialize: Serializer = input_args.pop(0) if input_args else kwargs.pop("serializer") - self._deserialize: Deserializer = input_args.pop(0) if input_args else kwargs.pop("deserializer") - - @distributed_trace - def list(self, **kwargs: Any) -> AsyncItemPaged["_models.OperationValue"]: - """Gets a list of operations. - - :return: An iterator like instance of OperationValue - :rtype: - ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.containerservice.models.OperationValue] - :raises ~azure.core.exceptions.HttpResponseError: - """ - _headers = kwargs.pop("headers", {}) or {} - _params = kwargs.pop("params", {}) or {} - - cls: ClsType[List[_models.OperationValue]] = kwargs.pop("cls", None) - - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - def prepare_request(next_link=None): - if not next_link: - - _request = build_operations_list_request( - api_version=self._config.api_version, - headers=_headers, - params=_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url( - "self._config.base_url", self._config.base_url, "str", skip_quote=True - ), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - else: - # make call to next link with the client's api-version - _parsed_next_link = urllib.parse.urlparse(next_link) - _next_request_params = case_insensitive_dict( - { - key: [urllib.parse.quote(v) for v in value] - for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items() - } - ) - _next_request_params["api-version"] = self._config.api_version - _request = HttpRequest( - "GET", - urllib.parse.urljoin(next_link, _parsed_next_link.path), - headers=_headers, - params=_next_request_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url( - "self._config.base_url", self._config.base_url, "str", skip_quote=True - ), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - return _request - - async def extract_data(pipeline_response): - deserialized = pipeline_response.http_response.json() - list_of_elem = _deserialize( - List[_models.OperationValue], + List[_models.TrustedAccessRoleBinding], deserialized.get("value", []), ) if cls: @@ -13687,14 +8013,14 @@ async def get_next(next_link=None): return AsyncItemPaged(get_next, extract_data) -class AlertConfigurationsOperations: +class IdentityBindingsOperations: # pylint: disable=docstring-missing-param """ .. warning:: **DO NOT** instantiate this class directly. Instead, you should access the following operations through :class:`~azure.mgmt.containerservice.aio.ContainerServiceClient`'s - :attr:`alert_configurations` attribute. + :attr:`identity_bindings` attribute. """ def __init__(self, *args, **kwargs) -> None: @@ -13706,33 +8032,33 @@ def __init__(self, *args, **kwargs) -> None: @distributed_trace_async @api_version_validation( - method_added_on="2026-05-02-preview", + method_added_on="2026-04-01", params_added_on={ - "2026-05-02-preview": [ + "2026-04-01": [ "api_version", "subscription_id", "resource_group_name", "resource_name", - "configuration_name", + "identity_binding_name", "accept", ] }, - api_versions_list=["2026-05-02-preview"], + api_versions_list=["2026-04-01", "2026-05-01"], ) async def get( - self, resource_group_name: str, resource_name: str, configuration_name: str, **kwargs: Any - ) -> _models.AlertConfiguration: - """Gets the specified alert configuration of a managed cluster. + self, resource_group_name: str, resource_name: str, identity_binding_name: str, **kwargs: Any + ) -> _models.IdentityBinding: + """Gets the specified Identity Binding. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param resource_name: The name of the managed cluster resource. Required. :type resource_name: str - :param configuration_name: The name of the alert configuration. Required. - :type configuration_name: str - :return: AlertConfiguration. The AlertConfiguration is compatible with MutableMapping - :rtype: ~azure.mgmt.containerservice.models.AlertConfiguration + :param identity_binding_name: The name of the identity binding. Required. + :type identity_binding_name: str + :return: IdentityBinding. The IdentityBinding is compatible with MutableMapping + :rtype: ~azure.mgmt.containerservice.models.IdentityBinding :raises ~azure.core.exceptions.HttpResponseError: """ error_map: MutableMapping = { @@ -13746,12 +8072,12 @@ async def get( _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - cls: ClsType[_models.AlertConfiguration] = kwargs.pop("cls", None) + cls: ClsType[_models.IdentityBinding] = kwargs.pop("cls", None) - _request = build_alert_configurations_get_request( + _request = build_identity_bindings_get_request( resource_group_name=resource_group_name, resource_name=resource_name, - configuration_name=configuration_name, + identity_binding_name=identity_binding_name, subscription_id=self._config.subscription_id, api_version=self._config.api_version, headers=_headers, @@ -13786,7 +8112,7 @@ async def get( if _stream: deserialized = response.iter_bytes() if _decompress else response.iter_raw() else: - deserialized = _deserialize(_models.AlertConfiguration, response.json()) + deserialized = _deserialize(_models.IdentityBinding, response.json()) if cls: return cls(pipeline_response, deserialized, {}) # type: ignore @@ -13794,26 +8120,26 @@ async def get( return deserialized # type: ignore @api_version_validation( - method_added_on="2026-05-02-preview", + method_added_on="2026-04-01", params_added_on={ - "2026-05-02-preview": [ + "2026-04-01": [ "api_version", "subscription_id", "resource_group_name", "resource_name", - "configuration_name", + "identity_binding_name", "content_type", "accept", ] }, - api_versions_list=["2026-05-02-preview"], + api_versions_list=["2026-04-01", "2026-05-01"], ) async def _create_or_update_initial( self, resource_group_name: str, resource_name: str, - configuration_name: str, - resource: Union[_models.AlertConfiguration, _types.AlertConfiguration, IO[bytes]], + identity_binding_name: str, + parameters: Union[_models.IdentityBinding, _types.IdentityBinding, IO[bytes]], **kwargs: Any ) -> AsyncIterator[bytes]: error_map: MutableMapping = { @@ -13832,15 +8158,15 @@ async def _create_or_update_initial( content_type = content_type or "application/json" _content = None - if isinstance(resource, (IOBase, bytes)): - _content = resource + if isinstance(parameters, (IOBase, bytes)): + _content = parameters else: - _content = json.dumps(resource, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + _content = json.dumps(parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore - _request = build_alert_configurations_create_or_update_request( + _request = build_identity_bindings_create_or_update_request( resource_group_name=resource_group_name, resource_name=resource_name, - configuration_name=configuration_name, + identity_binding_name=identity_binding_name, subscription_id=self._config.subscription_id, content_type=content_type, api_version=self._config.api_version, @@ -13893,30 +8219,29 @@ async def begin_create_or_update( self, resource_group_name: str, resource_name: str, - configuration_name: str, - resource: _models.AlertConfiguration, + identity_binding_name: str, + parameters: _models.IdentityBinding, *, content_type: str = "application/json", **kwargs: Any - ) -> AsyncLROPoller[_models.AlertConfiguration]: - """Creates or updates an alert configuration in the specified managed cluster. + ) -> AsyncLROPoller[_models.IdentityBinding]: + """Creates or updates an identity binding in the specified managed cluster. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param resource_name: The name of the managed cluster resource. Required. :type resource_name: str - :param configuration_name: The name of the alert configuration. Required. - :type configuration_name: str - :param resource: The alert configuration to create or update. Required. - :type resource: ~azure.mgmt.containerservice.models.AlertConfiguration + :param identity_binding_name: The name of the identity binding. Required. + :type identity_binding_name: str + :param parameters: The identity binding to create or update. Required. + :type parameters: ~azure.mgmt.containerservice.models.IdentityBinding :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str - :return: An instance of AsyncLROPoller that returns AlertConfiguration. The AlertConfiguration - is compatible with MutableMapping - :rtype: - ~azure.core.polling.AsyncLROPoller[~azure.mgmt.containerservice.models.AlertConfiguration] + :return: An instance of AsyncLROPoller that returns IdentityBinding. The IdentityBinding is + compatible with MutableMapping + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.containerservice.models.IdentityBinding] :raises ~azure.core.exceptions.HttpResponseError: """ @@ -13925,30 +8250,29 @@ async def begin_create_or_update( self, resource_group_name: str, resource_name: str, - configuration_name: str, - resource: _types.AlertConfiguration, + identity_binding_name: str, + parameters: _types.IdentityBinding, *, content_type: str = "application/json", **kwargs: Any - ) -> AsyncLROPoller[_models.AlertConfiguration]: - """Creates or updates an alert configuration in the specified managed cluster. + ) -> AsyncLROPoller[_models.IdentityBinding]: + """Creates or updates an identity binding in the specified managed cluster. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param resource_name: The name of the managed cluster resource. Required. :type resource_name: str - :param configuration_name: The name of the alert configuration. Required. - :type configuration_name: str - :param resource: The alert configuration to create or update. Required. - :type resource: ~azure.mgmt.containerservice.types.AlertConfiguration + :param identity_binding_name: The name of the identity binding. Required. + :type identity_binding_name: str + :param parameters: The identity binding to create or update. Required. + :type parameters: ~azure.mgmt.containerservice.types.IdentityBinding :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str - :return: An instance of AsyncLROPoller that returns AlertConfiguration. The AlertConfiguration - is compatible with MutableMapping - :rtype: - ~azure.core.polling.AsyncLROPoller[~azure.mgmt.containerservice.models.AlertConfiguration] + :return: An instance of AsyncLROPoller that returns IdentityBinding. The IdentityBinding is + compatible with MutableMapping + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.containerservice.models.IdentityBinding] :raises ~azure.core.exceptions.HttpResponseError: """ @@ -13957,81 +8281,79 @@ async def begin_create_or_update( self, resource_group_name: str, resource_name: str, - configuration_name: str, - resource: IO[bytes], + identity_binding_name: str, + parameters: IO[bytes], *, content_type: str = "application/json", **kwargs: Any - ) -> AsyncLROPoller[_models.AlertConfiguration]: - """Creates or updates an alert configuration in the specified managed cluster. + ) -> AsyncLROPoller[_models.IdentityBinding]: + """Creates or updates an identity binding in the specified managed cluster. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param resource_name: The name of the managed cluster resource. Required. :type resource_name: str - :param configuration_name: The name of the alert configuration. Required. - :type configuration_name: str - :param resource: The alert configuration to create or update. Required. - :type resource: IO[bytes] + :param identity_binding_name: The name of the identity binding. Required. + :type identity_binding_name: str + :param parameters: The identity binding to create or update. Required. + :type parameters: IO[bytes] :keyword content_type: Body Parameter content-type. Content type parameter for binary body. Default value is "application/json". :paramtype content_type: str - :return: An instance of AsyncLROPoller that returns AlertConfiguration. The AlertConfiguration - is compatible with MutableMapping - :rtype: - ~azure.core.polling.AsyncLROPoller[~azure.mgmt.containerservice.models.AlertConfiguration] + :return: An instance of AsyncLROPoller that returns IdentityBinding. The IdentityBinding is + compatible with MutableMapping + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.containerservice.models.IdentityBinding] :raises ~azure.core.exceptions.HttpResponseError: """ @distributed_trace_async @api_version_validation( - method_added_on="2026-05-02-preview", + method_added_on="2026-04-01", params_added_on={ - "2026-05-02-preview": [ + "2026-04-01": [ "api_version", "subscription_id", "resource_group_name", "resource_name", - "configuration_name", + "identity_binding_name", "content_type", "accept", ] }, - api_versions_list=["2026-05-02-preview"], + api_versions_list=["2026-04-01", "2026-05-01"], ) async def begin_create_or_update( self, resource_group_name: str, resource_name: str, - configuration_name: str, - resource: Union[_models.AlertConfiguration, _types.AlertConfiguration, IO[bytes]], + identity_binding_name: str, + parameters: Union[_models.IdentityBinding, _types.IdentityBinding, IO[bytes]], **kwargs: Any - ) -> AsyncLROPoller[_models.AlertConfiguration]: - """Creates or updates an alert configuration in the specified managed cluster. + ) -> AsyncLROPoller[_models.IdentityBinding]: + """Creates or updates an identity binding in the specified managed cluster. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param resource_name: The name of the managed cluster resource. Required. :type resource_name: str - :param configuration_name: The name of the alert configuration. Required. - :type configuration_name: str - :param resource: The alert configuration to create or update. Is either a AlertConfiguration - type or a IO[bytes] type. Required. - :type resource: ~azure.mgmt.containerservice.models.AlertConfiguration or - ~azure.mgmt.containerservice.types.AlertConfiguration or IO[bytes] - :return: An instance of AsyncLROPoller that returns AlertConfiguration. The AlertConfiguration - is compatible with MutableMapping - :rtype: - ~azure.core.polling.AsyncLROPoller[~azure.mgmt.containerservice.models.AlertConfiguration] + :param identity_binding_name: The name of the identity binding. Required. + :type identity_binding_name: str + :param parameters: The identity binding to create or update. Is either a IdentityBinding type + or a IO[bytes] type. Required. + :type parameters: ~azure.mgmt.containerservice.models.IdentityBinding or + ~azure.mgmt.containerservice.types.IdentityBinding or IO[bytes] + :return: An instance of AsyncLROPoller that returns IdentityBinding. The IdentityBinding is + compatible with MutableMapping + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.containerservice.models.IdentityBinding] :raises ~azure.core.exceptions.HttpResponseError: """ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = kwargs.pop("params", {}) or {} content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - cls: ClsType[_models.AlertConfiguration] = kwargs.pop("cls", None) + cls: ClsType[_models.IdentityBinding] = kwargs.pop("cls", None) polling: Union[bool, AsyncPollingMethod] = kwargs.pop("polling", True) lro_delay = kwargs.pop("polling_interval", self._config.polling_interval) cont_token: Optional[str] = kwargs.pop("continuation_token", None) @@ -14039,8 +8361,8 @@ async def begin_create_or_update( raw_result = await self._create_or_update_initial( resource_group_name=resource_group_name, resource_name=resource_name, - configuration_name=configuration_name, - resource=resource, + identity_binding_name=identity_binding_name, + parameters=parameters, content_type=content_type, cls=lambda x, y, z: x, headers=_headers, @@ -14052,7 +8374,7 @@ async def begin_create_or_update( def get_long_running_output(pipeline_response): response = pipeline_response.http_response - deserialized = _deserialize(_models.AlertConfiguration, response.json()) + deserialized = _deserialize(_models.IdentityBinding, response.json()) if cls: return cls(pipeline_response, deserialized, {}) # type: ignore return deserialized @@ -14070,31 +8392,31 @@ def get_long_running_output(pipeline_response): else: polling_method = polling if cont_token: - return AsyncLROPoller[_models.AlertConfiguration].from_continuation_token( + return AsyncLROPoller[_models.IdentityBinding].from_continuation_token( polling_method=polling_method, continuation_token=cont_token, client=self._client, deserialization_callback=get_long_running_output, ) - return AsyncLROPoller[_models.AlertConfiguration]( + return AsyncLROPoller[_models.IdentityBinding]( self._client, raw_result, get_long_running_output, polling_method # type: ignore ) @api_version_validation( - method_added_on="2026-05-02-preview", + method_added_on="2026-04-01", params_added_on={ - "2026-05-02-preview": [ + "2026-04-01": [ "api_version", "subscription_id", "resource_group_name", "resource_name", - "configuration_name", + "identity_binding_name", ] }, - api_versions_list=["2026-05-02-preview"], + api_versions_list=["2026-04-01", "2026-05-01"], ) async def _delete_initial( - self, resource_group_name: str, resource_name: str, configuration_name: str, **kwargs: Any + self, resource_group_name: str, resource_name: str, identity_binding_name: str, **kwargs: Any ) -> AsyncIterator[bytes]: error_map: MutableMapping = { 401: ClientAuthenticationError, @@ -14109,10 +8431,10 @@ async def _delete_initial( cls: ClsType[AsyncIterator[bytes]] = kwargs.pop("cls", None) - _request = build_alert_configurations_delete_request( + _request = build_identity_bindings_delete_request( resource_group_name=resource_group_name, resource_name=resource_name, - configuration_name=configuration_name, + identity_binding_name=identity_binding_name, subscription_id=self._config.subscription_id, api_version=self._config.api_version, headers=_headers, @@ -14160,30 +8482,30 @@ async def _delete_initial( @distributed_trace_async @api_version_validation( - method_added_on="2026-05-02-preview", + method_added_on="2026-04-01", params_added_on={ - "2026-05-02-preview": [ + "2026-04-01": [ "api_version", "subscription_id", "resource_group_name", "resource_name", - "configuration_name", + "identity_binding_name", ] }, - api_versions_list=["2026-05-02-preview"], + api_versions_list=["2026-04-01", "2026-05-01"], ) async def begin_delete( - self, resource_group_name: str, resource_name: str, configuration_name: str, **kwargs: Any + self, resource_group_name: str, resource_name: str, identity_binding_name: str, **kwargs: Any ) -> AsyncLROPoller[None]: - """Deletes an alert configuration. + """Deletes an identity binding in the specified managed cluster. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param resource_name: The name of the managed cluster resource. Required. :type resource_name: str - :param configuration_name: The name of the alert configuration. Required. - :type configuration_name: str + :param identity_binding_name: The name of the identity binding. Required. + :type identity_binding_name: str :return: An instance of AsyncLROPoller that returns None :rtype: ~azure.core.polling.AsyncLROPoller[None] :raises ~azure.core.exceptions.HttpResponseError: @@ -14199,7 +8521,7 @@ async def begin_delete( raw_result = await self._delete_initial( resource_group_name=resource_group_name, resource_name=resource_name, - configuration_name=configuration_name, + identity_binding_name=identity_binding_name, cls=lambda x, y, z: x, headers=_headers, params=_params, @@ -14235,31 +8557,31 @@ def get_long_running_output(pipeline_response): # pylint: disable=inconsistent- @distributed_trace @api_version_validation( - method_added_on="2026-05-02-preview", + method_added_on="2026-04-01", params_added_on={ - "2026-05-02-preview": ["api_version", "subscription_id", "resource_group_name", "resource_name", "accept"] + "2026-04-01": ["api_version", "subscription_id", "resource_group_name", "resource_name", "accept"] }, - api_versions_list=["2026-05-02-preview"], + api_versions_list=["2026-04-01", "2026-05-01"], ) def list_by_managed_cluster( self, resource_group_name: str, resource_name: str, **kwargs: Any - ) -> AsyncItemPaged["_models.AlertConfiguration"]: - """Gets a list of alert configurations in the specified managed cluster. + ) -> AsyncItemPaged["_models.IdentityBinding"]: + """Gets a list of identity bindings in the specified managed cluster. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param resource_name: The name of the managed cluster resource. Required. :type resource_name: str - :return: An iterator like instance of AlertConfiguration + :return: An iterator like instance of IdentityBinding :rtype: - ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.containerservice.models.AlertConfiguration] + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.containerservice.models.IdentityBinding] :raises ~azure.core.exceptions.HttpResponseError: """ _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - cls: ClsType[List[_models.AlertConfiguration]] = kwargs.pop("cls", None) + cls: ClsType[List[_models.IdentityBinding]] = kwargs.pop("cls", None) error_map: MutableMapping = { 401: ClientAuthenticationError, @@ -14272,7 +8594,7 @@ def list_by_managed_cluster( def prepare_request(next_link=None): if not next_link: - _request = build_alert_configurations_list_by_managed_cluster_request( + _request = build_identity_bindings_list_by_managed_cluster_request( resource_group_name=resource_group_name, resource_name=resource_name, subscription_id=self._config.subscription_id, @@ -14315,7 +8637,7 @@ def prepare_request(next_link=None): async def extract_data(pipeline_response): deserialized = pipeline_response.http_response.json() list_of_elem = _deserialize( - List[_models.AlertConfiguration], + List[_models.IdentityBinding], deserialized.get("value", []), ) if cls: @@ -14344,14 +8666,14 @@ async def get_next(next_link=None): return AsyncItemPaged(get_next, extract_data) -class OperationStatusResultOperations: +class Operations: # pylint: disable=docstring-missing-param """ .. warning:: **DO NOT** instantiate this class directly. Instead, you should access the following operations through :class:`~azure.mgmt.containerservice.aio.ContainerServiceClient`'s - :attr:`operation_status_result` attribute. + :attr:`operations` attribute. """ def __init__(self, *args, **kwargs) -> None: @@ -14361,126 +8683,19 @@ def __init__(self, *args, **kwargs) -> None: self._serialize: Serializer = input_args.pop(0) if input_args else kwargs.pop("serializer") self._deserialize: Deserializer = input_args.pop(0) if input_args else kwargs.pop("deserializer") - @distributed_trace_async - @api_version_validation( - method_added_on="2026-05-02-preview", - params_added_on={ - "2026-05-02-preview": [ - "api_version", - "subscription_id", - "resource_group_name", - "resource_name", - "agent_pool_name", - "operation_id", - "accept", - ] - }, - api_versions_list=["2026-05-02-preview"], - ) - async def get_by_agent_pool( - self, resource_group_name: str, resource_name: str, agent_pool_name: str, operation_id: str, **kwargs: Any - ) -> _models.OperationStatusResult: - """Get the status of a specific operation in the specified agent pool. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param resource_name: The name of the managed cluster resource. Required. - :type resource_name: str - :param agent_pool_name: The name of the agent pool. Required. - :type agent_pool_name: str - :param operation_id: The ID of an ongoing async operation. Required. - :type operation_id: str - :return: OperationStatusResult. The OperationStatusResult is compatible with MutableMapping - :rtype: ~azure.mgmt.containerservice.models.OperationStatusResult - :raises ~azure.core.exceptions.HttpResponseError: - """ - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - _headers = kwargs.pop("headers", {}) or {} - _params = kwargs.pop("params", {}) or {} - - cls: ClsType[_models.OperationStatusResult] = kwargs.pop("cls", None) - - _request = build_operation_status_result_get_by_agent_pool_request( - resource_group_name=resource_group_name, - resource_name=resource_name, - agent_pool_name=agent_pool_name, - operation_id=operation_id, - subscription_id=self._config.subscription_id, - api_version=self._config.api_version, - headers=_headers, - params=_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - _decompress = kwargs.pop("decompress", True) - _stream = kwargs.pop("stream", False) - pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access - _request, stream=_stream, **kwargs - ) - - response = pipeline_response.http_response - - if response.status_code not in [200]: - if _stream: - try: - await response.read() # Load the body in memory and close the socket - except (StreamConsumedError, StreamClosedError): - pass - map_error(status_code=response.status_code, response=response, error_map=error_map) - error = _failsafe_deserialize( - _models.ErrorResponse, - response, - ) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - - if _stream: - deserialized = response.iter_bytes() if _decompress else response.iter_raw() - else: - deserialized = _deserialize(_models.OperationStatusResult, response.json()) - - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - - return deserialized # type: ignore - @distributed_trace - @api_version_validation( - method_added_on="2026-05-02-preview", - params_added_on={ - "2026-05-02-preview": ["api_version", "subscription_id", "resource_group_name", "resource_name", "accept"] - }, - api_versions_list=["2026-05-02-preview"], - ) - def list( - self, resource_group_name: str, resource_name: str, **kwargs: Any - ) -> AsyncItemPaged["_models.OperationStatusResult"]: - """Gets a list of operations in the specified managedCluster. + def list(self, **kwargs: Any) -> AsyncItemPaged["_models.OperationValue"]: + """Gets a list of operations. - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param resource_name: The name of the managed cluster resource. Required. - :type resource_name: str - :return: An iterator like instance of OperationStatusResult + :return: An iterator like instance of OperationValue :rtype: - ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.containerservice.models.OperationStatusResult] + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.containerservice.models.OperationValue] :raises ~azure.core.exceptions.HttpResponseError: """ _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - cls: ClsType[List[_models.OperationStatusResult]] = kwargs.pop("cls", None) + cls: ClsType[List[_models.OperationValue]] = kwargs.pop("cls", None) error_map: MutableMapping = { 401: ClientAuthenticationError, @@ -14493,10 +8708,7 @@ def list( def prepare_request(next_link=None): if not next_link: - _request = build_operation_status_result_list_request( - resource_group_name=resource_group_name, - resource_name=resource_name, - subscription_id=self._config.subscription_id, + _request = build_operations_list_request( api_version=self._config.api_version, headers=_headers, params=_params, @@ -14534,127 +8746,38 @@ def prepare_request(next_link=None): return _request async def extract_data(pipeline_response): - deserialized = pipeline_response.http_response.json() - list_of_elem = _deserialize( - List[_models.OperationStatusResult], - deserialized.get("value", []), - ) - if cls: - list_of_elem = cls(list_of_elem) # type: ignore - return deserialized.get("nextLink") or None, AsyncList(list_of_elem) - - async def get_next(next_link=None): - _request = prepare_request(next_link) - - _stream = False - pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access - _request, stream=_stream, **kwargs - ) - response = pipeline_response.http_response - - if response.status_code not in [200]: - map_error(status_code=response.status_code, response=response, error_map=error_map) - error = _failsafe_deserialize( - _models.ErrorResponse, - response, - ) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - - return pipeline_response - - return AsyncItemPaged(get_next, extract_data) - - @distributed_trace_async - @api_version_validation( - method_added_on="2026-05-02-preview", - params_added_on={ - "2026-05-02-preview": [ - "api_version", - "subscription_id", - "resource_group_name", - "resource_name", - "operation_id", - "accept", - ] - }, - api_versions_list=["2026-05-02-preview"], - ) - async def get( - self, resource_group_name: str, resource_name: str, operation_id: str, **kwargs: Any - ) -> _models.OperationStatusResult: - """Get the status of a specific operation in the specified managed cluster. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param resource_name: The name of the managed cluster resource. Required. - :type resource_name: str - :param operation_id: The ID of an ongoing async operation. Required. - :type operation_id: str - :return: OperationStatusResult. The OperationStatusResult is compatible with MutableMapping - :rtype: ~azure.mgmt.containerservice.models.OperationStatusResult - :raises ~azure.core.exceptions.HttpResponseError: - """ - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - _headers = kwargs.pop("headers", {}) or {} - _params = kwargs.pop("params", {}) or {} - - cls: ClsType[_models.OperationStatusResult] = kwargs.pop("cls", None) - - _request = build_operation_status_result_get_request( - resource_group_name=resource_group_name, - resource_name=resource_name, - operation_id=operation_id, - subscription_id=self._config.subscription_id, - api_version=self._config.api_version, - headers=_headers, - params=_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - _decompress = kwargs.pop("decompress", True) - _stream = kwargs.pop("stream", False) - pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access - _request, stream=_stream, **kwargs - ) + deserialized = pipeline_response.http_response.json() + list_of_elem = _deserialize( + List[_models.OperationValue], + deserialized.get("value", []), + ) + if cls: + list_of_elem = cls(list_of_elem) # type: ignore + return deserialized.get("nextLink") or None, AsyncList(list_of_elem) - response = pipeline_response.http_response + async def get_next(next_link=None): + _request = prepare_request(next_link) - if response.status_code not in [200]: - if _stream: - try: - await response.read() # Load the body in memory and close the socket - except (StreamConsumedError, StreamClosedError): - pass - map_error(status_code=response.status_code, response=response, error_map=error_map) - error = _failsafe_deserialize( - _models.ErrorResponse, - response, + _stream = False + pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access + _request, stream=_stream, **kwargs ) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + response = pipeline_response.http_response - if _stream: - deserialized = response.iter_bytes() if _decompress else response.iter_raw() - else: - deserialized = _deserialize(_models.OperationStatusResult, response.json()) + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore + return pipeline_response - return deserialized # type: ignore + return AsyncItemPaged(get_next, extract_data) -class PrivateLinkResourcesOperations: +class PrivateLinkResourcesOperations: # pylint: disable=docstring-missing-param """ .. warning:: **DO NOT** instantiate this class directly. @@ -14749,7 +8872,7 @@ async def list( return deserialized # type: ignore -class ResolvePrivateLinkServiceIdOperations: +class ResolvePrivateLinkServiceIdOperations: # pylint: disable=docstring-missing-param """ .. warning:: **DO NOT** instantiate this class directly. @@ -14938,7 +9061,7 @@ async def post( return deserialized # type: ignore -class TrustedAccessRolesOperations: +class TrustedAccessRolesOperations: # pylint: disable=docstring-missing-param """ .. warning:: **DO NOT** instantiate this class directly. @@ -15051,247 +9174,3 @@ async def get_next(next_link=None): return pipeline_response return AsyncItemPaged(get_next, extract_data) - - -class ContainerServiceOperations: - """ - .. warning:: - **DO NOT** instantiate this class directly. - - Instead, you should access the following operations through - :class:`~azure.mgmt.containerservice.aio.ContainerServiceClient`'s - :attr:`container_service` attribute. - """ - - def __init__(self, *args, **kwargs) -> None: - input_args = list(args) - self._client: AsyncPipelineClient = input_args.pop(0) if input_args else kwargs.pop("client") - self._config: ContainerServiceClientConfiguration = input_args.pop(0) if input_args else kwargs.pop("config") - self._serialize: Serializer = input_args.pop(0) if input_args else kwargs.pop("serializer") - self._deserialize: Deserializer = input_args.pop(0) if input_args else kwargs.pop("deserializer") - - @distributed_trace - def list_node_image_versions(self, location: str, **kwargs: Any) -> AsyncItemPaged["_models.NodeImageVersion"]: - """Gets a list of supported NodeImage versions in the specified subscription. - - Only returns the latest version of each node image. For example there may be an - AKSUbuntu-1804gen2containerd-2024.01.26, but only AKSUbuntu-1804gen2containerd-2024.02.02 is - visible in this list. - - :param location: The name of the Azure region. Required. - :type location: str - :return: An iterator like instance of NodeImageVersion - :rtype: - ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.containerservice.models.NodeImageVersion] - :raises ~azure.core.exceptions.HttpResponseError: - """ - _headers = kwargs.pop("headers", {}) or {} - _params = kwargs.pop("params", {}) or {} - - cls: ClsType[List[_models.NodeImageVersion]] = kwargs.pop("cls", None) - - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - def prepare_request(next_link=None): - if not next_link: - - _request = build_container_service_list_node_image_versions_request( - location=location, - subscription_id=self._config.subscription_id, - api_version=self._config.api_version, - headers=_headers, - params=_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url( - "self._config.base_url", self._config.base_url, "str", skip_quote=True - ), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - else: - # make call to next link with the client's api-version - _parsed_next_link = urllib.parse.urlparse(next_link) - _next_request_params = case_insensitive_dict( - { - key: [urllib.parse.quote(v) for v in value] - for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items() - } - ) - _next_request_params["api-version"] = self._config.api_version - _request = HttpRequest( - "GET", - urllib.parse.urljoin(next_link, _parsed_next_link.path), - headers=_headers, - params=_next_request_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url( - "self._config.base_url", self._config.base_url, "str", skip_quote=True - ), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - return _request - - async def extract_data(pipeline_response): - deserialized = pipeline_response.http_response.json() - list_of_elem = _deserialize( - List[_models.NodeImageVersion], - deserialized.get("value", []), - ) - if cls: - list_of_elem = cls(list_of_elem) # type: ignore - return deserialized.get("nextLink") or None, AsyncList(list_of_elem) - - async def get_next(next_link=None): - _request = prepare_request(next_link) - - _stream = False - pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access - _request, stream=_stream, **kwargs - ) - response = pipeline_response.http_response - - if response.status_code not in [200]: - map_error(status_code=response.status_code, response=response, error_map=error_map) - error = _failsafe_deserialize( - _models.ErrorResponse, - response, - ) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - - return pipeline_response - - return AsyncItemPaged(get_next, extract_data) - - -class VmSkusOperations: - """ - .. warning:: - **DO NOT** instantiate this class directly. - - Instead, you should access the following operations through - :class:`~azure.mgmt.containerservice.aio.ContainerServiceClient`'s - :attr:`vm_skus` attribute. - """ - - def __init__(self, *args, **kwargs) -> None: - input_args = list(args) - self._client: AsyncPipelineClient = input_args.pop(0) if input_args else kwargs.pop("client") - self._config: ContainerServiceClientConfiguration = input_args.pop(0) if input_args else kwargs.pop("config") - self._serialize: Serializer = input_args.pop(0) if input_args else kwargs.pop("serializer") - self._deserialize: Deserializer = input_args.pop(0) if input_args else kwargs.pop("deserializer") - - @distributed_trace - def list( - self, location: str, *, include_extended_locations: Optional[bool] = None, **kwargs: Any - ) -> AsyncItemPaged["_models.ResourceSku"]: - """Gets the list of VM SKUs accepted by AKS. - - Gets the list of VM SKUs accepted by AKS when creating node pools in a specified location. AKS - will perform a best effort approach to provision the requested VM SKUs, but availability is not - guaranteed. - - :param location: The name of the Azure region. Required. - :type location: str - :keyword include_extended_locations: To Include Extended Locations information or not in the - response. Default value is None. - :paramtype include_extended_locations: bool - :return: An iterator like instance of ResourceSku - :rtype: - ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.containerservice.models.ResourceSku] - :raises ~azure.core.exceptions.HttpResponseError: - """ - _headers = kwargs.pop("headers", {}) or {} - _params = kwargs.pop("params", {}) or {} - - cls: ClsType[List[_models.ResourceSku]] = kwargs.pop("cls", None) - - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - def prepare_request(next_link=None): - if not next_link: - - _request = build_vm_skus_list_request( - location=location, - subscription_id=self._config.subscription_id, - include_extended_locations=include_extended_locations, - api_version=self._config.api_version, - headers=_headers, - params=_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url( - "self._config.base_url", self._config.base_url, "str", skip_quote=True - ), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - else: - # make call to next link with the client's api-version - _parsed_next_link = urllib.parse.urlparse(next_link) - _next_request_params = case_insensitive_dict( - { - key: [urllib.parse.quote(v) for v in value] - for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items() - } - ) - _next_request_params["api-version"] = self._config.api_version - _request = HttpRequest( - "GET", - urllib.parse.urljoin(next_link, _parsed_next_link.path), - headers=_headers, - params=_next_request_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url( - "self._config.base_url", self._config.base_url, "str", skip_quote=True - ), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - return _request - - async def extract_data(pipeline_response): - deserialized = pipeline_response.http_response.json() - list_of_elem = _deserialize( - List[_models.ResourceSku], - deserialized.get("value", []), - ) - if cls: - list_of_elem = cls(list_of_elem) # type: ignore - return deserialized.get("nextLink") or None, AsyncList(list_of_elem) - - async def get_next(next_link=None): - _request = prepare_request(next_link) - - _stream = False - pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access - _request, stream=_stream, **kwargs - ) - response = pipeline_response.http_response - - if response.status_code not in [200]: - map_error(status_code=response.status_code, response=response, error_map=error_map) - error = _failsafe_deserialize( - _models.ErrorResponse, - response, - ) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - - return pipeline_response - - return AsyncItemPaged(get_next, extract_data) diff --git a/sdk/containerservice/azure-mgmt-containerservice/azure/mgmt/containerservice/models/__init__.py b/sdk/containerservice/azure-mgmt-containerservice/azure/mgmt/containerservice/models/__init__.py index 6721a1b3fe9e..800204566651 100644 --- a/sdk/containerservice/azure-mgmt-containerservice/azure/mgmt/containerservice/models/__init__.py +++ b/sdk/containerservice/azure-mgmt-containerservice/azure/mgmt/containerservice/models/__init__.py @@ -26,11 +26,9 @@ AgentPoolAvailableVersions, AgentPoolAvailableVersionsProperties, AgentPoolAvailableVersionsPropertiesAgentPoolVersionsItem, - AgentPoolBlueGreenUpgradeSettings, AgentPoolDeleteMachinesParameter, AgentPoolGatewayProfile, AgentPoolManagedClusterAgentPoolProfileProperties, - AgentPoolNetworkInterface, AgentPoolNetworkProfile, AgentPoolRecentlyUsedVersion, AgentPoolSecurityProfile, @@ -40,29 +38,13 @@ AgentPoolUpgradeProfilePropertiesUpgradesItem, AgentPoolUpgradeSettings, AgentPoolWindowsProfile, - AlertConfiguration, - AlertConfigurationProperties, - AlertNotification, - AllowedSubject, AutoScaleProfile, AzureKeyVaultKms, - BastionProfile, - BootstrapAzureConfig, - BootstrapComponentVersions, - BootstrapKubeletConfig, - BootstrapNetworkingConfig, - BootstrapNodeConfig, - BootstrapTargetCluster, - BootstrapTokenInfo, ClusterUpgradeSettings, CommandResultProperties, CompatibleVersions, - Component, - ComponentsByRelease, ContainerServiceLinuxProfile, ContainerServiceNetworkProfile, - ContainerServiceNetworkProfileKubeProxyConfig, - ContainerServiceNetworkProfileKubeProxyConfigIpvsConfig, ContainerServiceSshConfiguration, ContainerServiceSshPublicKey, CreationData, @@ -78,9 +60,6 @@ ErrorResponse, ExtendedLocation, GPUProfile, - GuardrailsAvailableVersion, - GuardrailsAvailableVersionsProperties, - HardEvictionThreshold, IPTag, IdentityBinding, IdentityBindingManagedIdentityProfile, @@ -92,44 +71,21 @@ IstioIngressGateway, IstioPluginCertificateAuthority, IstioServiceMesh, - JWTAuthenticator, - JWTAuthenticatorClaimMappingExpression, - JWTAuthenticatorClaimMappings, - JWTAuthenticatorExtraClaimMappingExpression, - JWTAuthenticatorIssuer, - JWTAuthenticatorProperties, - JWTAuthenticatorValidationRule, - KubeReserved, KubeletConfig, KubernetesPatchVersion, - KubernetesResourceObjectEncryptionProfile, KubernetesVersion, KubernetesVersionCapabilities, KubernetesVersionListResult, - LabelSelector, - LabelSelectorRequirement, LinuxOSConfig, - ListBootstrapDataRequest, - LoadBalancer, - LoadBalancerProperties, LocalDNSOverride, LocalDNSProfile, Machine, - MachineBillingProfile, - MachineHardwareProfile, MachineIpAddress, - MachineKubernetesProfile, MachineNetworkProperties, - MachineOSProfile, - MachineOSProfileLinuxProfile, MachineProperties, - MachineSecurityProfile, - MachineStatus, MaintenanceConfiguration, MaintenanceConfigurationProperties, MaintenanceWindow, - MaintenanceWindowResource, - MaintenanceWindowResourceProperties, ManagedCluster, ManagedClusterAADProfile, ManagedClusterAIToolchainOperatorProfile, @@ -144,22 +100,15 @@ ManagedClusterAzureMonitorProfile, ManagedClusterAzureMonitorProfileAppMonitoring, ManagedClusterAzureMonitorProfileAppMonitoringAutoInstrumentation, - ManagedClusterAzureMonitorProfileAppMonitoringOpenTelemetryLogsAndTraces, - ManagedClusterAzureMonitorProfileAppMonitoringOpenTelemetryMetrics, - ManagedClusterAzureMonitorProfileContainerInsights, ManagedClusterAzureMonitorProfileKubeStateMetrics, ManagedClusterAzureMonitorProfileMetrics, ManagedClusterAzureMonitorProfileMetricsControlPlane, ManagedClusterBootstrapProfile, - ManagedClusterControlPlaneScalingProfile, ManagedClusterCostAnalysis, ManagedClusterHTTPProxyConfig, - ManagedClusterHealthMonitorProfile, ManagedClusterHostedSystemProfile, ManagedClusterIdentity, - ManagedClusterIngressDefaultDomainProfile, ManagedClusterIngressProfile, - ManagedClusterIngressProfileApplicationLoadBalancer, ManagedClusterIngressProfileGatewayConfiguration, ManagedClusterIngressProfileNginx, ManagedClusterIngressProfileWebAppRouting, @@ -170,8 +119,6 @@ ManagedClusterManagedOutboundIPProfile, ManagedClusterMetricsProfile, ManagedClusterNATGatewayProfile, - ManagedClusterNATGatewayProfileOutboundIPs, - ManagedClusterNATGatewayProfileOutboundIpPrefixes, ManagedClusterNodeProvisioningProfile, ManagedClusterNodeResourceGroupProfile, ManagedClusterOIDCIssuerProfile, @@ -185,7 +132,6 @@ ManagedClusterPoolUpgradeProfileUpgradesItem, ManagedClusterProperties, ManagedClusterPropertiesAutoScalerProfile, - ManagedClusterPropertiesForSnapshot, ManagedClusterSKU, ManagedClusterSecurityProfile, ManagedClusterSecurityProfileDefender, @@ -193,12 +139,8 @@ ManagedClusterSecurityProfileDefenderSecurityGatingIdentity, ManagedClusterSecurityProfileDefenderSecurityMonitoring, ManagedClusterSecurityProfileImageCleaner, - ManagedClusterSecurityProfileImageIntegrity, - ManagedClusterSecurityProfileNodeRestriction, ManagedClusterSecurityProfileWorkloadIdentity, ManagedClusterServicePrincipalProfile, - ManagedClusterSnapshot, - ManagedClusterSnapshotProperties, ManagedClusterStaticEgressGatewayProfile, ManagedClusterStatus, ManagedClusterStorageProfile, @@ -216,9 +158,6 @@ ManagedNamespace, ManagedServiceIdentityUserAssignedIdentitiesValue, ManualScaleProfile, - MeshMembership, - MeshMembershipPrivateConnectProfile, - MeshMembershipProperties, MeshRevision, MeshRevisionProfile, MeshRevisionProfileProperties, @@ -226,18 +165,11 @@ MeshUpgradeProfileProperties, NamespaceProperties, NetworkPolicies, - NetworkProfileForSnapshot, - NodeDisruptionProfile, - NodeImageVersion, - NvidiaGPUProfile, - OperationStatusResult, OperationValue, OperationValueDisplay, OutboundEnvironmentEndpoint, - PoolBootstrapData, PortRange, PowerState, - PreparedImageSpecificationProfile, PrivateEndpoint, PrivateEndpointConnection, PrivateEndpointConnectionListResult, @@ -246,28 +178,16 @@ PrivateLinkResourcesListResult, PrivateLinkServiceConnectionState, ProxyResource, - RebalanceLoadBalancersRequestBody, RelativeMonthlySchedule, Resource, ResourceQuota, ResourceReference, - ResourceSku, - ResourceSkuCapabilities, - ResourceSkuCapacity, - ResourceSkuCosts, - ResourceSkuLocationInfo, - ResourceSkuRestrictionInfo, - ResourceSkuRestrictions, - ResourceSkuZoneDetails, RunCommandRequest, RunCommandResult, - SafeguardsAvailableVersion, - SafeguardsAvailableVersionsProperties, ScaleProfile, Schedule, SchedulerInstanceProfile, SchedulerProfile, - ServiceAccountImagePullProfile, ServiceMeshProfile, Snapshot, SnapshotProperties, @@ -291,40 +211,26 @@ from ._enums import ( # type: ignore AccelerationMode, - AddonAutoscaling, AdoptionPolicy, AdvancedNetworkPolicies, AgentPoolMode, - AgentPoolNetworkInterfaceType, AgentPoolSSHAccess, AgentPoolType, - AlertConfigurationMode, - AlertConfigurationProvisioningState, ArtifactSource, BackendPoolType, - BastionSku, - ClusterServiceLoadBalancerHealthProbeMode, Code, ConnectionStatus, - ContainerNetworkLogs, - ControlPlaneScalingSize, CreatedByType, DeletePolicy, - DriftAction, - DriverType, Expander, ExtendedLocationTypes, Format, GPUDriver, GPUInstanceProfile, GatewayAPIIstioEnabled, - GuardrailsSupport, IPFamily, IdentityBindingProvisioningState, - InfrastructureEncryption, - IpvsScheduler, IstioIngressGatewayMode, - JWTAuthenticatorProvisioningState, KeyVaultNetworkAccessTypes, KubeletDiskType, KubernetesSupportPlan, @@ -341,10 +247,6 @@ ManagedClusterSKUName, ManagedClusterSKUTier, ManagedGatewayType, - ManagementMode, - MeshMembershipProvisioningState, - MigStrategy, - Mode, NamespaceProvisioningState, NetworkDataplane, NetworkMode, @@ -352,34 +254,25 @@ NetworkPluginMode, NetworkPolicy, NginxIngressControllerType, - NodeDisruptionPolicy, NodeOSUpgradeChannel, NodeProvisioningDefaultNodePools, NodeProvisioningMode, OSDiskType, OSSKU, OSType, - Operator, OutboundType, PodIPAllocationMode, - PodLinkLocalAccess, PolicyRule, PrivateEndpointConnectionProvisioningState, Protocol, ProxyRedirectionMechanism, PublicNetworkAccess, ResourceIdentityType, - ResourceProvisioningState, - ResourceSkuCapacityScaleType, - ResourceSkuRestrictionsReasonCode, - ResourceSkuRestrictionsType, RestrictionLevel, - SafeguardsSupport, ScaleDownMode, ScaleSetEvictionPolicy, ScaleSetPriority, SchedulerConfigMode, - SeccompDefault, ServiceMeshMode, SnapshotType, TransitEncryptionType, @@ -387,8 +280,6 @@ Type, UndrainableNodeBehavior, UpgradeChannel, - UpgradeStrategy, - VmState, WeekDay, WorkloadRuntime, ) @@ -409,11 +300,9 @@ "AgentPoolAvailableVersions", "AgentPoolAvailableVersionsProperties", "AgentPoolAvailableVersionsPropertiesAgentPoolVersionsItem", - "AgentPoolBlueGreenUpgradeSettings", "AgentPoolDeleteMachinesParameter", "AgentPoolGatewayProfile", "AgentPoolManagedClusterAgentPoolProfileProperties", - "AgentPoolNetworkInterface", "AgentPoolNetworkProfile", "AgentPoolRecentlyUsedVersion", "AgentPoolSecurityProfile", @@ -423,29 +312,13 @@ "AgentPoolUpgradeProfilePropertiesUpgradesItem", "AgentPoolUpgradeSettings", "AgentPoolWindowsProfile", - "AlertConfiguration", - "AlertConfigurationProperties", - "AlertNotification", - "AllowedSubject", "AutoScaleProfile", "AzureKeyVaultKms", - "BastionProfile", - "BootstrapAzureConfig", - "BootstrapComponentVersions", - "BootstrapKubeletConfig", - "BootstrapNetworkingConfig", - "BootstrapNodeConfig", - "BootstrapTargetCluster", - "BootstrapTokenInfo", "ClusterUpgradeSettings", "CommandResultProperties", "CompatibleVersions", - "Component", - "ComponentsByRelease", "ContainerServiceLinuxProfile", "ContainerServiceNetworkProfile", - "ContainerServiceNetworkProfileKubeProxyConfig", - "ContainerServiceNetworkProfileKubeProxyConfigIpvsConfig", "ContainerServiceSshConfiguration", "ContainerServiceSshPublicKey", "CreationData", @@ -461,9 +334,6 @@ "ErrorResponse", "ExtendedLocation", "GPUProfile", - "GuardrailsAvailableVersion", - "GuardrailsAvailableVersionsProperties", - "HardEvictionThreshold", "IPTag", "IdentityBinding", "IdentityBindingManagedIdentityProfile", @@ -475,44 +345,21 @@ "IstioIngressGateway", "IstioPluginCertificateAuthority", "IstioServiceMesh", - "JWTAuthenticator", - "JWTAuthenticatorClaimMappingExpression", - "JWTAuthenticatorClaimMappings", - "JWTAuthenticatorExtraClaimMappingExpression", - "JWTAuthenticatorIssuer", - "JWTAuthenticatorProperties", - "JWTAuthenticatorValidationRule", - "KubeReserved", "KubeletConfig", "KubernetesPatchVersion", - "KubernetesResourceObjectEncryptionProfile", "KubernetesVersion", "KubernetesVersionCapabilities", "KubernetesVersionListResult", - "LabelSelector", - "LabelSelectorRequirement", "LinuxOSConfig", - "ListBootstrapDataRequest", - "LoadBalancer", - "LoadBalancerProperties", "LocalDNSOverride", "LocalDNSProfile", "Machine", - "MachineBillingProfile", - "MachineHardwareProfile", "MachineIpAddress", - "MachineKubernetesProfile", "MachineNetworkProperties", - "MachineOSProfile", - "MachineOSProfileLinuxProfile", "MachineProperties", - "MachineSecurityProfile", - "MachineStatus", "MaintenanceConfiguration", "MaintenanceConfigurationProperties", "MaintenanceWindow", - "MaintenanceWindowResource", - "MaintenanceWindowResourceProperties", "ManagedCluster", "ManagedClusterAADProfile", "ManagedClusterAIToolchainOperatorProfile", @@ -527,22 +374,15 @@ "ManagedClusterAzureMonitorProfile", "ManagedClusterAzureMonitorProfileAppMonitoring", "ManagedClusterAzureMonitorProfileAppMonitoringAutoInstrumentation", - "ManagedClusterAzureMonitorProfileAppMonitoringOpenTelemetryLogsAndTraces", - "ManagedClusterAzureMonitorProfileAppMonitoringOpenTelemetryMetrics", - "ManagedClusterAzureMonitorProfileContainerInsights", "ManagedClusterAzureMonitorProfileKubeStateMetrics", "ManagedClusterAzureMonitorProfileMetrics", "ManagedClusterAzureMonitorProfileMetricsControlPlane", "ManagedClusterBootstrapProfile", - "ManagedClusterControlPlaneScalingProfile", "ManagedClusterCostAnalysis", "ManagedClusterHTTPProxyConfig", - "ManagedClusterHealthMonitorProfile", "ManagedClusterHostedSystemProfile", "ManagedClusterIdentity", - "ManagedClusterIngressDefaultDomainProfile", "ManagedClusterIngressProfile", - "ManagedClusterIngressProfileApplicationLoadBalancer", "ManagedClusterIngressProfileGatewayConfiguration", "ManagedClusterIngressProfileNginx", "ManagedClusterIngressProfileWebAppRouting", @@ -553,8 +393,6 @@ "ManagedClusterManagedOutboundIPProfile", "ManagedClusterMetricsProfile", "ManagedClusterNATGatewayProfile", - "ManagedClusterNATGatewayProfileOutboundIPs", - "ManagedClusterNATGatewayProfileOutboundIpPrefixes", "ManagedClusterNodeProvisioningProfile", "ManagedClusterNodeResourceGroupProfile", "ManagedClusterOIDCIssuerProfile", @@ -568,7 +406,6 @@ "ManagedClusterPoolUpgradeProfileUpgradesItem", "ManagedClusterProperties", "ManagedClusterPropertiesAutoScalerProfile", - "ManagedClusterPropertiesForSnapshot", "ManagedClusterSKU", "ManagedClusterSecurityProfile", "ManagedClusterSecurityProfileDefender", @@ -576,12 +413,8 @@ "ManagedClusterSecurityProfileDefenderSecurityGatingIdentity", "ManagedClusterSecurityProfileDefenderSecurityMonitoring", "ManagedClusterSecurityProfileImageCleaner", - "ManagedClusterSecurityProfileImageIntegrity", - "ManagedClusterSecurityProfileNodeRestriction", "ManagedClusterSecurityProfileWorkloadIdentity", "ManagedClusterServicePrincipalProfile", - "ManagedClusterSnapshot", - "ManagedClusterSnapshotProperties", "ManagedClusterStaticEgressGatewayProfile", "ManagedClusterStatus", "ManagedClusterStorageProfile", @@ -599,9 +432,6 @@ "ManagedNamespace", "ManagedServiceIdentityUserAssignedIdentitiesValue", "ManualScaleProfile", - "MeshMembership", - "MeshMembershipPrivateConnectProfile", - "MeshMembershipProperties", "MeshRevision", "MeshRevisionProfile", "MeshRevisionProfileProperties", @@ -609,18 +439,11 @@ "MeshUpgradeProfileProperties", "NamespaceProperties", "NetworkPolicies", - "NetworkProfileForSnapshot", - "NodeDisruptionProfile", - "NodeImageVersion", - "NvidiaGPUProfile", - "OperationStatusResult", "OperationValue", "OperationValueDisplay", "OutboundEnvironmentEndpoint", - "PoolBootstrapData", "PortRange", "PowerState", - "PreparedImageSpecificationProfile", "PrivateEndpoint", "PrivateEndpointConnection", "PrivateEndpointConnectionListResult", @@ -629,28 +452,16 @@ "PrivateLinkResourcesListResult", "PrivateLinkServiceConnectionState", "ProxyResource", - "RebalanceLoadBalancersRequestBody", "RelativeMonthlySchedule", "Resource", "ResourceQuota", "ResourceReference", - "ResourceSku", - "ResourceSkuCapabilities", - "ResourceSkuCapacity", - "ResourceSkuCosts", - "ResourceSkuLocationInfo", - "ResourceSkuRestrictionInfo", - "ResourceSkuRestrictions", - "ResourceSkuZoneDetails", "RunCommandRequest", "RunCommandResult", - "SafeguardsAvailableVersion", - "SafeguardsAvailableVersionsProperties", "ScaleProfile", "Schedule", "SchedulerInstanceProfile", "SchedulerProfile", - "ServiceAccountImagePullProfile", "ServiceMeshProfile", "Snapshot", "SnapshotProperties", @@ -671,40 +482,26 @@ "WeeklySchedule", "WindowsGmsaProfile", "AccelerationMode", - "AddonAutoscaling", "AdoptionPolicy", "AdvancedNetworkPolicies", "AgentPoolMode", - "AgentPoolNetworkInterfaceType", "AgentPoolSSHAccess", "AgentPoolType", - "AlertConfigurationMode", - "AlertConfigurationProvisioningState", "ArtifactSource", "BackendPoolType", - "BastionSku", - "ClusterServiceLoadBalancerHealthProbeMode", "Code", "ConnectionStatus", - "ContainerNetworkLogs", - "ControlPlaneScalingSize", "CreatedByType", "DeletePolicy", - "DriftAction", - "DriverType", "Expander", "ExtendedLocationTypes", "Format", "GPUDriver", "GPUInstanceProfile", "GatewayAPIIstioEnabled", - "GuardrailsSupport", "IPFamily", "IdentityBindingProvisioningState", - "InfrastructureEncryption", - "IpvsScheduler", "IstioIngressGatewayMode", - "JWTAuthenticatorProvisioningState", "KeyVaultNetworkAccessTypes", "KubeletDiskType", "KubernetesSupportPlan", @@ -721,10 +518,6 @@ "ManagedClusterSKUName", "ManagedClusterSKUTier", "ManagedGatewayType", - "ManagementMode", - "MeshMembershipProvisioningState", - "MigStrategy", - "Mode", "NamespaceProvisioningState", "NetworkDataplane", "NetworkMode", @@ -732,34 +525,25 @@ "NetworkPluginMode", "NetworkPolicy", "NginxIngressControllerType", - "NodeDisruptionPolicy", "NodeOSUpgradeChannel", "NodeProvisioningDefaultNodePools", "NodeProvisioningMode", "OSDiskType", "OSSKU", "OSType", - "Operator", "OutboundType", "PodIPAllocationMode", - "PodLinkLocalAccess", "PolicyRule", "PrivateEndpointConnectionProvisioningState", "Protocol", "ProxyRedirectionMechanism", "PublicNetworkAccess", "ResourceIdentityType", - "ResourceProvisioningState", - "ResourceSkuCapacityScaleType", - "ResourceSkuRestrictionsReasonCode", - "ResourceSkuRestrictionsType", "RestrictionLevel", - "SafeguardsSupport", "ScaleDownMode", "ScaleSetEvictionPolicy", "ScaleSetPriority", "SchedulerConfigMode", - "SeccompDefault", "ServiceMeshMode", "SnapshotType", "TransitEncryptionType", @@ -767,8 +551,6 @@ "Type", "UndrainableNodeBehavior", "UpgradeChannel", - "UpgradeStrategy", - "VmState", "WeekDay", "WorkloadRuntime", ] diff --git a/sdk/containerservice/azure-mgmt-containerservice/azure/mgmt/containerservice/models/_enums.py b/sdk/containerservice/azure-mgmt-containerservice/azure/mgmt/containerservice/models/_enums.py index 9691dac6f833..08439d65a20d 100644 --- a/sdk/containerservice/azure-mgmt-containerservice/azure/mgmt/containerservice/models/_enums.py +++ b/sdk/containerservice/azure-mgmt-containerservice/azure/mgmt/containerservice/models/_enums.py @@ -25,16 +25,6 @@ class AccelerationMode(str, Enum, metaclass=CaseInsensitiveEnumMeta): """Disable acceleration options.""" -class AddonAutoscaling(str, Enum, metaclass=CaseInsensitiveEnumMeta): - """Whether VPA add-on is enabled and configured to scale AKS-managed add-ons.""" - - ENABLED = "Enabled" - """Feature to autoscale AKS-managed add-ons is enabled. The default VPA update mode is Initial - mode.""" - DISABLED = "Disabled" - """Feature to autoscale AKS-managed add-ons is disabled.""" - - class AdoptionPolicy(str, Enum, metaclass=CaseInsensitiveEnumMeta): """Action if Kubernetes namespace with same name already exists.""" @@ -81,30 +71,6 @@ class AgentPoolMode(str, Enum, metaclass=CaseInsensitiveEnumMeta): GATEWAY = "Gateway" """Gateway agent pools are dedicated to providing static egress IPs to pods. For more details, see `https://aka.ms/aks/static-egress-gateway `_.""" - MANAGED_SYSTEM = "ManagedSystem" - """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.""" - MACHINES = "Machines" - """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.""" - - -class AgentPoolNetworkInterfaceType(str, Enum, metaclass=CaseInsensitiveEnumMeta): - """Type of network interface to be provisioned on each virtual machine instance. For more - information, see `https://aka.ms/aks/multi-nic `_. - """ - - STANDARD = "Standard" - """A standard network interface programmed with an IP from a specified VNet subnet. Must be used - with ``vnetSubnetId`` set in the AgentPoolNetworkInterface. IP address family - (IPv4/IPv6/Dual-stack) is determined by the subnet.""" - DYNAMIC = "Dynamic" - """A secondary network interface created without IP configuration or subnet attachment. The - interface is provisioned in an uninitialized state and the subnet is attached during workload - creation. ``vnetSubnetId`` must be set to an empty string (``""``) or omitted.""" class AgentPoolSSHAccess(str, Enum, metaclass=CaseInsensitiveEnumMeta): @@ -114,9 +80,6 @@ class AgentPoolSSHAccess(str, Enum, metaclass=CaseInsensitiveEnumMeta): """Can SSH onto the node as a local user using private key.""" DISABLED = "Disabled" """SSH service will be turned off on the node.""" - ENTRA_ID = "EntraId" - """SSH to node with EntraId integration. More information can be found under - `https://aka.ms/aks/ssh/aad `_.""" class AgentPoolType(str, Enum, metaclass=CaseInsensitiveEnumMeta): @@ -128,35 +91,6 @@ class AgentPoolType(str, Enum, metaclass=CaseInsensitiveEnumMeta): """Use of this is strongly discouraged.""" VIRTUAL_MACHINES = "VirtualMachines" """Create an Agent Pool backed by a Single Instance VM orchestration mode.""" - FLEX_NODES = "FlexNodes" - """Create an Agent Pool for BYO machines running the FlexNode agent.""" - - -class AlertConfigurationMode(str, Enum, metaclass=CaseInsensitiveEnumMeta): - """The mode of the alert configuration.""" - - DISABLED = "Disabled" - """Alerts are disabled.""" - MANAGED = "Managed" - """AKS manages the alerts lifecycle including creation, updates, and deletion. Users receive - alerts through the configured notification channel.""" - - -class AlertConfigurationProvisioningState(str, Enum, metaclass=CaseInsensitiveEnumMeta): - """The current provisioning state of the alert configuration.""" - - SUCCEEDED = "Succeeded" - """Resource has been created.""" - FAILED = "Failed" - """Resource creation failed.""" - CANCELED = "Canceled" - """Resource creation was canceled.""" - CREATING = "Creating" - """The alert configuration is being created.""" - UPDATING = "Updating" - """The alert configuration is being updated.""" - DELETING = "Deleting" - """The alert configuration is being deleted.""" class ArtifactSource(str, Enum, metaclass=CaseInsensitiveEnumMeta): @@ -179,36 +113,6 @@ class BackendPoolType(str, Enum, metaclass=CaseInsensitiveEnumMeta): """The type of the managed inbound Load Balancer BackendPool. `https://cloud-provider-azure.sigs.k8s.io/topics/loadbalancer/#configure-load-balancer-backend `_.""" - POD_IP = "PodIP" - """The type of the managed inbound Load Balancer BackendPool. Used only when loadBalancerSku is - specified as 'service'. - `https://cloud-provider-azure.sigs.k8s.io/topics/loadbalancer/#configure-load-balancer-backend - `_.""" - - -class BastionSku(str, Enum, metaclass=CaseInsensitiveEnumMeta): - """The SKU of the managed Azure Bastion. The default is 'Standard'. See - `https://aka.ms/aks/BastionSKUs `_ for more information about - the differences between Azure Bastion SKUs. - """ - - STANDARD = "Standard" - """Use the standard SKU of Azure Bastion.""" - PREMIUM = "Premium" - """Use the premium SKU of Azure Bastion.""" - - -class ClusterServiceLoadBalancerHealthProbeMode( # pylint: disable=name-too-long - str, Enum, metaclass=CaseInsensitiveEnumMeta -): - """The health probing behavior for External Traffic Policy Cluster services.""" - - SERVICE_NODE_PORT = "ServiceNodePort" - """Each External Traffic Policy Cluster service will have its own health probe targeting service - nodePort.""" - SHARED = "Shared" - """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.""" class Code(str, Enum, metaclass=CaseInsensitiveEnumMeta): @@ -233,38 +137,6 @@ class ConnectionStatus(str, Enum, metaclass=CaseInsensitiveEnumMeta): """Connection is disconnected.""" -class ContainerNetworkLogs(str, Enum, metaclass=CaseInsensitiveEnumMeta): - """Configures container network logs ingestion with Azure Monitor. Which network logs to ingest is - controlled by the CRD found in the following links. No network logs are ingested by default. - More information on container network logs can be found at - `https://aka.ms/ContainerNetworkLogsDoc `_. More - information on configuring container network log can be found at - `https://aka.ms/acns/howtoenablecnl `_. If not specified, - the default is Disabled. - """ - - DISABLED = "Disabled" - """Azure monitor ingestion of container network logs is disabled.""" - ENABLED = "Enabled" - """Azure monitor ingestion of container network logs is enabled.""" - - -class ControlPlaneScalingSize(str, Enum, metaclass=CaseInsensitiveEnumMeta): - """The scaling size of the control plane. Scaling sizes offer guaranteed capacity and predictable - Kubernetes performance beyond standard tier defaults. Higher H sizes provide increased - performance guarantees. See `https://aka.ms/aks/hyperscale `_ - for performance metrics details for each size. - """ - - H2 = "H2" - """H2 is the smallest scaling size with guaranteed capacity and predictable performance beyond - standard tier defaults.""" - H4 = "H4" - """H4 scaling size provides increased guaranteed performance over H2.""" - H8 = "H8" - """H8 scaling size provides increased guaranteed performance over H4.""" - - class CreatedByType(str, Enum, metaclass=CaseInsensitiveEnumMeta): """The kind of entity that created the resource.""" @@ -288,32 +160,6 @@ class DeletePolicy(str, Enum, metaclass=CaseInsensitiveEnumMeta): """Delete both the ARM resource and the Kubernetes namespace together.""" -class DriftAction(str, Enum, metaclass=CaseInsensitiveEnumMeta): - """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. - """ - - SYNCED = "Synced" - """The machine is up to date.""" - RECREATE = "Recreate" - """The machine has drifted and needs to be deleted and recreated.""" - - -class DriverType(str, Enum, metaclass=CaseInsensitiveEnumMeta): - """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. - """ - - GRID = "GRID" - """Install the GRID driver for the GPU, suitable for applications requiring virtualization - support.""" - CUDA = "CUDA" - """Install the CUDA driver for the GPU, optimized for computational tasks in scientific computing - and data-intensive applications.""" - - class Expander(str, Enum, metaclass=CaseInsensitiveEnumMeta): """The expander to use when scaling up. If not specified, the default is 'random'. See `expanders `_ @@ -388,16 +234,6 @@ class GPUInstanceProfile(str, Enum, metaclass=CaseInsensitiveEnumMeta): """MIG 7g GPU instance profile.""" -class GuardrailsSupport(str, Enum, metaclass=CaseInsensitiveEnumMeta): - """Whether the version is preview or stable.""" - - PREVIEW = "Preview" - """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.""" - STABLE = "Stable" - """The version is stable and can be used on critical production clusters.""" - - class IdentityBindingProvisioningState(str, Enum, metaclass=CaseInsensitiveEnumMeta): """The provisioning state of the last accepted operation.""" @@ -415,23 +251,6 @@ class IdentityBindingProvisioningState(str, Enum, metaclass=CaseInsensitiveEnumM """The identity binding is being deleted.""" -class InfrastructureEncryption(str, Enum, metaclass=CaseInsensitiveEnumMeta): - """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 - `_. - """ - - ENABLED = "Enabled" - """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 - `_.""" - DISABLED = "Disabled" - """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 - `_.""" - - class IPFamily(str, Enum, metaclass=CaseInsensitiveEnumMeta): """To determine if address belongs IPv4 or IPv6 family.""" @@ -441,18 +260,6 @@ class IPFamily(str, Enum, metaclass=CaseInsensitiveEnumMeta): """IPv6 family.""" -class IpvsScheduler(str, Enum, metaclass=CaseInsensitiveEnumMeta): - """IPVS scheduler, for more information please see - `http://www.linuxvirtualserver.org/docs/scheduling.html - `_. - """ - - ROUND_ROBIN = "RoundRobin" - """Round Robin.""" - LEAST_CONNECTION = "LeastConnection" - """Least Connection.""" - - class IstioIngressGatewayMode(str, Enum, metaclass=CaseInsensitiveEnumMeta): """Mode of an ingress gateway.""" @@ -462,23 +269,6 @@ class IstioIngressGatewayMode(str, Enum, metaclass=CaseInsensitiveEnumMeta): """The ingress gateway is assigned an internal IP address and cannot is accessed publicly.""" -class JWTAuthenticatorProvisioningState(str, Enum, metaclass=CaseInsensitiveEnumMeta): - """The provisioning state of the last accepted operation.""" - - SUCCEEDED = "Succeeded" - """Resource has been created.""" - FAILED = "Failed" - """Resource creation failed.""" - CANCELED = "Canceled" - """Resource creation was canceled.""" - CREATING = "Creating" - """The JWT authenticator is being created.""" - UPDATING = "Updating" - """The JWT authenticator is being updated.""" - DELETING = "Deleting" - """The JWT authenticator is being deleted.""" - - class KeyVaultNetworkAccessTypes(str, Enum, metaclass=CaseInsensitiveEnumMeta): """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 @@ -531,11 +321,6 @@ class LoadBalancerSku(str, Enum, metaclass=CaseInsensitiveEnumMeta): about the differences between load balancer SKUs. """ - SERVICE = "service" - """Use a service Load Balancer, with native pod-level load balancing. This SKU is specifically - built to scale for container-based workloads, with a single instance utilized for each - application. For more information, see `https://aka.ms/aks/container-native-slb - `_.""" STANDARD = "standard" """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 @@ -690,61 +475,6 @@ class ManagedGatewayType(str, Enum, metaclass=CaseInsensitiveEnumMeta): bundle will be installed for your Kubernetes version.""" -class ManagementMode(str, Enum, metaclass=CaseInsensitiveEnumMeta): - """The Managed GPU experience installs additional components, such as the Data Center GPU Manager - (DCGM) metrics for monitoring, on top of the GPU driver for you. For more details of what is - installed, check out aka.ms/aks/managed-gpu. - """ - - UNMANAGED = "Unmanaged" - """Managed GPU experience is disabled for NVIDIA GPUs.""" - MANAGED = "Managed" - """Managed GPU experience is enabled for NVIDIA GPUs.""" - - -class MeshMembershipProvisioningState(str, Enum, metaclass=CaseInsensitiveEnumMeta): - """The provisioning state of the last accepted operation.""" - - CANCELED = "Canceled" - """Resource creation was canceled.""" - CREATING = "Creating" - """The Mesh Membership is being created.""" - DELETING = "Deleting" - """The Mesh Membership is being deleted.""" - FAILED = "Failed" - """Resource creation failed.""" - SUCCEEDED = "Succeeded" - """Resource has been created.""" - UPDATING = "Updating" - """The Mesh Membership is being updated.""" - - -class MigStrategy(str, Enum, metaclass=CaseInsensitiveEnumMeta): - """Sets the MIG (Multi-Instance GPU) strategy that will be used for managed MIG support. For more - information about the different strategies, visit aka.ms/aks/managed-gpu. When not specified, - the default is None. - """ - - NONE = "None" - """Don't set a MIG strategy. If you previously had one set, this will override it and set remove - the set MIG strategy.""" - SINGLE = "Single" - """Set the MIG strategy for managed MIG as single.""" - MIXED = "Mixed" - """Set the MIG strategy for managed MIG as mixed.""" - - -class Mode(str, Enum, metaclass=CaseInsensitiveEnumMeta): - """Specify which proxy mode to use ('IPTABLES', 'IPVS' or 'NFTABLES').""" - - IPTABLES = "IPTABLES" - """IPTables proxy mode.""" - IPVS = "IPVS" - """IPVS proxy mode. Must be using Kubernetes version >= 1.22.""" - NFTABLES = "NFTABLES" - """NFTables proxy mode. Must be using Kubernetes version >= 1.33.""" - - class NamespaceProvisioningState(str, Enum, metaclass=CaseInsensitiveEnumMeta): """The current provisioning state of the namespace.""" @@ -848,29 +578,6 @@ class NginxIngressControllerType(str, Enum, metaclass=CaseInsensitiveEnumMeta): desired.""" -class NodeDisruptionPolicy(str, Enum, metaclass=CaseInsensitiveEnumMeta): - """The policy configuration for when to allow certain operations which require node re-image and - trigger redeployment. For example, some operations, such as updating the - .properties.ManagedClusterSecurityProfile.customCATrustCertificates field on an existing - managed cluster, trigger rolling updates of the nodes. This setting allows control over when - such updates are accepted. The default is 'Allow'. For a full list of covered operations see - aka.ms/aks/nodedisruptionpolicy". - """ - - ALLOW = "Allow" - """Allows operations that will require node re-image and trigger redeployment.""" - ALLOW_DURING_MAINTENANCE_WINDOW = "AllowDuringMaintenanceWindow" - """Blocks certain operations that will require node re-image and trigger redeployment unless - within the aksManagedNodeOSUpgradeSchedule maintenance window. For a full list of covered - operations see aka.ms/aks/nodedisruptionpolicy . For more information on using the - aksManagedNodeOSUpgradeSchedule maintenance window, please see - `https://learn.microsoft.com/azure/aks/planned-maintenance?tabs=azure-cli - `_.""" - BLOCK = "Block" - """Blocks certain operations that will require node re-image and trigger redeployment. For a full - list of covered operations see aka.ms/aks/nodedisruptionpolicy.""" - - class NodeOSUpgradeChannel(str, Enum, metaclass=CaseInsensitiveEnumMeta): """Node OS Upgrade Channel. Manner in which the OS on your nodes is updated. The default is NodeImage. @@ -927,19 +634,6 @@ class NodeProvisioningMode(str, Enum, metaclass=CaseInsensitiveEnumMeta): (See aka.ms/aks/nap for more details).""" -class Operator(str, Enum, metaclass=CaseInsensitiveEnumMeta): - """operator represents a key's relationship to a set of values. Valid operators are In and NotIn.""" - - IN = "In" - """The value of the key should be in the given list.""" - NOT_IN = "NotIn" - """The value of the key should not be in the given list.""" - EXISTS = "Exists" - """The value of the key should exist.""" - DOES_NOT_EXIST = "DoesNotExist" - """The value of the key should not exist.""" - - class OSDiskType(str, Enum, metaclass=CaseInsensitiveEnumMeta): """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 @@ -975,13 +669,6 @@ class OSSKU(str, Enum, metaclass=CaseInsensitiveEnumMeta): information. For limitations, visit `https://aka.ms/aks/node-images `_. For OS migration guidance, see `https://aka.ms/aks/upgrade-os-version `_.""" - MARINER = "Mariner" - """Deprecated OSSKU. Microsoft recommends that new deployments choose 'AzureLinux' instead.""" - FLATCAR = "Flatcar" - """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.""" CBL_MARINER = "CBLMariner" """Deprecated OSSKU. Microsoft recommends that new deployments choose 'AzureLinux' instead.""" WINDOWS2019 = "Windows2019" @@ -998,11 +685,6 @@ class OSSKU(str, Enum, metaclass=CaseInsensitiveEnumMeta): """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.""" - WINDOWS_ANNUAL = "WindowsAnnual" - """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 - `_.""" UBUNTU2404 = "Ubuntu2404" """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 @@ -1042,8 +724,6 @@ class OutboundType(str, Enum, metaclass=CaseInsensitiveEnumMeta): `_.""" MANAGED_NAT_GATEWAY = "managedNATGateway" """The AKS-managed NAT gateway is used for egress.""" - MANAGED_NAT_GATEWAY_V2 = "managedNATGatewayV2" - """The AKS-managed NAT gateway V2 is used for egress.""" USER_ASSIGNED_NAT_GATEWAY = "userAssignedNATGateway" """The user-assigned NAT gateway associated to the cluster subnet is used for egress. This is an advanced scenario and requires proper network configuration.""" @@ -1072,18 +752,6 @@ class PodIPAllocationMode(str, Enum, metaclass=CaseInsensitiveEnumMeta): is better suited to scale with larger subnets of /15 or bigger.""" -class PodLinkLocalAccess(str, Enum, metaclass=CaseInsensitiveEnumMeta): - """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'. - """ - - IMDS = "IMDS" - """Pods with hostNetwork=false can access Azure Instance Metadata Service (IMDS) without - restriction.""" - NONE = "None" - """Pods with hostNetwork=false cannot access Azure Instance Metadata Service (IMDS).""" - - class PolicyRule(str, Enum, metaclass=CaseInsensitiveEnumMeta): """Enum representing different network policy rules.""" @@ -1138,8 +806,6 @@ class PublicNetworkAccess(str, Enum, metaclass=CaseInsensitiveEnumMeta): """Inbound/Outbound to the managedCluster is allowed.""" DISABLED = "Disabled" """Inbound traffic to managedCluster is disabled, traffic from managedCluster is allowed.""" - SECURED_BY_PERIMETER = "SecuredByPerimeter" - """Inbound/Outbound traffic is managed by Microsoft.Network/NetworkSecurityPerimeters.""" class ResourceIdentityType(str, Enum, metaclass=CaseInsensitiveEnumMeta): @@ -1159,46 +825,6 @@ class ResourceIdentityType(str, Enum, metaclass=CaseInsensitiveEnumMeta): """Do not use a managed identity for the Managed Cluster, service principal will be used instead.""" -class ResourceProvisioningState(str, Enum, metaclass=CaseInsensitiveEnumMeta): - """The provisioning state of a resource type.""" - - SUCCEEDED = "Succeeded" - """Resource has been created.""" - FAILED = "Failed" - """Resource creation failed.""" - CANCELED = "Canceled" - """Resource creation was canceled.""" - - -class ResourceSkuCapacityScaleType(str, Enum, metaclass=CaseInsensitiveEnumMeta): - """The scale type applicable to the sku.""" - - AUTOMATIC = "Automatic" - """Automatic scaling.""" - MANUAL = "Manual" - """Manual scaling.""" - NONE = "None" - """No scaling.""" - - -class ResourceSkuRestrictionsReasonCode(str, Enum, metaclass=CaseInsensitiveEnumMeta): - """The reason for restriction.""" - - QUOTA_ID = "QuotaId" - """Quota ID restriction.""" - NOT_AVAILABLE_FOR_SUBSCRIPTION = "NotAvailableForSubscription" - """Not available for subscription.""" - - -class ResourceSkuRestrictionsType(str, Enum, metaclass=CaseInsensitiveEnumMeta): - """The type of restrictions.""" - - LOCATION = "Location" - """Location restriction.""" - ZONE = "Zone" - """Zone restriction.""" - - class RestrictionLevel(str, Enum, metaclass=CaseInsensitiveEnumMeta): """The restriction level applied to the cluster's node resource group. If not specified, the default is 'Unrestricted'. @@ -1210,16 +836,6 @@ class RestrictionLevel(str, Enum, metaclass=CaseInsensitiveEnumMeta): """Only \\*\\/read RBAC permissions allowed on the managed node resource group.""" -class SafeguardsSupport(str, Enum, metaclass=CaseInsensitiveEnumMeta): - """Whether the version is preview or stable.""" - - PREVIEW = "Preview" - """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.""" - STABLE = "Stable" - """The version is stable and can be used on critical production clusters.""" - - class ScaleDownMode(str, Enum, metaclass=CaseInsensitiveEnumMeta): """Describes how VMs are added to or removed from Agent Pools. See `billing states `_. @@ -1266,18 +882,6 @@ class SchedulerConfigMode(str, Enum, metaclass=CaseInsensitiveEnumMeta): aka.ms/aks/scheduler-crd for details.""" -class SeccompDefault(str, Enum, metaclass=CaseInsensitiveEnumMeta): - """Specifies the default seccomp profile applied to all workloads. If not specified, 'Unconfined' - will be used by default. - """ - - UNCONFINED = "Unconfined" - """No seccomp profile is applied, allowing all system calls.""" - RUNTIME_DEFAULT = "RuntimeDefault" - """The default seccomp profile for container runtime is applied, which restricts certain system - calls for enhanced security.""" - - class ServiceMeshMode(str, Enum, metaclass=CaseInsensitiveEnumMeta): """Mode of the service mesh.""" @@ -1292,8 +896,6 @@ class SnapshotType(str, Enum, metaclass=CaseInsensitiveEnumMeta): NODE_POOL = "NodePool" """The snapshot is a snapshot of a node pool.""" - MANAGED_CLUSTER = "ManagedCluster" - """The snapshot is a snapshot of a managed cluster.""" class TransitEncryptionType(str, Enum, metaclass=CaseInsensitiveEnumMeta): @@ -1306,9 +908,6 @@ class TransitEncryptionType(str, Enum, metaclass=CaseInsensitiveEnumMeta): `https://docs.cilium.io/en/latest/security/network/encryption-wireguard/ `_ on use cases and implementation details.""" - M_TLS = "mTLS" - """Enables mTLS authentication and encryption for pod-to-pod traffic within the cluster. Refer to - `https://aka.ms/acnsciliummtls `_ for relevant documentation.""" NONE = "None" """Disable Transit encryption.""" @@ -1397,25 +996,6 @@ class UpgradeChannel(str, Enum, metaclass=CaseInsensitiveEnumMeta): """Disables auto-upgrades and keeps the cluster at its current version of Kubernetes.""" -class UpgradeStrategy(str, Enum, metaclass=CaseInsensitiveEnumMeta): - """Defines the upgrade strategy for the agent pool. The default is Rolling.""" - - ROLLING = "Rolling" - """Specifies that the agent pool will conduct rolling upgrade. This is the default upgrade - strategy.""" - BLUE_GREEN = "BlueGreen" - """Specifies that the agent pool will conduct blue-green upgrade.""" - - -class VmState(str, Enum, metaclass=CaseInsensitiveEnumMeta): - """Virtual machine state. Indicates the current state of the underlying virtual machine.""" - - RUNNING = "Running" - """The virtual machine is currently running.""" - DELETED = "Deleted" - """The virtual machine has been deleted by the user or due to spot eviction.""" - - class WeekDay(str, Enum, metaclass=CaseInsensitiveEnumMeta): """The weekday enum.""" @@ -1442,11 +1022,6 @@ class WorkloadRuntime(str, Enum, metaclass=CaseInsensitiveEnumMeta): """Nodes will use Kubelet to run standard OCI container workloads.""" WASM_WASI = "WasmWasi" """Nodes will use Krustlet to run WASM workloads using the WASI provider (Preview).""" - KATA_MSHV_VM_ISOLATION = "KataMshvVmIsolation" - """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.""" KATA_VM_ISOLATION = "KataVmIsolation" """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 diff --git a/sdk/containerservice/azure-mgmt-containerservice/azure/mgmt/containerservice/models/_models.py b/sdk/containerservice/azure-mgmt-containerservice/azure/mgmt/containerservice/models/_models.py index b4919edbfb8f..ff856d80f986 100644 --- a/sdk/containerservice/azure-mgmt-containerservice/azure/mgmt/containerservice/models/_models.py +++ b/sdk/containerservice/azure-mgmt-containerservice/azure/mgmt/containerservice/models/_models.py @@ -17,7 +17,7 @@ from .. import models as _models -class AbsoluteMonthlySchedule(_Model): +class AbsoluteMonthlySchedule(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """For schedules like: 'recur every month on the 15th' or 'recur every 3 months on the 20th'. :ivar interval_months: Specifies the number of months between each set of occurrences. @@ -51,7 +51,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class AccessProfile(_Model): +class AccessProfile(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Profile for enabling a user to access a managed cluster. :ivar kube_config: Base64-encoded Kubernetes configuration file. @@ -81,7 +81,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class AdvancedNetworking(_Model): +class AdvancedNetworking(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Advanced Networking profile for enabling observability and security feature suite on a cluster. For more information see aka.ms/aksadvancednetworking. @@ -139,7 +139,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class AdvancedNetworkingObservability(_Model): +class AdvancedNetworkingObservability(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Observability profile to enable advanced network metrics and flow logs with historical contexts. @@ -169,7 +169,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class AdvancedNetworkingPerformance(_Model): +class AdvancedNetworkingPerformance(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Profile to enable performance-enhancing features on clusters that use Azure CNI powered by Cilium. @@ -209,7 +209,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class AdvancedNetworkingSecurity(_Model): +class AdvancedNetworkingSecurity(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Security profile to enable security features on cilium based cluster. :ivar enabled: This feature allows user to configure network policy based on DNS (FQDN) names. @@ -268,13 +268,15 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class AdvancedNetworkingSecurityTransitEncryption(_Model): # pylint: disable=name-too-long +class AdvancedNetworkingSecurityTransitEncryption( + _Model +): # pylint: disable=name-too-long,docstring-keyword-should-match-keyword-only """Encryption configuration for Cilium-based clusters. Once enabled all traffic between Cilium managed pods will be encrypted when it leaves the node boundary. :ivar type: Configures pod-to-pod encryption. This can be enabled only on Cilium-based - clusters. If not specified, the default value is None. Known values are: "WireGuard", "mTLS", - and "None". + clusters. If not specified, the default value is None. Known values are: "WireGuard" and + "None". :vartype type: str or ~azure.mgmt.containerservice.models.TransitEncryptionType """ @@ -282,7 +284,7 @@ class AdvancedNetworkingSecurityTransitEncryption(_Model): # pylint: disable=na visibility=["read", "create", "update", "delete", "query"] ) """Configures pod-to-pod encryption. This can be enabled only on Cilium-based clusters. If not - specified, the default value is None. Known values are: \"WireGuard\", \"mTLS\", and \"None\".""" + specified, the default value is None. Known values are: \"WireGuard\" and \"None\".""" @overload def __init__( @@ -347,7 +349,7 @@ class ProxyResource(Resource): """ -class AgentPool(ProxyResource): +class AgentPool(ProxyResource): # pylint: disable=docstring-keyword-should-match-keyword-only """Concrete proxy resource types can be created by aliasing this type using a specific property type. @@ -396,10 +398,7 @@ class AgentPool(ProxyResource): "orchestrator_version", "current_orchestrator_version", "node_image_version", - "upgrade_strategy", - "enable_os_disk_full_caching", "upgrade_settings", - "upgrade_settings_blue_green", "provisioning_state", "power_state", "availability_zones", @@ -411,7 +410,6 @@ class AgentPool(ProxyResource): "tags", "node_labels", "node_taints", - "node_initialization_taints", "proximity_placement_group_id", "kubelet_config", "linux_os_config", @@ -432,7 +430,6 @@ class AgentPool(ProxyResource): "virtual_machine_nodes_status", "status", "local_dns_profile", - "prepared_image_specification_profile", ] @overload @@ -471,7 +468,7 @@ def __setattr__(self, key: str, value: Any) -> None: super().__setattr__(key, value) -class AgentPoolArtifactStreamingProfile(_Model): +class AgentPoolArtifactStreamingProfile(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Artifact streaming profile for the agent pool. :ivar enabled: Artifact streaming speeds up the cold-start of containers on a node through @@ -503,7 +500,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class AgentPoolAvailableVersions(_Model): +class AgentPoolAvailableVersions(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """The list of available versions for an agent pool. :ivar id: The ID of the agent pool version list. @@ -565,7 +562,7 @@ def __setattr__(self, key: str, value: Any) -> None: super().__setattr__(key, value) -class AgentPoolAvailableVersionsProperties(_Model): +class AgentPoolAvailableVersionsProperties(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """The list of available agent pool versions. :ivar agent_pool_versions: List of versions available for agent pool. @@ -596,7 +593,9 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class AgentPoolAvailableVersionsPropertiesAgentPoolVersionsItem(_Model): # pylint: disable=name-too-long +class AgentPoolAvailableVersionsPropertiesAgentPoolVersionsItem( + _Model +): # pylint: disable=name-too-long,docstring-keyword-should-match-keyword-only """Available version information for an agent pool. :ivar default: Whether this version is the default agent pool version. @@ -638,84 +637,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class AgentPoolBlueGreenUpgradeSettings(_Model): - """Settings for blue-green upgrade on an agentpool. - - :ivar drain_batch_size: 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 - `_. - :vartype drain_batch_size: str - :ivar drain_timeout_in_minutes: 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. - :vartype drain_timeout_in_minutes: int - :ivar batch_soak_duration_in_minutes: 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. - :vartype batch_soak_duration_in_minutes: int - :ivar final_soak_duration_in_minutes: 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. - :vartype final_soak_duration_in_minutes: int - """ - - drain_batch_size: Optional[str] = rest_field( - name="drainBatchSize", visibility=["read", "create", "update", "delete", "query"] - ) - """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 - `_.""" - drain_timeout_in_minutes: Optional[int] = rest_field( - name="drainTimeoutInMinutes", visibility=["read", "create", "update", "delete", "query"] - ) - """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.""" - batch_soak_duration_in_minutes: Optional[int] = rest_field( - name="batchSoakDurationInMinutes", visibility=["read", "create", "update", "delete", "query"] - ) - """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.""" - final_soak_duration_in_minutes: Optional[int] = rest_field( - name="finalSoakDurationInMinutes", visibility=["read", "create", "update", "delete", "query"] - ) - """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.""" - - @overload - def __init__( - self, - *, - drain_batch_size: Optional[str] = None, - drain_timeout_in_minutes: Optional[int] = None, - batch_soak_duration_in_minutes: Optional[int] = None, - final_soak_duration_in_minutes: Optional[int] = None, - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: - """ - :param mapping: raw JSON to initialize the model. - :type mapping: Mapping[str, Any] - """ - - def __init__(self, *args: Any, **kwargs: Any) -> None: - super().__init__(*args, **kwargs) - - -class AgentPoolDeleteMachinesParameter(_Model): +class AgentPoolDeleteMachinesParameter(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Specifies a list of machine names from the agent pool to be deleted. :ivar machine_names: The agent pool machine names. Required. @@ -745,7 +667,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class AgentPoolGatewayProfile(_Model): +class AgentPoolGatewayProfile(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Profile of the managed cluster gateway agent pool. :ivar public_ip_prefix_size: The Gateway agent pool associates one public IPPrefix for each @@ -785,7 +707,9 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class AgentPoolManagedClusterAgentPoolProfileProperties(_Model): # pylint: disable=name-too-long +class AgentPoolManagedClusterAgentPoolProfileProperties( + _Model +): # pylint: disable=name-too-long,docstring-keyword-should-match-keyword-only """Properties for the container service agent pool profile. :ivar e_tag: Unique read-only string used to implement optimistic concurrency. The eTag value @@ -817,7 +741,7 @@ class AgentPoolManagedClusterAgentPoolProfileProperties(_Model): # pylint: disa root, and Kubelet ephemeral storage. Known values are: "OS" and "Temporary". :vartype kubelet_disk_type: str or ~azure.mgmt.containerservice.models.KubeletDiskType :ivar workload_runtime: Determines the type of workload a node can run. Known values are: - "OCIContainer", "WasmWasi", "KataMshvVmIsolation", and "KataVmIsolation". + "OCIContainer", "WasmWasi", and "KataVmIsolation". :vartype workload_runtime: str or ~azure.mgmt.containerservice.models.WorkloadRuntime :ivar message_of_the_day: 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 @@ -846,9 +770,9 @@ class AgentPoolManagedClusterAgentPoolProfileProperties(_Model): # pylint: disa :vartype os_type: str or ~azure.mgmt.containerservice.models.OSType :ivar os_sku: 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. Known values are: "Ubuntu", "AzureLinux", "AzureLinux3", "Mariner", - "Flatcar", "CBLMariner", "Windows2019", "Windows2022", "Ubuntu2204", "Windows2025", - "WindowsAnnual", "Ubuntu2404", and "AzureContainerLinux". + 1.25 if OSType is Windows. Known values are: "Ubuntu", "AzureLinux", "AzureLinux3", + "CBLMariner", "Windows2019", "Windows2022", "Ubuntu2204", "Windows2025", "Ubuntu2404", and + "AzureContainerLinux". :vartype os_sku: str or ~azure.mgmt.containerservice.models.OSSKU :ivar max_count: The maximum number of nodes for auto-scaling. :vartype max_count: int @@ -861,13 +785,13 @@ class AgentPoolManagedClusterAgentPoolProfileProperties(_Model): # pylint: disa are: "Delete" and "Deallocate". :vartype scale_down_mode: str or ~azure.mgmt.containerservice.models.ScaleDownMode :ivar type_properties_type: The type of Agent Pool. Known values are: - "VirtualMachineScaleSets", "AvailabilitySet", "VirtualMachines", and "FlexNodes". + "VirtualMachineScaleSets", "AvailabilitySet", and "VirtualMachines". :vartype type_properties_type: str or ~azure.mgmt.containerservice.models.AgentPoolType :ivar mode: 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 `_. Known values are: "System", "User", - "Gateway", "ManagedSystem", and "Machines". + and "Gateway". :vartype mode: str or ~azure.mgmt.containerservice.models.AgentPoolMode :ivar orchestrator_version: The version of Kubernetes specified by the user. Both patch version (e.g. 1.20.13) and (e.g. 1.20) are supported. When @@ -888,19 +812,8 @@ class AgentPoolManagedClusterAgentPoolProfileProperties(_Model): # pylint: disa :ivar node_image_version: The version of the node image. Setting this value triggers an agentPool rollback. Only values from ``recentlyUsedVersions`` are allowed. :vartype node_image_version: str - :ivar upgrade_strategy: Defines the upgrade strategy for the agent pool. The default is - Rolling. Known values are: "Rolling" and "BlueGreen". - :vartype upgrade_strategy: str or ~azure.mgmt.containerservice.models.UpgradeStrategy - :ivar enable_os_disk_full_caching: Whether to enable the full-cache ephemeral OS disk feature. - When this feature is enabled, the entire operating system will be locally cached on the - ephemeral OS disk, preventing E17 events caused by network failures. - :vartype enable_os_disk_full_caching: bool :ivar upgrade_settings: Settings for upgrading the agentpool. :vartype upgrade_settings: ~azure.mgmt.containerservice.models.AgentPoolUpgradeSettings - :ivar upgrade_settings_blue_green: Settings for Blue-Green upgrade on the agentpool. Applies - when upgrade strategy is set to BlueGreen. - :vartype upgrade_settings_blue_green: - ~azure.mgmt.containerservice.models.AgentPoolBlueGreenUpgradeSettings :ivar provisioning_state: The current deployment or provisioning state. :vartype provisioning_state: str :ivar power_state: Whether the Agent Pool is running or stopped. When an Agent Pool is first @@ -945,14 +858,6 @@ class AgentPoolManagedClusterAgentPoolProfileProperties(_Model): # pylint: disa :ivar node_taints: The taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule. :vartype node_taints: list[str] - :ivar node_initialization_taints: 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-``. - :vartype node_initialization_taints: list[str] :ivar proximity_placement_group_id: The ID for Proximity Placement Group. :vartype proximity_placement_group_id: str :ivar kubelet_config: The Kubelet configuration on the agent pool nodes. @@ -1016,10 +921,6 @@ class AgentPoolManagedClusterAgentPoolProfileProperties(_Model): # pylint: disa LocalDNS helps improve performance and reliability of DNS resolution in an AKS cluster. For more details see aka.ms/aks/localdns. :vartype local_dns_profile: ~azure.mgmt.containerservice.models.LocalDNSProfile - :ivar prepared_image_specification_profile: Settings to determine the prepared image - specification used to provision nodes in a pool. - :vartype prepared_image_specification_profile: - ~azure.mgmt.containerservice.models.PreparedImageSpecificationProfile """ e_tag: Optional[str] = rest_field(name="eTag", visibility=["read"]) @@ -1058,7 +959,7 @@ class AgentPoolManagedClusterAgentPoolProfileProperties(_Model): # pylint: disa name="workloadRuntime", visibility=["read", "create", "update", "delete", "query"] ) """Determines the type of workload a node can run. Known values are: \"OCIContainer\", - \"WasmWasi\", \"KataMshvVmIsolation\", and \"KataVmIsolation\".""" + \"WasmWasi\", and \"KataVmIsolation\".""" message_of_the_day: Optional[str] = rest_field( name="messageOfTheDay", visibility=["read", "create", "update", "delete", "query"] ) @@ -1096,9 +997,9 @@ class AgentPoolManagedClusterAgentPoolProfileProperties(_Model): # pylint: disa ) """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. Known values are: \"Ubuntu\", \"AzureLinux\", \"AzureLinux3\", \"Mariner\", - \"Flatcar\", \"CBLMariner\", \"Windows2019\", \"Windows2022\", \"Ubuntu2204\", \"Windows2025\", - \"WindowsAnnual\", \"Ubuntu2404\", and \"AzureContainerLinux\".""" + is Windows. Known values are: \"Ubuntu\", \"AzureLinux\", \"AzureLinux3\", \"CBLMariner\", + \"Windows2019\", \"Windows2022\", \"Ubuntu2204\", \"Windows2025\", \"Ubuntu2404\", and + \"AzureContainerLinux\".""" max_count: Optional[int] = rest_field(name="maxCount", visibility=["read", "create", "update", "delete", "query"]) """The maximum number of nodes for auto-scaling.""" min_count: Optional[int] = rest_field(name="minCount", visibility=["read", "create", "update", "delete", "query"]) @@ -1116,8 +1017,8 @@ class AgentPoolManagedClusterAgentPoolProfileProperties(_Model): # pylint: disa type_properties_type: Optional[Union[str, "_models.AgentPoolType"]] = rest_field( name="type", visibility=["read", "create", "update", "delete", "query"] ) - """The type of Agent Pool. Known values are: \"VirtualMachineScaleSets\", \"AvailabilitySet\", - \"VirtualMachines\", and \"FlexNodes\".""" + """The type of Agent Pool. Known values are: \"VirtualMachineScaleSets\", \"AvailabilitySet\", and + \"VirtualMachines\".""" mode: Optional[Union[str, "_models.AgentPoolMode"]] = rest_field( visibility=["read", "create", "update", "delete", "query"] ) @@ -1125,7 +1026,7 @@ class AgentPoolManagedClusterAgentPoolProfileProperties(_Model): # pylint: disa For additional information on agent pool restrictions and best practices, see: `https://docs.microsoft.com/azure/aks/use-system-pools `_. Known values are: \"System\", - \"User\", \"Gateway\", \"ManagedSystem\", and \"Machines\".""" + \"User\", and \"Gateway\".""" orchestrator_version: Optional[str] = rest_field( name="orchestratorVersion", visibility=["read", "create", "update", "delete", "query"] ) @@ -1149,26 +1050,10 @@ class AgentPoolManagedClusterAgentPoolProfileProperties(_Model): # pylint: disa ) """The version of the node image. Setting this value triggers an agentPool rollback. Only values from ``recentlyUsedVersions`` are allowed.""" - upgrade_strategy: Optional[Union[str, "_models.UpgradeStrategy"]] = rest_field( - name="upgradeStrategy", visibility=["read", "create", "update", "delete", "query"] - ) - """Defines the upgrade strategy for the agent pool. The default is Rolling. Known values are: - \"Rolling\" and \"BlueGreen\".""" - enable_os_disk_full_caching: Optional[bool] = rest_field( - name="enableOSDiskFullCaching", visibility=["read", "create", "update", "delete", "query"] - ) - """Whether to enable the full-cache ephemeral OS disk feature. When this feature is enabled, the - entire operating system will be locally cached on the ephemeral OS disk, preventing E17 events - caused by network failures.""" upgrade_settings: Optional["_models.AgentPoolUpgradeSettings"] = rest_field( name="upgradeSettings", visibility=["read", "create", "update", "delete", "query"] ) """Settings for upgrading the agentpool.""" - upgrade_settings_blue_green: Optional["_models.AgentPoolBlueGreenUpgradeSettings"] = rest_field( - name="upgradeSettingsBlueGreen", visibility=["read", "create", "update", "delete", "query"] - ) - """Settings for Blue-Green upgrade on the agentpool. Applies when upgrade strategy is set to - BlueGreen.""" provisioning_state: Optional[str] = rest_field(name="provisioningState", visibility=["read"]) """The current deployment or provisioning state.""" power_state: Optional["_models.PowerState"] = rest_field( @@ -1227,16 +1112,6 @@ class AgentPoolManagedClusterAgentPoolProfileProperties(_Model): # pylint: disa ) """The taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule.""" - node_initialization_taints: Optional[list[str]] = rest_field( - name="nodeInitializationTaints", visibility=["read", "create", "update", "delete", "query"] - ) - """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-``.""" proximity_placement_group_id: Optional[str] = rest_field( name="proximityPlacementGroupID", visibility=["read", "create", "update", "delete", "query"] ) @@ -1334,10 +1209,6 @@ class AgentPoolManagedClusterAgentPoolProfileProperties(_Model): # pylint: disa """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.""" - prepared_image_specification_profile: Optional["_models.PreparedImageSpecificationProfile"] = rest_field( - name="preparedImageSpecificationProfile", visibility=["read", "create", "update", "delete", "query"] - ) - """Settings to determine the prepared image specification used to provision nodes in a pool.""" @overload def __init__( # pylint: disable=too-many-locals @@ -1364,10 +1235,7 @@ def __init__( # pylint: disable=too-many-locals mode: Optional[Union[str, "_models.AgentPoolMode"]] = None, orchestrator_version: Optional[str] = None, node_image_version: Optional[str] = None, - upgrade_strategy: Optional[Union[str, "_models.UpgradeStrategy"]] = None, - enable_os_disk_full_caching: Optional[bool] = None, upgrade_settings: Optional["_models.AgentPoolUpgradeSettings"] = None, - upgrade_settings_blue_green: Optional["_models.AgentPoolBlueGreenUpgradeSettings"] = None, power_state: Optional["_models.PowerState"] = None, availability_zones: Optional[list[str]] = None, enable_node_public_ip: Optional[bool] = None, @@ -1378,7 +1246,6 @@ def __init__( # pylint: disable=too-many-locals tags: Optional[dict[str, str]] = None, node_labels: Optional[dict[str, str]] = None, node_taints: Optional[list[str]] = None, - node_initialization_taints: Optional[list[str]] = None, proximity_placement_group_id: Optional[str] = None, kubelet_config: Optional["_models.KubeletConfig"] = None, linux_os_config: Optional["_models.LinuxOSConfig"] = None, @@ -1399,62 +1266,6 @@ def __init__( # pylint: disable=too-many-locals virtual_machine_nodes_status: Optional[list["_models.VirtualMachineNodes"]] = None, status: Optional["_models.AgentPoolStatus"] = None, local_dns_profile: Optional["_models.LocalDNSProfile"] = None, - prepared_image_specification_profile: Optional["_models.PreparedImageSpecificationProfile"] = None, - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: - """ - :param mapping: raw JSON to initialize the model. - :type mapping: Mapping[str, Any] - """ - - def __init__(self, *args: Any, **kwargs: Any) -> None: - super().__init__(*args, **kwargs) - - -class AgentPoolNetworkInterface(_Model): - """Configuration of a secondary network interface provisioned on each VM instance in the agent - pool. For more information, see `https://aka.ms/aks/multi-nic `_. - - :ivar type: Type of NIC to be provisioned on the VM. Known values are: "Standard" and - "Dynamic". - :vartype type: str or ~azure.mgmt.containerservice.models.AgentPoolNetworkInterfaceType - :ivar vnet_subnet_id: The resource ID of the subnet which will be attached to the secondary - network interface. Required when ``type`` is ``Standard``; must be an empty string (``""``) or - omitted when ``type`` is ``Dynamic``. - :vartype vnet_subnet_id: str - :ivar enable_accelerated_networking: Whether accelerated networking is enabled on this - secondary NIC. If omitted, this defaults to true only when the agent pool VM SKU supports - accelerated networking. Validation will fail if it is enabled on an unsupported SKU or NIC - configuration. - :vartype enable_accelerated_networking: bool - """ - - type: Optional[Union[str, "_models.AgentPoolNetworkInterfaceType"]] = rest_field( - visibility=["read", "create", "update", "delete", "query"] - ) - """Type of NIC to be provisioned on the VM. Known values are: \"Standard\" and \"Dynamic\".""" - vnet_subnet_id: Optional[str] = rest_field( - name="vnetSubnetId", visibility=["read", "create", "update", "delete", "query"] - ) - """The resource ID of the subnet which will be attached to the secondary network interface. - Required when ``type`` is ``Standard``; must be an empty string (``\"\"``) or omitted when - ``type`` is ``Dynamic``.""" - enable_accelerated_networking: Optional[bool] = rest_field( - name="enableAcceleratedNetworking", visibility=["read", "create", "update", "delete", "query"] - ) - """Whether accelerated networking is enabled on this secondary NIC. If omitted, this defaults to - true only when the agent pool VM SKU supports accelerated networking. Validation will fail if - it is enabled on an unsupported SKU or NIC configuration.""" - - @overload - def __init__( - self, - *, - type: Optional[Union[str, "_models.AgentPoolNetworkInterfaceType"]] = None, - vnet_subnet_id: Optional[str] = None, - enable_accelerated_networking: Optional[bool] = None, ) -> None: ... @overload @@ -1468,50 +1279,23 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class AgentPoolNetworkProfile(_Model): +class AgentPoolNetworkProfile(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Network settings of an agent pool. :ivar node_public_ip_tags: IPTags of instance-level public IPs. :vartype node_public_ip_tags: list[~azure.mgmt.containerservice.models.IPTag] - :ivar node_public_ip_prefix_i_ds: The resource IDs of public IP prefixes for node public IPs. - At most one IPv4 and one IPv6 prefix may be specified. Order does not matter; the RP determines - IP version from the referenced resource's publicIPAddressVersion. Requires enableNodePublicIP - to be true on the agent pool. Mutually exclusive with the top-level nodePublicIPPrefixID - property. Immutable after node pool creation. To change prefixes, delete and recreate the node - pool. For more information, see `https://aka.ms/aks/ipv6-ilpip - `_. - :vartype node_public_ip_prefix_i_ds: list[str] :ivar allowed_host_ports: The port ranges that are allowed to access. The specified ranges are allowed to overlap. :vartype allowed_host_ports: list[~azure.mgmt.containerservice.models.PortRange] :ivar application_security_groups: The IDs of the application security groups which agent pool will associate when created. :vartype application_security_groups: list[str] - :ivar secondary_network_interfaces: Secondary network interface configurations for each VM in - the agent pool. Each entry is a template: one physical NIC per entry is provisioned on every VM - instance. These interfaces are created at agent pool creation time and are immutable. The - length of the list must be less than the NIC capacity minus 1 for the VM size of the agent pool - (AKS manages the primary NIC). For example, a Standard_D8a_v4 VM supports up to 4 NICs, so the - maximum number of secondary interfaces allowed is 3. For mixed-SKU VM pools the effective - capacity is the minimum across all SKUs: count(secondaryNetworkInterfaces) + 1 <= min(maxNICs). - For more information, see `https://aka.ms/aks/multi-nic `_. - :vartype secondary_network_interfaces: - list[~azure.mgmt.containerservice.models.AgentPoolNetworkInterface] """ node_public_ip_tags: Optional[list["_models.IPTag"]] = rest_field( name="nodePublicIPTags", visibility=["read", "create", "update", "delete", "query"] ) """IPTags of instance-level public IPs.""" - node_public_ip_prefix_i_ds: Optional[list[str]] = rest_field( - name="nodePublicIPPrefixIDs", visibility=["read", "create", "update", "delete", "query"] - ) - """The resource IDs of public IP prefixes for node public IPs. At most one IPv4 and one IPv6 - prefix may be specified. Order does not matter; the RP determines IP version from the - referenced resource's publicIPAddressVersion. Requires enableNodePublicIP to be true on the - agent pool. Mutually exclusive with the top-level nodePublicIPPrefixID property. Immutable - after node pool creation. To change prefixes, delete and recreate the node pool. For more - information, see `https://aka.ms/aks/ipv6-ilpip `_.""" allowed_host_ports: Optional[list["_models.PortRange"]] = rest_field( name="allowedHostPorts", visibility=["read", "create", "update", "delete", "query"] ) @@ -1520,27 +1304,14 @@ class AgentPoolNetworkProfile(_Model): name="applicationSecurityGroups", visibility=["read", "create", "update", "delete", "query"] ) """The IDs of the application security groups which agent pool will associate when created.""" - secondary_network_interfaces: Optional[list["_models.AgentPoolNetworkInterface"]] = rest_field( - name="secondaryNetworkInterfaces", visibility=["read", "create", "update", "delete", "query"] - ) - """Secondary network interface configurations for each VM in the agent pool. Each entry is a - template: one physical NIC per entry is provisioned on every VM instance. These interfaces are - created at agent pool creation time and are immutable. The length of the list must be less than - the NIC capacity minus 1 for the VM size of the agent pool (AKS manages the primary NIC). For - example, a Standard_D8a_v4 VM supports up to 4 NICs, so the maximum number of secondary - interfaces allowed is 3. For mixed-SKU VM pools the effective capacity is the minimum across - all SKUs: count(secondaryNetworkInterfaces) + 1 <= min(maxNICs). For more information, see - `https://aka.ms/aks/multi-nic `_.""" @overload def __init__( self, *, node_public_ip_tags: Optional[list["_models.IPTag"]] = None, - node_public_ip_prefix_i_ds: Optional[list[str]] = None, allowed_host_ports: Optional[list["_models.PortRange"]] = None, application_security_groups: Optional[list[str]] = None, - secondary_network_interfaces: Optional[list["_models.AgentPoolNetworkInterface"]] = None, ) -> None: ... @overload @@ -1554,7 +1325,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class AgentPoolRecentlyUsedVersion(_Model): +class AgentPoolRecentlyUsedVersion(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """A historical version that can be used for rollback operations. :ivar orchestrator_version: The Kubernetes version (major.minor.patch) available for rollback. @@ -1598,7 +1369,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class AgentPoolSecurityProfile(_Model): +class AgentPoolSecurityProfile(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """The security settings of an agent pool. :ivar enable_vtpm: vTPM is a Trusted Launch feature for configuring a dedicated secure vault @@ -1609,8 +1380,8 @@ class AgentPoolSecurityProfile(_Model): signed operating systems and drivers can boot. For more details, see aka.ms/aks/trustedlaunch. If not specified, the default is false. :vartype enable_secure_boot: bool - :ivar ssh_access: SSH access method of an agent pool. Known values are: "LocalUser", - "Disabled", and "EntraId". + :ivar ssh_access: SSH access method of an agent pool. Known values are: "LocalUser" and + "Disabled". :vartype ssh_access: str or ~azure.mgmt.containerservice.models.AgentPoolSSHAccess """ @@ -1629,8 +1400,7 @@ class AgentPoolSecurityProfile(_Model): ssh_access: Optional[Union[str, "_models.AgentPoolSSHAccess"]] = rest_field( name="sshAccess", visibility=["read", "create", "update", "delete", "query"] ) - """SSH access method of an agent pool. Known values are: \"LocalUser\", \"Disabled\", and - \"EntraId\".""" + """SSH access method of an agent pool. Known values are: \"LocalUser\" and \"Disabled\".""" @overload def __init__( @@ -1665,7 +1435,7 @@ class AgentPoolStatus(_Model): there was no error, this field is omitted.""" -class AgentPoolUpgradeProfile(ProxyResource): +class AgentPoolUpgradeProfile(ProxyResource): # pylint: disable=docstring-keyword-should-match-keyword-only """The list of available upgrades for an agent pool. :ivar id: Fully qualified resource ID for the resource. Ex - @@ -1692,7 +1462,6 @@ class AgentPoolUpgradeProfile(ProxyResource): "kubernetes_version", "os_type", "upgrades", - "components_by_releases", "recently_used_versions", "latest_node_image_version", ] @@ -1733,7 +1502,7 @@ def __setattr__(self, key: str, value: Any) -> None: super().__setattr__(key, value) -class AgentPoolUpgradeProfileProperties(_Model): +class AgentPoolUpgradeProfileProperties(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """The list of available upgrade versions. :ivar kubernetes_version: The Kubernetes version (major.minor.patch). Required. @@ -1744,8 +1513,6 @@ class AgentPoolUpgradeProfileProperties(_Model): :ivar upgrades: List of orchestrator types and versions available for upgrade. :vartype upgrades: list[~azure.mgmt.containerservice.models.AgentPoolUpgradeProfilePropertiesUpgradesItem] - :ivar components_by_releases: List of components grouped by kubernetes major.minor version. - :vartype components_by_releases: list[~azure.mgmt.containerservice.models.ComponentsByRelease] :ivar recently_used_versions: List of historical good versions for rollback operations. :vartype recently_used_versions: list[~azure.mgmt.containerservice.models.AgentPoolRecentlyUsedVersion] @@ -1766,10 +1533,6 @@ class AgentPoolUpgradeProfileProperties(_Model): visibility=["read", "create", "update", "delete", "query"] ) """List of orchestrator types and versions available for upgrade.""" - components_by_releases: Optional[list["_models.ComponentsByRelease"]] = rest_field( - name="componentsByReleases", visibility=["read", "create", "update", "delete", "query"] - ) - """List of components grouped by kubernetes major.minor version.""" recently_used_versions: Optional[list["_models.AgentPoolRecentlyUsedVersion"]] = rest_field( name="recentlyUsedVersions", visibility=["read"] ) @@ -1786,7 +1549,6 @@ def __init__( kubernetes_version: str, os_type: Union[str, "_models.OSType"], upgrades: Optional[list["_models.AgentPoolUpgradeProfilePropertiesUpgradesItem"]] = None, - components_by_releases: Optional[list["_models.ComponentsByRelease"]] = None, latest_node_image_version: Optional[str] = None, ) -> None: ... @@ -1801,15 +1563,15 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class AgentPoolUpgradeProfilePropertiesUpgradesItem(_Model): # pylint: disable=name-too-long +class AgentPoolUpgradeProfilePropertiesUpgradesItem( + _Model +): # pylint: disable=name-too-long,docstring-keyword-should-match-keyword-only """Available upgrades for an AgentPool. :ivar kubernetes_version: The Kubernetes version (major.minor.patch). :vartype kubernetes_version: str :ivar is_preview: Whether the Kubernetes version is currently in preview. :vartype is_preview: bool - :ivar is_out_of_support: Whether the Kubernetes version is out of support. - :vartype is_out_of_support: bool """ kubernetes_version: Optional[str] = rest_field( @@ -1820,10 +1582,6 @@ class AgentPoolUpgradeProfilePropertiesUpgradesItem(_Model): # pylint: disable= name="isPreview", visibility=["read", "create", "update", "delete", "query"] ) """Whether the Kubernetes version is currently in preview.""" - is_out_of_support: Optional[bool] = rest_field( - name="isOutOfSupport", visibility=["read", "create", "update", "delete", "query"] - ) - """Whether the Kubernetes version is out of support.""" @overload def __init__( @@ -1831,7 +1589,6 @@ def __init__( *, kubernetes_version: Optional[str] = None, is_preview: Optional[bool] = None, - is_out_of_support: Optional[bool] = None, ) -> None: ... @overload @@ -1845,7 +1602,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class AgentPoolUpgradeSettings(_Model): +class AgentPoolUpgradeSettings(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Settings for upgrading an agentpool. :ivar max_surge: The maximum number or percentage of nodes that are surged during upgrade. This @@ -1864,15 +1621,6 @@ class AgentPoolUpgradeSettings(_Model): `https://learn.microsoft.com/en-us/azure/aks/upgrade-cluster `_. :vartype max_unavailable: str - :ivar max_blocked_nodes: 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 - `_. - :vartype max_blocked_nodes: str :ivar drain_timeout_in_minutes: 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 @@ -1908,17 +1656,6 @@ class AgentPoolUpgradeSettings(_Model): For more information, including best practices, see: `https://learn.microsoft.com/en-us/azure/aks/upgrade-cluster `_.""" - max_blocked_nodes: Optional[str] = rest_field( - name="maxBlockedNodes", visibility=["read", "create", "update", "delete", "query"] - ) - """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 - `_.""" drain_timeout_in_minutes: Optional[int] = rest_field( name="drainTimeoutInMinutes", visibility=["read", "create", "update", "delete", "query"] ) @@ -1945,7 +1682,6 @@ def __init__( *, max_surge: Optional[str] = None, max_unavailable: Optional[str] = None, - max_blocked_nodes: Optional[str] = None, drain_timeout_in_minutes: Optional[int] = None, node_soak_duration_in_minutes: Optional[int] = None, undrainable_node_behavior: Optional[Union[str, "_models.UndrainableNodeBehavior"]] = None, @@ -1962,7 +1698,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class AgentPoolWindowsProfile(_Model): +class AgentPoolWindowsProfile(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """The Windows agent pool's specific profile. :ivar disable_outbound_nat: Whether to disable OutboundNAT in windows nodes. The default value @@ -1996,174 +1732,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class AlertConfiguration(ProxyResource): - """Alert configuration for a managed cluster. Allows configuring AKS-managed alerts that notify - users of important cluster events and conditions. - - :ivar id: Fully qualified resource ID for the resource. Ex - - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - :vartype id: str - :ivar name: The name of the resource. - :vartype name: str - :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or - "Microsoft.Storage/storageAccounts". - :vartype type: str - :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy - information. - :vartype system_data: ~azure.mgmt.containerservice.models.SystemData - :ivar properties: The resource-specific properties for this resource. - :vartype properties: ~azure.mgmt.containerservice.models.AlertConfigurationProperties - """ - - properties: Optional["_models.AlertConfigurationProperties"] = rest_field( - visibility=["read", "create", "update", "delete", "query"] - ) - """The resource-specific properties for this resource.""" - - @overload - def __init__( - self, - *, - properties: Optional["_models.AlertConfigurationProperties"] = None, - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: - """ - :param mapping: raw JSON to initialize the model. - :type mapping: Mapping[str, Any] - """ - - def __init__(self, *args: Any, **kwargs: Any) -> None: - super().__init__(*args, **kwargs) - - -class AlertConfigurationProperties(_Model): - """Properties of the alert configuration. - - :ivar mode: The mode of the alert configuration. Specifies how AKS manages the alerts. - Required. Known values are: "Disabled" and "Managed". - :vartype mode: str or ~azure.mgmt.containerservice.models.AlertConfigurationMode - :ivar notification: Notification settings for the alert configuration. Required. - :vartype notification: ~azure.mgmt.containerservice.models.AlertNotification - :ivar provisioning_state: The current provisioning state of the alert configuration. Known - values are: "Succeeded", "Failed", "Canceled", "Creating", "Updating", and "Deleting". - :vartype provisioning_state: str or - ~azure.mgmt.containerservice.models.AlertConfigurationProvisioningState - """ - - mode: Union[str, "_models.AlertConfigurationMode"] = rest_field( - visibility=["read", "create", "update", "delete", "query"] - ) - """The mode of the alert configuration. Specifies how AKS manages the alerts. Required. Known - values are: \"Disabled\" and \"Managed\".""" - notification: "_models.AlertNotification" = rest_field(visibility=["read", "create", "update", "delete", "query"]) - """Notification settings for the alert configuration. Required.""" - provisioning_state: Optional[Union[str, "_models.AlertConfigurationProvisioningState"]] = rest_field( - name="provisioningState", visibility=["read"] - ) - """The current provisioning state of the alert configuration. Known values are: \"Succeeded\", - \"Failed\", \"Canceled\", \"Creating\", \"Updating\", and \"Deleting\".""" - - @overload - def __init__( - self, - *, - mode: Union[str, "_models.AlertConfigurationMode"], - notification: "_models.AlertNotification", - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: - """ - :param mapping: raw JSON to initialize the model. - :type mapping: Mapping[str, Any] - """ - - def __init__(self, *args: Any, **kwargs: Any) -> None: - super().__init__(*args, **kwargs) - - -class AlertNotification(_Model): - """Notification settings for the alert configuration. - - :ivar action_group_id: The resource ID of the Azure Monitor action group to send notifications - to. Required. - :vartype action_group_id: str - """ - - action_group_id: str = rest_field(name="actionGroupId", visibility=["read", "create", "update", "delete", "query"]) - """The resource ID of the Azure Monitor action group to send notifications to. Required.""" - - @overload - def __init__( - self, - *, - action_group_id: str, - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: - """ - :param mapping: raw JSON to initialize the model. - :type mapping: Mapping[str, Any] - """ - - def __init__(self, *args: Any, **kwargs: Any) -> None: - super().__init__(*args, **kwargs) - - -class AllowedSubject(_Model): - """A subject authorized to use the identity binding for token exchange. The namespace selector is - required and must be non-empty. The service account selector is optional; when omitted, all - service accounts in matching namespaces are authorized. Selectors within a single - AllowedSubject are AND'd; multiple AllowedSubjects on an IdentityBinding are OR'd. - - :ivar namespace_selector: Label selector matching the namespaces in which this identity may be - used. Must be non-empty: an empty selector would match every namespace and is rejected to - prevent overly permissive bindings. Use the built-in ``kubernetes.io/metadata.name`` label to - target specific namespaces by name. Required. - :vartype namespace_selector: ~azure.mgmt.containerservice.models.LabelSelector - :ivar service_account_selector: Optional label selector matching the service accounts (within - the namespaces matched by ``namespaceSelector``) that may use this identity. When omitted, all - service accounts in matching namespaces are authorized. When provided, it must be non-empty. - :vartype service_account_selector: ~azure.mgmt.containerservice.models.LabelSelector - """ - - namespace_selector: "_models.LabelSelector" = rest_field( - name="namespaceSelector", visibility=["read", "create", "update", "delete", "query"] - ) - """Label selector matching the namespaces in which this identity may be used. Must be non-empty: - an empty selector would match every namespace and is rejected to prevent overly permissive - bindings. Use the built-in ``kubernetes.io/metadata.name`` label to target specific namespaces - by name. Required.""" - service_account_selector: Optional["_models.LabelSelector"] = rest_field( - name="serviceAccountSelector", visibility=["read", "create", "update", "delete", "query"] - ) - """Optional label selector matching the service accounts (within the namespaces matched by - ``namespaceSelector``) that may use this identity. When omitted, all service accounts in - matching namespaces are authorized. When provided, it must be non-empty.""" - - @overload - def __init__( - self, - *, - namespace_selector: "_models.LabelSelector", - service_account_selector: Optional["_models.LabelSelector"] = None, - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: - """ - :param mapping: raw JSON to initialize the model. - :type mapping: Mapping[str, Any] - """ - - def __init__(self, *args: Any, **kwargs: Any) -> None: - super().__init__(*args, **kwargs) - - -class AutoScaleProfile(_Model): +class AutoScaleProfile(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Specifications on auto-scaling. :ivar size: VM size that AKS will use when creating and scaling e.g. 'Standard_E4s_v3', @@ -2203,7 +1772,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class AzureKeyVaultKms(_Model): +class AzureKeyVaultKms(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Azure Key Vault key management service settings for the security profile. :ivar enabled: Whether to enable Azure Key Vault key management service. The default is false. @@ -2269,212 +1838,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class BastionProfile(_Model): - """Profile to enable managed Azure Bastion or reference to an existing Bastion for the managed - cluster. See `https://aka.ms/aks/BastionConnect `_ for more - details. - - :ivar enabled: Indicates whether managed bastion is enabled. - :vartype enabled: bool - :ivar bastion_id: The resource ID of the managed bastion associated with the managed cluster. - :vartype bastion_id: str - :ivar sku: The SKU of the managed bastion. - - Only Standard and Premium SKUs are supported. - SKU downgrading is not allowed. To downgrade SKU, please disable then re-enable the managed - bastion with new SKU. - - See `https://aka.ms/aks/BastionSKUs `_ for more details. Known - values are: "Standard" and "Premium". - :vartype sku: str or ~azure.mgmt.containerservice.models.BastionSku - :ivar scale_units: The scale units of the managed bastion. Default value is 2. - :vartype scale_units: int - :ivar public_ip_address_id: The resource ID of the public IP address associated with the - managed bastion. - - When provided during creation, the managed bastion will reference this existing public IP - address instead of creating a new one. - The referenced public IP address must be in the same subscription and region as the managed - cluster. - - When not provided during creation, AKS will automatically create a new public IP address. - - This field cannot be updated. To change IP address after creation, please disable and re-enable - the managed bastion with the new public IP address. - :vartype public_ip_address_id: str - """ - - enabled: Optional[bool] = rest_field(visibility=["read", "create", "update", "delete", "query"]) - """Indicates whether managed bastion is enabled.""" - bastion_id: Optional[str] = rest_field(name="bastionId", visibility=["read"]) - """The resource ID of the managed bastion associated with the managed cluster.""" - sku: Optional[Union[str, "_models.BastionSku"]] = rest_field( - visibility=["read", "create", "update", "delete", "query"] - ) - """The SKU of the managed bastion. - - Only Standard and Premium SKUs are supported. - SKU downgrading is not allowed. To downgrade SKU, please disable then re-enable the managed - bastion with new SKU. - - See `https://aka.ms/aks/BastionSKUs `_ for more details. Known - values are: \"Standard\" and \"Premium\".""" - scale_units: Optional[int] = rest_field( - name="scaleUnits", visibility=["read", "create", "update", "delete", "query"] - ) - """The scale units of the managed bastion. Default value is 2.""" - public_ip_address_id: Optional[str] = rest_field(name="publicIpAddressId", visibility=["read", "create"]) - """The resource ID of the public IP address associated with the managed bastion. - - When provided during creation, the managed bastion will reference this existing public IP - address instead of creating a new one. - The referenced public IP address must be in the same subscription and region as the managed - cluster. - - When not provided during creation, AKS will automatically create a new public IP address. - - This field cannot be updated. To change IP address after creation, please disable and re-enable - the managed bastion with the new public IP address.""" - - @overload - def __init__( - self, - *, - enabled: Optional[bool] = None, - sku: Optional[Union[str, "_models.BastionSku"]] = None, - scale_units: Optional[int] = None, - public_ip_address_id: Optional[str] = None, - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: - """ - :param mapping: raw JSON to initialize the model. - :type mapping: Mapping[str, Any] - """ - - def __init__(self, *args: Any, **kwargs: Any) -> None: - super().__init__(*args, **kwargs) - - -class BootstrapAzureConfig(_Model): - """Azure configuration returned as part of FlexNode bootstrap data. - - :ivar resource_manager_endpoint: Azure Resource Manager endpoint for the cloud environment. - :vartype resource_manager_endpoint: str - :ivar target_cluster: Target cluster identity. - :vartype target_cluster: ~azure.mgmt.containerservice.models.BootstrapTargetCluster - :ivar target_agent_pool_name: Target agent pool name. - :vartype target_agent_pool_name: str - :ivar bootstrap_token: Bootstrap token for node enrollment. Do not cache or log. - :vartype bootstrap_token: ~azure.mgmt.containerservice.models.BootstrapTokenInfo - """ - - resource_manager_endpoint: Optional[str] = rest_field(name="resourceManagerEndpoint", visibility=["read"]) - """Azure Resource Manager endpoint for the cloud environment.""" - target_cluster: Optional["_models.BootstrapTargetCluster"] = rest_field(name="targetCluster", visibility=["read"]) - """Target cluster identity.""" - target_agent_pool_name: Optional[str] = rest_field(name="targetAgentPoolName", visibility=["read"]) - """Target agent pool name.""" - bootstrap_token: Optional["_models.BootstrapTokenInfo"] = rest_field(name="bootstrapToken", visibility=["read"]) - """Bootstrap token for node enrollment. Do not cache or log.""" - - -class BootstrapComponentVersions(_Model): - """Component versions returned as part of FlexNode bootstrap data. - - :ivar kubernetes: Kubernetes version. - :vartype kubernetes: str - :ivar containerd: Containerd version. - :vartype containerd: str - :ivar runc: Runc version. - :vartype runc: str - """ - - kubernetes: Optional[str] = rest_field(visibility=["read"]) - """Kubernetes version.""" - containerd: Optional[str] = rest_field(visibility=["read"]) - """Containerd version.""" - runc: Optional[str] = rest_field(visibility=["read"]) - """Runc version.""" - - -class BootstrapKubeletConfig(_Model): - """Kubelet configuration returned as part of FlexNode bootstrap data. - - :ivar cluster_fqdn: FQDN of the Kubernetes API server. - :vartype cluster_fqdn: str - :ivar ca_cert_data: Base64-encoded PEM certificate of the cluster CA. Do not cache or log. - :vartype ca_cert_data: str - """ - - cluster_fqdn: Optional[str] = rest_field(name="clusterFQDN", visibility=["read"]) - """FQDN of the Kubernetes API server.""" - ca_cert_data: Optional[str] = rest_field(name="caCertData", visibility=["read"]) - """Base64-encoded PEM certificate of the cluster CA. Do not cache or log.""" - - -class BootstrapNetworkingConfig(_Model): - """Network configuration returned as part of FlexNode bootstrap data. - - :ivar dns_service_ip: IP address of the cluster DNS service. - :vartype dns_service_ip: str - :ivar cni_version: CNI plugin version. - :vartype cni_version: str - """ - - dns_service_ip: Optional[str] = rest_field(name="dnsServiceIP", visibility=["read"]) - """IP address of the cluster DNS service.""" - cni_version: Optional[str] = rest_field(name="cniVersion", visibility=["read"]) - """CNI plugin version.""" - - -class BootstrapNodeConfig(_Model): - """Node configuration returned as part of FlexNode bootstrap data. - - :ivar max_pods: Maximum pods per node. - :vartype max_pods: int - :ivar labels: Node labels to apply during registration. - :vartype labels: dict[str, str] - :ivar taints: Node taints in the format 'key=value:effect'. - :vartype taints: list[str] - :ivar kubelet: Kubelet configuration. - :vartype kubelet: ~azure.mgmt.containerservice.models.BootstrapKubeletConfig - """ - - max_pods: Optional[int] = rest_field(name="maxPods", visibility=["read"]) - """Maximum pods per node.""" - labels: Optional[dict[str, str]] = rest_field(visibility=["read"]) - """Node labels to apply during registration.""" - taints: Optional[list[str]] = rest_field(visibility=["read"]) - """Node taints in the format 'key=value:effect'.""" - kubelet: Optional["_models.BootstrapKubeletConfig"] = rest_field(visibility=["read"]) - """Kubelet configuration.""" - - -class BootstrapTargetCluster(_Model): - """Target AKS cluster for FlexNode bootstrap. - - :ivar resource_id: Azure resource ID of the target AKS cluster. - :vartype resource_id: str - """ - - resource_id: Optional[str] = rest_field(name="resourceId", visibility=["read"]) - """Azure resource ID of the target AKS cluster.""" - - -class BootstrapTokenInfo(_Model): - """Bootstrap token information. - - :ivar token: Short-lived bootstrap token for kubelet. Do not cache or log. - :vartype token: str - """ - - token: Optional[str] = rest_field(visibility=["read"]) - """Short-lived bootstrap token for kubelet. Do not cache or log.""" - - -class ClusterUpgradeSettings(_Model): +class ClusterUpgradeSettings(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Settings for upgrading a cluster. :ivar override_settings: Settings for overrides. @@ -2535,7 +1899,7 @@ class CommandResultProperties(_Model): """An explanation of why provisioningState is set to failed (if so).""" -class CompatibleVersions(_Model): +class CompatibleVersions(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Version information about a product/service that is compatible with a service mesh revision. :ivar name: The product/service name. @@ -2568,91 +1932,8 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class Component(_Model): - """Component information for a Kubernetes version. - - :ivar name: Component name. - :vartype name: str - :ivar version: Component version. - :vartype version: str - :ivar has_breaking_changes: 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 - `_. - :vartype has_breaking_changes: bool - """ - - name: Optional[str] = rest_field(visibility=["read", "create", "update", "delete", "query"]) - """Component name.""" - version: Optional[str] = rest_field(visibility=["read", "create", "update", "delete", "query"]) - """Component version.""" - has_breaking_changes: Optional[bool] = rest_field( - name="hasBreakingChanges", visibility=["read", "create", "update", "delete", "query"] - ) - """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 - `_.""" - - @overload - def __init__( - self, - *, - name: Optional[str] = None, - version: Optional[str] = None, - has_breaking_changes: Optional[bool] = None, - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: - """ - :param mapping: raw JSON to initialize the model. - :type mapping: Mapping[str, Any] - """ - - def __init__(self, *args: Any, **kwargs: Any) -> None: - super().__init__(*args, **kwargs) - - -class ComponentsByRelease(_Model): - """components of given Kubernetes version. - - :ivar kubernetes_version: The Kubernetes version (major.minor). - :vartype kubernetes_version: str - :ivar components: components of current or upgraded Kubernetes version in the cluster. - :vartype components: list[~azure.mgmt.containerservice.models.Component] - """ - - kubernetes_version: Optional[str] = rest_field( - name="kubernetesVersion", visibility=["read", "create", "update", "delete", "query"] - ) - """The Kubernetes version (major.minor).""" - components: Optional[list["_models.Component"]] = rest_field( - visibility=["read", "create", "update", "delete", "query"] - ) - """components of current or upgraded Kubernetes version in the cluster.""" - - @overload - def __init__( - self, - *, - kubernetes_version: Optional[str] = None, - components: Optional[list["_models.Component"]] = None, - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: - """ - :param mapping: raw JSON to initialize the model. - :type mapping: Mapping[str, Any] - """ - - def __init__(self, *args: Any, **kwargs: Any) -> None: - super().__init__(*args, **kwargs) - - -class ContainerServiceLinuxProfile(_Model): - """Profile for Linux VMs in the container service cluster. +class ContainerServiceLinuxProfile(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only + """Profile for Linux VMs in the container service cluster. :ivar admin_username: The administrator username to use for Linux VMs. Required. :vartype admin_username: str @@ -2686,7 +1967,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class ContainerServiceNetworkProfile(_Model): +class ContainerServiceNetworkProfile(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Profile of network configuration. :ivar network_plugin: Network plugin used for building the Kubernetes network. Known values @@ -2717,30 +1998,19 @@ class ContainerServiceNetworkProfile(_Model): :ivar outbound_type: 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 `_. Known values are: "loadBalancer", - "userDefinedRouting", "managedNATGateway", "managedNATGatewayV2", "userAssignedNATGateway", and - "none". + "userDefinedRouting", "managedNATGateway", "userAssignedNATGateway", and "none". :vartype outbound_type: str or ~azure.mgmt.containerservice.models.OutboundType :ivar load_balancer_sku: The load balancer sku for the managed cluster. The default is 'standard'. See `Azure Load Balancer SKUs `_ for more information about the - differences between load balancer SKUs. Known values are: "service", "standard", and "basic". + differences between load balancer SKUs. Known values are: "standard" and "basic". :vartype load_balancer_sku: str or ~azure.mgmt.containerservice.models.LoadBalancerSku :ivar load_balancer_profile: Profile of the cluster load balancer. :vartype load_balancer_profile: ~azure.mgmt.containerservice.models.ManagedClusterLoadBalancerProfile - :ivar bastion_profile: Profile of the Bastion Host associated with the managed cluster. See - `https://aka.ms/aks/BastionConnect `_ for more details. - :vartype bastion_profile: ~azure.mgmt.containerservice.models.BastionProfile :ivar nat_gateway_profile: Profile of the cluster NAT gateway. :vartype nat_gateway_profile: ~azure.mgmt.containerservice.models.ManagedClusterNATGatewayProfile - :ivar nat_gateway_id: The Azure resource ID of the NAT gateway to use for egress at cluster - startup when outboundType is 'userAssignedNATGateway' using StandardV2 Public IP, backend pool - type is podIP, and load balancer type is service SKU. This is of the form: - '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/natGateways/{natGatewayName}'. - When using managed NATGateway this field is auto populated. For more information, see - `https://aka.ms/aks/container-native-slb `_. - :vartype nat_gateway_id: str :ivar static_egress_gateway_profile: The profile for Static Egress Gateway addon. For more details about Static Egress Gateway, see `https://aka.ms/aks/static-egress-gateway `_. @@ -2759,17 +2029,6 @@ class ContainerServiceNetworkProfile(_Model): 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. :vartype ip_families: list[str or ~azure.mgmt.containerservice.models.IPFamily] - :ivar pod_link_local_access: 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'. Known values are: "IMDS" and "None". - :vartype pod_link_local_access: str or ~azure.mgmt.containerservice.models.PodLinkLocalAccess - :ivar kube_proxy_config: 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'. - :vartype kube_proxy_config: - ~azure.mgmt.containerservice.models.ContainerServiceNetworkProfileKubeProxyConfig """ network_plugin: Optional[Union[str, "_models.NetworkPlugin"]] = rest_field( @@ -2818,35 +2077,22 @@ class ContainerServiceNetworkProfile(_Model): """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 `_. Known values are: - \"loadBalancer\", \"userDefinedRouting\", \"managedNATGateway\", \"managedNATGatewayV2\", - \"userAssignedNATGateway\", and \"none\".""" + \"loadBalancer\", \"userDefinedRouting\", \"managedNATGateway\", \"userAssignedNATGateway\", + and \"none\".""" load_balancer_sku: Optional[Union[str, "_models.LoadBalancerSku"]] = rest_field( name="loadBalancerSku", visibility=["read", "create", "update", "delete", "query"] ) """The load balancer sku for the managed cluster. The default is 'standard'. See `Azure Load Balancer SKUs `_ for more information - about the differences between load balancer SKUs. Known values are: \"service\", \"standard\", - and \"basic\".""" + about the differences between load balancer SKUs. Known values are: \"standard\" and \"basic\".""" load_balancer_profile: Optional["_models.ManagedClusterLoadBalancerProfile"] = rest_field( name="loadBalancerProfile", visibility=["read", "create", "update", "delete", "query"] ) """Profile of the cluster load balancer.""" - bastion_profile: Optional["_models.BastionProfile"] = rest_field( - name="bastionProfile", visibility=["read", "create", "update", "delete", "query"] - ) - """Profile of the Bastion Host associated with the managed cluster. See - `https://aka.ms/aks/BastionConnect `_ for more details.""" nat_gateway_profile: Optional["_models.ManagedClusterNATGatewayProfile"] = rest_field( name="natGatewayProfile", visibility=["read", "create", "update", "delete", "query"] ) """Profile of the cluster NAT gateway.""" - nat_gateway_id: Optional[str] = rest_field(name="natGatewayId", visibility=["read", "create"]) - """The Azure resource ID of the NAT gateway to use for egress at cluster startup when outboundType - is 'userAssignedNATGateway' using StandardV2 Public IP, backend pool type is podIP, and load - balancer type is service SKU. This is of the form: - '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/natGateways/{natGatewayName}'. - When using managed NATGateway this field is auto populated. For more information, see - `https://aka.ms/aks/container-native-slb `_.""" static_egress_gateway_profile: Optional["_models.ManagedClusterStaticEgressGatewayProfile"] = rest_field( name="staticEgressGatewayProfile", visibility=["read", "create", "update", "delete", "query"] ) @@ -2870,20 +2116,6 @@ class ContainerServiceNetworkProfile(_Model): """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.""" - pod_link_local_access: Optional[Union[str, "_models.PodLinkLocalAccess"]] = rest_field( - name="podLinkLocalAccess", visibility=["read", "create", "update", "delete", "query"] - ) - """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'. Known values are: - \"IMDS\" and \"None\".""" - kube_proxy_config: Optional["_models.ContainerServiceNetworkProfileKubeProxyConfig"] = rest_field( - name="kubeProxyConfig", visibility=["read", "create", "update", "delete", "query"] - ) - """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'.""" @overload def __init__( @@ -2901,126 +2133,11 @@ def __init__( outbound_type: Optional[Union[str, "_models.OutboundType"]] = None, load_balancer_sku: Optional[Union[str, "_models.LoadBalancerSku"]] = None, load_balancer_profile: Optional["_models.ManagedClusterLoadBalancerProfile"] = None, - bastion_profile: Optional["_models.BastionProfile"] = None, nat_gateway_profile: Optional["_models.ManagedClusterNATGatewayProfile"] = None, - nat_gateway_id: Optional[str] = None, static_egress_gateway_profile: Optional["_models.ManagedClusterStaticEgressGatewayProfile"] = None, pod_cidrs: Optional[list[str]] = None, service_cidrs: Optional[list[str]] = None, ip_families: Optional[list[Union[str, "_models.IPFamily"]]] = None, - pod_link_local_access: Optional[Union[str, "_models.PodLinkLocalAccess"]] = None, - kube_proxy_config: Optional["_models.ContainerServiceNetworkProfileKubeProxyConfig"] = None, - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: - """ - :param mapping: raw JSON to initialize the model. - :type mapping: Mapping[str, Any] - """ - - def __init__(self, *args: Any, **kwargs: Any) -> None: - super().__init__(*args, **kwargs) - - -class ContainerServiceNetworkProfileKubeProxyConfig(_Model): # pylint: disable=name-too-long - """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'. - - :ivar enabled: Whether to enable on kube-proxy on the cluster (if no 'kubeProxyConfig' exists, - kube-proxy is enabled in AKS by default without these customizations). - :vartype enabled: bool - :ivar mode: Specify which proxy mode to use ('IPTABLES', 'IPVS' or 'NFTABLES'). Known values - are: "IPTABLES", "IPVS", and "NFTABLES". - :vartype mode: str or ~azure.mgmt.containerservice.models.Mode - :ivar ipvs_config: Holds configuration customizations for IPVS. May only be specified if 'mode' - is set to 'IPVS'. - :vartype ipvs_config: - ~azure.mgmt.containerservice.models.ContainerServiceNetworkProfileKubeProxyConfigIpvsConfig - """ - - enabled: Optional[bool] = rest_field(visibility=["read", "create", "update", "delete", "query"]) - """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: Optional[Union[str, "_models.Mode"]] = rest_field(visibility=["read", "create", "update", "delete", "query"]) - """Specify which proxy mode to use ('IPTABLES', 'IPVS' or 'NFTABLES'). Known values are: - \"IPTABLES\", \"IPVS\", and \"NFTABLES\".""" - ipvs_config: Optional["_models.ContainerServiceNetworkProfileKubeProxyConfigIpvsConfig"] = rest_field( - name="ipvsConfig", visibility=["read", "create", "update", "delete", "query"] - ) - """Holds configuration customizations for IPVS. May only be specified if 'mode' is set to 'IPVS'.""" - - @overload - def __init__( - self, - *, - enabled: Optional[bool] = None, - mode: Optional[Union[str, "_models.Mode"]] = None, - ipvs_config: Optional["_models.ContainerServiceNetworkProfileKubeProxyConfigIpvsConfig"] = None, - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: - """ - :param mapping: raw JSON to initialize the model. - :type mapping: Mapping[str, Any] - """ - - def __init__(self, *args: Any, **kwargs: Any) -> None: - super().__init__(*args, **kwargs) - - -class ContainerServiceNetworkProfileKubeProxyConfigIpvsConfig(_Model): # pylint: disable=name-too-long - """Holds configuration customizations for IPVS. May only be specified if 'mode' is set to 'IPVS'. - - :ivar scheduler: IPVS scheduler, for more information please see - `http://www.linuxvirtualserver.org/docs/scheduling.html - `_. Known values are: "RoundRobin" and - "LeastConnection". - :vartype scheduler: str or ~azure.mgmt.containerservice.models.IpvsScheduler - :ivar tcp_timeout_seconds: The timeout value used for idle IPVS TCP sessions in seconds. Must - be a positive integer value. - :vartype tcp_timeout_seconds: int - :ivar tcp_fin_timeout_seconds: The timeout value used for IPVS TCP sessions after receiving a - FIN in seconds. Must be a positive integer value. - :vartype tcp_fin_timeout_seconds: int - :ivar udp_timeout_seconds: The timeout value used for IPVS UDP packets in seconds. Must be a - positive integer value. - :vartype udp_timeout_seconds: int - """ - - scheduler: Optional[Union[str, "_models.IpvsScheduler"]] = rest_field( - visibility=["read", "create", "update", "delete", "query"] - ) - """IPVS scheduler, for more information please see - `http://www.linuxvirtualserver.org/docs/scheduling.html - `_. Known values are: \"RoundRobin\" - and \"LeastConnection\".""" - tcp_timeout_seconds: Optional[int] = rest_field( - name="tcpTimeoutSeconds", visibility=["read", "create", "update", "delete", "query"] - ) - """The timeout value used for idle IPVS TCP sessions in seconds. Must be a positive integer value.""" - tcp_fin_timeout_seconds: Optional[int] = rest_field( - name="tcpFinTimeoutSeconds", visibility=["read", "create", "update", "delete", "query"] - ) - """The timeout value used for IPVS TCP sessions after receiving a FIN in seconds. Must be a - positive integer value.""" - udp_timeout_seconds: Optional[int] = rest_field( - name="udpTimeoutSeconds", visibility=["read", "create", "update", "delete", "query"] - ) - """The timeout value used for IPVS UDP packets in seconds. Must be a positive integer value.""" - - @overload - def __init__( - self, - *, - scheduler: Optional[Union[str, "_models.IpvsScheduler"]] = None, - tcp_timeout_seconds: Optional[int] = None, - tcp_fin_timeout_seconds: Optional[int] = None, - udp_timeout_seconds: Optional[int] = None, ) -> None: ... @overload @@ -3034,7 +2151,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class ContainerServiceSshConfiguration(_Model): +class ContainerServiceSshConfiguration(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """SSH configuration for Linux-based VMs running on Azure. :ivar public_keys: The list of SSH public keys used to authenticate with Linux-based VMs. A @@ -3066,7 +2183,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class ContainerServiceSshPublicKey(_Model): +class ContainerServiceSshPublicKey(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Contains information about SSH certificate public key data. :ivar key_data: Certificate public key used to authenticate with VMs through SSH. The @@ -3096,7 +2213,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class CreationData(_Model): +class CreationData(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Data used when creating a target resource from a source resource. :ivar source_resource_id: This is the ARM ID of the source object to be used to create the @@ -3153,7 +2270,7 @@ class CredentialResults(_Model): """Base64-encoded Kubernetes configuration file.""" -class DailySchedule(_Model): +class DailySchedule(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """For schedules like: 'recur every day' or 'recur every 3 days'. :ivar interval_days: Specifies the number of days between each set of occurrences. Required. @@ -3181,7 +2298,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class DateSpan(_Model): +class DateSpan(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """A date range. For example, between '2022-12-23' and '2023-01-05'. :ivar start: The start date of the date span. Required. @@ -3214,7 +2331,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class DelegatedResource(_Model): +class DelegatedResource(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Delegated resource properties - internal use only. :ivar resource_id: The ARM resource id of the delegated resource - internal use only. @@ -3262,7 +2379,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class EndpointDependency(_Model): +class EndpointDependency(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """A domain name that AKS agent nodes are reaching at. :ivar domain_name: The domain name of the dependency. @@ -3299,7 +2416,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class EndpointDetail(_Model): +class EndpointDetail(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """connect information from the AKS agent nodes to a single endpoint. :ivar ip_address: An IP Address that Domain Name currently resolves to. @@ -3386,7 +2503,7 @@ class ErrorDetail(_Model): """The error additional info.""" -class ErrorResponse(_Model): +class ErrorResponse(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Error response. :ivar error: The error object. @@ -3414,7 +2531,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class ExtendedLocation(_Model): +class ExtendedLocation(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """The complex type of the extended location. :ivar name: The name of the extended location. @@ -3449,20 +2566,12 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class GPUProfile(_Model): +class GPUProfile(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """GPU settings for the Agent Pool. :ivar driver: Whether to install GPU drivers. When it's not specified, default is Install. Known values are: "Install" and "None". :vartype driver: str or ~azure.mgmt.containerservice.models.GPUDriver - :ivar driver_type: 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. Known values are: "GRID" and - "CUDA". - :vartype driver_type: str or ~azure.mgmt.containerservice.models.DriverType - :ivar nvidia: NVIDIA-specific GPU settings. - :vartype nvidia: ~azure.mgmt.containerservice.models.NvidiaGPUProfile """ driver: Optional[Union[str, "_models.GPUDriver"]] = rest_field( @@ -3470,142 +2579,12 @@ class GPUProfile(_Model): ) """Whether to install GPU drivers. When it's not specified, default is Install. Known values are: \"Install\" and \"None\".""" - driver_type: Optional[Union[str, "_models.DriverType"]] = rest_field( - name="driverType", visibility=["read", "create", "update", "delete", "query"] - ) - """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. Known values are: \"GRID\" and \"CUDA\".""" - nvidia: Optional["_models.NvidiaGPUProfile"] = rest_field( - visibility=["read", "create", "update", "delete", "query"] - ) - """NVIDIA-specific GPU settings.""" @overload def __init__( self, *, driver: Optional[Union[str, "_models.GPUDriver"]] = None, - driver_type: Optional[Union[str, "_models.DriverType"]] = None, - nvidia: Optional["_models.NvidiaGPUProfile"] = None, - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: - """ - :param mapping: raw JSON to initialize the model. - :type mapping: Mapping[str, Any] - """ - - def __init__(self, *args: Any, **kwargs: Any) -> None: - super().__init__(*args, **kwargs) - - -class GuardrailsAvailableVersion(ProxyResource): - """Available Guardrails Version. - - :ivar id: Fully qualified resource ID for the resource. Ex - - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - :vartype id: str - :ivar name: The name of the resource. - :vartype name: str - :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or - "Microsoft.Storage/storageAccounts". - :vartype type: str - :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy - information. - :vartype system_data: ~azure.mgmt.containerservice.models.SystemData - :ivar properties: Whether the version is default or not and support info. Required. - :vartype properties: ~azure.mgmt.containerservice.models.GuardrailsAvailableVersionsProperties - """ - - properties: "_models.GuardrailsAvailableVersionsProperties" = rest_field( - visibility=["read", "create", "update", "delete", "query"] - ) - """Whether the version is default or not and support info. Required.""" - - @overload - def __init__( - self, - *, - properties: "_models.GuardrailsAvailableVersionsProperties", - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: - """ - :param mapping: raw JSON to initialize the model. - :type mapping: Mapping[str, Any] - """ - - def __init__(self, *args: Any, **kwargs: Any) -> None: - super().__init__(*args, **kwargs) - - -class GuardrailsAvailableVersionsProperties(_Model): - """Whether the version is default or not and support info. - - :ivar is_default_version: Whether this is the default version. - :vartype is_default_version: bool - :ivar support: Whether the version is preview or stable. Known values are: "Preview" and - "Stable". - :vartype support: str or ~azure.mgmt.containerservice.models.GuardrailsSupport - """ - - is_default_version: Optional[bool] = rest_field(name="isDefaultVersion", visibility=["read"]) - """Whether this is the default version.""" - support: Optional[Union[str, "_models.GuardrailsSupport"]] = rest_field(visibility=["read"]) - """Whether the version is preview or stable. Known values are: \"Preview\" and \"Stable\".""" - - -class HardEvictionThreshold(_Model): - """Hard eviction thresholds for kubelet. These thresholds trigger pod eviction when node resources - drop below the specified values. Values must be greater than or equal to the documented - minimums for each signal. Supported formats are Ki, Mi, Gi, or percentages using %. - - :ivar memory_available: The threshold for available memory below which pod eviction is - triggered. Accepts absolute values (e.g. '500Mi') or percentage values (e.g. '5%'). Absolute - values must be greater than or equal to 100Mi. Percentage values must be greater than or equal - to 2%. - :vartype memory_available: str - :ivar node_fs_available: The threshold for available node filesystem space below which pod - eviction is triggered. Accepts absolute values (e.g. '1Gi') or percentage values (e.g. '10%'). - Must be greater than or equal to the system default of 10%. - :vartype node_fs_available: str - :ivar node_fs_inodes_free: The threshold for available inodes on the node filesystem below - which pod eviction is triggered. Accepts absolute inode counts (e.g. '100000') or percentage - values (e.g. '5%'). Percentage values must be greater than or equal to the system default of - 5%. - :vartype node_fs_inodes_free: str - """ - - memory_available: Optional[str] = rest_field( - name="memoryAvailable", visibility=["read", "create", "update", "delete", "query"] - ) - """The threshold for available memory below which pod eviction is triggered. Accepts absolute - values (e.g. '500Mi') or percentage values (e.g. '5%'). Absolute values must be greater than or - equal to 100Mi. Percentage values must be greater than or equal to 2%.""" - node_fs_available: Optional[str] = rest_field( - name="nodeFsAvailable", visibility=["read", "create", "update", "delete", "query"] - ) - """The threshold for available node filesystem space below which pod eviction is triggered. - Accepts absolute values (e.g. '1Gi') or percentage values (e.g. '10%'). Must be greater than or - equal to the system default of 10%.""" - node_fs_inodes_free: Optional[str] = rest_field( - name="nodeFsInodesFree", visibility=["read", "create", "update", "delete", "query"] - ) - """The threshold for available inodes on the node filesystem below which pod eviction is - triggered. Accepts absolute inode counts (e.g. '100000') or percentage values (e.g. '5%'). - Percentage values must be greater than or equal to the system default of 5%.""" - - @overload - def __init__( - self, - *, - memory_available: Optional[str] = None, - node_fs_available: Optional[str] = None, - node_fs_inodes_free: Optional[str] = None, ) -> None: ... @overload @@ -3619,7 +2598,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class IdentityBinding(ProxyResource): +class IdentityBinding(ProxyResource): # pylint: disable=docstring-keyword-should-match-keyword-only """The IdentityBinding resource. :ivar id: Fully qualified resource ID for the resource. Ex - @@ -3670,7 +2649,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class IdentityBindingManagedIdentityProfile(_Model): +class IdentityBindingManagedIdentityProfile(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Managed identity profile for the identity binding. :ivar resource_id: The resource ID of the managed identity. Required. @@ -3721,7 +2700,7 @@ class IdentityBindingOidcIssuerProfile(_Model): """The OIDC issuer URL of the IdentityBinding.""" -class IdentityBindingProperties(_Model): +class IdentityBindingProperties(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """IdentityBinding properties. :ivar managed_identity: Managed identity profile for the identity binding. Required. @@ -3733,12 +2712,6 @@ class IdentityBindingProperties(_Model): "Failed", "Canceled", "Creating", "Updating", and "Deleting". :vartype provisioning_state: str or ~azure.mgmt.containerservice.models.IdentityBindingProvisioningState - :ivar allowed_subjects: Optional list of subjects authorized to use this identity binding for - token exchange. Each entry pairs a required namespace label selector with an optional service - account label selector; selectors within an entry are AND'd, and multiple entries are OR'd. - When omitted or empty, authorization falls back exclusively to ClusterRole/ClusterRoleBinding - evaluation. Maximum 100 entries. - :vartype allowed_subjects: list[~azure.mgmt.containerservice.models.AllowedSubject] """ managed_identity: "_models.IdentityBindingManagedIdentityProfile" = rest_field( @@ -3754,21 +2727,12 @@ class IdentityBindingProperties(_Model): ) """The status of the last operation. Known values are: \"Succeeded\", \"Failed\", \"Canceled\", \"Creating\", \"Updating\", and \"Deleting\".""" - allowed_subjects: Optional[list["_models.AllowedSubject"]] = rest_field( - name="allowedSubjects", visibility=["read", "create", "update", "delete", "query"] - ) - """Optional list of subjects authorized to use this identity binding for token exchange. Each - entry pairs a required namespace label selector with an optional service account label - selector; selectors within an entry are AND'd, and multiple entries are OR'd. When omitted or - empty, authorization falls back exclusively to ClusterRole/ClusterRoleBinding evaluation. - Maximum 100 entries.""" @overload def __init__( self, *, managed_identity: "_models.IdentityBindingManagedIdentityProfile", - allowed_subjects: Optional[list["_models.AllowedSubject"]] = None, ) -> None: ... @overload @@ -3782,7 +2746,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class IPTag(_Model): +class IPTag(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Contains the IPTag associated with the object. :ivar ip_tag_type: The IP tag type. Example: RoutingPreference. @@ -3817,7 +2781,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class IstioCertificateAuthority(_Model): +class IstioCertificateAuthority(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Istio Service Mesh Certificate Authority (CA) configuration. For now, we only support plugin certificates as described here `https://aka.ms/asm-plugin-ca `_. @@ -3848,7 +2812,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class IstioComponents(_Model): +class IstioComponents(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Istio components configuration. :ivar ingress_gateways: Istio ingress gateways. @@ -3894,7 +2858,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class IstioEgressGateway(_Model): +class IstioEgressGateway(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Istio egress gateway configuration. :ivar enabled: Whether to enable the egress gateway. Required. @@ -3945,7 +2909,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class IstioIngressGateway(_Model): +class IstioIngressGateway(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """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``. @@ -3982,7 +2946,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class IstioPluginCertificateAuthority(_Model): +class IstioPluginCertificateAuthority(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Plugin certificates information for Service Mesh. :ivar key_vault_id: The resource ID of the Key Vault. @@ -4040,7 +3004,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class IstioServiceMesh(_Model): +class IstioServiceMesh(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Istio service mesh configuration. :ivar components: Istio components configuration. @@ -4092,384 +3056,51 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class JWTAuthenticator(ProxyResource): - """Configuration for JWT authenticator in the managed cluster. +class KubeletConfig(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only + """Kubelet configurations of agent nodes. See `AKS custom node configuration + `_ for more details. - :ivar id: Fully qualified resource ID for the resource. Ex - - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - :vartype id: str - :ivar name: The name of the resource. - :vartype name: str - :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or - "Microsoft.Storage/storageAccounts". - :vartype type: str - :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy - information. - :vartype system_data: ~azure.mgmt.containerservice.models.SystemData - :ivar 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 - `_. Required. - :vartype properties: ~azure.mgmt.containerservice.models.JWTAuthenticatorProperties + :ivar cpu_manager_policy: The CPU Manager policy to use. The default is 'none'. See `Kubernetes + CPU management policies + `_ + for more information. Allowed values are 'none' and 'static'. + :vartype cpu_manager_policy: str + :ivar cpu_cfs_quota: If CPU CFS quota enforcement is enabled for containers that specify CPU + limits. The default is true. + :vartype cpu_cfs_quota: bool + :ivar cpu_cfs_quota_period: 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'. + :vartype cpu_cfs_quota_period: str + :ivar image_gc_high_threshold: 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%. + :vartype image_gc_high_threshold: int + :ivar image_gc_low_threshold: The percent of disk usage before which image garbage collection + is never run. This cannot be set higher than imageGcHighThreshold. The default is 80%. + :vartype image_gc_low_threshold: int + :ivar topology_manager_policy: The Topology Manager policy to use. For more information see + `Kubernetes Topology Manager + `_. The default is + 'none'. Allowed values are 'none', 'best-effort', 'restricted', and 'single-numa-node'. + :vartype topology_manager_policy: str + :ivar allowed_unsafe_sysctls: Allowed list of unsafe sysctls or unsafe sysctl patterns (ending + in ``*``). + :vartype allowed_unsafe_sysctls: list[str] + :ivar fail_swap_on: If set to true it will make the Kubelet fail to start if swap is enabled on + the node. + :vartype fail_swap_on: bool + :ivar container_log_max_size_mb: The maximum size (e.g. 10Mi) of container log file before it + is rotated. + :vartype container_log_max_size_mb: int + :ivar container_log_max_files: The maximum number of container log files that can be present + for a container. The number must be ≥ 2. + :vartype container_log_max_files: int + :ivar pod_max_pids: The maximum number of processes per pod. + :vartype pod_max_pids: int """ - properties: "_models.JWTAuthenticatorProperties" = rest_field( - visibility=["read", "create", "update", "delete", "query"] - ) - """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.""" - - @overload - def __init__( - self, - *, - properties: "_models.JWTAuthenticatorProperties", - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: - """ - :param mapping: raw JSON to initialize the model. - :type mapping: Mapping[str, Any] - """ - - def __init__(self, *args: Any, **kwargs: Any) -> None: - super().__init__(*args, **kwargs) - - -class JWTAuthenticatorClaimMappingExpression(_Model): - """The claim mapping expression for JWTAuthenticator. - - :ivar expression: The CEL expression used to access token claims. Required. - :vartype expression: str - """ - - expression: str = rest_field(visibility=["read", "create", "update", "delete", "query"]) - """The CEL expression used to access token claims. Required.""" - - @overload - def __init__( - self, - *, - expression: str, - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: - """ - :param mapping: raw JSON to initialize the model. - :type mapping: Mapping[str, Any] - """ - - def __init__(self, *args: Any, **kwargs: Any) -> None: - super().__init__(*args, **kwargs) - - -class JWTAuthenticatorClaimMappings(_Model): - """The claim mappings for JWTAuthenticator. - - :ivar username: The expression to extract username attribute from the token claims. Required. - :vartype username: ~azure.mgmt.containerservice.models.JWTAuthenticatorClaimMappingExpression - :ivar groups: The expression to extract groups attribute from the token claims. When not - provided, no groups are extracted from the token claims. - :vartype groups: ~azure.mgmt.containerservice.models.JWTAuthenticatorClaimMappingExpression - :ivar uid: The expression to extract uid attribute from the token claims. When not provided, no - uid is extracted from the token claims. - :vartype uid: ~azure.mgmt.containerservice.models.JWTAuthenticatorClaimMappingExpression - :ivar extra: The expression to extract extra attribute from the token claims. When not - provided, no extra attributes are extracted from the token claims. - :vartype extra: - list[~azure.mgmt.containerservice.models.JWTAuthenticatorExtraClaimMappingExpression] - """ - - username: "_models.JWTAuthenticatorClaimMappingExpression" = rest_field( - visibility=["read", "create", "update", "delete", "query"] - ) - """The expression to extract username attribute from the token claims. Required.""" - groups: Optional["_models.JWTAuthenticatorClaimMappingExpression"] = rest_field( - visibility=["read", "create", "update", "delete", "query"] - ) - """The expression to extract groups attribute from the token claims. When not provided, no groups - are extracted from the token claims.""" - uid: Optional["_models.JWTAuthenticatorClaimMappingExpression"] = rest_field( - visibility=["read", "create", "update", "delete", "query"] - ) - """The expression to extract uid attribute from the token claims. When not provided, no uid is - extracted from the token claims.""" - extra: Optional[list["_models.JWTAuthenticatorExtraClaimMappingExpression"]] = rest_field( - visibility=["read", "create", "update", "delete", "query"] - ) - """The expression to extract extra attribute from the token claims. When not provided, no extra - attributes are extracted from the token claims.""" - - @overload - def __init__( - self, - *, - username: "_models.JWTAuthenticatorClaimMappingExpression", - groups: Optional["_models.JWTAuthenticatorClaimMappingExpression"] = None, - uid: Optional["_models.JWTAuthenticatorClaimMappingExpression"] = None, - extra: Optional[list["_models.JWTAuthenticatorExtraClaimMappingExpression"]] = None, - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: - """ - :param mapping: raw JSON to initialize the model. - :type mapping: Mapping[str, Any] - """ - - def __init__(self, *args: Any, **kwargs: Any) -> None: - super().__init__(*args, **kwargs) - - -class JWTAuthenticatorExtraClaimMappingExpression(_Model): # pylint: disable=name-too-long - """The extra claim mapping expression for JWTAuthenticator. - - :ivar key: The key of the extra attribute. Required. - :vartype key: str - :ivar value_expression: The CEL expression used to extract the value of the extra attribute. - Required. - :vartype value_expression: str - """ - - key: str = rest_field(visibility=["read", "create", "update", "delete", "query"]) - """The key of the extra attribute. Required.""" - value_expression: str = rest_field( - name="valueExpression", visibility=["read", "create", "update", "delete", "query"] - ) - """The CEL expression used to extract the value of the extra attribute. Required.""" - - @overload - def __init__( - self, - *, - key: str, - value_expression: str, - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: - """ - :param mapping: raw JSON to initialize the model. - :type mapping: Mapping[str, Any] - """ - - def __init__(self, *args: Any, **kwargs: Any) -> None: - super().__init__(*args, **kwargs) - - -class JWTAuthenticatorIssuer(_Model): - """The OIDC issuer details for JWTAuthenticator. - - :ivar url: 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. Required. - :vartype url: str - :ivar audiences: 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. - Required. - :vartype audiences: list[str] - """ - - url: str = rest_field(visibility=["read", "create", "update", "delete", "query"]) - """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. Required.""" - audiences: list[str] = rest_field(visibility=["read", "create", "update", "delete", "query"]) - """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. Required.""" - - @overload - def __init__( - self, - *, - url: str, - audiences: list[str], - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: - """ - :param mapping: raw JSON to initialize the model. - :type mapping: Mapping[str, Any] - """ - - def __init__(self, *args: Any, **kwargs: Any) -> None: - super().__init__(*args, **kwargs) - - -class JWTAuthenticatorProperties(_Model): - """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 - `_. - - :ivar provisioning_state: The current provisioning state of the JWT authenticator. Known values - are: "Succeeded", "Failed", "Canceled", "Creating", "Updating", and "Deleting". - :vartype provisioning_state: str or - ~azure.mgmt.containerservice.models.JWTAuthenticatorProvisioningState - :ivar issuer: The JWT OIDC issuer details. Required. - :vartype issuer: ~azure.mgmt.containerservice.models.JWTAuthenticatorIssuer - :ivar claim_validation_rules: The rules that are applied to validate token claims to - authenticate users. All the expressions must evaluate to true for validation to succeed. - :vartype claim_validation_rules: - list[~azure.mgmt.containerservice.models.JWTAuthenticatorValidationRule] - :ivar claim_mappings: The mappings that define how user attributes are extracted from the token - claims. Required. - :vartype claim_mappings: ~azure.mgmt.containerservice.models.JWTAuthenticatorClaimMappings - :ivar user_validation_rules: The rules that are applied to the mapped user before completing - authentication. All the expressions must evaluate to true for validation to succeed. - :vartype user_validation_rules: - list[~azure.mgmt.containerservice.models.JWTAuthenticatorValidationRule] - """ - - provisioning_state: Optional[Union[str, "_models.JWTAuthenticatorProvisioningState"]] = rest_field( - name="provisioningState", visibility=["read"] - ) - """The current provisioning state of the JWT authenticator. Known values are: \"Succeeded\", - \"Failed\", \"Canceled\", \"Creating\", \"Updating\", and \"Deleting\".""" - issuer: "_models.JWTAuthenticatorIssuer" = rest_field(visibility=["read", "create", "update", "delete", "query"]) - """The JWT OIDC issuer details. Required.""" - claim_validation_rules: Optional[list["_models.JWTAuthenticatorValidationRule"]] = rest_field( - name="claimValidationRules", visibility=["read", "create", "update", "delete", "query"] - ) - """The rules that are applied to validate token claims to authenticate users. All the expressions - must evaluate to true for validation to succeed.""" - claim_mappings: "_models.JWTAuthenticatorClaimMappings" = rest_field( - name="claimMappings", visibility=["read", "create", "update", "delete", "query"] - ) - """The mappings that define how user attributes are extracted from the token claims. Required.""" - user_validation_rules: Optional[list["_models.JWTAuthenticatorValidationRule"]] = rest_field( - name="userValidationRules", visibility=["read", "create", "update", "delete", "query"] - ) - """The rules that are applied to the mapped user before completing authentication. All the - expressions must evaluate to true for validation to succeed.""" - - @overload - def __init__( - self, - *, - issuer: "_models.JWTAuthenticatorIssuer", - claim_mappings: "_models.JWTAuthenticatorClaimMappings", - claim_validation_rules: Optional[list["_models.JWTAuthenticatorValidationRule"]] = None, - user_validation_rules: Optional[list["_models.JWTAuthenticatorValidationRule"]] = None, - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: - """ - :param mapping: raw JSON to initialize the model. - :type mapping: Mapping[str, Any] - """ - - def __init__(self, *args: Any, **kwargs: Any) -> None: - super().__init__(*args, **kwargs) - - -class JWTAuthenticatorValidationRule(_Model): - """The validation rule for JWTAuthenticator. - - :ivar expression: The CEL expression used to validate the claim or attribute. Required. - :vartype expression: str - :ivar message: The validation error message. - :vartype message: str - """ - - expression: str = rest_field(visibility=["read", "create", "update", "delete", "query"]) - """The CEL expression used to validate the claim or attribute. Required.""" - message: Optional[str] = rest_field(visibility=["read", "create", "update", "delete", "query"]) - """The validation error message.""" - - @overload - def __init__( - self, - *, - expression: str, - message: Optional[str] = None, - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: - """ - :param mapping: raw JSON to initialize the model. - :type mapping: Mapping[str, Any] - """ - - def __init__(self, *args: Any, **kwargs: Any) -> None: - super().__init__(*args, **kwargs) - - -class KubeletConfig(_Model): - """Kubelet configurations of agent nodes. See `AKS custom node configuration - `_ for more details. - - :ivar cpu_manager_policy: The CPU Manager policy to use. The default is 'none'. See `Kubernetes - CPU management policies - `_ - for more information. Allowed values are 'none' and 'static'. - :vartype cpu_manager_policy: str - :ivar cpu_cfs_quota: If CPU CFS quota enforcement is enabled for containers that specify CPU - limits. The default is true. - :vartype cpu_cfs_quota: bool - :ivar cpu_cfs_quota_period: 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'. - :vartype cpu_cfs_quota_period: str - :ivar image_gc_high_threshold: 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%. - :vartype image_gc_high_threshold: int - :ivar image_gc_low_threshold: The percent of disk usage before which image garbage collection - is never run. This cannot be set higher than imageGcHighThreshold. The default is 80%. - :vartype image_gc_low_threshold: int - :ivar topology_manager_policy: The Topology Manager policy to use. For more information see - `Kubernetes Topology Manager - `_. The default is - 'none'. Allowed values are 'none', 'best-effort', 'restricted', and 'single-numa-node'. - :vartype topology_manager_policy: str - :ivar allowed_unsafe_sysctls: Allowed list of unsafe sysctls or unsafe sysctl patterns (ending - in ``*``). - :vartype allowed_unsafe_sysctls: list[str] - :ivar fail_swap_on: If set to true it will make the Kubelet fail to start if swap is enabled on - the node. - :vartype fail_swap_on: bool - :ivar container_log_max_size_mb: The maximum size (e.g. 10Mi) of container log file before it - is rotated. - :vartype container_log_max_size_mb: int - :ivar container_log_max_files: The maximum number of container log files that can be present - for a container. The number must be ≥ 2. - :vartype container_log_max_files: int - :ivar pod_max_pids: The maximum number of processes per pod. - :vartype pod_max_pids: int - :ivar seccomp_default: Specifies the default seccomp profile applied to all workloads. If not - specified, 'Unconfined' will be used by default. Known values are: "Unconfined" and - "RuntimeDefault". - :vartype seccomp_default: str or ~azure.mgmt.containerservice.models.SeccompDefault - :ivar kube_reserved: Kube-reserved values for kubelet. When a value is not set, the - system-computed default based on VM size is used. See `AKS node resource reservations - `_ for details on computed defaults. Only applicable for - Linux nodepools. - :vartype kube_reserved: ~azure.mgmt.containerservice.models.KubeReserved - :ivar hard_eviction_threshold: Hard eviction thresholds for kubelet. When a threshold is not - set, the system default is used. See `AKS node resource reservations - `_ for details on computed defaults. Only applicable for - Linux nodepools. - :vartype hard_eviction_threshold: ~azure.mgmt.containerservice.models.HardEvictionThreshold - """ - - cpu_manager_policy: Optional[str] = rest_field( - name="cpuManagerPolicy", visibility=["read", "create", "update", "delete", "query"] + cpu_manager_policy: Optional[str] = rest_field( + name="cpuManagerPolicy", visibility=["read", "create", "update", "delete", "query"] ) """The CPU Manager policy to use. The default is 'none'. See `Kubernetes CPU management policies `_ @@ -4522,23 +3153,6 @@ class KubeletConfig(_Model): name="podMaxPids", visibility=["read", "create", "update", "delete", "query"] ) """The maximum number of processes per pod.""" - seccomp_default: Optional[Union[str, "_models.SeccompDefault"]] = rest_field( - name="seccompDefault", visibility=["read", "create", "update", "delete", "query"] - ) - """Specifies the default seccomp profile applied to all workloads. If not specified, 'Unconfined' - will be used by default. Known values are: \"Unconfined\" and \"RuntimeDefault\".""" - kube_reserved: Optional["_models.KubeReserved"] = rest_field( - name="kubeReserved", visibility=["read", "create", "update", "delete", "query"] - ) - """Kube-reserved values for kubelet. When a value is not set, the system-computed default based on - VM size is used. See `AKS node resource reservations `_ - for details on computed defaults. Only applicable for Linux nodepools.""" - hard_eviction_threshold: Optional["_models.HardEvictionThreshold"] = rest_field( - name="hardEvictionThreshold", visibility=["read", "create", "update", "delete", "query"] - ) - """Hard eviction thresholds for kubelet. When a threshold is not set, the system default is used. - See `AKS node resource reservations `_ for details on - computed defaults. Only applicable for Linux nodepools.""" @overload def __init__( @@ -4555,50 +3169,6 @@ def __init__( container_log_max_size_mb: Optional[int] = None, container_log_max_files: Optional[int] = None, pod_max_pids: Optional[int] = None, - seccomp_default: Optional[Union[str, "_models.SeccompDefault"]] = None, - kube_reserved: Optional["_models.KubeReserved"] = None, - hard_eviction_threshold: Optional["_models.HardEvictionThreshold"] = None, - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: - """ - :param mapping: raw JSON to initialize the model. - :type mapping: Mapping[str, Any] - """ - - def __init__(self, *args: Any, **kwargs: Any) -> None: - super().__init__(*args, **kwargs) - - -class KubeReserved(_Model): - """Kube-reserved values for kubelet. When a value is not set, the system-computed default based on - VM size is used. See `AKS node resource reservations `_ - for details on computed defaults. Only applicable for Linux nodepools. - - :ivar cpu_millicores: The amount of CPU reserved for Kubernetes system daemons, in millicores. - Must be greater than or equal to 140. For example, a value of 200 means 200m (0.2 CPU cores). - :vartype cpu_millicores: int - :ivar memory_mb: The amount of memory reserved for Kubernetes system daemons, in MiB. Must be - greater than or equal to 750. - :vartype memory_mb: int - """ - - cpu_millicores: Optional[int] = rest_field( - name="cpuMillicores", visibility=["read", "create", "update", "delete", "query"] - ) - """The amount of CPU reserved for Kubernetes system daemons, in millicores. Must be greater than - or equal to 140. For example, a value of 200 means 200m (0.2 CPU cores).""" - memory_mb: Optional[int] = rest_field(name="memoryMB", visibility=["read", "create", "update", "delete", "query"]) - """The amount of memory reserved for Kubernetes system daemons, in MiB. Must be greater than or - equal to 750.""" - - @overload - def __init__( - self, - *, - cpu_millicores: Optional[int] = None, - memory_mb: Optional[int] = None, ) -> None: ... @overload @@ -4612,7 +3182,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class KubernetesPatchVersion(_Model): +class KubernetesPatchVersion(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Kubernetes patch version profile. :ivar upgrades: Possible upgrade path for given patch version. @@ -4640,48 +3210,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class KubernetesResourceObjectEncryptionProfile(_Model): # pylint: disable=name-too-long - """Encryption at rest of Kubernetes resource objects using service-managed keys. More information - on this can be found under `https://aka.ms/aks/kubernetesResourceObjectEncryption - `_. - - :ivar infrastructure_encryption: 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 - `_. Known values are: "Enabled" and - "Disabled". - :vartype infrastructure_encryption: str or - ~azure.mgmt.containerservice.models.InfrastructureEncryption - """ - - infrastructure_encryption: Optional[Union[str, "_models.InfrastructureEncryption"]] = rest_field( - name="infrastructureEncryption", visibility=["read", "create", "update", "delete", "query"] - ) - """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 - `_. Known values are: \"Enabled\" and - \"Disabled\".""" - - @overload - def __init__( - self, - *, - infrastructure_encryption: Optional[Union[str, "_models.InfrastructureEncryption"]] = None, - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: - """ - :param mapping: raw JSON to initialize the model. - :type mapping: Mapping[str, Any] - """ - - def __init__(self, *args: Any, **kwargs: Any) -> None: - super().__init__(*args, **kwargs) - - -class KubernetesVersion(_Model): +class KubernetesVersion(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Kubernetes version profile for given major.minor release. :ivar version: major.minor version of Kubernetes release. @@ -4737,7 +3266,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class KubernetesVersionCapabilities(_Model): +class KubernetesVersionCapabilities(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Capabilities on this Kubernetes version. :ivar support_plan: Kubernetes support plans available for this version. @@ -4767,7 +3296,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class KubernetesVersionListResult(_Model): +class KubernetesVersionListResult(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Hold values properties, which is array of KubernetesVersion. :ivar values_property: Array of AKS supported Kubernetes versions. @@ -4797,127 +3326,37 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class LabelSelector(_Model): - """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. +class LinuxOSConfig(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only + """OS configurations of Linux agent nodes. See `AKS custom node configuration + `_ for more details. - :ivar match_labels: 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. - :vartype match_labels: list[str] - :ivar match_expressions: matchExpressions is a list of label selector requirements. The - requirements are ANDed. - :vartype match_expressions: list[~azure.mgmt.containerservice.models.LabelSelectorRequirement] + :ivar sysctls: Sysctl settings for Linux agent nodes. + :vartype sysctls: ~azure.mgmt.containerservice.models.SysctlConfig + :ivar transparent_huge_page_enabled: Whether transparent hugepages are enabled. Valid values + are 'always', 'madvise', and 'never'. The default is 'always'. For more information see + `Transparent Hugepages + `_. + :vartype transparent_huge_page_enabled: str + :ivar transparent_huge_page_defrag: 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 + `_. + :vartype transparent_huge_page_defrag: str + :ivar swap_file_size_mb: The size in MB of a swap file that will be created on each node. + :vartype swap_file_size_mb: int """ - match_labels: Optional[list[str]] = rest_field( - name="matchLabels", visibility=["read", "create", "update", "delete", "query"] + sysctls: Optional["_models.SysctlConfig"] = rest_field(visibility=["read", "create", "update", "delete", "query"]) + """Sysctl settings for Linux agent nodes.""" + transparent_huge_page_enabled: Optional[str] = rest_field( + name="transparentHugePageEnabled", visibility=["read", "create", "update", "delete", "query"] ) - """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.""" - match_expressions: Optional[list["_models.LabelSelectorRequirement"]] = rest_field( - name="matchExpressions", visibility=["read", "create", "update", "delete", "query"] - ) - """matchExpressions is a list of label selector requirements. The requirements are ANDed.""" - - @overload - def __init__( - self, - *, - match_labels: Optional[list[str]] = None, - match_expressions: Optional[list["_models.LabelSelectorRequirement"]] = None, - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: - """ - :param mapping: raw JSON to initialize the model. - :type mapping: Mapping[str, Any] - """ - - def __init__(self, *args: Any, **kwargs: Any) -> None: - super().__init__(*args, **kwargs) - - -class LabelSelectorRequirement(_Model): - """A label selector requirement is a selector that contains values, a key, and an operator that - relates the key and values. - - :ivar key: key is the label key that the selector applies to. - :vartype key: str - :ivar operator: operator represents a key's relationship to a set of values. Valid operators - are In and NotIn. Known values are: "In", "NotIn", "Exists", and "DoesNotExist". - :vartype operator: str or ~azure.mgmt.containerservice.models.Operator - :ivar values_property: values is an array of string values, the values array must be non-empty. - :vartype values_property: list[str] - """ - - key: Optional[str] = rest_field(visibility=["read", "create", "update", "delete", "query"]) - """key is the label key that the selector applies to.""" - operator: Optional[Union[str, "_models.Operator"]] = rest_field( - visibility=["read", "create", "update", "delete", "query"] - ) - """operator represents a key's relationship to a set of values. Valid operators are In and NotIn. - Known values are: \"In\", \"NotIn\", \"Exists\", and \"DoesNotExist\".""" - values_property: Optional[list[str]] = rest_field( - name="values", visibility=["read", "create", "update", "delete", "query"], original_tsp_name="values" - ) - """values is an array of string values, the values array must be non-empty.""" - - @overload - def __init__( - self, - *, - key: Optional[str] = None, - operator: Optional[Union[str, "_models.Operator"]] = None, - values_property: Optional[list[str]] = None, - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: - """ - :param mapping: raw JSON to initialize the model. - :type mapping: Mapping[str, Any] - """ - - def __init__(self, *args: Any, **kwargs: Any) -> None: - super().__init__(*args, **kwargs) - - -class LinuxOSConfig(_Model): - """OS configurations of Linux agent nodes. See `AKS custom node configuration - `_ for more details. - - :ivar sysctls: Sysctl settings for Linux agent nodes. - :vartype sysctls: ~azure.mgmt.containerservice.models.SysctlConfig - :ivar transparent_huge_page_enabled: Whether transparent hugepages are enabled. Valid values - are 'always', 'madvise', and 'never'. The default is 'always'. For more information see - `Transparent Hugepages - `_. - :vartype transparent_huge_page_enabled: str - :ivar transparent_huge_page_defrag: 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 - `_. - :vartype transparent_huge_page_defrag: str - :ivar swap_file_size_mb: The size in MB of a swap file that will be created on each node. - :vartype swap_file_size_mb: int - """ - - sysctls: Optional["_models.SysctlConfig"] = rest_field(visibility=["read", "create", "update", "delete", "query"]) - """Sysctl settings for Linux agent nodes.""" - transparent_huge_page_enabled: Optional[str] = rest_field( - name="transparentHugePageEnabled", visibility=["read", "create", "update", "delete", "query"] - ) - """Whether transparent hugepages are enabled. Valid values are 'always', 'madvise', and 'never'. - The default is 'always'. For more information see `Transparent Hugepages - `_.""" - transparent_huge_page_defrag: Optional[str] = rest_field( - name="transparentHugePageDefrag", visibility=["read", "create", "update", "delete", "query"] + """Whether transparent hugepages are enabled. Valid values are 'always', 'madvise', and 'never'. + The default is 'always'. For more information see `Transparent Hugepages + `_.""" + transparent_huge_page_defrag: Optional[str] = rest_field( + name="transparentHugePageDefrag", visibility=["read", "create", "update", "delete", "query"] ) """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 @@ -4949,160 +3388,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class ListBootstrapDataRequest(_Model): - """Empty request body for listing FlexNode bootstrap data.""" - - -class LoadBalancer(ProxyResource): - """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. - - :ivar id: Fully qualified resource ID for the resource. Ex - - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - :vartype id: str - :ivar name: The name of the resource. - :vartype name: str - :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or - "Microsoft.Storage/storageAccounts". - :vartype type: str - :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy - information. - :vartype system_data: ~azure.mgmt.containerservice.models.SystemData - :ivar properties: The properties of the load balancer. - :vartype properties: ~azure.mgmt.containerservice.models.LoadBalancerProperties - """ - - properties: Optional["_models.LoadBalancerProperties"] = rest_field( - visibility=["read", "create", "update", "delete", "query"] - ) - """The properties of the load balancer.""" - - __flattened_items = [ - "primary_agent_pool_name", - "allow_service_placement", - "service_label_selector", - "service_namespace_selector", - "node_selector", - "provisioning_state", - ] - - @overload - def __init__( - self, - *, - properties: Optional["_models.LoadBalancerProperties"] = None, - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: - """ - :param mapping: raw JSON to initialize the model. - :type mapping: Mapping[str, Any] - """ - - def __init__(self, *args: Any, **kwargs: Any) -> None: - _flattened_input = {k: kwargs.pop(k) for k in kwargs.keys() & self.__flattened_items} - super().__init__(*args, **kwargs) - for k, v in _flattened_input.items(): - setattr(self, k, v) - - def __getattr__(self, name: str) -> Any: - if name in self.__flattened_items: - if self.properties is None: - return None - return getattr(self.properties, name) - raise AttributeError(f"'{self.__class__.__name__}' object has no attribute '{name}'") - - def __setattr__(self, key: str, value: Any) -> None: - if key in self.__flattened_items: - if self.properties is None: - self.properties = self._attr_to_rest_field["properties"]._class_type() - setattr(self.properties, key, value) - else: - super().__setattr__(key, value) - - -class LoadBalancerProperties(_Model): - """Properties for a load balancer resource. - - :ivar primary_agent_pool_name: 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. Required. - :vartype primary_agent_pool_name: str - :ivar allow_service_placement: 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. - :vartype allow_service_placement: bool - :ivar service_label_selector: Only services that must match this selector can be placed on this - load balancer. - :vartype service_label_selector: ~azure.mgmt.containerservice.models.LabelSelector - :ivar service_namespace_selector: Services created in namespaces that match the selector can be - placed on this load balancer. - :vartype service_namespace_selector: ~azure.mgmt.containerservice.models.LabelSelector - :ivar node_selector: Nodes that match this selector will be possible members of this load - balancer. - :vartype node_selector: ~azure.mgmt.containerservice.models.LabelSelector - :ivar provisioning_state: The current provisioning state. - :vartype provisioning_state: str - """ - - primary_agent_pool_name: str = rest_field( - name="primaryAgentPoolName", visibility=["read", "create", "update", "delete", "query"] - ) - """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. Required.""" - allow_service_placement: Optional[bool] = rest_field( - name="allowServicePlacement", visibility=["read", "create", "update", "delete", "query"] - ) - """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.""" - service_label_selector: Optional["_models.LabelSelector"] = rest_field( - name="serviceLabelSelector", visibility=["read", "create", "update", "delete", "query"] - ) - """Only services that must match this selector can be placed on this load balancer.""" - service_namespace_selector: Optional["_models.LabelSelector"] = rest_field( - name="serviceNamespaceSelector", visibility=["read", "create", "update", "delete", "query"] - ) - """Services created in namespaces that match the selector can be placed on this load balancer.""" - node_selector: Optional["_models.LabelSelector"] = rest_field( - name="nodeSelector", visibility=["read", "create", "update", "delete", "query"] - ) - """Nodes that match this selector will be possible members of this load balancer.""" - provisioning_state: Optional[str] = rest_field(name="provisioningState", visibility=["read"]) - """The current provisioning state.""" - - @overload - def __init__( - self, - *, - primary_agent_pool_name: str, - allow_service_placement: Optional[bool] = None, - service_label_selector: Optional["_models.LabelSelector"] = None, - service_namespace_selector: Optional["_models.LabelSelector"] = None, - node_selector: Optional["_models.LabelSelector"] = None, - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: - """ - :param mapping: raw JSON to initialize the model. - :type mapping: Mapping[str, Any] - """ - - def __init__(self, *args: Any, **kwargs: Any) -> None: - super().__init__(*args, **kwargs) - - -class LocalDNSOverride(_Model): +class LocalDNSOverride(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Overrides for localDNS profile. :ivar query_logging: Log level for DNS queries in localDNS. Known values are: "Error" and @@ -5200,7 +3486,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class LocalDNSProfile(_Model): +class LocalDNSProfile(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """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. @@ -5256,7 +3542,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class Machine(ProxyResource): +class Machine(ProxyResource): # pylint: disable=docstring-keyword-should-match-keyword-only """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. @@ -5278,665 +3564,18 @@ class Machine(ProxyResource): :vartype zones: list[str] """ - properties: Optional["_models.MachineProperties"] = rest_field( - visibility=["read", "create", "update", "delete", "query"] - ) - """The properties of the machine.""" - zones: Optional[list[str]] = rest_field(visibility=["read", "create", "update", "delete", "query"]) - """The Availability zone in which machine is located.""" - - @overload - def __init__( - self, - *, - properties: Optional["_models.MachineProperties"] = None, - zones: Optional[list[str]] = None, - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: - """ - :param mapping: raw JSON to initialize the model. - :type mapping: Mapping[str, Any] - """ - - def __init__(self, *args: Any, **kwargs: Any) -> None: - super().__init__(*args, **kwargs) - - -class MachineBillingProfile(_Model): - """The properties having to do with machine billing. - - :ivar spot_max_price: 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. For more details on spot pricing, see `spot VMs pricing - `_. - :vartype spot_max_price: float - """ - - spot_max_price: Optional[float] = rest_field( - name="spotMaxPrice", visibility=["read", "create", "update", "delete", "query"] - ) - """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. - For more details on spot pricing, see `spot VMs pricing - `_.""" - - @overload - def __init__( - self, - *, - spot_max_price: Optional[float] = None, - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: - """ - :param mapping: raw JSON to initialize the model. - :type mapping: Mapping[str, Any] - """ - - def __init__(self, *args: Any, **kwargs: Any) -> None: - super().__init__(*args, **kwargs) - - -class MachineHardwareProfile(_Model): - """The hardware and GPU settings of the machine. - - :ivar vm_size: 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 - `_. - :vartype vm_size: str - :ivar gpu_instance_profile: GPUInstanceProfile to be used to specify GPU MIG instance profile - for supported GPU VM SKU. Known values are: "MIG1g", "MIG2g", "MIG3g", "MIG4g", and "MIG7g". - :vartype gpu_instance_profile: str or ~azure.mgmt.containerservice.models.GPUInstanceProfile - :ivar gpu_profile: The GPU settings of the machine. - :vartype gpu_profile: ~azure.mgmt.containerservice.models.GPUProfile - :ivar ultra_ssd_enabled: Whether to enable UltraSSD. - :vartype ultra_ssd_enabled: bool - """ - - vm_size: Optional[str] = rest_field(name="vmSize", visibility=["read", "create", "update", "delete", "query"]) - """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 - `_.""" - gpu_instance_profile: Optional[Union[str, "_models.GPUInstanceProfile"]] = rest_field( - name="gpuInstanceProfile", visibility=["read", "create", "update", "delete", "query"] - ) - """GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU. - Known values are: \"MIG1g\", \"MIG2g\", \"MIG3g\", \"MIG4g\", and \"MIG7g\".""" - gpu_profile: Optional["_models.GPUProfile"] = rest_field( - name="gpuProfile", visibility=["read", "create", "update", "delete", "query"] - ) - """The GPU settings of the machine.""" - ultra_ssd_enabled: Optional[bool] = rest_field( - name="ultraSsdEnabled", visibility=["read", "create", "update", "delete", "query"] - ) - """Whether to enable UltraSSD.""" - - @overload - def __init__( - self, - *, - vm_size: Optional[str] = None, - gpu_instance_profile: Optional[Union[str, "_models.GPUInstanceProfile"]] = None, - gpu_profile: Optional["_models.GPUProfile"] = None, - ultra_ssd_enabled: Optional[bool] = None, - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: - """ - :param mapping: raw JSON to initialize the model. - :type mapping: Mapping[str, Any] - """ - - def __init__(self, *args: Any, **kwargs: Any) -> None: - super().__init__(*args, **kwargs) - - -class MachineIpAddress(_Model): - """The machine IP address details. - - :ivar family: To determine if address belongs IPv4 or IPv6 family. Known values are: "IPv4" and - "IPv6". - :vartype family: str or ~azure.mgmt.containerservice.models.IPFamily - :ivar ip: IPv4 or IPv6 address of the machine. - :vartype ip: str - """ - - family: Optional[Union[str, "_models.IPFamily"]] = rest_field(visibility=["read"]) - """To determine if address belongs IPv4 or IPv6 family. Known values are: \"IPv4\" and \"IPv6\".""" - ip: Optional[str] = rest_field(visibility=["read"]) - """IPv4 or IPv6 address of the machine.""" - - -class MachineKubernetesProfile(_Model): - """The Kubernetes configurations used by the machine. - - :ivar node_labels: The node labels on the machine. - :vartype node_labels: dict[str, str] - :ivar orchestrator_version: 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. - :vartype orchestrator_version: str - :ivar current_orchestrator_version: 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. - :vartype current_orchestrator_version: str - :ivar kubelet_disk_type: Determines the placement of emptyDir volumes, container runtime data - root, and Kubelet ephemeral storage. Known values are: "OS" and "Temporary". - :vartype kubelet_disk_type: str or ~azure.mgmt.containerservice.models.KubeletDiskType - :ivar kubelet_config: The Kubelet configuration on the machine. - :vartype kubelet_config: ~azure.mgmt.containerservice.models.KubeletConfig - :ivar node_initialization_taints: 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-``. - :vartype node_initialization_taints: list[str] - :ivar node_taints: The taints added to new node during machine create. For example, - key=value:NoSchedule. - :vartype node_taints: list[str] - :ivar max_pods: The maximum number of pods that can run on a node. - :vartype max_pods: int - :ivar node_name: The node name in the Kubernetes cluster. - :vartype node_name: str - :ivar workload_runtime: Determines the type of workload a node can run. Known values are: - "OCIContainer", "WasmWasi", "KataMshvVmIsolation", and "KataVmIsolation". - :vartype workload_runtime: str or ~azure.mgmt.containerservice.models.WorkloadRuntime - :ivar artifact_streaming_profile: Configuration for using artifact streaming on AKS. - :vartype artifact_streaming_profile: - ~azure.mgmt.containerservice.models.AgentPoolArtifactStreamingProfile - """ - - node_labels: Optional[dict[str, str]] = rest_field( - name="nodeLabels", visibility=["read", "create", "update", "delete", "query"] - ) - """The node labels on the machine.""" - orchestrator_version: Optional[str] = rest_field( - name="orchestratorVersion", visibility=["read", "create", "update", "delete", "query"] - ) - """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.""" - current_orchestrator_version: Optional[str] = rest_field(name="currentOrchestratorVersion", visibility=["read"]) - """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.""" - kubelet_disk_type: Optional[Union[str, "_models.KubeletDiskType"]] = rest_field( - name="kubeletDiskType", visibility=["read", "create", "update", "delete", "query"] - ) - """Determines the placement of emptyDir volumes, container runtime data root, and Kubelet - ephemeral storage. Known values are: \"OS\" and \"Temporary\".""" - kubelet_config: Optional["_models.KubeletConfig"] = rest_field( - name="kubeletConfig", visibility=["read", "create", "update", "delete", "query"] - ) - """The Kubelet configuration on the machine.""" - node_initialization_taints: Optional[list[str]] = rest_field( - name="nodeInitializationTaints", visibility=["read", "create", "update", "delete", "query"] - ) - """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-``.""" - node_taints: Optional[list[str]] = rest_field( - name="nodeTaints", visibility=["read", "create", "update", "delete", "query"] - ) - """The taints added to new node during machine create. For example, key=value:NoSchedule.""" - max_pods: Optional[int] = rest_field(name="maxPods", visibility=["read", "create", "update", "delete", "query"]) - """The maximum number of pods that can run on a node.""" - node_name: Optional[str] = rest_field(name="nodeName", visibility=["read"]) - """The node name in the Kubernetes cluster.""" - workload_runtime: Optional[Union[str, "_models.WorkloadRuntime"]] = rest_field( - name="workloadRuntime", visibility=["read", "create", "update", "delete", "query"] - ) - """Determines the type of workload a node can run. Known values are: \"OCIContainer\", - \"WasmWasi\", \"KataMshvVmIsolation\", and \"KataVmIsolation\".""" - artifact_streaming_profile: Optional["_models.AgentPoolArtifactStreamingProfile"] = rest_field( - name="artifactStreamingProfile", visibility=["read", "create", "update", "delete", "query"] - ) - """Configuration for using artifact streaming on AKS.""" - - @overload - def __init__( - self, - *, - node_labels: Optional[dict[str, str]] = None, - orchestrator_version: Optional[str] = None, - kubelet_disk_type: Optional[Union[str, "_models.KubeletDiskType"]] = None, - kubelet_config: Optional["_models.KubeletConfig"] = None, - node_initialization_taints: Optional[list[str]] = None, - node_taints: Optional[list[str]] = None, - max_pods: Optional[int] = None, - workload_runtime: Optional[Union[str, "_models.WorkloadRuntime"]] = None, - artifact_streaming_profile: Optional["_models.AgentPoolArtifactStreamingProfile"] = None, - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: - """ - :param mapping: raw JSON to initialize the model. - :type mapping: Mapping[str, Any] - """ - - def __init__(self, *args: Any, **kwargs: Any) -> None: - super().__init__(*args, **kwargs) - - -class MachineNetworkProperties(_Model): - """network properties of the machine. - - :ivar ip_addresses: IPv4, IPv6 addresses of the machine. - :vartype ip_addresses: list[~azure.mgmt.containerservice.models.MachineIpAddress] - :ivar vnet_subnet_id: 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}. - :vartype vnet_subnet_id: str - :ivar pod_subnet_id: 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}. - :vartype pod_subnet_id: str - :ivar enable_node_public_ip: 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. - :vartype enable_node_public_ip: bool - :ivar node_public_ip_prefix_id: 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}. - :vartype node_public_ip_prefix_id: str - :ivar node_public_ip_tags: IPTags of instance-level public IPs. - :vartype node_public_ip_tags: list[~azure.mgmt.containerservice.models.IPTag] - """ - - ip_addresses: Optional[list["_models.MachineIpAddress"]] = rest_field(name="ipAddresses", visibility=["read"]) - """IPv4, IPv6 addresses of the machine.""" - vnet_subnet_id: Optional[str] = rest_field( - name="vnetSubnetID", visibility=["read", "create", "update", "delete", "query"] - ) - """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}.""" - pod_subnet_id: Optional[str] = rest_field( - name="podSubnetID", visibility=["read", "create", "update", "delete", "query"] - ) - """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}.""" - enable_node_public_ip: Optional[bool] = rest_field( - name="enableNodePublicIP", visibility=["read", "create", "update", "delete", "query"] - ) - """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.""" - node_public_ip_prefix_id: Optional[str] = rest_field( - name="nodePublicIPPrefixID", visibility=["read", "create", "update", "delete", "query"] - ) - """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}.""" - node_public_ip_tags: Optional[list["_models.IPTag"]] = rest_field( - name="nodePublicIPTags", visibility=["read", "create", "update", "delete", "query"] - ) - """IPTags of instance-level public IPs.""" - - @overload - def __init__( - self, - *, - vnet_subnet_id: Optional[str] = None, - pod_subnet_id: Optional[str] = None, - enable_node_public_ip: Optional[bool] = None, - node_public_ip_prefix_id: Optional[str] = None, - node_public_ip_tags: Optional[list["_models.IPTag"]] = None, - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: - """ - :param mapping: raw JSON to initialize the model. - :type mapping: Mapping[str, Any] - """ - - def __init__(self, *args: Any, **kwargs: Any) -> None: - super().__init__(*args, **kwargs) - - -class MachineOSProfile(_Model): - """The operating system and disk used by the machine. - - :ivar os_type: The operating system type. The default is Linux. Known values are: "Linux" and - "Windows". - :vartype os_type: str or ~azure.mgmt.containerservice.models.OSType - :ivar os_sku: 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. Known values are: "Ubuntu", - "AzureLinux", "AzureLinux3", "Mariner", "Flatcar", "CBLMariner", "Windows2019", "Windows2022", - "Ubuntu2204", "Windows2025", "WindowsAnnual", "Ubuntu2404", and "AzureContainerLinux". - :vartype os_sku: str or ~azure.mgmt.containerservice.models.OSSKU - :ivar os_disk_size_gb: 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. - :vartype os_disk_size_gb: int - :ivar os_disk_type: 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 `_. - Known values are: "Managed" and "Ephemeral". - :vartype os_disk_type: str or ~azure.mgmt.containerservice.models.OSDiskType - :ivar enable_fips: Whether to use a FIPS-enabled OS. - :vartype enable_fips: bool - :ivar linux_profile: The Linux machine's specific profile. - :vartype linux_profile: ~azure.mgmt.containerservice.models.MachineOSProfileLinuxProfile - :ivar windows_profile: The Windows machine's specific profile. - :vartype windows_profile: ~azure.mgmt.containerservice.models.AgentPoolWindowsProfile - """ - - os_type: Optional[Union[str, "_models.OSType"]] = rest_field( - name="osType", visibility=["read", "create", "update", "delete", "query"] - ) - """The operating system type. The default is Linux. Known values are: \"Linux\" and \"Windows\".""" - os_sku: Optional[Union[str, "_models.OSSKU"]] = rest_field( - name="osSKU", visibility=["read", "create", "update", "delete", "query"] - ) - """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. Known values are: \"Ubuntu\", \"AzureLinux\", - \"AzureLinux3\", \"Mariner\", \"Flatcar\", \"CBLMariner\", \"Windows2019\", \"Windows2022\", - \"Ubuntu2204\", \"Windows2025\", \"WindowsAnnual\", \"Ubuntu2404\", and - \"AzureContainerLinux\".""" - os_disk_size_gb: Optional[int] = rest_field( - name="osDiskSizeGB", visibility=["read", "create", "update", "delete", "query"] - ) - """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.""" - os_disk_type: Optional[Union[str, "_models.OSDiskType"]] = rest_field( - name="osDiskType", visibility=["read", "create", "update", "delete", "query"] - ) - """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 - `_. Known values are: - \"Managed\" and \"Ephemeral\".""" - enable_fips: Optional[bool] = rest_field( - name="enableFIPS", visibility=["read", "create", "update", "delete", "query"] - ) - """Whether to use a FIPS-enabled OS.""" - linux_profile: Optional["_models.MachineOSProfileLinuxProfile"] = rest_field( - name="linuxProfile", visibility=["read", "create", "update", "delete", "query"] - ) - """The Linux machine's specific profile.""" - windows_profile: Optional["_models.AgentPoolWindowsProfile"] = rest_field( - name="windowsProfile", visibility=["read", "create", "update", "delete", "query"] - ) - """The Windows machine's specific profile.""" - - @overload - def __init__( - self, - *, - os_type: Optional[Union[str, "_models.OSType"]] = None, - os_sku: Optional[Union[str, "_models.OSSKU"]] = None, - os_disk_size_gb: Optional[int] = None, - os_disk_type: Optional[Union[str, "_models.OSDiskType"]] = None, - enable_fips: Optional[bool] = None, - linux_profile: Optional["_models.MachineOSProfileLinuxProfile"] = None, - windows_profile: Optional["_models.AgentPoolWindowsProfile"] = None, - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: - """ - :param mapping: raw JSON to initialize the model. - :type mapping: Mapping[str, Any] - """ - - def __init__(self, *args: Any, **kwargs: Any) -> None: - super().__init__(*args, **kwargs) - - -class MachineOSProfileLinuxProfile(_Model): - """The Linux machine's specific profile. - - :ivar linux_os_config: The OS configuration of Linux machine. - :vartype linux_os_config: ~azure.mgmt.containerservice.models.LinuxOSConfig - :ivar message_of_the_day: 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). - :vartype message_of_the_day: str - """ - - linux_os_config: Optional["_models.LinuxOSConfig"] = rest_field( - name="linuxOSConfig", visibility=["read", "create", "update", "delete", "query"] - ) - """The OS configuration of Linux machine.""" - message_of_the_day: Optional[str] = rest_field( - name="messageOfTheDay", visibility=["read", "create", "update", "delete", "query"] - ) - """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).""" - - @overload - def __init__( - self, - *, - linux_os_config: Optional["_models.LinuxOSConfig"] = None, - message_of_the_day: Optional[str] = None, - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: - """ - :param mapping: raw JSON to initialize the model. - :type mapping: Mapping[str, Any] - """ - - def __init__(self, *args: Any, **kwargs: Any) -> None: - super().__init__(*args, **kwargs) - - -class MachineProperties(_Model): - """The properties of the machine. - - :ivar network: network properties of the machine. - :vartype network: ~azure.mgmt.containerservice.models.MachineNetworkProperties - :ivar resource_id: Azure resource id of the machine. It can be used to GET underlying VM - Instance. - :vartype resource_id: str - :ivar hardware: The hardware and GPU settings of the machine. - :vartype hardware: ~azure.mgmt.containerservice.models.MachineHardwareProfile - :ivar operating_system: The operating system and disk used by the machine. - :vartype operating_system: ~azure.mgmt.containerservice.models.MachineOSProfile - :ivar kubernetes: The Kubernetes configurations used by the machine. - :vartype kubernetes: ~azure.mgmt.containerservice.models.MachineKubernetesProfile - :ivar mode: Machine only allows 'System' and 'User' mode. Known values are: "System", "User", - "Gateway", "ManagedSystem", and "Machines". - :vartype mode: str or ~azure.mgmt.containerservice.models.AgentPoolMode - :ivar security: The security settings of the machine. - :vartype security: ~azure.mgmt.containerservice.models.MachineSecurityProfile - :ivar priority: The priority for the machine. If not specified, the default is 'Regular'. Known - values are: "Spot" and "Regular". - :vartype priority: str or ~azure.mgmt.containerservice.models.ScaleSetPriority - :ivar eviction_policy: The eviction policy for machine. This cannot be specified unless the - priority is 'Spot'. If not specified, the default is 'Delete'. Known values are: "Delete" and - "Deallocate". - :vartype eviction_policy: str or ~azure.mgmt.containerservice.models.ScaleSetEvictionPolicy - :ivar billing: The properties having to do with machine billing. - :vartype billing: ~azure.mgmt.containerservice.models.MachineBillingProfile - :ivar node_image_version: The version of node image. - :vartype node_image_version: str - :ivar provisioning_state: The current deployment or provisioning state. - :vartype provisioning_state: str - :ivar tags: The tags to be persisted on the machine. - :vartype tags: dict[str, str] - :ivar e_tag: 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. - :vartype e_tag: str - :ivar status: Contains read-only information about the machine. - :vartype status: ~azure.mgmt.containerservice.models.MachineStatus - :ivar local_dns_profile: 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. - :vartype local_dns_profile: ~azure.mgmt.containerservice.models.LocalDNSProfile - """ - - network: Optional["_models.MachineNetworkProperties"] = rest_field( - visibility=["read", "create", "update", "delete", "query"] - ) - """network properties of the machine.""" - resource_id: Optional[str] = rest_field(name="resourceId", visibility=["read"]) - """Azure resource id of the machine. It can be used to GET underlying VM Instance.""" - hardware: Optional["_models.MachineHardwareProfile"] = rest_field( - visibility=["read", "create", "update", "delete", "query"] - ) - """The hardware and GPU settings of the machine.""" - operating_system: Optional["_models.MachineOSProfile"] = rest_field( - name="operatingSystem", visibility=["read", "create", "update", "delete", "query"] - ) - """The operating system and disk used by the machine.""" - kubernetes: Optional["_models.MachineKubernetesProfile"] = rest_field( - visibility=["read", "create", "update", "delete", "query"] - ) - """The Kubernetes configurations used by the machine.""" - mode: Optional[Union[str, "_models.AgentPoolMode"]] = rest_field( - visibility=["read", "create", "update", "delete", "query"] - ) - """Machine only allows 'System' and 'User' mode. Known values are: \"System\", \"User\", - \"Gateway\", \"ManagedSystem\", and \"Machines\".""" - security: Optional["_models.MachineSecurityProfile"] = rest_field( - visibility=["read", "create", "update", "delete", "query"] - ) - """The security settings of the machine.""" - priority: Optional[Union[str, "_models.ScaleSetPriority"]] = rest_field( - visibility=["read", "create", "update", "delete", "query"] - ) - """The priority for the machine. If not specified, the default is 'Regular'. Known values are: - \"Spot\" and \"Regular\".""" - eviction_policy: Optional[Union[str, "_models.ScaleSetEvictionPolicy"]] = rest_field( - name="evictionPolicy", visibility=["read", "create", "update", "delete", "query"] - ) - """The eviction policy for machine. This cannot be specified unless the priority is 'Spot'. If not - specified, the default is 'Delete'. Known values are: \"Delete\" and \"Deallocate\".""" - billing: Optional["_models.MachineBillingProfile"] = rest_field( - visibility=["read", "create", "update", "delete", "query"] - ) - """The properties having to do with machine billing.""" - node_image_version: Optional[str] = rest_field(name="nodeImageVersion", visibility=["read"]) - """The version of node image.""" - provisioning_state: Optional[str] = rest_field(name="provisioningState", visibility=["read"]) - """The current deployment or provisioning state.""" - tags: Optional[dict[str, str]] = rest_field(visibility=["read", "create", "update", "delete", "query"]) - """The tags to be persisted on the machine.""" - e_tag: Optional[str] = rest_field(name="eTag", visibility=["read"]) - """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.""" - status: Optional["_models.MachineStatus"] = rest_field(visibility=["read"]) - """Contains read-only information about the machine.""" - local_dns_profile: Optional["_models.LocalDNSProfile"] = rest_field( - name="localDNSProfile", visibility=["read", "create", "update", "delete", "query"] - ) - """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.""" - - @overload - def __init__( - self, - *, - network: Optional["_models.MachineNetworkProperties"] = None, - hardware: Optional["_models.MachineHardwareProfile"] = None, - operating_system: Optional["_models.MachineOSProfile"] = None, - kubernetes: Optional["_models.MachineKubernetesProfile"] = None, - mode: Optional[Union[str, "_models.AgentPoolMode"]] = None, - security: Optional["_models.MachineSecurityProfile"] = None, - priority: Optional[Union[str, "_models.ScaleSetPriority"]] = None, - eviction_policy: Optional[Union[str, "_models.ScaleSetEvictionPolicy"]] = None, - billing: Optional["_models.MachineBillingProfile"] = None, - tags: Optional[dict[str, str]] = None, - local_dns_profile: Optional["_models.LocalDNSProfile"] = None, - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: - """ - :param mapping: raw JSON to initialize the model. - :type mapping: Mapping[str, Any] - """ - - def __init__(self, *args: Any, **kwargs: Any) -> None: - super().__init__(*args, **kwargs) - - -class MachineSecurityProfile(_Model): - """The security settings of the machine. - - :ivar enable_vtpm: 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. - :vartype enable_vtpm: bool - :ivar enable_secure_boot: 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. - :vartype enable_secure_boot: bool - :ivar ssh_access: SSH access method of an agent pool. Known values are: "LocalUser", - "Disabled", and "EntraId". - :vartype ssh_access: str or ~azure.mgmt.containerservice.models.AgentPoolSSHAccess - :ivar enable_encryption_at_host: 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 - `_. - :vartype enable_encryption_at_host: bool - """ - - enable_vtpm: Optional[bool] = rest_field( - name="enableVTPM", visibility=["read", "create", "update", "delete", "query"] - ) - """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.""" - enable_secure_boot: Optional[bool] = rest_field( - name="enableSecureBoot", visibility=["read", "create", "update", "delete", "query"] - ) - """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.""" - ssh_access: Optional[Union[str, "_models.AgentPoolSSHAccess"]] = rest_field( - name="sshAccess", visibility=["read", "create", "update", "delete", "query"] - ) - """SSH access method of an agent pool. Known values are: \"LocalUser\", \"Disabled\", and - \"EntraId\".""" - enable_encryption_at_host: Optional[bool] = rest_field( - name="enableEncryptionAtHost", visibility=["read", "create", "update", "delete", "query"] - ) - """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 - `_.""" + properties: Optional["_models.MachineProperties"] = rest_field( + visibility=["read", "create", "update", "delete", "query"] + ) + """The properties of the machine.""" + zones: Optional[list[str]] = rest_field(visibility=["read"]) + """The Availability zone in which machine is located.""" @overload def __init__( self, *, - enable_vtpm: Optional[bool] = None, - enable_secure_boot: Optional[bool] = None, - ssh_access: Optional[Union[str, "_models.AgentPoolSSHAccess"]] = None, - enable_encryption_at_host: Optional[bool] = None, + properties: Optional["_models.MachineProperties"] = None, ) -> None: ... @overload @@ -5950,46 +3589,50 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class MachineStatus(_Model): - """Contains read-only information about the machine. +class MachineIpAddress(_Model): + """The machine IP address details. - :ivar provisioning_error: The error details information of the machine. Preserves the detailed - info of failure. If there was no error, this field is omitted. - :vartype provisioning_error: ~azure.mgmt.containerservice.models.ErrorDetail - :ivar creation_timestamp: Specifies the time at which the machine was created. - :vartype creation_timestamp: ~datetime.datetime - :ivar drift_action: 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. Known values are: "Synced" and "Recreate". - :vartype drift_action: str or ~azure.mgmt.containerservice.models.DriftAction - :ivar drift_reason: Reason for machine drift. Provides detailed information on why the machine - has drifted. This field is omitted if the machine is up to date. - :vartype drift_reason: str - :ivar vm_state: Virtual machine state. Indicates the current state of the underlying virtual - machine. Known values are: "Running" and "Deleted". - :vartype vm_state: str or ~azure.mgmt.containerservice.models.VmState + :ivar family: To determine if address belongs IPv4 or IPv6 family. Known values are: "IPv4" and + "IPv6". + :vartype family: str or ~azure.mgmt.containerservice.models.IPFamily + :ivar ip: IPv4 or IPv6 address of the machine. + :vartype ip: str """ - provisioning_error: Optional["_models.ErrorDetail"] = rest_field(name="provisioningError", visibility=["read"]) - """The error details information of the machine. Preserves the detailed info of failure. If there - was no error, this field is omitted.""" - creation_timestamp: Optional[datetime.datetime] = rest_field( - name="creationTimestamp", visibility=["read"], format="rfc3339" - ) - """Specifies the time at which the machine was created.""" - drift_action: Optional[Union[str, "_models.DriftAction"]] = rest_field(name="driftAction", visibility=["read"]) - """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. Known values - are: \"Synced\" and \"Recreate\".""" - drift_reason: Optional[str] = rest_field(name="driftReason", visibility=["read"]) - """Reason for machine drift. Provides detailed information on why the machine has drifted. This - field is omitted if the machine is up to date.""" - vm_state: Optional[Union[str, "_models.VmState"]] = rest_field(name="vmState", visibility=["read"]) - """Virtual machine state. Indicates the current state of the underlying virtual machine. Known - values are: \"Running\" and \"Deleted\".""" - - -class MaintenanceConfiguration(ProxyResource): + family: Optional[Union[str, "_models.IPFamily"]] = rest_field(visibility=["read"]) + """To determine if address belongs IPv4 or IPv6 family. Known values are: \"IPv4\" and \"IPv6\".""" + ip: Optional[str] = rest_field(visibility=["read"]) + """IPv4 or IPv6 address of the machine.""" + + +class MachineNetworkProperties(_Model): + """network properties of the machine. + + :ivar ip_addresses: IPv4, IPv6 addresses of the machine. + :vartype ip_addresses: list[~azure.mgmt.containerservice.models.MachineIpAddress] + """ + + ip_addresses: Optional[list["_models.MachineIpAddress"]] = rest_field(name="ipAddresses", visibility=["read"]) + """IPv4, IPv6 addresses of the machine.""" + + +class MachineProperties(_Model): + """The properties of the machine. + + :ivar network: network properties of the machine. + :vartype network: ~azure.mgmt.containerservice.models.MachineNetworkProperties + :ivar resource_id: Azure resource id of the machine. It can be used to GET underlying VM + Instance. + :vartype resource_id: str + """ + + network: Optional["_models.MachineNetworkProperties"] = rest_field(visibility=["read"]) + """network properties of the machine.""" + resource_id: Optional[str] = rest_field(name="resourceId", visibility=["read"]) + """Azure resource id of the machine. It can be used to GET underlying VM Instance.""" + + +class MaintenanceConfiguration(ProxyResource): # pylint: disable=docstring-keyword-should-match-keyword-only """Planned maintenance configuration, used to configure when updates can be deployed to a Managed Cluster. See `planned maintenance `_ for more information about planned maintenance. @@ -6014,7 +3657,7 @@ class MaintenanceConfiguration(ProxyResource): ) """Properties of a default maintenance configuration.""" - __flattened_items = ["time_in_week", "not_allowed_time", "maintenance_window_id", "maintenance_window"] + __flattened_items = ["time_in_week", "not_allowed_time", "maintenance_window"] @overload def __init__( @@ -6052,7 +3695,7 @@ def __setattr__(self, key: str, value: Any) -> None: super().__setattr__(key, value) -class MaintenanceConfigurationProperties(_Model): +class MaintenanceConfigurationProperties(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Properties used to configure planned maintenance for a Managed Cluster. :ivar time_in_week: Time slots during the week when planned maintenance is allowed to proceed. @@ -6061,12 +3704,6 @@ class MaintenanceConfigurationProperties(_Model): :vartype time_in_week: list[~azure.mgmt.containerservice.models.TimeInWeek] :ivar not_allowed_time: Time slots on which upgrade is not allowed. :vartype not_allowed_time: list[~azure.mgmt.containerservice.models.TimeSpan] - :ivar maintenance_window_id: The fully qualified resource ID of the maintenance window that - this maintenance configuration is linked to. When set, the schedule is derived read-only from - the linked maintenance window — maintenanceWindow becomes a computed field. When absent (the - default), the schedule is defined inline via the maintenanceWindow property. The caller must - have read access to the target maintenance window. - :vartype maintenance_window_id: str :ivar maintenance_window: Maintenance window for the maintenance configuration. :vartype maintenance_window: ~azure.mgmt.containerservice.models.MaintenanceWindow """ @@ -6081,14 +3718,6 @@ class MaintenanceConfigurationProperties(_Model): name="notAllowedTime", visibility=["read", "create", "update", "delete", "query"] ) """Time slots on which upgrade is not allowed.""" - maintenance_window_id: Optional[str] = rest_field( - name="maintenanceWindowId", visibility=["read", "create", "update", "delete", "query"] - ) - """The fully qualified resource ID of the maintenance window that this maintenance configuration - is linked to. When set, the schedule is derived read-only from the linked maintenance window — - maintenanceWindow becomes a computed field. When absent (the default), the schedule is defined - inline via the maintenanceWindow property. The caller must have read access to the target - maintenance window.""" maintenance_window: Optional["_models.MaintenanceWindow"] = rest_field( name="maintenanceWindow", visibility=["read", "create", "update", "delete", "query"] ) @@ -6100,7 +3729,6 @@ def __init__( *, time_in_week: Optional[list["_models.TimeInWeek"]] = None, not_allowed_time: Optional[list["_models.TimeSpan"]] = None, - maintenance_window_id: Optional[str] = None, maintenance_window: Optional["_models.MaintenanceWindow"] = None, ) -> None: ... @@ -6115,7 +3743,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class MaintenanceWindow(_Model): +class MaintenanceWindow(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Maintenance window used to configure scheduled auto-upgrade for a Managed Cluster. :ivar schedule: Recurrence schedule for the maintenance window. Required. @@ -6187,7 +3815,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class TrackedResource(Resource): +class TrackedResource(Resource): # pylint: disable=docstring-keyword-should-match-keyword-only """Tracked Resource. :ivar id: Fully qualified resource ID for the resource. Ex - @@ -6231,148 +3859,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class MaintenanceWindowResource(TrackedResource): - """A maintenance window is a resource-group-scoped resource that defines a reusable maintenance - schedule which can be linked to maintenance configurations on one or more managed clusters. For - more information, see `https://aka.ms/aks/maintenance-windows - `_. - - :ivar id: Fully qualified resource ID for the resource. Ex - - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - :vartype id: str - :ivar name: The name of the resource. - :vartype name: str - :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or - "Microsoft.Storage/storageAccounts". - :vartype type: str - :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy - information. - :vartype system_data: ~azure.mgmt.containerservice.models.SystemData - :ivar tags: Resource tags. - :vartype tags: dict[str, str] - :ivar location: The geo-location where the resource lives. Required. - :vartype location: str - :ivar properties: Properties of a maintenance window. - :vartype properties: ~azure.mgmt.containerservice.models.MaintenanceWindowResourceProperties - """ - - properties: Optional["_models.MaintenanceWindowResourceProperties"] = rest_field( - visibility=["read", "create", "update", "delete", "query"] - ) - """Properties of a maintenance window.""" - - @overload - def __init__( - self, - *, - location: str, - tags: Optional[dict[str, str]] = None, - properties: Optional["_models.MaintenanceWindowResourceProperties"] = None, - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: - """ - :param mapping: raw JSON to initialize the model. - :type mapping: Mapping[str, Any] - """ - - def __init__(self, *args: Any, **kwargs: Any) -> None: - super().__init__(*args, **kwargs) - - -class MaintenanceWindowResourceProperties(_Model): - """Properties of a maintenance window. For more information, see - `https://aka.ms/aks/maintenance-windows `_. - - :ivar provisioning_state: The provisioning state of the maintenance window. Known values are: - "Succeeded", "Failed", and "Canceled". - :vartype provisioning_state: str or - ~azure.mgmt.containerservice.models.ResourceProvisioningState - :ivar schedule: Recurrence schedule for the maintenance window. One and only one of the - schedule types should be specified: 'daily', 'weekly', 'absoluteMonthly', or 'relativeMonthly'. - Required. - :vartype schedule: ~azure.mgmt.containerservice.models.Schedule - :ivar start_date: The date the maintenance window activates. If the current date is before this - date, the maintenance window is inactive and will not be used. If not specified, the - maintenance window will be active right away. - :vartype start_date: ~datetime.date - :ivar start_time: 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'. Required. - :vartype start_time: str - :ivar duration_hours: Length of the maintenance window in hours. Required. - :vartype duration_hours: int - :ivar utc_offset: 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'. Note: this is a static offset and does not - adjust for Daylight Saving Time. Customers in DST-observing regions should pick the offset that - matches their preferred wall-clock time year-round; the maintenance window will shift by one - hour relative to local time when DST starts or ends. - :vartype utc_offset: str - :ivar not_allowed_dates: Date ranges during which maintenance is not allowed. 'utcOffset' - applies to these dates. For example, with 'utcOffset: +02:00' and a date span of '2026-12-23' - to '2027-01-03', maintenance will be blocked from '2026-12-22 22:00' to '2027-01-03 22:00' in - UTC time. - :vartype not_allowed_dates: list[~azure.mgmt.containerservice.models.DateSpan] - """ - - provisioning_state: Optional[Union[str, "_models.ResourceProvisioningState"]] = rest_field( - name="provisioningState", visibility=["read"] - ) - """The provisioning state of the maintenance window. Known values are: \"Succeeded\", \"Failed\", - and \"Canceled\".""" - schedule: "_models.Schedule" = rest_field(visibility=["read", "create", "update", "delete", "query"]) - """Recurrence schedule for the maintenance window. One and only one of the schedule types should - be specified: 'daily', 'weekly', 'absoluteMonthly', or 'relativeMonthly'. Required.""" - start_date: Optional[datetime.date] = rest_field( - name="startDate", visibility=["read", "create", "update", "delete", "query"] - ) - """The date the maintenance window activates. If the current date is before this date, the - maintenance window is inactive and will not be used. If not specified, the maintenance window - will be active right away.""" - start_time: str = rest_field(name="startTime", visibility=["read", "create", "update", "delete", "query"]) - """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'. Required.""" - duration_hours: int = rest_field(name="durationHours", visibility=["read", "create", "update", "delete", "query"]) - """Length of the maintenance window in hours. Required.""" - utc_offset: Optional[str] = rest_field(name="utcOffset", visibility=["read", "create", "update", "delete", "query"]) - """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'. Note: this is a static offset and does not adjust for - Daylight Saving Time. Customers in DST-observing regions should pick the offset that matches - their preferred wall-clock time year-round; the maintenance window will shift by one hour - relative to local time when DST starts or ends.""" - not_allowed_dates: Optional[list["_models.DateSpan"]] = rest_field( - name="notAllowedDates", visibility=["read", "create", "update", "delete", "query"] - ) - """Date ranges during which maintenance is not allowed. 'utcOffset' applies to these dates. For - example, with 'utcOffset: +02:00' and a date span of '2026-12-23' to '2027-01-03', maintenance - will be blocked from '2026-12-22 22:00' to '2027-01-03 22:00' in UTC time.""" - - @overload - def __init__( - self, - *, - schedule: "_models.Schedule", - start_time: str, - duration_hours: int, - start_date: Optional[datetime.date] = None, - utc_offset: Optional[str] = None, - not_allowed_dates: Optional[list["_models.DateSpan"]] = None, - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: - """ - :param mapping: raw JSON to initialize the model. - :type mapping: Mapping[str, Any] - """ - - def __init__(self, *args: Any, **kwargs: Any) -> None: - super().__init__(*args, **kwargs) - - -class ManagedCluster(TrackedResource): +class ManagedCluster(TrackedResource): # pylint: disable=docstring-keyword-should-match-keyword-only """Managed cluster. :ivar id: Fully qualified resource ID for the resource. Ex - @@ -6433,7 +3920,6 @@ class ManagedCluster(TrackedResource): __flattened_items = [ "provisioning_state", "power_state", - "creation_data", "max_agent_pools", "kubernetes_version", "current_kubernetes_version", @@ -6453,8 +3939,6 @@ class ManagedCluster(TrackedResource): "node_resource_group_profile", "enable_rbac", "support_plan", - "enable_fips", - "enable_namespace_resources", "network_profile", "aad_profile", "auto_upgrade_profile", @@ -6480,9 +3964,6 @@ class ManagedCluster(TrackedResource): "ai_toolchain_operator_profile", "scheduler_profile", "hosted_system_profile", - "health_monitor_profile", - "control_plane_scaling_profile", - "node_disruption_profile", "status", ] @@ -6528,7 +4009,7 @@ def __setattr__(self, key: str, value: Any) -> None: super().__setattr__(key, value) -class ManagedClusterAADProfile(_Model): +class ManagedClusterAADProfile(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """AADProfile specifies attributes for Azure Active Directory integration. For more details see `managed AAD on AKS `_. @@ -6606,7 +4087,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class ManagedClusterAccessProfile(TrackedResource): +class ManagedClusterAccessProfile(TrackedResource): # pylint: disable=docstring-keyword-should-match-keyword-only """Managed cluster Access Profile. :ivar id: Fully qualified resource ID for the resource. Ex - @@ -6673,7 +4154,7 @@ def __setattr__(self, key: str, value: Any) -> None: super().__setattr__(key, value) -class ManagedClusterAddonProfile(_Model): +class ManagedClusterAddonProfile(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """A Kubernetes add-on profile for a managed cluster. :ivar enabled: Whether the add-on is enabled or not. Required. @@ -6710,7 +4191,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class UserAssignedIdentity(_Model): +class UserAssignedIdentity(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Details about a user assigned identity. :ivar resource_id: The resource ID of the user assigned identity. @@ -6750,7 +4231,9 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class ManagedClusterAddonProfileIdentity(UserAssignedIdentity): +class ManagedClusterAddonProfileIdentity( + UserAssignedIdentity +): # pylint: disable=docstring-keyword-should-match-keyword-only """Information of user assigned identity used by this add-on. :ivar resource_id: The resource ID of the user assigned identity. @@ -6781,7 +4264,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class ManagedClusterAgentPoolProfileProperties(_Model): +class ManagedClusterAgentPoolProfileProperties(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Properties for the container service agent pool profile. :ivar e_tag: Unique read-only string used to implement optimistic concurrency. The eTag value @@ -6813,7 +4296,7 @@ class ManagedClusterAgentPoolProfileProperties(_Model): root, and Kubelet ephemeral storage. Known values are: "OS" and "Temporary". :vartype kubelet_disk_type: str or ~azure.mgmt.containerservice.models.KubeletDiskType :ivar workload_runtime: Determines the type of workload a node can run. Known values are: - "OCIContainer", "WasmWasi", "KataMshvVmIsolation", and "KataVmIsolation". + "OCIContainer", "WasmWasi", and "KataVmIsolation". :vartype workload_runtime: str or ~azure.mgmt.containerservice.models.WorkloadRuntime :ivar message_of_the_day: 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 @@ -6842,9 +4325,9 @@ class ManagedClusterAgentPoolProfileProperties(_Model): :vartype os_type: str or ~azure.mgmt.containerservice.models.OSType :ivar os_sku: 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. Known values are: "Ubuntu", "AzureLinux", "AzureLinux3", "Mariner", - "Flatcar", "CBLMariner", "Windows2019", "Windows2022", "Ubuntu2204", "Windows2025", - "WindowsAnnual", "Ubuntu2404", and "AzureContainerLinux". + 1.25 if OSType is Windows. Known values are: "Ubuntu", "AzureLinux", "AzureLinux3", + "CBLMariner", "Windows2019", "Windows2022", "Ubuntu2204", "Windows2025", "Ubuntu2404", and + "AzureContainerLinux". :vartype os_sku: str or ~azure.mgmt.containerservice.models.OSSKU :ivar max_count: The maximum number of nodes for auto-scaling. :vartype max_count: int @@ -6857,13 +4340,13 @@ class ManagedClusterAgentPoolProfileProperties(_Model): are: "Delete" and "Deallocate". :vartype scale_down_mode: str or ~azure.mgmt.containerservice.models.ScaleDownMode :ivar type: The type of Agent Pool. Known values are: "VirtualMachineScaleSets", - "AvailabilitySet", "VirtualMachines", and "FlexNodes". + "AvailabilitySet", and "VirtualMachines". :vartype type: str or ~azure.mgmt.containerservice.models.AgentPoolType :ivar mode: 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 `_. Known values are: "System", "User", - "Gateway", "ManagedSystem", and "Machines". + and "Gateway". :vartype mode: str or ~azure.mgmt.containerservice.models.AgentPoolMode :ivar orchestrator_version: The version of Kubernetes specified by the user. Both patch version (e.g. 1.20.13) and (e.g. 1.20) are supported. When @@ -6884,19 +4367,8 @@ class ManagedClusterAgentPoolProfileProperties(_Model): :ivar node_image_version: The version of the node image. Setting this value triggers an agentPool rollback. Only values from ``recentlyUsedVersions`` are allowed. :vartype node_image_version: str - :ivar upgrade_strategy: Defines the upgrade strategy for the agent pool. The default is - Rolling. Known values are: "Rolling" and "BlueGreen". - :vartype upgrade_strategy: str or ~azure.mgmt.containerservice.models.UpgradeStrategy - :ivar enable_os_disk_full_caching: Whether to enable the full-cache ephemeral OS disk feature. - When this feature is enabled, the entire operating system will be locally cached on the - ephemeral OS disk, preventing E17 events caused by network failures. - :vartype enable_os_disk_full_caching: bool :ivar upgrade_settings: Settings for upgrading the agentpool. :vartype upgrade_settings: ~azure.mgmt.containerservice.models.AgentPoolUpgradeSettings - :ivar upgrade_settings_blue_green: Settings for Blue-Green upgrade on the agentpool. Applies - when upgrade strategy is set to BlueGreen. - :vartype upgrade_settings_blue_green: - ~azure.mgmt.containerservice.models.AgentPoolBlueGreenUpgradeSettings :ivar provisioning_state: The current deployment or provisioning state. :vartype provisioning_state: str :ivar power_state: Whether the Agent Pool is running or stopped. When an Agent Pool is first @@ -6941,14 +4413,6 @@ class ManagedClusterAgentPoolProfileProperties(_Model): :ivar node_taints: The taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule. :vartype node_taints: list[str] - :ivar node_initialization_taints: 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-``. - :vartype node_initialization_taints: list[str] :ivar proximity_placement_group_id: The ID for Proximity Placement Group. :vartype proximity_placement_group_id: str :ivar kubelet_config: The Kubelet configuration on the agent pool nodes. @@ -7012,10 +4476,6 @@ class ManagedClusterAgentPoolProfileProperties(_Model): LocalDNS helps improve performance and reliability of DNS resolution in an AKS cluster. For more details see aka.ms/aks/localdns. :vartype local_dns_profile: ~azure.mgmt.containerservice.models.LocalDNSProfile - :ivar prepared_image_specification_profile: Settings to determine the prepared image - specification used to provision nodes in a pool. - :vartype prepared_image_specification_profile: - ~azure.mgmt.containerservice.models.PreparedImageSpecificationProfile """ e_tag: Optional[str] = rest_field(name="eTag", visibility=["read"]) @@ -7054,7 +4514,7 @@ class ManagedClusterAgentPoolProfileProperties(_Model): name="workloadRuntime", visibility=["read", "create", "update", "delete", "query"] ) """Determines the type of workload a node can run. Known values are: \"OCIContainer\", - \"WasmWasi\", \"KataMshvVmIsolation\", and \"KataVmIsolation\".""" + \"WasmWasi\", and \"KataVmIsolation\".""" message_of_the_day: Optional[str] = rest_field( name="messageOfTheDay", visibility=["read", "create", "update", "delete", "query"] ) @@ -7092,9 +4552,9 @@ class ManagedClusterAgentPoolProfileProperties(_Model): ) """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. Known values are: \"Ubuntu\", \"AzureLinux\", \"AzureLinux3\", \"Mariner\", - \"Flatcar\", \"CBLMariner\", \"Windows2019\", \"Windows2022\", \"Ubuntu2204\", \"Windows2025\", - \"WindowsAnnual\", \"Ubuntu2404\", and \"AzureContainerLinux\".""" + is Windows. Known values are: \"Ubuntu\", \"AzureLinux\", \"AzureLinux3\", \"CBLMariner\", + \"Windows2019\", \"Windows2022\", \"Ubuntu2204\", \"Windows2025\", \"Ubuntu2404\", and + \"AzureContainerLinux\".""" max_count: Optional[int] = rest_field(name="maxCount", visibility=["read", "create", "update", "delete", "query"]) """The maximum number of nodes for auto-scaling.""" min_count: Optional[int] = rest_field(name="minCount", visibility=["read", "create", "update", "delete", "query"]) @@ -7112,8 +4572,8 @@ class ManagedClusterAgentPoolProfileProperties(_Model): type: Optional[Union[str, "_models.AgentPoolType"]] = rest_field( visibility=["read", "create", "update", "delete", "query"] ) - """The type of Agent Pool. Known values are: \"VirtualMachineScaleSets\", \"AvailabilitySet\", - \"VirtualMachines\", and \"FlexNodes\".""" + """The type of Agent Pool. Known values are: \"VirtualMachineScaleSets\", \"AvailabilitySet\", and + \"VirtualMachines\".""" mode: Optional[Union[str, "_models.AgentPoolMode"]] = rest_field( visibility=["read", "create", "update", "delete", "query"] ) @@ -7121,7 +4581,7 @@ class ManagedClusterAgentPoolProfileProperties(_Model): For additional information on agent pool restrictions and best practices, see: `https://docs.microsoft.com/azure/aks/use-system-pools `_. Known values are: \"System\", - \"User\", \"Gateway\", \"ManagedSystem\", and \"Machines\".""" + \"User\", and \"Gateway\".""" orchestrator_version: Optional[str] = rest_field( name="orchestratorVersion", visibility=["read", "create", "update", "delete", "query"] ) @@ -7145,26 +4605,10 @@ class ManagedClusterAgentPoolProfileProperties(_Model): ) """The version of the node image. Setting this value triggers an agentPool rollback. Only values from ``recentlyUsedVersions`` are allowed.""" - upgrade_strategy: Optional[Union[str, "_models.UpgradeStrategy"]] = rest_field( - name="upgradeStrategy", visibility=["read", "create", "update", "delete", "query"] - ) - """Defines the upgrade strategy for the agent pool. The default is Rolling. Known values are: - \"Rolling\" and \"BlueGreen\".""" - enable_os_disk_full_caching: Optional[bool] = rest_field( - name="enableOSDiskFullCaching", visibility=["read", "create", "update", "delete", "query"] - ) - """Whether to enable the full-cache ephemeral OS disk feature. When this feature is enabled, the - entire operating system will be locally cached on the ephemeral OS disk, preventing E17 events - caused by network failures.""" upgrade_settings: Optional["_models.AgentPoolUpgradeSettings"] = rest_field( name="upgradeSettings", visibility=["read", "create", "update", "delete", "query"] ) """Settings for upgrading the agentpool.""" - upgrade_settings_blue_green: Optional["_models.AgentPoolBlueGreenUpgradeSettings"] = rest_field( - name="upgradeSettingsBlueGreen", visibility=["read", "create", "update", "delete", "query"] - ) - """Settings for Blue-Green upgrade on the agentpool. Applies when upgrade strategy is set to - BlueGreen.""" provisioning_state: Optional[str] = rest_field(name="provisioningState", visibility=["read"]) """The current deployment or provisioning state.""" power_state: Optional["_models.PowerState"] = rest_field( @@ -7223,16 +4667,6 @@ class ManagedClusterAgentPoolProfileProperties(_Model): ) """The taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule.""" - node_initialization_taints: Optional[list[str]] = rest_field( - name="nodeInitializationTaints", visibility=["read", "create", "update", "delete", "query"] - ) - """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-``.""" proximity_placement_group_id: Optional[str] = rest_field( name="proximityPlacementGroupID", visibility=["read", "create", "update", "delete", "query"] ) @@ -7330,10 +4764,6 @@ class ManagedClusterAgentPoolProfileProperties(_Model): """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.""" - prepared_image_specification_profile: Optional["_models.PreparedImageSpecificationProfile"] = rest_field( - name="preparedImageSpecificationProfile", visibility=["read", "create", "update", "delete", "query"] - ) - """Settings to determine the prepared image specification used to provision nodes in a pool.""" @overload def __init__( # pylint: disable=too-many-locals @@ -7360,10 +4790,7 @@ def __init__( # pylint: disable=too-many-locals mode: Optional[Union[str, "_models.AgentPoolMode"]] = None, orchestrator_version: Optional[str] = None, node_image_version: Optional[str] = None, - upgrade_strategy: Optional[Union[str, "_models.UpgradeStrategy"]] = None, - enable_os_disk_full_caching: Optional[bool] = None, upgrade_settings: Optional["_models.AgentPoolUpgradeSettings"] = None, - upgrade_settings_blue_green: Optional["_models.AgentPoolBlueGreenUpgradeSettings"] = None, power_state: Optional["_models.PowerState"] = None, availability_zones: Optional[list[str]] = None, enable_node_public_ip: Optional[bool] = None, @@ -7374,7 +4801,6 @@ def __init__( # pylint: disable=too-many-locals tags: Optional[dict[str, str]] = None, node_labels: Optional[dict[str, str]] = None, node_taints: Optional[list[str]] = None, - node_initialization_taints: Optional[list[str]] = None, proximity_placement_group_id: Optional[str] = None, kubelet_config: Optional["_models.KubeletConfig"] = None, linux_os_config: Optional["_models.LinuxOSConfig"] = None, @@ -7395,7 +4821,6 @@ def __init__( # pylint: disable=too-many-locals virtual_machine_nodes_status: Optional[list["_models.VirtualMachineNodes"]] = None, status: Optional["_models.AgentPoolStatus"] = None, local_dns_profile: Optional["_models.LocalDNSProfile"] = None, - prepared_image_specification_profile: Optional["_models.PreparedImageSpecificationProfile"] = None, ) -> None: ... @overload @@ -7409,7 +4834,9 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class ManagedClusterAgentPoolProfile(ManagedClusterAgentPoolProfileProperties): +class ManagedClusterAgentPoolProfile( + ManagedClusterAgentPoolProfileProperties +): # pylint: disable=docstring-keyword-should-match-keyword-only """Profile for the container service agent pool. :ivar e_tag: Unique read-only string used to implement optimistic concurrency. The eTag value @@ -7441,7 +4868,7 @@ class ManagedClusterAgentPoolProfile(ManagedClusterAgentPoolProfileProperties): root, and Kubelet ephemeral storage. Known values are: "OS" and "Temporary". :vartype kubelet_disk_type: str or ~azure.mgmt.containerservice.models.KubeletDiskType :ivar workload_runtime: Determines the type of workload a node can run. Known values are: - "OCIContainer", "WasmWasi", "KataMshvVmIsolation", and "KataVmIsolation". + "OCIContainer", "WasmWasi", and "KataVmIsolation". :vartype workload_runtime: str or ~azure.mgmt.containerservice.models.WorkloadRuntime :ivar message_of_the_day: 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 @@ -7470,9 +4897,9 @@ class ManagedClusterAgentPoolProfile(ManagedClusterAgentPoolProfileProperties): :vartype os_type: str or ~azure.mgmt.containerservice.models.OSType :ivar os_sku: 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. Known values are: "Ubuntu", "AzureLinux", "AzureLinux3", "Mariner", - "Flatcar", "CBLMariner", "Windows2019", "Windows2022", "Ubuntu2204", "Windows2025", - "WindowsAnnual", "Ubuntu2404", and "AzureContainerLinux". + 1.25 if OSType is Windows. Known values are: "Ubuntu", "AzureLinux", "AzureLinux3", + "CBLMariner", "Windows2019", "Windows2022", "Ubuntu2204", "Windows2025", "Ubuntu2404", and + "AzureContainerLinux". :vartype os_sku: str or ~azure.mgmt.containerservice.models.OSSKU :ivar max_count: The maximum number of nodes for auto-scaling. :vartype max_count: int @@ -7485,13 +4912,13 @@ class ManagedClusterAgentPoolProfile(ManagedClusterAgentPoolProfileProperties): are: "Delete" and "Deallocate". :vartype scale_down_mode: str or ~azure.mgmt.containerservice.models.ScaleDownMode :ivar type: The type of Agent Pool. Known values are: "VirtualMachineScaleSets", - "AvailabilitySet", "VirtualMachines", and "FlexNodes". + "AvailabilitySet", and "VirtualMachines". :vartype type: str or ~azure.mgmt.containerservice.models.AgentPoolType :ivar mode: 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 `_. Known values are: "System", "User", - "Gateway", "ManagedSystem", and "Machines". + and "Gateway". :vartype mode: str or ~azure.mgmt.containerservice.models.AgentPoolMode :ivar orchestrator_version: The version of Kubernetes specified by the user. Both patch version (e.g. 1.20.13) and (e.g. 1.20) are supported. When @@ -7512,19 +4939,8 @@ class ManagedClusterAgentPoolProfile(ManagedClusterAgentPoolProfileProperties): :ivar node_image_version: The version of the node image. Setting this value triggers an agentPool rollback. Only values from ``recentlyUsedVersions`` are allowed. :vartype node_image_version: str - :ivar upgrade_strategy: Defines the upgrade strategy for the agent pool. The default is - Rolling. Known values are: "Rolling" and "BlueGreen". - :vartype upgrade_strategy: str or ~azure.mgmt.containerservice.models.UpgradeStrategy - :ivar enable_os_disk_full_caching: Whether to enable the full-cache ephemeral OS disk feature. - When this feature is enabled, the entire operating system will be locally cached on the - ephemeral OS disk, preventing E17 events caused by network failures. - :vartype enable_os_disk_full_caching: bool :ivar upgrade_settings: Settings for upgrading the agentpool. :vartype upgrade_settings: ~azure.mgmt.containerservice.models.AgentPoolUpgradeSettings - :ivar upgrade_settings_blue_green: Settings for Blue-Green upgrade on the agentpool. Applies - when upgrade strategy is set to BlueGreen. - :vartype upgrade_settings_blue_green: - ~azure.mgmt.containerservice.models.AgentPoolBlueGreenUpgradeSettings :ivar provisioning_state: The current deployment or provisioning state. :vartype provisioning_state: str :ivar power_state: Whether the Agent Pool is running or stopped. When an Agent Pool is first @@ -7569,14 +4985,6 @@ class ManagedClusterAgentPoolProfile(ManagedClusterAgentPoolProfileProperties): :ivar node_taints: The taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule. :vartype node_taints: list[str] - :ivar node_initialization_taints: 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-``. - :vartype node_initialization_taints: list[str] :ivar proximity_placement_group_id: The ID for Proximity Placement Group. :vartype proximity_placement_group_id: str :ivar kubelet_config: The Kubelet configuration on the agent pool nodes. @@ -7640,10 +5048,6 @@ class ManagedClusterAgentPoolProfile(ManagedClusterAgentPoolProfileProperties): LocalDNS helps improve performance and reliability of DNS resolution in an AKS cluster. For more details see aka.ms/aks/localdns. :vartype local_dns_profile: ~azure.mgmt.containerservice.models.LocalDNSProfile - :ivar prepared_image_specification_profile: Settings to determine the prepared image - specification used to provision nodes in a pool. - :vartype prepared_image_specification_profile: - ~azure.mgmt.containerservice.models.PreparedImageSpecificationProfile :ivar name: 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. Required. :vartype name: str @@ -7679,10 +5083,7 @@ def __init__( # pylint: disable=too-many-locals mode: Optional[Union[str, "_models.AgentPoolMode"]] = None, orchestrator_version: Optional[str] = None, node_image_version: Optional[str] = None, - upgrade_strategy: Optional[Union[str, "_models.UpgradeStrategy"]] = None, - enable_os_disk_full_caching: Optional[bool] = None, upgrade_settings: Optional["_models.AgentPoolUpgradeSettings"] = None, - upgrade_settings_blue_green: Optional["_models.AgentPoolBlueGreenUpgradeSettings"] = None, power_state: Optional["_models.PowerState"] = None, availability_zones: Optional[list[str]] = None, enable_node_public_ip: Optional[bool] = None, @@ -7693,7 +5094,6 @@ def __init__( # pylint: disable=too-many-locals tags: Optional[dict[str, str]] = None, node_labels: Optional[dict[str, str]] = None, node_taints: Optional[list[str]] = None, - node_initialization_taints: Optional[list[str]] = None, proximity_placement_group_id: Optional[str] = None, kubelet_config: Optional["_models.KubeletConfig"] = None, linux_os_config: Optional["_models.LinuxOSConfig"] = None, @@ -7714,7 +5114,6 @@ def __init__( # pylint: disable=too-many-locals virtual_machine_nodes_status: Optional[list["_models.VirtualMachineNodes"]] = None, status: Optional["_models.AgentPoolStatus"] = None, local_dns_profile: Optional["_models.LocalDNSProfile"] = None, - prepared_image_specification_profile: Optional["_models.PreparedImageSpecificationProfile"] = None, ) -> None: ... @overload @@ -7728,7 +5127,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class ManagedClusterAIToolchainOperatorProfile(_Model): +class ManagedClusterAIToolchainOperatorProfile(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """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. @@ -7760,7 +5159,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class ManagedClusterAPIServerAccessProfile(_Model): +class ManagedClusterAPIServerAccessProfile(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Access profile for managed cluster API server. :ivar authorized_ip_ranges: The IP ranges authorized to access the Kubernetes API server. IP @@ -7854,7 +5253,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class ManagedClusterAppRoutingIstio(_Model): +class ManagedClusterAppRoutingIstio(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Configuration for using a sidecar-less Istio control plane for managed ingress via the Gateway API with App Routing. See `https://aka.ms/gateway-on-istio `_ for information on using Istio for ingress via the Gateway API. @@ -7888,7 +5287,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class ManagedClusterAutoUpgradeProfile(_Model): +class ManagedClusterAutoUpgradeProfile(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Auto upgrade profile for a managed cluster. :ivar upgrade_channel: The upgrade channel for auto upgrade. The default is 'none'. For more @@ -7935,7 +5334,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class ManagedClusterAzureMonitorProfile(_Model): +class ManagedClusterAzureMonitorProfile(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Azure Monitor addon profiles for monitoring the managed cluster. :ivar metrics: Metrics profile for the Azure Monitor managed service for Prometheus addon. @@ -7943,11 +5342,6 @@ class ManagedClusterAzureMonitorProfile(_Model): and configure additional scraping for custom targets. See aka.ms/AzureManagedPrometheus for an overview. :vartype metrics: ~azure.mgmt.containerservice.models.ManagedClusterAzureMonitorProfileMetrics - :ivar container_insights: Azure Monitor Container Insights Profile for Kubernetes Events, - Inventory and Container stdout & stderr logs etc. See aka.ms/AzureMonitorContainerInsights for - an overview. - :vartype container_insights: - ~azure.mgmt.containerservice.models.ManagedClusterAzureMonitorProfileContainerInsights :ivar app_monitoring: 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 @@ -7963,11 +5357,6 @@ class ManagedClusterAzureMonitorProfile(_Model): 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.""" - container_insights: Optional["_models.ManagedClusterAzureMonitorProfileContainerInsights"] = rest_field( - name="containerInsights", visibility=["read", "create", "update", "delete", "query"] - ) - """Azure Monitor Container Insights Profile for Kubernetes Events, Inventory and Container stdout - & stderr logs etc. See aka.ms/AzureMonitorContainerInsights for an overview.""" app_monitoring: Optional["_models.ManagedClusterAzureMonitorProfileAppMonitoring"] = rest_field( name="appMonitoring", visibility=["read", "create", "update", "delete", "query"] ) @@ -7980,7 +5369,6 @@ def __init__( self, *, metrics: Optional["_models.ManagedClusterAzureMonitorProfileMetrics"] = None, - container_insights: Optional["_models.ManagedClusterAzureMonitorProfileContainerInsights"] = None, app_monitoring: Optional["_models.ManagedClusterAzureMonitorProfileAppMonitoring"] = None, ) -> None: ... @@ -7995,7 +5383,9 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class ManagedClusterAzureMonitorProfileAppMonitoring(_Model): # pylint: disable=name-too-long +class ManagedClusterAzureMonitorProfileAppMonitoring( + _Model +): # pylint: disable=name-too-long,docstring-keyword-should-match-keyword-only """Application Monitoring profile for AKS. :ivar auto_instrumentation: Application Monitoring auto-instrumentation for AKS. Deploys a @@ -8005,20 +5395,6 @@ class ManagedClusterAzureMonitorProfileAppMonitoring(_Model): # pylint: disable `_ for an overview. :vartype auto_instrumentation: ~azure.mgmt.containerservice.models.ManagedClusterAzureMonitorProfileAppMonitoringAutoInstrumentation - :ivar open_telemetry_metrics: Application Monitoring Open Telemetry Metrics Profile for AKS. - Collects OpenTelemetry metrics of the application using Azure Monitor OpenTelemetry based SDKs. - See `https://aka.ms/AKSAppMonitoringDocs `_ and - `https://aka.ms/AzureMonitorApplicationMonitoring - `_ for an overview. - :vartype open_telemetry_metrics: - ~azure.mgmt.containerservice.models.ManagedClusterAzureMonitorProfileAppMonitoringOpenTelemetryMetrics - :ivar open_telemetry_logs_and_traces: Application Monitoring Open Telemetry Logs and Traces - Profile for AKS. Collects OpenTelemetry logs and traces of the application using Azure Monitor - OpenTelemetry based SDKs. See `https://aka.ms/AKSAppMonitoringDocs - `_ and `https://aka.ms/AzureMonitorApplicationMonitoring - `_ for an overview. - :vartype open_telemetry_logs_and_traces: - ~azure.mgmt.containerservice.models.ManagedClusterAzureMonitorProfileAppMonitoringOpenTelemetryLogsAndTraces """ auto_instrumentation: Optional["_models.ManagedClusterAzureMonitorProfileAppMonitoringAutoInstrumentation"] = ( @@ -8029,22 +5405,6 @@ class ManagedClusterAzureMonitorProfileAppMonitoring(_Model): # pylint: disable traces. See `https://aka.ms/AKSAppMonitoringDocs `_ and `https://aka.ms/AzureMonitorApplicationMonitoring `_ for an overview.""" - open_telemetry_metrics: Optional["_models.ManagedClusterAzureMonitorProfileAppMonitoringOpenTelemetryMetrics"] = ( - rest_field(name="openTelemetryMetrics", visibility=["read", "create", "update", "delete", "query"]) - ) - """Application Monitoring Open Telemetry Metrics Profile for AKS. Collects OpenTelemetry metrics - of the application using Azure Monitor OpenTelemetry based SDKs. See - `https://aka.ms/AKSAppMonitoringDocs `_ and - `https://aka.ms/AzureMonitorApplicationMonitoring - `_ for an overview.""" - open_telemetry_logs_and_traces: Optional[ - "_models.ManagedClusterAzureMonitorProfileAppMonitoringOpenTelemetryLogsAndTraces" - ] = rest_field(name="openTelemetryLogsAndTraces", visibility=["read", "create", "update", "delete", "query"]) - """Application Monitoring Open Telemetry Logs and Traces Profile for AKS. Collects OpenTelemetry - logs and traces of the application using Azure Monitor OpenTelemetry based SDKs. See - `https://aka.ms/AKSAppMonitoringDocs `_ and - `https://aka.ms/AzureMonitorApplicationMonitoring - `_ for an overview.""" @overload def __init__( @@ -8053,12 +5413,6 @@ def __init__( auto_instrumentation: Optional[ "_models.ManagedClusterAzureMonitorProfileAppMonitoringAutoInstrumentation" ] = None, - open_telemetry_metrics: Optional[ - "_models.ManagedClusterAzureMonitorProfileAppMonitoringOpenTelemetryMetrics" - ] = None, - open_telemetry_logs_and_traces: Optional[ - "_models.ManagedClusterAzureMonitorProfileAppMonitoringOpenTelemetryLogsAndTraces" - ] = None, ) -> None: ... @overload @@ -8072,7 +5426,9 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class ManagedClusterAzureMonitorProfileAppMonitoringAutoInstrumentation(_Model): # pylint: disable=name-too-long +class ManagedClusterAzureMonitorProfileAppMonitoringAutoInstrumentation( + _Model +): # pylint: disable=name-too-long,docstring-keyword-should-match-keyword-only """Application Monitoring auto-instrumentation for AKS. Deploys a webhook that auto-instruments workloads with Microsoft OpenTelemetry Distros to collect OpenTelemetry metrics, logs, and traces. See `https://aka.ms/AKSAppMonitoringDocs `_ and @@ -8083,193 +5439,14 @@ class ManagedClusterAzureMonitorProfileAppMonitoringAutoInstrumentation(_Model): :vartype enabled: bool """ - enabled: Optional[bool] = rest_field(visibility=["read", "create", "update", "delete", "query"]) - """Indicates if Application Monitoring Auto-instrumentation is enabled or not.""" - - @overload - def __init__( - self, - *, - enabled: Optional[bool] = None, - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: - """ - :param mapping: raw JSON to initialize the model. - :type mapping: Mapping[str, Any] - """ - - def __init__(self, *args: Any, **kwargs: Any) -> None: - super().__init__(*args, **kwargs) - - -class ManagedClusterAzureMonitorProfileAppMonitoringOpenTelemetryLogsAndTraces(_Model): # pylint: disable=name-too-long - """Application Monitoring Open Telemetry Logs and Traces Profile for AKS. Collects OpenTelemetry - logs and traces of the application using Azure Monitor OpenTelemetry based SDKs. See - `https://aka.ms/AKSAppMonitoringDocs `_ and - `https://aka.ms/AzureMonitorApplicationMonitoring - `_ for an overview. - - :ivar enabled: Indicates if Application Monitoring Open Telemetry Logs and traces is enabled or - not. - :vartype enabled: bool - :ivar http_port: The host port for Open Telemetry HTTP/PROTOBUF logs and traces. If not - specified, the default port is 28331. - :vartype http_port: int - :ivar grpc_port: The host port for Open Telemetry GRPC logs and traces. If not specified, the - default port is 28332. - :vartype grpc_port: int - """ - - enabled: Optional[bool] = rest_field(visibility=["read", "create", "update", "delete", "query"]) - """Indicates if Application Monitoring Open Telemetry Logs and traces is enabled or not.""" - http_port: Optional[int] = rest_field(name="httpPort", visibility=["read", "create", "update", "delete", "query"]) - """The host port for Open Telemetry HTTP/PROTOBUF logs and traces. If not specified, the default - port is 28331.""" - grpc_port: Optional[int] = rest_field(name="grpcPort", visibility=["read", "create", "update", "delete", "query"]) - """The host port for Open Telemetry GRPC logs and traces. If not specified, the default port is - 28332.""" - - @overload - def __init__( - self, - *, - enabled: Optional[bool] = None, - http_port: Optional[int] = None, - grpc_port: Optional[int] = None, - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: - """ - :param mapping: raw JSON to initialize the model. - :type mapping: Mapping[str, Any] - """ - - def __init__(self, *args: Any, **kwargs: Any) -> None: - super().__init__(*args, **kwargs) - - -class ManagedClusterAzureMonitorProfileAppMonitoringOpenTelemetryMetrics(_Model): # pylint: disable=name-too-long - """Application Monitoring Open Telemetry Metrics Profile for AKS. Collects OpenTelemetry metrics - of the application using Azure Monitor OpenTelemetry based SDKs. See - `https://aka.ms/AKSAppMonitoringDocs `_ and - `https://aka.ms/AzureMonitorApplicationMonitoring - `_ for an overview. - - :ivar enabled: Indicates if Application Monitoring Open Telemetry Metrics is enabled or not. - :vartype enabled: bool - :ivar http_port: The host port for Open Telemetry HTTP/PROTOBUF metrics. If not specified, the - default port is 28333. - :vartype http_port: int - :ivar grpc_port: The host port for Open Telemetry GRPC metrics. If not specified, the default - port is 28334. - :vartype grpc_port: int - """ - - enabled: Optional[bool] = rest_field(visibility=["read", "create", "update", "delete", "query"]) - """Indicates if Application Monitoring Open Telemetry Metrics is enabled or not.""" - http_port: Optional[int] = rest_field(name="httpPort", visibility=["read", "create", "update", "delete", "query"]) - """The host port for Open Telemetry HTTP/PROTOBUF metrics. If not specified, the default port is - 28333.""" - grpc_port: Optional[int] = rest_field(name="grpcPort", visibility=["read", "create", "update", "delete", "query"]) - """The host port for Open Telemetry GRPC metrics. If not specified, the default port is 28334.""" - - @overload - def __init__( - self, - *, - enabled: Optional[bool] = None, - http_port: Optional[int] = None, - grpc_port: Optional[int] = None, - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: - """ - :param mapping: raw JSON to initialize the model. - :type mapping: Mapping[str, Any] - """ - - def __init__(self, *args: Any, **kwargs: Any) -> None: - super().__init__(*args, **kwargs) - - -class ManagedClusterAzureMonitorProfileContainerInsights(_Model): # pylint: disable=name-too-long - """Azure Monitor Container Insights Profile for Kubernetes Events, Inventory and Container stdout - & stderr logs etc. See aka.ms/AzureMonitorContainerInsights for an overview. - - :ivar enabled: Indicates if Azure Monitor Container Insights Logs Addon is enabled or not. - :vartype enabled: bool - :ivar log_analytics_workspace_resource_id: Fully Qualified ARM Resource Id of Azure Log - Analytics Workspace for storing Azure Monitor Container Insights Logs. - :vartype log_analytics_workspace_resource_id: str - :ivar syslog_port: The syslog host port. If not specified, the default port is 28330. - :vartype syslog_port: int - :ivar disable_custom_metrics: 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. - :vartype disable_custom_metrics: bool - :ivar disable_prometheus_metrics_scraping: 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. - :vartype disable_prometheus_metrics_scraping: bool - :ivar container_network_logs: Configures container network logs ingestion with Azure Monitor. - Which network logs to ingest is controlled by the CRD found in the following links. No network - logs are ingested by default. More information on container network logs can be found at - `https://aka.ms/ContainerNetworkLogsDoc `_. More - information on configuring container network log can be found at - `https://aka.ms/acns/howtoenablecnl `_. If not specified, - the default is Disabled. Known values are: "Disabled" and "Enabled". - :vartype container_network_logs: str or - ~azure.mgmt.containerservice.models.ContainerNetworkLogs - """ - - enabled: Optional[bool] = rest_field(visibility=["read", "create", "update", "delete", "query"]) - """Indicates if Azure Monitor Container Insights Logs Addon is enabled or not.""" - log_analytics_workspace_resource_id: Optional[str] = rest_field( - name="logAnalyticsWorkspaceResourceId", visibility=["read", "create", "update", "delete", "query"] - ) - """Fully Qualified ARM Resource Id of Azure Log Analytics Workspace for storing Azure Monitor - Container Insights Logs.""" - syslog_port: Optional[int] = rest_field( - name="syslogPort", visibility=["read", "create", "update", "delete", "query"] - ) - """The syslog host port. If not specified, the default port is 28330.""" - disable_custom_metrics: Optional[bool] = rest_field( - name="disableCustomMetrics", visibility=["read", "create", "update", "delete", "query"] - ) - """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.""" - disable_prometheus_metrics_scraping: Optional[bool] = rest_field( - name="disablePrometheusMetricsScraping", visibility=["read", "create", "update", "delete", "query"] - ) - """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.""" - container_network_logs: Optional[Union[str, "_models.ContainerNetworkLogs"]] = rest_field( - name="containerNetworkLogs", visibility=["read", "create", "update", "delete", "query"] - ) - """Configures container network logs ingestion with Azure Monitor. Which network logs to ingest is - controlled by the CRD found in the following links. No network logs are ingested by default. - More information on container network logs can be found at - `https://aka.ms/ContainerNetworkLogsDoc `_. More - information on configuring container network log can be found at - `https://aka.ms/acns/howtoenablecnl `_. If not specified, - the default is Disabled. Known values are: \"Disabled\" and \"Enabled\".""" - + enabled: Optional[bool] = rest_field(visibility=["read", "create", "update", "delete", "query"]) + """Indicates if Application Monitoring Auto-instrumentation is enabled or not.""" + @overload def __init__( self, *, enabled: Optional[bool] = None, - log_analytics_workspace_resource_id: Optional[str] = None, - syslog_port: Optional[int] = None, - disable_custom_metrics: Optional[bool] = None, - disable_prometheus_metrics_scraping: Optional[bool] = None, - container_network_logs: Optional[Union[str, "_models.ContainerNetworkLogs"]] = None, ) -> None: ... @overload @@ -8283,7 +5460,9 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class ManagedClusterAzureMonitorProfileKubeStateMetrics(_Model): # pylint: disable=name-too-long +class ManagedClusterAzureMonitorProfileKubeStateMetrics( + _Model +): # pylint: disable=name-too-long,docstring-keyword-should-match-keyword-only """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. @@ -8332,7 +5511,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class ManagedClusterAzureMonitorProfileMetrics(_Model): +class ManagedClusterAzureMonitorProfileMetrics(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """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 @@ -8390,7 +5569,9 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class ManagedClusterAzureMonitorProfileMetricsControlPlane(_Model): # pylint: disable=name-too-long +class ManagedClusterAzureMonitorProfileMetricsControlPlane( + _Model +): # pylint: disable=name-too-long,docstring-keyword-should-match-keyword-only """Control plane metrics collection profile for the Azure Managed Prometheus addon. Configures collection of operational runtime metrics from managed control plane components (kube-apiserver, etcd, etc). See aka.ms/aks/controlplane-metrics for an overview. @@ -8423,7 +5604,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class ManagedClusterBootstrapProfile(_Model): +class ManagedClusterBootstrapProfile(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """The bootstrap profile. :ivar artifact_source: The artifact source. The source where the artifacts are downloaded from. @@ -8464,46 +5645,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class ManagedClusterControlPlaneScalingProfile(_Model): - """Profile for providing scaled and performance guaranteed control plane capacity to deliver - consistent performance under high workload. Requires Kubernetes version 1.33.0 or later. - - :ivar scaling_size: The scaling size of the control plane. Scaling sizes offer guaranteed - capacity and predictable Kubernetes performance beyond standard tier defaults. Higher H sizes - provide increased performance guarantees. See `https://aka.ms/aks/hyperscale - `_ for performance metrics details for each size. Required. - Known values are: "H2", "H4", and "H8". - :vartype scaling_size: str or ~azure.mgmt.containerservice.models.ControlPlaneScalingSize - """ - - scaling_size: Union[str, "_models.ControlPlaneScalingSize"] = rest_field( - name="scalingSize", visibility=["read", "create", "update", "delete", "query"] - ) - """The scaling size of the control plane. Scaling sizes offer guaranteed capacity and predictable - Kubernetes performance beyond standard tier defaults. Higher H sizes provide increased - performance guarantees. See `https://aka.ms/aks/hyperscale `_ - for performance metrics details for each size. Required. Known values are: \"H2\", \"H4\", and - \"H8\".""" - - @overload - def __init__( - self, - *, - scaling_size: Union[str, "_models.ControlPlaneScalingSize"], - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: - """ - :param mapping: raw JSON to initialize the model. - :type mapping: Mapping[str, Any] - """ - - def __init__(self, *args: Any, **kwargs: Any) -> None: - super().__init__(*args, **kwargs) - - -class ManagedClusterCostAnalysis(_Model): +class ManagedClusterCostAnalysis(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """The cost analysis configuration for the cluster. :ivar enabled: Whether to enable cost analysis. The Managed Cluster sku.tier must be set to @@ -8537,45 +5679,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class ManagedClusterHealthMonitorProfile(_Model): - """Health monitor profile for the managed cluster. - - :ivar enable_continuous_control_plane_and_addon_monitor: Whether to enable continuous control - plane and addon monitor. - :vartype enable_continuous_control_plane_and_addon_monitor: bool - :ivar enable_on_demand_monitor: Whether to enable on-demand monitor. - :vartype enable_on_demand_monitor: bool - """ - - enable_continuous_control_plane_and_addon_monitor: Optional[bool] = rest_field( - name="enableContinuousControlPlaneAndAddonMonitor", visibility=["read", "create", "update", "delete", "query"] - ) - """Whether to enable continuous control plane and addon monitor.""" - enable_on_demand_monitor: Optional[bool] = rest_field( - name="enableOnDemandMonitor", visibility=["read", "create", "update", "delete", "query"] - ) - """Whether to enable on-demand monitor.""" - - @overload - def __init__( - self, - *, - enable_continuous_control_plane_and_addon_monitor: Optional[bool] = None, - enable_on_demand_monitor: Optional[bool] = None, - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: - """ - :param mapping: raw JSON to initialize the model. - :type mapping: Mapping[str, Any] - """ - - def __init__(self, *args: Any, **kwargs: Any) -> None: - super().__init__(*args, **kwargs) - - -class ManagedClusterHostedSystemProfile(_Model): +class ManagedClusterHostedSystemProfile(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Settings for hosted system addons. :ivar enabled: Whether to enable hosted system addons for the cluster. @@ -8633,7 +5737,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class ManagedClusterHTTPProxyConfig(_Model): +class ManagedClusterHTTPProxyConfig(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Cluster HTTP proxy configuration. :ivar http_proxy: The HTTP proxy server endpoint to use. @@ -8642,9 +5746,6 @@ class ManagedClusterHTTPProxyConfig(_Model): :vartype https_proxy: str :ivar no_proxy: The endpoints that should not go through proxy. :vartype no_proxy: list[str] - :ivar effective_no_proxy: 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. - :vartype effective_no_proxy: list[str] :ivar trusted_ca: Alternative CA cert to use for connecting to proxy servers. :vartype trusted_ca: str :ivar enabled: Whether to enable HTTP proxy. If disabled, the specified proxy configuration @@ -8662,9 +5763,6 @@ class ManagedClusterHTTPProxyConfig(_Model): name="noProxy", visibility=["read", "create", "update", "delete", "query"] ) """The endpoints that should not go through proxy.""" - effective_no_proxy: Optional[list[str]] = rest_field(name="effectiveNoProxy", visibility=["read"]) - """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.""" trusted_ca: Optional[str] = rest_field(name="trustedCa", visibility=["read", "create", "update", "delete", "query"]) """Alternative CA cert to use for connecting to proxy servers.""" enabled: Optional[bool] = rest_field(visibility=["read", "create", "update", "delete", "query"]) @@ -8693,7 +5791,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class ManagedClusterIdentity(_Model): +class ManagedClusterIdentity(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Identity for the managed cluster. :ivar principal_id: The principal id of the system assigned identity which is used by master @@ -8764,41 +5862,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class ManagedClusterIngressDefaultDomainProfile(_Model): # pylint: disable=name-too-long - """Default domain profile for the managed cluster ingress profile. - - :ivar enabled: Whether to enable Default Domain. - :vartype enabled: bool - :ivar domain_name: The unique fully qualified domain name assigned to the cluster. This will - not change even if disabled then reenabled. - :vartype domain_name: str - """ - - enabled: Optional[bool] = rest_field(visibility=["read", "create", "update", "delete", "query"]) - """Whether to enable Default Domain.""" - domain_name: Optional[str] = rest_field(name="domainName", visibility=["read"]) - """The unique fully qualified domain name assigned to the cluster. This will not change even if - disabled then reenabled.""" - - @overload - def __init__( - self, - *, - enabled: Optional[bool] = None, - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: - """ - :param mapping: raw JSON to initialize the model. - :type mapping: Mapping[str, Any] - """ - - def __init__(self, *args: Any, **kwargs: Any) -> None: - super().__init__(*args, **kwargs) - - -class ManagedClusterIngressProfile(_Model): +class ManagedClusterIngressProfile(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Ingress profile for the container service cluster. :ivar web_app_routing: App Routing settings for the ingress profile. You can find an overview @@ -8810,10 +5874,6 @@ class ManagedClusterIngressProfile(_Model): :ivar gateway_api: Settings for the managed Gateway API installation. :vartype gateway_api: ~azure.mgmt.containerservice.models.ManagedClusterIngressProfileGatewayConfiguration - :ivar application_load_balancer: Settings for the managed Application Load Balancer - installation. - :vartype application_load_balancer: - ~azure.mgmt.containerservice.models.ManagedClusterIngressProfileApplicationLoadBalancer """ web_app_routing: Optional["_models.ManagedClusterIngressProfileWebAppRouting"] = rest_field( @@ -8827,10 +5887,6 @@ class ManagedClusterIngressProfile(_Model): name="gatewayAPI", visibility=["read", "create", "update", "delete", "query"] ) """Settings for the managed Gateway API installation.""" - application_load_balancer: Optional["_models.ManagedClusterIngressProfileApplicationLoadBalancer"] = rest_field( - name="applicationLoadBalancer", visibility=["read", "create", "update", "delete", "query"] - ) - """Settings for the managed Application Load Balancer installation.""" @overload def __init__( @@ -8838,42 +5894,6 @@ def __init__( *, web_app_routing: Optional["_models.ManagedClusterIngressProfileWebAppRouting"] = None, gateway_api: Optional["_models.ManagedClusterIngressProfileGatewayConfiguration"] = None, - application_load_balancer: Optional["_models.ManagedClusterIngressProfileApplicationLoadBalancer"] = None, - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: - """ - :param mapping: raw JSON to initialize the model. - :type mapping: Mapping[str, Any] - """ - - def __init__(self, *args: Any, **kwargs: Any) -> None: - super().__init__(*args, **kwargs) - - -class ManagedClusterIngressProfileApplicationLoadBalancer(_Model): # pylint: disable=name-too-long - """Application Load Balancer settings for the ingress profile. - - :ivar enabled: Whether to enable Application Load Balancer. - :vartype enabled: bool - :ivar identity: 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. - :vartype identity: ~azure.mgmt.containerservice.models.UserAssignedIdentity - """ - - enabled: Optional[bool] = rest_field(visibility=["read", "create", "update", "delete", "query"]) - """Whether to enable Application Load Balancer.""" - identity: Optional["_models.UserAssignedIdentity"] = rest_field(visibility=["read"]) - """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.""" - - @overload - def __init__( - self, - *, - enabled: Optional[bool] = None, ) -> None: ... @overload @@ -8887,7 +5907,9 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class ManagedClusterIngressProfileGatewayConfiguration(_Model): # pylint: disable=name-too-long +class ManagedClusterIngressProfileGatewayConfiguration( + _Model +): # pylint: disable=name-too-long,docstring-keyword-should-match-keyword-only """Configuration for managed Gateway API CRDs. See `https://aka.ms/k8s-gateway-api `_ for more details. @@ -8923,7 +5945,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class ManagedClusterIngressProfileNginx(_Model): +class ManagedClusterIngressProfileNginx(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Nginx ingress controller configuration for the managed cluster ingress profile. :ivar default_ingress_controller_type: Ingress type for the default NginxIngressController @@ -8956,7 +5978,9 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class ManagedClusterIngressProfileWebAppRouting(_Model): # pylint: disable=name-too-long +class ManagedClusterIngressProfileWebAppRouting( + _Model +): # pylint: disable=name-too-long,docstring-keyword-should-match-keyword-only """Application Routing add-on settings for the ingress profile. :ivar enabled: Whether to enable the Application Routing add-on. @@ -8981,11 +6005,6 @@ class ManagedClusterIngressProfileWebAppRouting(_Model): # pylint: disable=name `_ for more instructions. :vartype identity: ~azure.mgmt.containerservice.models.UserAssignedIdentity - :ivar default_domain: 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 `_ for more instructions. - :vartype default_domain: - ~azure.mgmt.containerservice.models.ManagedClusterIngressDefaultDomainProfile """ enabled: Optional[bool] = rest_field(visibility=["read", "create", "update", "delete", "query"]) @@ -9015,12 +6034,6 @@ class ManagedClusterIngressProfileWebAppRouting(_Model): # pylint: disable=name Azure Key Vault. See `this overview of the add-on `_ for more instructions.""" - default_domain: Optional["_models.ManagedClusterIngressDefaultDomainProfile"] = rest_field( - name="defaultDomain", visibility=["read", "create", "update", "delete", "query"] - ) - """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 - `_ for more instructions.""" @overload def __init__( @@ -9030,7 +6043,6 @@ def __init__( gateway_api_implementations: Optional["_models.ManagedClusterWebAppRoutingGatewayAPIImplementations"] = None, dns_zone_resource_ids: Optional[list[str]] = None, nginx: Optional["_models.ManagedClusterIngressProfileNginx"] = None, - default_domain: Optional["_models.ManagedClusterIngressDefaultDomainProfile"] = None, ) -> None: ... @overload @@ -9044,7 +6056,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class ManagedClusterLoadBalancerProfile(_Model): +class ManagedClusterLoadBalancerProfile(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Profile of the managed cluster load balancer. :ivar managed_outbound_i_ps: Desired managed outbound IPs for the cluster load balancer. @@ -9070,12 +6082,8 @@ class ManagedClusterLoadBalancerProfile(_Model): cluster or not. :vartype enable_multiple_standard_load_balancers: bool :ivar backend_pool_type: The type of the managed inbound Load Balancer BackendPool. Known - values are: "NodeIPConfiguration", "NodeIP", and "PodIP". + values are: "NodeIPConfiguration" and "NodeIP". :vartype backend_pool_type: str or ~azure.mgmt.containerservice.models.BackendPoolType - :ivar cluster_service_load_balancer_health_probe_mode: The health probing behavior for External - Traffic Policy Cluster services. Known values are: "ServiceNodePort" and "Shared". - :vartype cluster_service_load_balancer_health_probe_mode: str or - ~azure.mgmt.containerservice.models.ClusterServiceLoadBalancerHealthProbeMode """ managed_outbound_i_ps: Optional["_models.ManagedClusterLoadBalancerProfileManagedOutboundIPs"] = rest_field( @@ -9112,14 +6120,7 @@ class ManagedClusterLoadBalancerProfile(_Model): name="backendPoolType", visibility=["read", "create", "update", "delete", "query"] ) """The type of the managed inbound Load Balancer BackendPool. Known values are: - \"NodeIPConfiguration\", \"NodeIP\", and \"PodIP\".""" - cluster_service_load_balancer_health_probe_mode: Optional[ - Union[str, "_models.ClusterServiceLoadBalancerHealthProbeMode"] - ] = rest_field( - name="clusterServiceLoadBalancerHealthProbeMode", visibility=["read", "create", "update", "delete", "query"] - ) - """The health probing behavior for External Traffic Policy Cluster services. Known values are: - \"ServiceNodePort\" and \"Shared\".""" + \"NodeIPConfiguration\" and \"NodeIP\".""" @overload def __init__( @@ -9132,9 +6133,6 @@ def __init__( idle_timeout_in_minutes: Optional[int] = None, enable_multiple_standard_load_balancers: Optional[bool] = None, backend_pool_type: Optional[Union[str, "_models.BackendPoolType"]] = None, - cluster_service_load_balancer_health_probe_mode: Optional[ - Union[str, "_models.ClusterServiceLoadBalancerHealthProbeMode"] - ] = None, ) -> None: ... @overload @@ -9148,7 +6146,9 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class ManagedClusterLoadBalancerProfileManagedOutboundIPs(_Model): # pylint: disable=name-too-long +class ManagedClusterLoadBalancerProfileManagedOutboundIPs( + _Model +): # pylint: disable=name-too-long,docstring-keyword-should-match-keyword-only """Desired managed outbound IPs for the cluster load balancer. :ivar count: The desired number of IPv4 outbound IPs created/managed by Azure for the cluster @@ -9188,7 +6188,9 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class ManagedClusterLoadBalancerProfileOutboundIPPrefixes(_Model): # pylint: disable=name-too-long +class ManagedClusterLoadBalancerProfileOutboundIPPrefixes( + _Model +): # pylint: disable=name-too-long,docstring-keyword-should-match-keyword-only """Desired outbound IP Prefix resources for the cluster load balancer. :ivar public_ip_prefixes: A list of public IP prefix resources. @@ -9218,7 +6220,9 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class ManagedClusterLoadBalancerProfileOutboundIPs(_Model): # pylint: disable=name-too-long +class ManagedClusterLoadBalancerProfileOutboundIPs( + _Model +): # pylint: disable=name-too-long,docstring-keyword-should-match-keyword-only """Desired outbound IP resources for the cluster load balancer. :ivar public_i_ps: A list of public IP resources. @@ -9248,32 +6252,23 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class ManagedClusterManagedOutboundIPProfile(_Model): +class ManagedClusterManagedOutboundIPProfile(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Profile of the managed outbound IP resources of the managed cluster. :ivar count: 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. :vartype count: int - :ivar count_i_pv6: The desired number of IPv6 outbound IPs created/managed by Azure. Allowed - values must be in the range of 1 to 16 (inclusive). - :vartype count_i_pv6: int """ count: Optional[int] = rest_field(visibility=["read", "create", "update", "delete", "query"]) """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.""" - count_i_pv6: Optional[int] = rest_field( - name="countIPv6", visibility=["read", "create", "update", "delete", "query"] - ) - """The desired number of IPv6 outbound IPs created/managed by Azure. Allowed values must be in the - range of 1 to 16 (inclusive).""" @overload def __init__( self, *, count: Optional[int] = None, - count_i_pv6: Optional[int] = None, ) -> None: ... @overload @@ -9287,7 +6282,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class ManagedClusterMetricsProfile(_Model): +class ManagedClusterMetricsProfile(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """The metrics profile for the ManagedCluster. :ivar cost_analysis: The configuration for detailed per-Kubernetes resource cost analysis. @@ -9317,7 +6312,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class ManagedClusterNATGatewayProfile(_Model): +class ManagedClusterNATGatewayProfile(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Profile of the managed cluster NAT gateway. :ivar managed_outbound_ip_profile: Profile of the managed outbound IP resources of the cluster @@ -9326,13 +6321,6 @@ class ManagedClusterNATGatewayProfile(_Model): ~azure.mgmt.containerservice.models.ManagedClusterManagedOutboundIPProfile :ivar effective_outbound_i_ps: The effective outbound IP resources of the cluster NAT gateway. :vartype effective_outbound_i_ps: list[~azure.mgmt.containerservice.models.ResourceReference] - :ivar outbound_ip_prefixes: Desired outbound IP Prefix resources for the managed NAT Gateway. - Only compatible with NAT Gateway V2. - :vartype outbound_ip_prefixes: - ~azure.mgmt.containerservice.models.ManagedClusterNATGatewayProfileOutboundIpPrefixes - :ivar outbound_i_ps: Desired outbound IP resources for the managed NAT Gateway. - :vartype outbound_i_ps: - ~azure.mgmt.containerservice.models.ManagedClusterNATGatewayProfileOutboundIPs :ivar idle_timeout_in_minutes: Desired outbound flow idle timeout in minutes. Allowed values are in the range of 4 to 120 (inclusive). The default value is 4 minutes. :vartype idle_timeout_in_minutes: int @@ -9346,15 +6334,6 @@ class ManagedClusterNATGatewayProfile(_Model): name="effectiveOutboundIPs", visibility=["read"] ) """The effective outbound IP resources of the cluster NAT gateway.""" - outbound_ip_prefixes: Optional["_models.ManagedClusterNATGatewayProfileOutboundIpPrefixes"] = rest_field( - name="outboundIPPrefixes", visibility=["read", "create", "update", "delete", "query"] - ) - """Desired outbound IP Prefix resources for the managed NAT Gateway. Only compatible with NAT - Gateway V2.""" - outbound_i_ps: Optional["_models.ManagedClusterNATGatewayProfileOutboundIPs"] = rest_field( - name="outboundIPs", visibility=["read", "create", "update", "delete", "query"] - ) - """Desired outbound IP resources for the managed NAT Gateway.""" idle_timeout_in_minutes: Optional[int] = rest_field( name="idleTimeoutInMinutes", visibility=["read", "create", "update", "delete", "query"] ) @@ -9366,8 +6345,6 @@ def __init__( self, *, managed_outbound_ip_profile: Optional["_models.ManagedClusterManagedOutboundIPProfile"] = None, - outbound_ip_prefixes: Optional["_models.ManagedClusterNATGatewayProfileOutboundIpPrefixes"] = None, - outbound_i_ps: Optional["_models.ManagedClusterNATGatewayProfileOutboundIPs"] = None, idle_timeout_in_minutes: Optional[int] = None, ) -> None: ... @@ -9382,67 +6359,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class ManagedClusterNATGatewayProfileOutboundIpPrefixes(_Model): # pylint: disable=name-too-long - """ManagedClusterNATGatewayProfileOutboundIpPrefixes. - - :ivar public_ip_prefixes: A list of public IP prefix resources. - :vartype public_ip_prefixes: list[str] - """ - - public_ip_prefixes: Optional[list[str]] = rest_field( - name="publicIPPrefixes", visibility=["read", "create", "update", "delete", "query"] - ) - """A list of public IP prefix resources.""" - - @overload - def __init__( - self, - *, - public_ip_prefixes: Optional[list[str]] = None, - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: - """ - :param mapping: raw JSON to initialize the model. - :type mapping: Mapping[str, Any] - """ - - def __init__(self, *args: Any, **kwargs: Any) -> None: - super().__init__(*args, **kwargs) - - -class ManagedClusterNATGatewayProfileOutboundIPs(_Model): # pylint: disable=name-too-long - """ManagedClusterNATGatewayProfileOutboundIPs. - - :ivar public_i_ps: A list of public IP resources. - :vartype public_i_ps: list[str] - """ - - public_i_ps: Optional[list[str]] = rest_field( - name="publicIPs", visibility=["read", "create", "update", "delete", "query"] - ) - """A list of public IP resources.""" - - @overload - def __init__( - self, - *, - public_i_ps: Optional[list[str]] = None, - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: - """ - :param mapping: raw JSON to initialize the model. - :type mapping: Mapping[str, Any] - """ - - def __init__(self, *args: Any, **kwargs: Any) -> None: - super().__init__(*args, **kwargs) - - -class ManagedClusterNodeProvisioningProfile(_Model): +class ManagedClusterNodeProvisioningProfile(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Node provisioning profile for the managed cluster. :ivar mode: The node provisioning mode. If not specified, the default is Manual. Known values @@ -9494,7 +6411,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class ManagedClusterNodeResourceGroupProfile(_Model): +class ManagedClusterNodeResourceGroupProfile(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Node resource group lockdown profile for a managed cluster. :ivar restriction_level: The restriction level applied to the cluster's node resource group. If @@ -9526,7 +6443,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class ManagedClusterOIDCIssuerProfile(_Model): +class ManagedClusterOIDCIssuerProfile(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """The OIDC issuer profile of the Managed Cluster. :ivar issuer_url: The OIDC issuer url of the Managed Cluster. @@ -9558,7 +6475,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class ManagedClusterPodIdentity(_Model): +class ManagedClusterPodIdentity(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Details about the pod identity assigned to the Managed Cluster. :ivar name: The name of the pod identity. Required. @@ -9619,7 +6536,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class ManagedClusterPodIdentityException(_Model): +class ManagedClusterPodIdentityException(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """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 @@ -9663,7 +6580,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class ManagedClusterPodIdentityProfile(_Model): +class ManagedClusterPodIdentityProfile(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """The pod identity profile of the Managed Cluster. See `use AAD pod identity `_ for more details on pod identity integration. @@ -9725,7 +6642,9 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class ManagedClusterPodIdentityProvisioningError(_Model): # pylint: disable=name-too-long +class ManagedClusterPodIdentityProvisioningError( + _Model +): # pylint: disable=name-too-long,docstring-keyword-should-match-keyword-only """An error response from the pod identity provisioning. :ivar error: Details about the error. @@ -9756,7 +6675,9 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class ManagedClusterPodIdentityProvisioningErrorBody(_Model): # pylint: disable=name-too-long +class ManagedClusterPodIdentityProvisioningErrorBody( + _Model +): # pylint: disable=name-too-long,docstring-keyword-should-match-keyword-only """An error response from the pod identity provisioning. :ivar code: An identifier for the error. Codes are invariant and are intended to be consumed @@ -9806,7 +6727,9 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class ManagedClusterPodIdentityProvisioningInfo(_Model): # pylint: disable=name-too-long +class ManagedClusterPodIdentityProvisioningInfo( + _Model +): # pylint: disable=name-too-long,docstring-keyword-should-match-keyword-only """Pod identity provisioning information. :ivar error: Pod identity assignment error (if any). @@ -9836,7 +6759,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class ManagedClusterPoolUpgradeProfile(_Model): +class ManagedClusterPoolUpgradeProfile(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """The list of available upgrade versions. :ivar kubernetes_version: The Kubernetes version (major.minor.patch). Required. @@ -9849,8 +6772,6 @@ class ManagedClusterPoolUpgradeProfile(_Model): :ivar upgrades: List of orchestrator types and versions available for upgrade. :vartype upgrades: list[~azure.mgmt.containerservice.models.ManagedClusterPoolUpgradeProfileUpgradesItem] - :ivar components_by_releases: List of components grouped by kubernetes major.minor version. - :vartype components_by_releases: list[~azure.mgmt.containerservice.models.ComponentsByRelease] """ kubernetes_version: str = rest_field( @@ -9868,10 +6789,6 @@ class ManagedClusterPoolUpgradeProfile(_Model): visibility=["read", "create", "update", "delete", "query"] ) """List of orchestrator types and versions available for upgrade.""" - components_by_releases: Optional[list["_models.ComponentsByRelease"]] = rest_field( - name="componentsByReleases", visibility=["read", "create", "update", "delete", "query"] - ) - """List of components grouped by kubernetes major.minor version.""" @overload def __init__( @@ -9881,7 +6798,6 @@ def __init__( os_type: Union[str, "_models.OSType"], name: Optional[str] = None, upgrades: Optional[list["_models.ManagedClusterPoolUpgradeProfileUpgradesItem"]] = None, - components_by_releases: Optional[list["_models.ComponentsByRelease"]] = None, ) -> None: ... @overload @@ -9895,15 +6811,15 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class ManagedClusterPoolUpgradeProfileUpgradesItem(_Model): # pylint: disable=name-too-long +class ManagedClusterPoolUpgradeProfileUpgradesItem( + _Model +): # pylint: disable=name-too-long,docstring-keyword-should-match-keyword-only """Available upgrades for an AgentPool. :ivar kubernetes_version: The Kubernetes version (major.minor.patch). :vartype kubernetes_version: str :ivar is_preview: Whether the Kubernetes version is currently in preview. :vartype is_preview: bool - :ivar is_out_of_support: Whether the Kubernetes version is out of support. - :vartype is_out_of_support: bool """ kubernetes_version: Optional[str] = rest_field( @@ -9914,10 +6830,6 @@ class ManagedClusterPoolUpgradeProfileUpgradesItem(_Model): # pylint: disable=n name="isPreview", visibility=["read", "create", "update", "delete", "query"] ) """Whether the Kubernetes version is currently in preview.""" - is_out_of_support: Optional[bool] = rest_field( - name="isOutOfSupport", visibility=["read", "create", "update", "delete", "query"] - ) - """Whether the Kubernetes version is out of support.""" @overload def __init__( @@ -9925,7 +6837,6 @@ def __init__( *, kubernetes_version: Optional[str] = None, is_preview: Optional[bool] = None, - is_out_of_support: Optional[bool] = None, ) -> None: ... @overload @@ -9939,16 +6850,13 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class ManagedClusterProperties(_Model): +class ManagedClusterProperties(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Properties of the managed cluster. :ivar provisioning_state: The current provisioning state. :vartype provisioning_state: str :ivar power_state: The Power State of the cluster. :vartype power_state: ~azure.mgmt.containerservice.models.PowerState - :ivar creation_data: CreationData to be used to specify the source Snapshot ID if the cluster - will be created/upgraded using a snapshot. - :vartype creation_data: ~azure.mgmt.containerservice.models.CreationData :ivar max_agent_pools: The max number of agent pools for the managed cluster. :vartype max_agent_pools: int :ivar kubernetes_version: The version of Kubernetes specified by the user. Both patch version @@ -10014,17 +6922,6 @@ class ManagedClusterProperties(_Model): :ivar support_plan: The support plan for the Managed Cluster. If unspecified, the default is 'KubernetesOfficial'. Known values are: "KubernetesOfficial" and "AKSLongTermSupport". :vartype support_plan: str or ~azure.mgmt.containerservice.models.KubernetesSupportPlan - :ivar enable_fips: Whether to enable FIPS mode at the cluster level. When enabled, this setting - enforces FIPS compliance for all AKS-managed components, such as the node operating system, - addons, and `managed containerized components `_. See - `Enable cluster-wide FIPS `_ for more details. When this property is - enabled, all node pools in the cluster must also be FIPS-enabled. - :vartype enable_fips: bool - :ivar enable_namespace_resources: 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 `_ for more details - on Namespace as a ARM Resource. - :vartype enable_namespace_resources: bool :ivar network_profile: The network configuration profile. :vartype network_profile: ~azure.mgmt.containerservice.models.ContainerServiceNetworkProfile :ivar aad_profile: The Azure Active Directory configuration. @@ -10065,7 +6962,7 @@ class ManagedClusterProperties(_Model): :ivar ingress_profile: Ingress profile for the managed cluster. :vartype ingress_profile: ~azure.mgmt.containerservice.models.ManagedClusterIngressProfile :ivar public_network_access: PublicNetworkAccess of the managedCluster. Allow or deny public - network access for AKS. Known values are: "Enabled", "Disabled", and "SecuredByPerimeter". + network access for AKS. Known values are: "Enabled" and "Disabled". :vartype public_network_access: str or ~azure.mgmt.containerservice.models.PublicNetworkAccess :ivar workload_auto_scaler_profile: Workload Auto-scaler profile for the managed cluster. :vartype workload_auto_scaler_profile: @@ -10098,16 +6995,6 @@ class ManagedClusterProperties(_Model): `_. :vartype hosted_system_profile: ~azure.mgmt.containerservice.models.ManagedClusterHostedSystemProfile - :ivar health_monitor_profile: Health monitor profile for the managed cluster. - :vartype health_monitor_profile: - ~azure.mgmt.containerservice.models.ManagedClusterHealthMonitorProfile - :ivar control_plane_scaling_profile: Profile for providing scaled and performance guaranteed - control plane capacity to deliver consistent performance under high workload. Requires - Kubernetes version 1.33.0 or later. - :vartype control_plane_scaling_profile: - ~azure.mgmt.containerservice.models.ManagedClusterControlPlaneScalingProfile - :ivar node_disruption_profile: Node disruption profile for a managed cluster. - :vartype node_disruption_profile: ~azure.mgmt.containerservice.models.NodeDisruptionProfile :ivar status: Contains read-only information about the Managed Cluster. :vartype status: ~azure.mgmt.containerservice.models.ManagedClusterStatus """ @@ -10116,11 +7003,6 @@ class ManagedClusterProperties(_Model): """The current provisioning state.""" power_state: Optional["_models.PowerState"] = rest_field(name="powerState", visibility=["read"]) """The Power State of the cluster.""" - creation_data: Optional["_models.CreationData"] = rest_field( - name="creationData", visibility=["read", "create", "update", "delete", "query"] - ) - """CreationData to be used to specify the source Snapshot ID if the cluster will be - created/upgraded using a snapshot.""" max_agent_pools: Optional[int] = rest_field(name="maxAgentPools", visibility=["read"]) """The max number of agent pools for the managed cluster.""" kubernetes_version: Optional[str] = rest_field( @@ -10206,20 +7088,6 @@ class ManagedClusterProperties(_Model): ) """The support plan for the Managed Cluster. If unspecified, the default is 'KubernetesOfficial'. Known values are: \"KubernetesOfficial\" and \"AKSLongTermSupport\".""" - enable_fips: Optional[bool] = rest_field( - name="enableFIPS", visibility=["read", "create", "update", "delete", "query"] - ) - """Whether to enable FIPS mode at the cluster level. When enabled, this setting enforces FIPS - compliance for all AKS-managed components, such as the node operating system, addons, and - `managed containerized components `_. See `Enable - cluster-wide FIPS `_ for more details. When this property is enabled, - all node pools in the cluster must also be FIPS-enabled.""" - enable_namespace_resources: Optional[bool] = rest_field( - name="enableNamespaceResources", visibility=["read", "create", "update", "delete", "query"] - ) - """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 - `_ for more details on Namespace as a ARM Resource.""" network_profile: Optional["_models.ContainerServiceNetworkProfile"] = rest_field( name="networkProfile", visibility=["read", "create", "update", "delete", "query"] ) @@ -10288,7 +7156,7 @@ class ManagedClusterProperties(_Model): name="publicNetworkAccess", visibility=["read", "create", "update", "delete", "query"] ) """PublicNetworkAccess of the managedCluster. Allow or deny public network access for AKS. Known - values are: \"Enabled\", \"Disabled\", and \"SecuredByPerimeter\".""" + values are: \"Enabled\" and \"Disabled\".""" workload_auto_scaler_profile: Optional["_models.ManagedClusterWorkloadAutoScalerProfile"] = rest_field( name="workloadAutoScalerProfile", visibility=["read", "create", "update", "delete", "query"] ) @@ -10331,19 +7199,6 @@ class ManagedClusterProperties(_Model): """Settings for hosted system addons. For more information, see `https://aka.ms/aks/automatic/systemcomponents `_.""" - health_monitor_profile: Optional["_models.ManagedClusterHealthMonitorProfile"] = rest_field( - name="healthMonitorProfile", visibility=["read", "create", "update", "delete", "query"] - ) - """Health monitor profile for the managed cluster.""" - control_plane_scaling_profile: Optional["_models.ManagedClusterControlPlaneScalingProfile"] = rest_field( - name="controlPlaneScalingProfile", visibility=["read", "create", "update", "delete", "query"] - ) - """Profile for providing scaled and performance guaranteed control plane capacity to deliver - consistent performance under high workload. Requires Kubernetes version 1.33.0 or later.""" - node_disruption_profile: Optional["_models.NodeDisruptionProfile"] = rest_field( - name="nodeDisruptionProfile", visibility=["read", "create", "update", "delete", "query"] - ) - """Node disruption profile for a managed cluster.""" status: Optional["_models.ManagedClusterStatus"] = rest_field( visibility=["read", "create", "update", "delete", "query"] ) @@ -10353,7 +7208,6 @@ class ManagedClusterProperties(_Model): def __init__( # pylint: disable=too-many-locals self, *, - creation_data: Optional["_models.CreationData"] = None, kubernetes_version: Optional[str] = None, dns_prefix: Optional[str] = None, fqdn_subdomain: Optional[str] = None, @@ -10368,8 +7222,6 @@ def __init__( # pylint: disable=too-many-locals node_resource_group_profile: Optional["_models.ManagedClusterNodeResourceGroupProfile"] = None, enable_rbac: Optional[bool] = None, support_plan: Optional[Union[str, "_models.KubernetesSupportPlan"]] = None, - enable_fips: Optional[bool] = None, - enable_namespace_resources: Optional[bool] = None, network_profile: Optional["_models.ContainerServiceNetworkProfile"] = None, aad_profile: Optional["_models.ManagedClusterAADProfile"] = None, auto_upgrade_profile: Optional["_models.ManagedClusterAutoUpgradeProfile"] = None, @@ -10394,9 +7246,6 @@ def __init__( # pylint: disable=too-many-locals ai_toolchain_operator_profile: Optional["_models.ManagedClusterAIToolchainOperatorProfile"] = None, scheduler_profile: Optional["_models.SchedulerProfile"] = None, hosted_system_profile: Optional["_models.ManagedClusterHostedSystemProfile"] = None, - health_monitor_profile: Optional["_models.ManagedClusterHealthMonitorProfile"] = None, - control_plane_scaling_profile: Optional["_models.ManagedClusterControlPlaneScalingProfile"] = None, - node_disruption_profile: Optional["_models.NodeDisruptionProfile"] = None, status: Optional["_models.ManagedClusterStatus"] = None, ) -> None: ... @@ -10411,7 +7260,9 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class ManagedClusterPropertiesAutoScalerProfile(_Model): # pylint: disable=name-too-long +class ManagedClusterPropertiesAutoScalerProfile( + _Model +): # pylint: disable=name-too-long,docstring-keyword-should-match-keyword-only """Parameters to be applied to the cluster-autoscaler when enabled. :ivar balance_similar_node_groups: Detects similar node pools and balances the number of nodes @@ -10650,32 +7501,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class ManagedClusterPropertiesForSnapshot(_Model): - """managed cluster properties for snapshot, these properties are read only. - - :ivar kubernetes_version: The current kubernetes version. - :vartype kubernetes_version: str - :ivar sku: The current managed cluster sku. - :vartype sku: ~azure.mgmt.containerservice.models.ManagedClusterSKU - :ivar enable_rbac: Whether the cluster has enabled Kubernetes Role-Based Access Control or not. - :vartype enable_rbac: bool - :ivar network_profile: The current network profile. - :vartype network_profile: ~azure.mgmt.containerservice.models.NetworkProfileForSnapshot - """ - - kubernetes_version: Optional[str] = rest_field(name="kubernetesVersion", visibility=["read"]) - """The current kubernetes version.""" - sku: Optional["_models.ManagedClusterSKU"] = rest_field(visibility=["read"]) - """The current managed cluster sku.""" - enable_rbac: Optional[bool] = rest_field(name="enableRbac", visibility=["read"]) - """Whether the cluster has enabled Kubernetes Role-Based Access Control or not.""" - network_profile: Optional["_models.NetworkProfileForSnapshot"] = rest_field( - name="networkProfile", visibility=["read"] - ) - """The current network profile.""" - - -class ManagedClusterSecurityProfile(_Model): +class ManagedClusterSecurityProfile(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Security profile for the container service cluster. :ivar defender: Microsoft Defender settings for the security profile. @@ -10684,12 +7510,6 @@ class ManagedClusterSecurityProfile(_Model): `_ settings for the security profile. :vartype azure_key_vault_kms: ~azure.mgmt.containerservice.models.AzureKeyVaultKms - :ivar kubernetes_resource_object_encryption_profile: Encryption at rest of Kubernetes resource - objects. More information on this can be found under - `https://aka.ms/aks/kubernetesResourceObjectEncryption - `_. - :vartype kubernetes_resource_object_encryption_profile: - ~azure.mgmt.containerservice.models.KubernetesResourceObjectEncryptionProfile :ivar workload_identity: 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. @@ -10698,24 +7518,10 @@ class ManagedClusterSecurityProfile(_Model): :ivar image_cleaner: Image Cleaner settings for the security profile. :vartype image_cleaner: ~azure.mgmt.containerservice.models.ManagedClusterSecurityProfileImageCleaner - :ivar image_integrity: 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. - :vartype image_integrity: - ~azure.mgmt.containerservice.models.ManagedClusterSecurityProfileImageIntegrity - :ivar node_restriction: `Node Restriction - `_ - settings for the security profile. - :vartype node_restriction: - ~azure.mgmt.containerservice.models.ManagedClusterSecurityProfileNodeRestriction :ivar custom_ca_trust_certificates: 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 `_. :vartype custom_ca_trust_certificates: list[bytes] - :ivar service_account_image_pull_profile: Defines service account based image pull settings. - :vartype service_account_image_pull_profile: - ~azure.mgmt.containerservice.models.ServiceAccountImagePullProfile """ defender: Optional["_models.ManagedClusterSecurityProfileDefender"] = rest_field( @@ -10728,14 +7534,6 @@ class ManagedClusterSecurityProfile(_Model): """Azure Key Vault `key management service `_ settings for the security profile.""" - kubernetes_resource_object_encryption_profile: Optional["_models.KubernetesResourceObjectEncryptionProfile"] = ( - rest_field( - name="kubernetesResourceObjectEncryptionProfile", visibility=["read", "create", "update", "delete", "query"] - ) - ) - """Encryption at rest of Kubernetes resource objects. More information on this can be found under - `https://aka.ms/aks/kubernetesResourceObjectEncryption - `_.""" workload_identity: Optional["_models.ManagedClusterSecurityProfileWorkloadIdentity"] = rest_field( name="workloadIdentity", visibility=["read", "create", "update", "delete", "query"] ) @@ -10746,29 +7544,12 @@ class ManagedClusterSecurityProfile(_Model): name="imageCleaner", visibility=["read", "create", "update", "delete", "query"] ) """Image Cleaner settings for the security profile.""" - image_integrity: Optional["_models.ManagedClusterSecurityProfileImageIntegrity"] = rest_field( - name="imageIntegrity", visibility=["read", "create", "update", "delete", "query"] - ) - """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.""" - node_restriction: Optional["_models.ManagedClusterSecurityProfileNodeRestriction"] = rest_field( - name="nodeRestriction", visibility=["read", "create", "update", "delete", "query"] - ) - """`Node Restriction - `_ - settings for the security profile.""" custom_ca_trust_certificates: Optional[list[bytes]] = rest_field( name="customCATrustCertificates", visibility=["read", "create", "update", "delete", "query"], format="base64" ) """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 `_.""" - service_account_image_pull_profile: Optional["_models.ServiceAccountImagePullProfile"] = rest_field( - name="serviceAccountImagePullProfile", visibility=["read", "create", "update", "delete", "query"] - ) - """Defines service account based image pull settings.""" @overload def __init__( @@ -10776,15 +7557,9 @@ def __init__( *, defender: Optional["_models.ManagedClusterSecurityProfileDefender"] = None, azure_key_vault_kms: Optional["_models.AzureKeyVaultKms"] = None, - kubernetes_resource_object_encryption_profile: Optional[ - "_models.KubernetesResourceObjectEncryptionProfile" - ] = None, workload_identity: Optional["_models.ManagedClusterSecurityProfileWorkloadIdentity"] = None, image_cleaner: Optional["_models.ManagedClusterSecurityProfileImageCleaner"] = None, - image_integrity: Optional["_models.ManagedClusterSecurityProfileImageIntegrity"] = None, - node_restriction: Optional["_models.ManagedClusterSecurityProfileNodeRestriction"] = None, custom_ca_trust_certificates: Optional[list[bytes]] = None, - service_account_image_pull_profile: Optional["_models.ServiceAccountImagePullProfile"] = None, ) -> None: ... @overload @@ -10798,7 +7573,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class ManagedClusterSecurityProfileDefender(_Model): +class ManagedClusterSecurityProfileDefender(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Microsoft Defender settings for the security profile. :ivar log_analytics_workspace_resource_id: Resource ID of the Log Analytics workspace to be @@ -10858,7 +7633,9 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class ManagedClusterSecurityProfileDefenderSecurityGating(_Model): # pylint: disable=name-too-long +class ManagedClusterSecurityProfileDefenderSecurityGating( + _Model +): # pylint: disable=name-too-long,docstring-keyword-should-match-keyword-only """Microsoft Defender settings for security gating. This validates container image eligibility for deployment based on Defender for Containers security findings. Using Admission Controller, it either audits or prevents deployment of images that do not meet security standards. @@ -10909,74 +7686,7 @@ def __init__( *, enabled: Optional[bool] = None, identities: Optional[list["_models.ManagedClusterSecurityProfileDefenderSecurityGatingIdentity"]] = None, - allow_secret_access: Optional[bool] = None, - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: - """ - :param mapping: raw JSON to initialize the model. - :type mapping: Mapping[str, Any] - """ - - def __init__(self, *args: Any, **kwargs: Any) -> None: - super().__init__(*args, **kwargs) - - -class ManagedClusterSecurityProfileDefenderSecurityGatingIdentity(_Model): # pylint: disable=name-too-long - """Identity mapping used by Defender security gating for registry access. - - :ivar azure_container_registry: The container registry for which the identity will be used; the - identity specified here should have a federated identity credential attached to it. - :vartype azure_container_registry: str - :ivar identity: The identity object used to access the registry. - :vartype identity: ~azure.mgmt.containerservice.models.UserAssignedIdentity - """ - - azure_container_registry: Optional[str] = rest_field( - name="azureContainerRegistry", visibility=["read", "create", "update", "delete", "query"] - ) - """The container registry for which the identity will be used; the identity specified here should - have a federated identity credential attached to it.""" - identity: Optional["_models.UserAssignedIdentity"] = rest_field( - visibility=["read", "create", "update", "delete", "query"] - ) - """The identity object used to access the registry.""" - - @overload - def __init__( - self, - *, - azure_container_registry: Optional[str] = None, - identity: Optional["_models.UserAssignedIdentity"] = None, - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: - """ - :param mapping: raw JSON to initialize the model. - :type mapping: Mapping[str, Any] - """ - - def __init__(self, *args: Any, **kwargs: Any) -> None: - super().__init__(*args, **kwargs) - - -class ManagedClusterSecurityProfileDefenderSecurityMonitoring(_Model): # pylint: disable=name-too-long - """Microsoft Defender settings for the security profile threat detection. - - :ivar enabled: Whether to enable Defender threat detection. - :vartype enabled: bool - """ - - enabled: Optional[bool] = rest_field(visibility=["read", "create", "update", "delete", "query"]) - """Whether to enable Defender threat detection.""" - - @overload - def __init__( - self, - *, - enabled: Optional[bool] = None, + allow_secret_access: Optional[bool] = None, ) -> None: ... @overload @@ -10990,29 +7700,34 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class ManagedClusterSecurityProfileImageCleaner(_Model): # pylint: disable=name-too-long - """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. +class ManagedClusterSecurityProfileDefenderSecurityGatingIdentity( + _Model +): # pylint: disable=name-too-long,docstring-keyword-should-match-keyword-only + """Identity mapping used by Defender security gating for registry access. - :ivar enabled: Whether to enable Image Cleaner on AKS cluster. - :vartype enabled: bool - :ivar interval_hours: Image Cleaner scanning interval in hours. - :vartype interval_hours: int + :ivar azure_container_registry: The container registry for which the identity will be used; the + identity specified here should have a federated identity credential attached to it. + :vartype azure_container_registry: str + :ivar identity: The identity object used to access the registry. + :vartype identity: ~azure.mgmt.containerservice.models.UserAssignedIdentity """ - enabled: Optional[bool] = rest_field(visibility=["read", "create", "update", "delete", "query"]) - """Whether to enable Image Cleaner on AKS cluster.""" - interval_hours: Optional[int] = rest_field( - name="intervalHours", visibility=["read", "create", "update", "delete", "query"] + azure_container_registry: Optional[str] = rest_field( + name="azureContainerRegistry", visibility=["read", "create", "update", "delete", "query"] ) - """Image Cleaner scanning interval in hours.""" + """The container registry for which the identity will be used; the identity specified here should + have a federated identity credential attached to it.""" + identity: Optional["_models.UserAssignedIdentity"] = rest_field( + visibility=["read", "create", "update", "delete", "query"] + ) + """The identity object used to access the registry.""" @overload def __init__( self, *, - enabled: Optional[bool] = None, - interval_hours: Optional[int] = None, + azure_container_registry: Optional[str] = None, + identity: Optional["_models.UserAssignedIdentity"] = None, ) -> None: ... @overload @@ -11026,15 +7741,17 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class ManagedClusterSecurityProfileImageIntegrity(_Model): # pylint: disable=name-too-long - """Image integrity related settings for the security profile. +class ManagedClusterSecurityProfileDefenderSecurityMonitoring( + _Model +): # pylint: disable=name-too-long,docstring-keyword-should-match-keyword-only + """Microsoft Defender settings for the security profile threat detection. - :ivar enabled: Whether to enable image integrity. The default value is false. + :ivar enabled: Whether to enable Defender threat detection. :vartype enabled: bool """ enabled: Optional[bool] = rest_field(visibility=["read", "create", "update", "delete", "query"]) - """Whether to enable image integrity. The default value is false.""" + """Whether to enable Defender threat detection.""" @overload def __init__( @@ -11054,21 +7771,31 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class ManagedClusterSecurityProfileNodeRestriction(_Model): # pylint: disable=name-too-long - """Node Restriction settings for the security profile. +class ManagedClusterSecurityProfileImageCleaner( + _Model +): # pylint: disable=name-too-long,docstring-keyword-should-match-keyword-only + """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. - :ivar enabled: Whether to enable Node Restriction. + :ivar enabled: Whether to enable Image Cleaner on AKS cluster. :vartype enabled: bool + :ivar interval_hours: Image Cleaner scanning interval in hours. + :vartype interval_hours: int """ enabled: Optional[bool] = rest_field(visibility=["read", "create", "update", "delete", "query"]) - """Whether to enable Node Restriction.""" + """Whether to enable Image Cleaner on AKS cluster.""" + interval_hours: Optional[int] = rest_field( + name="intervalHours", visibility=["read", "create", "update", "delete", "query"] + ) + """Image Cleaner scanning interval in hours.""" @overload def __init__( self, *, enabled: Optional[bool] = None, + interval_hours: Optional[int] = None, ) -> None: ... @overload @@ -11082,7 +7809,9 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class ManagedClusterSecurityProfileWorkloadIdentity(_Model): # pylint: disable=name-too-long +class ManagedClusterSecurityProfileWorkloadIdentity( + _Model +): # pylint: disable=name-too-long,docstring-keyword-should-match-keyword-only """Workload identity settings for the security profile. :ivar enabled: Whether to enable workload identity. @@ -11110,7 +7839,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class ManagedClusterServicePrincipalProfile(_Model): +class ManagedClusterServicePrincipalProfile(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Information about a service principal identity for the cluster to use for manipulating Azure APIs. @@ -11144,7 +7873,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class ManagedClusterSKU(_Model): +class ManagedClusterSKU(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """The SKU of a Managed Cluster. :ivar name: The name of a managed cluster SKU. Known values are: "Base" and "Automatic". @@ -11185,123 +7914,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class ManagedClusterSnapshot(TrackedResource): - """A managed cluster snapshot resource. - - :ivar id: Fully qualified resource ID for the resource. Ex - - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - :vartype id: str - :ivar name: The name of the resource. - :vartype name: str - :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or - "Microsoft.Storage/storageAccounts". - :vartype type: str - :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy - information. - :vartype system_data: ~azure.mgmt.containerservice.models.SystemData - :ivar tags: Resource tags. - :vartype tags: dict[str, str] - :ivar location: The geo-location where the resource lives. Required. - :vartype location: str - :ivar properties: Properties of a managed cluster snapshot. - :vartype properties: ~azure.mgmt.containerservice.models.ManagedClusterSnapshotProperties - """ - - properties: Optional["_models.ManagedClusterSnapshotProperties"] = rest_field( - visibility=["read", "create", "update", "delete", "query"] - ) - """Properties of a managed cluster snapshot.""" - - __flattened_items = ["creation_data", "snapshot_type", "managed_cluster_properties_read_only"] - - @overload - def __init__( - self, - *, - location: str, - tags: Optional[dict[str, str]] = None, - properties: Optional["_models.ManagedClusterSnapshotProperties"] = None, - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: - """ - :param mapping: raw JSON to initialize the model. - :type mapping: Mapping[str, Any] - """ - - def __init__(self, *args: Any, **kwargs: Any) -> None: - _flattened_input = {k: kwargs.pop(k) for k in kwargs.keys() & self.__flattened_items} - super().__init__(*args, **kwargs) - for k, v in _flattened_input.items(): - setattr(self, k, v) - - def __getattr__(self, name: str) -> Any: - if name in self.__flattened_items: - if self.properties is None: - return None - return getattr(self.properties, name) - raise AttributeError(f"'{self.__class__.__name__}' object has no attribute '{name}'") - - def __setattr__(self, key: str, value: Any) -> None: - if key in self.__flattened_items: - if self.properties is None: - self.properties = self._attr_to_rest_field["properties"]._class_type() - setattr(self.properties, key, value) - else: - super().__setattr__(key, value) - - -class ManagedClusterSnapshotProperties(_Model): - """Properties for a managed cluster snapshot. - - :ivar creation_data: CreationData to be used to specify the source resource ID to create this - snapshot. - :vartype creation_data: ~azure.mgmt.containerservice.models.CreationData - :ivar snapshot_type: The type of a snapshot. The default is NodePool. Known values are: - "NodePool" and "ManagedCluster". - :vartype snapshot_type: str or ~azure.mgmt.containerservice.models.SnapshotType - :ivar managed_cluster_properties_read_only: What the properties will be showed when getting - managed cluster snapshot. Those properties are read-only. - :vartype managed_cluster_properties_read_only: - ~azure.mgmt.containerservice.models.ManagedClusterPropertiesForSnapshot - """ - - creation_data: Optional["_models.CreationData"] = rest_field( - name="creationData", visibility=["read", "create", "update", "delete", "query"] - ) - """CreationData to be used to specify the source resource ID to create this snapshot.""" - snapshot_type: Optional[Union[str, "_models.SnapshotType"]] = rest_field( - name="snapshotType", visibility=["read", "create", "update", "delete", "query"] - ) - """The type of a snapshot. The default is NodePool. Known values are: \"NodePool\" and - \"ManagedCluster\".""" - managed_cluster_properties_read_only: Optional["_models.ManagedClusterPropertiesForSnapshot"] = rest_field( - name="managedClusterPropertiesReadOnly", visibility=["read"] - ) - """What the properties will be showed when getting managed cluster snapshot. Those properties are - read-only.""" - - @overload - def __init__( - self, - *, - creation_data: Optional["_models.CreationData"] = None, - snapshot_type: Optional[Union[str, "_models.SnapshotType"]] = None, - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: - """ - :param mapping: raw JSON to initialize the model. - :type mapping: Mapping[str, Any] - """ - - def __init__(self, *args: Any, **kwargs: Any) -> None: - super().__init__(*args, **kwargs) - - -class ManagedClusterStaticEgressGatewayProfile(_Model): +class ManagedClusterStaticEgressGatewayProfile(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """The Static Egress Gateway addon configuration for the cluster. :ivar enabled: Enable Static Egress Gateway addon. Indicates if Static Egress Gateway addon is @@ -11343,7 +7956,7 @@ class ManagedClusterStatus(_Model): If there was no error, this field is omitted.""" -class ManagedClusterStorageProfile(_Model): +class ManagedClusterStorageProfile(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Storage profile for the container service cluster. :ivar disk_csi_driver: AzureDisk CSI Driver settings for the storage profile. @@ -11398,7 +8011,9 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class ManagedClusterStorageProfileBlobCSIDriver(_Model): # pylint: disable=name-too-long +class ManagedClusterStorageProfileBlobCSIDriver( + _Model +): # pylint: disable=name-too-long,docstring-keyword-should-match-keyword-only """AzureBlob CSI Driver settings for the storage profile. :ivar enabled: Whether to enable AzureBlob CSI Driver. The default value is false. @@ -11426,7 +8041,9 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class ManagedClusterStorageProfileDiskCSIDriver(_Model): # pylint: disable=name-too-long +class ManagedClusterStorageProfileDiskCSIDriver( + _Model +): # pylint: disable=name-too-long,docstring-keyword-should-match-keyword-only """AzureDisk CSI Driver settings for the storage profile. :ivar enabled: Whether to enable AzureDisk CSI Driver. The default value is true. @@ -11454,7 +8071,9 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class ManagedClusterStorageProfileFileCSIDriver(_Model): # pylint: disable=name-too-long +class ManagedClusterStorageProfileFileCSIDriver( + _Model +): # pylint: disable=name-too-long,docstring-keyword-should-match-keyword-only """AzureFile CSI Driver settings for the storage profile. :ivar enabled: Whether to enable AzureFile CSI Driver. The default value is true. @@ -11482,7 +8101,9 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class ManagedClusterStorageProfileSnapshotController(_Model): # pylint: disable=name-too-long +class ManagedClusterStorageProfileSnapshotController( + _Model +): # pylint: disable=name-too-long,docstring-keyword-should-match-keyword-only """Snapshot Controller settings for the storage profile. :ivar enabled: Whether to enable Snapshot Controller. The default value is true. @@ -11510,7 +8131,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class ManagedClusterUpgradeProfile(ProxyResource): +class ManagedClusterUpgradeProfile(ProxyResource): # pylint: disable=docstring-keyword-should-match-keyword-only """The list of available upgrades for compute pools. :ivar id: Fully qualified resource ID for the resource. Ex - @@ -11571,7 +8192,7 @@ def __setattr__(self, key: str, value: Any) -> None: super().__setattr__(key, value) -class ManagedClusterUpgradeProfileProperties(_Model): +class ManagedClusterUpgradeProfileProperties(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Control plane and agent pool upgrade profiles. :ivar control_plane_profile: The list of available upgrade versions for the control plane. @@ -11611,7 +8232,9 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class ManagedClusterWebAppRoutingGatewayAPIImplementations(_Model): # pylint: disable=name-too-long +class ManagedClusterWebAppRoutingGatewayAPIImplementations( + _Model +): # pylint: disable=name-too-long,docstring-keyword-should-match-keyword-only """Configurations for Gateway API providers to be used for managed ingress with App Routing. :ivar app_routing_istio: Configuration for using a sidecar-less Istio control plane for managed @@ -11646,7 +8269,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class ManagedClusterWindowsProfile(_Model): +class ManagedClusterWindowsProfile(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Profile for Windows VMs in the managed cluster. :ivar admin_username: Specifies the name of the administrator account.

@@ -11729,7 +8352,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class ManagedClusterWorkloadAutoScalerProfile(_Model): +class ManagedClusterWorkloadAutoScalerProfile(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Workload Auto-scaler profile for the managed cluster. :ivar keda: KEDA (Kubernetes Event-driven Autoscaling) settings for the workload auto-scaler @@ -11771,7 +8394,9 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class ManagedClusterWorkloadAutoScalerProfileKeda(_Model): # pylint: disable=name-too-long +class ManagedClusterWorkloadAutoScalerProfileKeda( + _Model +): # pylint: disable=name-too-long,docstring-keyword-should-match-keyword-only """KEDA (Kubernetes Event-driven Autoscaling) settings for the workload auto-scaler profile. :ivar enabled: Whether to enable KEDA. Required. @@ -11799,30 +8424,23 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler(_Model): # pylint: disable=name-too-long +class ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler( + _Model +): # pylint: disable=name-too-long,docstring-keyword-should-match-keyword-only """VPA (Vertical Pod Autoscaler) settings for the workload auto-scaler profile. :ivar enabled: Whether to enable VPA. Default value is false. Required. :vartype enabled: bool - :ivar addon_autoscaling: Whether VPA add-on is enabled and configured to scale AKS-managed - add-ons. Known values are: "Enabled" and "Disabled". - :vartype addon_autoscaling: str or ~azure.mgmt.containerservice.models.AddonAutoscaling """ enabled: bool = rest_field(visibility=["read", "create", "update", "delete", "query"]) """Whether to enable VPA. Default value is false. Required.""" - addon_autoscaling: Optional[Union[str, "_models.AddonAutoscaling"]] = rest_field( - name="addonAutoscaling", visibility=["read", "create", "update", "delete", "query"] - ) - """Whether VPA add-on is enabled and configured to scale AKS-managed add-ons. Known values are: - \"Enabled\" and \"Disabled\".""" @overload def __init__( self, *, enabled: bool, - addon_autoscaling: Optional[Union[str, "_models.AddonAutoscaling"]] = None, ) -> None: ... @overload @@ -11836,7 +8454,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class ManagedNamespace(TrackedResource): +class ManagedNamespace(TrackedResource): # pylint: disable=docstring-keyword-should-match-keyword-only """Namespace managed by ARM. :ivar id: Fully qualified resource ID for the resource. Ex - @@ -11870,167 +8488,16 @@ class ManagedNamespace(TrackedResource): e_tag: Optional[str] = rest_field(name="eTag", visibility=["read"]) """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.""" - - @overload - def __init__( - self, - *, - location: str, - tags: Optional[dict[str, str]] = None, - properties: Optional["_models.NamespaceProperties"] = None, - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: - """ - :param mapping: raw JSON to initialize the model. - :type mapping: Mapping[str, Any] - """ - - def __init__(self, *args: Any, **kwargs: Any) -> None: - super().__init__(*args, **kwargs) - - -class ManagedServiceIdentityUserAssignedIdentitiesValue(_Model): # pylint: disable=name-too-long - """User assigned identity properties. - - :ivar principal_id: The principal id of user assigned identity. - :vartype principal_id: str - :ivar client_id: The client id of user assigned identity. - :vartype client_id: str - """ - - principal_id: Optional[str] = rest_field(name="principalId", visibility=["read"]) - """The principal id of user assigned identity.""" - client_id: Optional[str] = rest_field(name="clientId", visibility=["read"]) - """The client id of user assigned identity.""" - - -class ManualScaleProfile(_Model): - """Specifications on number of machines. - - :ivar size: VM size that AKS will use when creating and scaling e.g. 'Standard_E4s_v3', - 'Standard_E16s_v3' or 'Standard_D16s_v5'. - :vartype size: str - :ivar count: Number of nodes. - :vartype count: int - """ - - size: Optional[str] = rest_field(visibility=["read", "create", "update", "delete", "query"]) - """VM size that AKS will use when creating and scaling e.g. 'Standard_E4s_v3', 'Standard_E16s_v3' - or 'Standard_D16s_v5'.""" - count: Optional[int] = rest_field(visibility=["read", "create", "update", "delete", "query"]) - """Number of nodes.""" - - @overload - def __init__( - self, - *, - size: Optional[str] = None, - count: Optional[int] = None, - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: - """ - :param mapping: raw JSON to initialize the model. - :type mapping: Mapping[str, Any] - """ - - def __init__(self, *args: Any, **kwargs: Any) -> None: - super().__init__(*args, **kwargs) - - -class MeshMembership(ProxyResource): - """Mesh membership of a managed cluster. - - :ivar id: Fully qualified resource ID for the resource. Ex - - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - :vartype id: str - :ivar name: The name of the resource. - :vartype name: str - :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or - "Microsoft.Storage/storageAccounts". - :vartype type: str - :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy - information. - :vartype system_data: ~azure.mgmt.containerservice.models.SystemData - :ivar properties: Mesh membership properties of a managed cluster. - :vartype properties: ~azure.mgmt.containerservice.models.MeshMembershipProperties - :ivar managed_by: 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. - :vartype managed_by: str - :ivar e_tag: 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. - :vartype e_tag: str - """ - - properties: Optional["_models.MeshMembershipProperties"] = rest_field( - visibility=["read", "create", "update", "delete", "query"] - ) - """Mesh membership properties of a managed cluster.""" - managed_by: Optional[str] = rest_field(name="managedBy", visibility=["read", "create", "update"]) - """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.""" - e_tag: Optional[str] = rest_field(name="eTag", visibility=["read"]) - """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.""" - - @overload - def __init__( - self, - *, - properties: Optional["_models.MeshMembershipProperties"] = None, - managed_by: Optional[str] = None, - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: - """ - :param mapping: raw JSON to initialize the model. - :type mapping: Mapping[str, Any] - """ - - def __init__(self, *args: Any, **kwargs: Any) -> None: - super().__init__(*args, **kwargs) - - -class MeshMembershipPrivateConnectProfile(_Model): - """Private connect profile for mesh membership. - - :ivar private_ip_address: The private IP address of the member cluster private FQDN. This is a - read-only property populated by the service. - :vartype private_ip_address: str - :ivar subnet_resource_id: The delegated subnet resource ID. Customer can provide their own - subnet, or AKS will allocate one if not specified. When providing your own subnet, the minimum - required size is /28. - :vartype subnet_resource_id: str - """ - - private_ip_address: Optional[str] = rest_field(name="privateIpAddress", visibility=["read"]) - """The private IP address of the member cluster private FQDN. This is a read-only property - populated by the service.""" - subnet_resource_id: Optional[str] = rest_field( - name="subnetResourceId", visibility=["read", "create", "update", "delete", "query"] - ) - """The delegated subnet resource ID. Customer can provide their own subnet, or AKS will allocate - one if not specified. When providing your own subnet, the minimum required size is /28.""" + 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.""" @overload def __init__( self, *, - subnet_resource_id: Optional[str] = None, + location: str, + tags: Optional[dict[str, str]] = None, + properties: Optional["_models.NamespaceProperties"] = None, ) -> None: ... @overload @@ -12044,48 +8511,43 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class MeshMembershipProperties(_Model): - """Mesh membership properties of a managed cluster. +class ManagedServiceIdentityUserAssignedIdentitiesValue(_Model): # pylint: disable=name-too-long + """User assigned identity properties. - :ivar provisioning_state: The current provisioning state of the Mesh Membership. Known values - are: "Canceled", "Creating", "Deleting", "Failed", "Succeeded", and "Updating". - :vartype provisioning_state: str or - ~azure.mgmt.containerservice.models.MeshMembershipProvisioningState - :ivar private_connect_profile: Profile for configuring private connectivity between the mesh - control plane and member clusters. When configured, communication between the mesh control - plane and this member cluster occurs over private network instead of public networks. Visit - `https://aka.ms/applink `_ for more information. - :vartype private_connect_profile: - ~azure.mgmt.containerservice.models.MeshMembershipPrivateConnectProfile - :ivar managed_mesh_id: 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. Required. - :vartype managed_mesh_id: str - """ - - provisioning_state: Optional[Union[str, "_models.MeshMembershipProvisioningState"]] = rest_field( - name="provisioningState", visibility=["read"] - ) - """The current provisioning state of the Mesh Membership. Known values are: \"Canceled\", - \"Creating\", \"Deleting\", \"Failed\", \"Succeeded\", and \"Updating\".""" - private_connect_profile: Optional["_models.MeshMembershipPrivateConnectProfile"] = rest_field( - name="privateConnectProfile", visibility=["read", "create", "update", "delete", "query"] - ) - """Profile for configuring private connectivity between the mesh control plane and member - clusters. When configured, communication between the mesh control plane and this member cluster - occurs over private network instead of public networks. Visit `https://aka.ms/applink - `_ for more information.""" - managed_mesh_id: str = rest_field(name="managedMeshID", visibility=["read", "create", "update", "delete", "query"]) - """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. Required.""" + :ivar principal_id: The principal id of user assigned identity. + :vartype principal_id: str + :ivar client_id: The client id of user assigned identity. + :vartype client_id: str + """ + + principal_id: Optional[str] = rest_field(name="principalId", visibility=["read"]) + """The principal id of user assigned identity.""" + client_id: Optional[str] = rest_field(name="clientId", visibility=["read"]) + """The client id of user assigned identity.""" + + +class ManualScaleProfile(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only + """Specifications on number of machines. + + :ivar size: VM size that AKS will use when creating and scaling e.g. 'Standard_E4s_v3', + 'Standard_E16s_v3' or 'Standard_D16s_v5'. + :vartype size: str + :ivar count: Number of nodes. + :vartype count: int + """ + + size: Optional[str] = rest_field(visibility=["read", "create", "update", "delete", "query"]) + """VM size that AKS will use when creating and scaling e.g. 'Standard_E4s_v3', 'Standard_E16s_v3' + or 'Standard_D16s_v5'.""" + count: Optional[int] = rest_field(visibility=["read", "create", "update", "delete", "query"]) + """Number of nodes.""" @overload def __init__( self, *, - managed_mesh_id: str, - private_connect_profile: Optional["_models.MeshMembershipPrivateConnectProfile"] = None, + size: Optional[str] = None, + count: Optional[int] = None, ) -> None: ... @overload @@ -12099,7 +8561,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class MeshRevision(_Model): +class MeshRevision(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Holds information on upgrades and compatibility for given major.minor mesh release. :ivar revision: The revision of the mesh release. @@ -12140,7 +8602,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class MeshRevisionProfile(ProxyResource): +class MeshRevisionProfile(ProxyResource): # pylint: disable=docstring-keyword-should-match-keyword-only """Mesh revision profile for a mesh. :ivar id: Fully qualified resource ID for the resource. Ex - @@ -12181,7 +8643,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class MeshRevisionProfileProperties(_Model): +class MeshRevisionProfileProperties(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Mesh revision profile properties for a mesh. :ivar mesh_revisions: Available mesh revisions. @@ -12211,7 +8673,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class MeshUpgradeProfile(ProxyResource): +class MeshUpgradeProfile(ProxyResource): # pylint: disable=docstring-keyword-should-match-keyword-only """Upgrade profile for given mesh. :ivar id: Fully qualified resource ID for the resource. Ex - @@ -12252,7 +8714,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class MeshUpgradeProfileProperties(MeshRevision): +class MeshUpgradeProfileProperties(MeshRevision): # pylint: disable=docstring-keyword-should-match-keyword-only """Mesh upgrade profile properties for a major.minor release. :ivar revision: The revision of the mesh release. @@ -12284,7 +8746,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class NamespaceProperties(_Model): +class NamespaceProperties(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Properties of a namespace managed by ARM. :ivar provisioning_state: The current provisioning state of the namespace. Known values are: @@ -12296,317 +8758,77 @@ class NamespaceProperties(_Model): :ivar annotations: The annotations of managed namespace. :vartype annotations: dict[str, str] :ivar portal_fqdn: 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. - :vartype portal_fqdn: str - :ivar default_resource_quota: 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. - :vartype default_resource_quota: ~azure.mgmt.containerservice.models.ResourceQuota - :ivar default_network_policy: 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. - :vartype default_network_policy: ~azure.mgmt.containerservice.models.NetworkPolicies - :ivar adoption_policy: Action if Kubernetes namespace with same name already exists. Known - values are: "Never", "IfIdentical", and "Always". - :vartype adoption_policy: str or ~azure.mgmt.containerservice.models.AdoptionPolicy - :ivar delete_policy: Delete options of a namespace. Known values are: "Keep" and "Delete". - :vartype delete_policy: str or ~azure.mgmt.containerservice.models.DeletePolicy - """ - - provisioning_state: Optional[Union[str, "_models.NamespaceProvisioningState"]] = rest_field( - name="provisioningState", visibility=["read"] - ) - """The current provisioning state of the namespace. Known values are: \"Updating\", \"Deleting\", - \"Creating\", \"Succeeded\", \"Failed\", and \"Canceled\".""" - labels: Optional[dict[str, str]] = rest_field(visibility=["read", "create", "update", "delete", "query"]) - """The labels of managed namespace.""" - annotations: Optional[dict[str, str]] = rest_field(visibility=["read", "create", "update", "delete", "query"]) - """The annotations of managed namespace.""" - portal_fqdn: Optional[str] = rest_field(name="portalFqdn", visibility=["read"]) - """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.""" - default_resource_quota: Optional["_models.ResourceQuota"] = rest_field( - name="defaultResourceQuota", visibility=["read", "create", "update", "delete", "query"] - ) - """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.""" - default_network_policy: Optional["_models.NetworkPolicies"] = rest_field( - name="defaultNetworkPolicy", visibility=["read", "create", "update", "delete", "query"] - ) - """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.""" - adoption_policy: Optional[Union[str, "_models.AdoptionPolicy"]] = rest_field( - name="adoptionPolicy", visibility=["read", "create", "update", "delete", "query"] - ) - """Action if Kubernetes namespace with same name already exists. Known values are: \"Never\", - \"IfIdentical\", and \"Always\".""" - delete_policy: Optional[Union[str, "_models.DeletePolicy"]] = rest_field( - name="deletePolicy", visibility=["read", "create", "update", "delete", "query"] - ) - """Delete options of a namespace. Known values are: \"Keep\" and \"Delete\".""" - - @overload - def __init__( - self, - *, - labels: Optional[dict[str, str]] = None, - annotations: Optional[dict[str, str]] = None, - default_resource_quota: Optional["_models.ResourceQuota"] = None, - default_network_policy: Optional["_models.NetworkPolicies"] = None, - adoption_policy: Optional[Union[str, "_models.AdoptionPolicy"]] = None, - delete_policy: Optional[Union[str, "_models.DeletePolicy"]] = None, - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: - """ - :param mapping: raw JSON to initialize the model. - :type mapping: Mapping[str, Any] - """ - - def __init__(self, *args: Any, **kwargs: Any) -> None: - super().__init__(*args, **kwargs) - - -class NetworkPolicies(_Model): - """Default network policy of the namespace, specifying ingress and egress rules. - - :ivar ingress: Enum representing different network policy rules. Known values are: "DenyAll", - "AllowAll", and "AllowSameNamespace". - :vartype ingress: str or ~azure.mgmt.containerservice.models.PolicyRule - :ivar egress: Enum representing different network policy rules. Known values are: "DenyAll", - "AllowAll", and "AllowSameNamespace". - :vartype egress: str or ~azure.mgmt.containerservice.models.PolicyRule - """ - - ingress: Optional[Union[str, "_models.PolicyRule"]] = rest_field( - visibility=["read", "create", "update", "delete", "query"] - ) - """Enum representing different network policy rules. Known values are: \"DenyAll\", \"AllowAll\", - and \"AllowSameNamespace\".""" - egress: Optional[Union[str, "_models.PolicyRule"]] = rest_field( - visibility=["read", "create", "update", "delete", "query"] - ) - """Enum representing different network policy rules. Known values are: \"DenyAll\", \"AllowAll\", - and \"AllowSameNamespace\".""" - - @overload - def __init__( - self, - *, - ingress: Optional[Union[str, "_models.PolicyRule"]] = None, - egress: Optional[Union[str, "_models.PolicyRule"]] = None, - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: - """ - :param mapping: raw JSON to initialize the model. - :type mapping: Mapping[str, Any] - """ - - def __init__(self, *args: Any, **kwargs: Any) -> None: - super().__init__(*args, **kwargs) - - -class NetworkProfileForSnapshot(_Model): - """network profile for managed cluster snapshot, these properties are read only. - - :ivar network_plugin: networkPlugin for managed cluster snapshot. Known values are: "azure", - "kubenet", and "none". - :vartype network_plugin: str or ~azure.mgmt.containerservice.models.NetworkPlugin - :ivar network_plugin_mode: NetworkPluginMode for managed cluster snapshot. "overlay" - :vartype network_plugin_mode: str or ~azure.mgmt.containerservice.models.NetworkPluginMode - :ivar network_policy: networkPolicy for managed cluster snapshot. Known values are: "none", - "calico", "azure", and "cilium". - :vartype network_policy: str or ~azure.mgmt.containerservice.models.NetworkPolicy - :ivar network_mode: networkMode for managed cluster snapshot. Known values are: "transparent" - and "bridge". - :vartype network_mode: str or ~azure.mgmt.containerservice.models.NetworkMode - :ivar load_balancer_sku: loadBalancerSku for managed cluster snapshot. Known values are: - "service", "standard", and "basic". - :vartype load_balancer_sku: str or ~azure.mgmt.containerservice.models.LoadBalancerSku - """ - - network_plugin: Optional[Union[str, "_models.NetworkPlugin"]] = rest_field( - name="networkPlugin", visibility=["read", "create", "update", "delete", "query"] - ) - """networkPlugin for managed cluster snapshot. Known values are: \"azure\", \"kubenet\", and - \"none\".""" - network_plugin_mode: Optional[Union[str, "_models.NetworkPluginMode"]] = rest_field( - name="networkPluginMode", visibility=["read", "create", "update", "delete", "query"] - ) - """NetworkPluginMode for managed cluster snapshot. \"overlay\"""" - network_policy: Optional[Union[str, "_models.NetworkPolicy"]] = rest_field( - name="networkPolicy", visibility=["read", "create", "update", "delete", "query"] - ) - """networkPolicy for managed cluster snapshot. Known values are: \"none\", \"calico\", \"azure\", - and \"cilium\".""" - network_mode: Optional[Union[str, "_models.NetworkMode"]] = rest_field( - name="networkMode", visibility=["read", "create", "update", "delete", "query"] - ) - """networkMode for managed cluster snapshot. Known values are: \"transparent\" and \"bridge\".""" - load_balancer_sku: Optional[Union[str, "_models.LoadBalancerSku"]] = rest_field( - name="loadBalancerSku", visibility=["read", "create", "update", "delete", "query"] - ) - """loadBalancerSku for managed cluster snapshot. Known values are: \"service\", \"standard\", and - \"basic\".""" - - @overload - def __init__( - self, - *, - network_plugin: Optional[Union[str, "_models.NetworkPlugin"]] = None, - network_plugin_mode: Optional[Union[str, "_models.NetworkPluginMode"]] = None, - network_policy: Optional[Union[str, "_models.NetworkPolicy"]] = None, - network_mode: Optional[Union[str, "_models.NetworkMode"]] = None, - load_balancer_sku: Optional[Union[str, "_models.LoadBalancerSku"]] = None, - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: - """ - :param mapping: raw JSON to initialize the model. - :type mapping: Mapping[str, Any] - """ - - def __init__(self, *args: Any, **kwargs: Any) -> None: - super().__init__(*args, **kwargs) - - -class NodeDisruptionProfile(_Model): - """Node disruption profile for a managed cluster. - - :ivar node_disruption_policy: The policy configuration for when to allow certain operations - which require node re-image and trigger redeployment. For example, some operations, such as - updating the .properties.ManagedClusterSecurityProfile.customCATrustCertificates field on an - existing managed cluster, trigger rolling updates of the nodes. This setting allows control - over when such updates are accepted. The default is 'Allow'. For a full list of covered - operations see aka.ms/aks/nodedisruptionpolicy". Known values are: "Allow", - "AllowDuringMaintenanceWindow", and "Block". - :vartype node_disruption_policy: str or - ~azure.mgmt.containerservice.models.NodeDisruptionPolicy - """ - - node_disruption_policy: Optional[Union[str, "_models.NodeDisruptionPolicy"]] = rest_field( - name="nodeDisruptionPolicy", visibility=["read", "create", "update", "delete", "query"] - ) - """The policy configuration for when to allow certain operations which require node re-image and - trigger redeployment. For example, some operations, such as updating the - .properties.ManagedClusterSecurityProfile.customCATrustCertificates field on an existing - managed cluster, trigger rolling updates of the nodes. This setting allows control over when - such updates are accepted. The default is 'Allow'. For a full list of covered operations see - aka.ms/aks/nodedisruptionpolicy\". Known values are: \"Allow\", - \"AllowDuringMaintenanceWindow\", and \"Block\".""" - - @overload - def __init__( - self, - *, - node_disruption_policy: Optional[Union[str, "_models.NodeDisruptionPolicy"]] = None, - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: - """ - :param mapping: raw JSON to initialize the model. - :type mapping: Mapping[str, Any] - """ - - def __init__(self, *args: Any, **kwargs: Any) -> None: - super().__init__(*args, **kwargs) - - -class NodeImageVersion(_Model): - """node image version profile for given major.minor.patch release. - - :ivar os: The operating system of the node image. Example: AKSUbuntu. - :vartype os: str - :ivar sku: The SKU or flavor of the node image. Example: 2004gen2containerd. - :vartype sku: str - :ivar version: major.minor.patch version of the node image version release. Example: - 2024.02.02. - :vartype version: str - :ivar full_name: The OS + SKU + version of the node image. Example: - AKSUbuntu-1804gen2containerd-2024.02.02. - :vartype full_name: str - """ - - os: Optional[str] = rest_field(visibility=["read", "create", "update", "delete", "query"]) - """The operating system of the node image. Example: AKSUbuntu.""" - sku: Optional[str] = rest_field(visibility=["read", "create", "update", "delete", "query"]) - """The SKU or flavor of the node image. Example: 2004gen2containerd.""" - version: Optional[str] = rest_field(visibility=["read", "create", "update", "delete", "query"]) - """major.minor.patch version of the node image version release. Example: 2024.02.02.""" - full_name: Optional[str] = rest_field(name="fullName", visibility=["read", "create", "update", "delete", "query"]) - """The OS + SKU + version of the node image. Example: AKSUbuntu-1804gen2containerd-2024.02.02.""" - - @overload - def __init__( - self, - *, - os: Optional[str] = None, - sku: Optional[str] = None, - version: Optional[str] = None, - full_name: Optional[str] = None, - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: - """ - :param mapping: raw JSON to initialize the model. - :type mapping: Mapping[str, Any] - """ - - def __init__(self, *args: Any, **kwargs: Any) -> None: - super().__init__(*args, **kwargs) - - -class NvidiaGPUProfile(_Model): - """NVIDIA-specific GPU settings. - - :ivar management_mode: The Managed GPU experience installs additional components, such as the - Data Center GPU Manager (DCGM) metrics for monitoring, on top of the GPU driver for you. For - more details of what is installed, check out aka.ms/aks/managed-gpu. Known values are: - "Unmanaged" and "Managed". - :vartype management_mode: str or ~azure.mgmt.containerservice.models.ManagementMode - :ivar mig_strategy: Sets the MIG (Multi-Instance GPU) strategy that will be used for managed - MIG support. For more information about the different strategies, visit aka.ms/aks/managed-gpu. - When not specified, the default is None. Known values are: "None", "Single", and "Mixed". - :vartype mig_strategy: str or ~azure.mgmt.containerservice.models.MigStrategy + 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. + :vartype portal_fqdn: str + :ivar default_resource_quota: 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. + :vartype default_resource_quota: ~azure.mgmt.containerservice.models.ResourceQuota + :ivar default_network_policy: 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. + :vartype default_network_policy: ~azure.mgmt.containerservice.models.NetworkPolicies + :ivar adoption_policy: Action if Kubernetes namespace with same name already exists. Known + values are: "Never", "IfIdentical", and "Always". + :vartype adoption_policy: str or ~azure.mgmt.containerservice.models.AdoptionPolicy + :ivar delete_policy: Delete options of a namespace. Known values are: "Keep" and "Delete". + :vartype delete_policy: str or ~azure.mgmt.containerservice.models.DeletePolicy """ - management_mode: Optional[Union[str, "_models.ManagementMode"]] = rest_field( - name="managementMode", visibility=["read", "create", "update", "delete", "query"] + provisioning_state: Optional[Union[str, "_models.NamespaceProvisioningState"]] = rest_field( + name="provisioningState", visibility=["read"] + ) + """The current provisioning state of the namespace. Known values are: \"Updating\", \"Deleting\", + \"Creating\", \"Succeeded\", \"Failed\", and \"Canceled\".""" + labels: Optional[dict[str, str]] = rest_field(visibility=["read", "create", "update", "delete", "query"]) + """The labels of managed namespace.""" + annotations: Optional[dict[str, str]] = rest_field(visibility=["read", "create", "update", "delete", "query"]) + """The annotations of managed namespace.""" + portal_fqdn: Optional[str] = rest_field(name="portalFqdn", visibility=["read"]) + """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.""" + default_resource_quota: Optional["_models.ResourceQuota"] = rest_field( + name="defaultResourceQuota", visibility=["read", "create", "update", "delete", "query"] + ) + """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.""" + default_network_policy: Optional["_models.NetworkPolicies"] = rest_field( + name="defaultNetworkPolicy", visibility=["read", "create", "update", "delete", "query"] + ) + """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.""" + adoption_policy: Optional[Union[str, "_models.AdoptionPolicy"]] = rest_field( + name="adoptionPolicy", visibility=["read", "create", "update", "delete", "query"] ) - """The Managed GPU experience installs additional components, such as the Data Center GPU Manager - (DCGM) metrics for monitoring, on top of the GPU driver for you. For more details of what is - installed, check out aka.ms/aks/managed-gpu. Known values are: \"Unmanaged\" and \"Managed\".""" - mig_strategy: Optional[Union[str, "_models.MigStrategy"]] = rest_field( - name="migStrategy", visibility=["read", "create", "update", "delete", "query"] + """Action if Kubernetes namespace with same name already exists. Known values are: \"Never\", + \"IfIdentical\", and \"Always\".""" + delete_policy: Optional[Union[str, "_models.DeletePolicy"]] = rest_field( + name="deletePolicy", visibility=["read", "create", "update", "delete", "query"] ) - """Sets the MIG (Multi-Instance GPU) strategy that will be used for managed MIG support. For more - information about the different strategies, visit aka.ms/aks/managed-gpu. When not specified, - the default is None. Known values are: \"None\", \"Single\", and \"Mixed\".""" + """Delete options of a namespace. Known values are: \"Keep\" and \"Delete\".""" @overload def __init__( self, *, - management_mode: Optional[Union[str, "_models.ManagementMode"]] = None, - mig_strategy: Optional[Union[str, "_models.MigStrategy"]] = None, + labels: Optional[dict[str, str]] = None, + annotations: Optional[dict[str, str]] = None, + default_resource_quota: Optional["_models.ResourceQuota"] = None, + default_network_policy: Optional["_models.NetworkPolicies"] = None, + adoption_policy: Optional[Union[str, "_models.AdoptionPolicy"]] = None, + delete_policy: Optional[Union[str, "_models.DeletePolicy"]] = None, ) -> None: ... @overload @@ -12620,69 +8842,34 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class OperationStatusResult(_Model): - """The current status of an async operation. +class NetworkPolicies(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only + """Default network policy of the namespace, specifying ingress and egress rules. - :ivar id: Fully qualified ID for the async operation. - :vartype id: str - :ivar name: Name of the async operation. - :vartype name: str - :ivar status: Operation status. Required. - :vartype status: str - :ivar percent_complete: Percent of the operation that is complete. - :vartype percent_complete: float - :ivar start_time: The start time of the operation. - :vartype start_time: ~datetime.datetime - :ivar end_time: The end time of the operation. - :vartype end_time: ~datetime.datetime - :ivar operations: The operations list. - :vartype operations: list[~azure.mgmt.containerservice.models.OperationStatusResult] - :ivar error: If present, details of the operation error. - :vartype error: ~azure.mgmt.containerservice.models.ErrorDetail - :ivar resource_id: Fully qualified ID of the resource against which the original async - operation was started. - :vartype resource_id: str + :ivar ingress: Enum representing different network policy rules. Known values are: "DenyAll", + "AllowAll", and "AllowSameNamespace". + :vartype ingress: str or ~azure.mgmt.containerservice.models.PolicyRule + :ivar egress: Enum representing different network policy rules. Known values are: "DenyAll", + "AllowAll", and "AllowSameNamespace". + :vartype egress: str or ~azure.mgmt.containerservice.models.PolicyRule """ - id: Optional[str] = rest_field(visibility=["read", "create", "update", "delete", "query"]) - """Fully qualified ID for the async operation.""" - name: Optional[str] = rest_field(visibility=["read", "create", "update", "delete", "query"]) - """Name of the async operation.""" - status: str = rest_field(visibility=["read", "create", "update", "delete", "query"]) - """Operation status. Required.""" - percent_complete: Optional[float] = rest_field( - name="percentComplete", visibility=["read", "create", "update", "delete", "query"] - ) - """Percent of the operation that is complete.""" - start_time: Optional[datetime.datetime] = rest_field( - name="startTime", visibility=["read", "create", "update", "delete", "query"], format="rfc3339" - ) - """The start time of the operation.""" - end_time: Optional[datetime.datetime] = rest_field( - name="endTime", visibility=["read", "create", "update", "delete", "query"], format="rfc3339" - ) - """The end time of the operation.""" - operations: Optional[list["_models.OperationStatusResult"]] = rest_field( + ingress: Optional[Union[str, "_models.PolicyRule"]] = rest_field( visibility=["read", "create", "update", "delete", "query"] ) - """The operations list.""" - error: Optional["_models.ErrorDetail"] = rest_field(visibility=["read", "create", "update", "delete", "query"]) - """If present, details of the operation error.""" - resource_id: Optional[str] = rest_field(name="resourceId", visibility=["read"]) - """Fully qualified ID of the resource against which the original async operation was started.""" + """Enum representing different network policy rules. Known values are: \"DenyAll\", \"AllowAll\", + and \"AllowSameNamespace\".""" + egress: Optional[Union[str, "_models.PolicyRule"]] = rest_field( + visibility=["read", "create", "update", "delete", "query"] + ) + """Enum representing different network policy rules. Known values are: \"DenyAll\", \"AllowAll\", + and \"AllowSameNamespace\".""" @overload def __init__( self, *, - status: str, - id: Optional[str] = None, # pylint: disable=redefined-builtin - name: Optional[str] = None, - percent_complete: Optional[float] = None, - start_time: Optional[datetime.datetime] = None, - end_time: Optional[datetime.datetime] = None, - operations: Optional[list["_models.OperationStatusResult"]] = None, - error: Optional["_models.ErrorDetail"] = None, + ingress: Optional[Union[str, "_models.PolicyRule"]] = None, + egress: Optional[Union[str, "_models.PolicyRule"]] = None, ) -> None: ... @overload @@ -12696,7 +8883,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class OperationValue(_Model): +class OperationValue(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Describes the properties of a Operation value. :ivar origin: The origin of the operation. @@ -12777,7 +8964,7 @@ class OperationValueDisplay(_Model): """The resource provider for the operation.""" -class OutboundEnvironmentEndpoint(_Model): +class OutboundEnvironmentEndpoint(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Egress endpoints which AKS agent nodes connect to for common purpose. :ivar category: The category of endpoints accessed by the AKS agent node, e.g. @@ -12814,30 +9001,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class PoolBootstrapData(_Model): - """Bootstrap configuration for a FlexNode pool. - - :ivar azure: Azure environment and cluster identity information. - :vartype azure: ~azure.mgmt.containerservice.models.BootstrapAzureConfig - :ivar components: Component versions for the node runtime. - :vartype components: ~azure.mgmt.containerservice.models.BootstrapComponentVersions - :ivar networking: Network configuration for the node. - :vartype networking: ~azure.mgmt.containerservice.models.BootstrapNetworkingConfig - :ivar node: Node-level configuration for kubelet, labels, and taints. - :vartype node: ~azure.mgmt.containerservice.models.BootstrapNodeConfig - """ - - azure: Optional["_models.BootstrapAzureConfig"] = rest_field(visibility=["read"]) - """Azure environment and cluster identity information.""" - components: Optional["_models.BootstrapComponentVersions"] = rest_field(visibility=["read"]) - """Component versions for the node runtime.""" - networking: Optional["_models.BootstrapNetworkingConfig"] = rest_field(visibility=["read"]) - """Network configuration for the node.""" - node: Optional["_models.BootstrapNodeConfig"] = rest_field(visibility=["read"]) - """Node-level configuration for kubelet, labels, and taints.""" - - -class PortRange(_Model): +class PortRange(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """The port range. :ivar port_start: The minimum port that is included in the range. It should be ranged from 1 to @@ -12881,7 +9045,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class PowerState(_Model): +class PowerState(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Describes the Power State of the cluster. :ivar code: Tells whether the cluster is Running or Stopped. Known values are: "Running" and @@ -12910,40 +9074,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class PreparedImageSpecificationProfile(_Model): - """Settings to determine the prepared image specification used to provision nodes in a pool. - - :ivar prepared_image_specification_id: The resource ID of the prepared image specification - resource to use. This can include a version. Omitting the version will use the latest version - of the prepared image specification. - :vartype prepared_image_specification_id: str - """ - - prepared_image_specification_id: Optional[str] = rest_field( - name="preparedImageSpecificationId", visibility=["read", "create", "update", "delete", "query"] - ) - """The resource ID of the prepared image specification resource to use. This can include a - version. Omitting the version will use the latest version of the prepared image specification.""" - - @overload - def __init__( - self, - *, - prepared_image_specification_id: Optional[str] = None, - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: - """ - :param mapping: raw JSON to initialize the model. - :type mapping: Mapping[str, Any] - """ - - def __init__(self, *args: Any, **kwargs: Any) -> None: - super().__init__(*args, **kwargs) - - -class PrivateEndpoint(_Model): +class PrivateEndpoint(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Private endpoint which a connection belongs to. :ivar id: The resource ID of the private endpoint. @@ -12971,7 +9102,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class PrivateEndpointConnection(ProxyResource): +class PrivateEndpointConnection(ProxyResource): # pylint: disable=docstring-keyword-should-match-keyword-only """A private endpoint connection. :ivar id: Fully qualified resource ID for the resource. Ex - @@ -13032,7 +9163,7 @@ def __setattr__(self, key: str, value: Any) -> None: super().__setattr__(key, value) -class PrivateEndpointConnectionListResult(_Model): +class PrivateEndpointConnectionListResult(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """A list of private endpoint connections. :ivar value: The collection value. @@ -13062,7 +9193,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class PrivateEndpointConnectionProperties(_Model): +class PrivateEndpointConnectionProperties(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Properties of a private endpoint connection. :ivar provisioning_state: The current provisioning state. Known values are: "Canceled", @@ -13111,7 +9242,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class PrivateLinkResource(_Model): +class PrivateLinkResource(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """A private link resource. :ivar id: The ID of the private link resource. @@ -13168,7 +9299,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class PrivateLinkResourcesListResult(_Model): +class PrivateLinkResourcesListResult(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """A list of private link resources. :ivar value: The collection value. @@ -13198,7 +9329,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class PrivateLinkServiceConnectionState(_Model): +class PrivateLinkServiceConnectionState(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """The state of a private link service connection. :ivar status: The private link service connection status. Known values are: "Pending", @@ -13235,38 +9366,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class RebalanceLoadBalancersRequestBody(_Model): - """The names of the load balancers to rebalance. If set to empty, all load balancers will be - rebalanced. - - :ivar load_balancer_names: The load balancer names list. - :vartype load_balancer_names: list[str] - """ - - load_balancer_names: Optional[list[str]] = rest_field( - name="loadBalancerNames", visibility=["read", "create", "update", "delete", "query"] - ) - """The load balancer names list.""" - - @overload - def __init__( - self, - *, - load_balancer_names: Optional[list[str]] = None, - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: - """ - :param mapping: raw JSON to initialize the model. - :type mapping: Mapping[str, Any] - """ - - def __init__(self, *args: Any, **kwargs: Any) -> None: - super().__init__(*args, **kwargs) - - -class RelativeMonthlySchedule(_Model): +class RelativeMonthlySchedule(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """For schedules like: 'recur every month on the first Monday' or 'recur every 3 months on last Friday'. @@ -13314,7 +9414,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class ResourceQuota(_Model): +class ResourceQuota(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Resource quota for the namespace. :ivar cpu_request: CPU request of the namespace in one-thousandth CPU form. See `CPU resource @@ -13384,7 +9484,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class ResourceReference(_Model): +class ResourceReference(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """A reference to an Azure resource. :ivar id: The fully qualified Azure resource id. @@ -13412,223 +9512,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class ResourceSku(_Model): - """Describes an available Compute SKU. - - :ivar resource_type: The type of resource the SKU applies to. - :vartype resource_type: str - :ivar name: The name of SKU. - :vartype name: str - :ivar tier: Specifies the tier of virtual machines in a scale set.

Possible - Values:

**Standard**

**Basic**. - :vartype tier: str - :ivar size: The Size of the SKU. - :vartype size: str - :ivar family: The Family of this particular SKU. - :vartype family: str - :ivar kind: The Kind of resources that are supported in this SKU. - :vartype kind: str - :ivar capacity: Specifies the number of virtual machines in the scale set. - :vartype capacity: ~azure.mgmt.containerservice.models.ResourceSkuCapacity - :ivar locations: The set of locations that the SKU is available. - :vartype locations: list[str] - :ivar location_info: A list of locations and availability zones in those locations where the - SKU is available. - :vartype location_info: list[~azure.mgmt.containerservice.models.ResourceSkuLocationInfo] - :ivar api_versions: The api versions that support this SKU. - :vartype api_versions: list[str] - :ivar costs: Metadata for retrieving price info. - :vartype costs: list[~azure.mgmt.containerservice.models.ResourceSkuCosts] - :ivar capabilities: A name value pair to describe the capability. - :vartype capabilities: list[~azure.mgmt.containerservice.models.ResourceSkuCapabilities] - :ivar restrictions: The restrictions because of which SKU cannot be used. This is empty if - there are no restrictions. - :vartype restrictions: list[~azure.mgmt.containerservice.models.ResourceSkuRestrictions] - """ - - resource_type: Optional[str] = rest_field(name="resourceType", visibility=["read"]) - """The type of resource the SKU applies to.""" - name: Optional[str] = rest_field(visibility=["read"]) - """The name of SKU.""" - tier: Optional[str] = rest_field(visibility=["read"]) - """Specifies the tier of virtual machines in a scale set.

Possible Values:

- **Standard**

**Basic**.""" - size: Optional[str] = rest_field(visibility=["read"]) - """The Size of the SKU.""" - family: Optional[str] = rest_field(visibility=["read"]) - """The Family of this particular SKU.""" - kind: Optional[str] = rest_field(visibility=["read"]) - """The Kind of resources that are supported in this SKU.""" - capacity: Optional["_models.ResourceSkuCapacity"] = rest_field(visibility=["read"]) - """Specifies the number of virtual machines in the scale set.""" - locations: Optional[list[str]] = rest_field(visibility=["read"]) - """The set of locations that the SKU is available.""" - location_info: Optional[list["_models.ResourceSkuLocationInfo"]] = rest_field( - name="locationInfo", visibility=["read"] - ) - """A list of locations and availability zones in those locations where the SKU is available.""" - api_versions: Optional[list[str]] = rest_field(name="apiVersions", visibility=["read"]) - """The api versions that support this SKU.""" - costs: Optional[list["_models.ResourceSkuCosts"]] = rest_field(visibility=["read"]) - """Metadata for retrieving price info.""" - capabilities: Optional[list["_models.ResourceSkuCapabilities"]] = rest_field(visibility=["read"]) - """A name value pair to describe the capability.""" - restrictions: Optional[list["_models.ResourceSkuRestrictions"]] = rest_field(visibility=["read"]) - """The restrictions because of which SKU cannot be used. This is empty if there are no - restrictions.""" - - -class ResourceSkuCapabilities(_Model): - """Describes The SKU capabilities object. - - :ivar name: An invariant to describe the feature. - :vartype name: str - :ivar value: An invariant if the feature is measured by quantity. - :vartype value: str - """ - - name: Optional[str] = rest_field(visibility=["read"]) - """An invariant to describe the feature.""" - value: Optional[str] = rest_field(visibility=["read"]) - """An invariant if the feature is measured by quantity.""" - - -class ResourceSkuCapacity(_Model): - """Describes scaling information of a SKU. - - :ivar minimum: The minimum capacity. - :vartype minimum: int - :ivar maximum: The maximum capacity that can be set. - :vartype maximum: int - :ivar default: The default capacity. - :vartype default: int - :ivar scale_type: The scale type applicable to the sku. Known values are: "Automatic", - "Manual", and "None". - :vartype scale_type: str or ~azure.mgmt.containerservice.models.ResourceSkuCapacityScaleType - """ - - minimum: Optional[int] = rest_field(visibility=["read"]) - """The minimum capacity.""" - maximum: Optional[int] = rest_field(visibility=["read"]) - """The maximum capacity that can be set.""" - default: Optional[int] = rest_field(visibility=["read"]) - """The default capacity.""" - scale_type: Optional[Union[str, "_models.ResourceSkuCapacityScaleType"]] = rest_field( - name="scaleType", visibility=["read"] - ) - """The scale type applicable to the sku. Known values are: \"Automatic\", \"Manual\", and - \"None\".""" - - -class ResourceSkuCosts(_Model): - """Describes metadata for retrieving price info. - - :ivar meter_id: Used for querying price from commerce. - :vartype meter_id: str - :ivar quantity: The multiplier is needed to extend the base metered cost. - :vartype quantity: int - :ivar extended_unit: An invariant to show the extended unit. - :vartype extended_unit: str - """ - - meter_id: Optional[str] = rest_field(name="meterID", visibility=["read"]) - """Used for querying price from commerce.""" - quantity: Optional[int] = rest_field(visibility=["read"]) - """The multiplier is needed to extend the base metered cost.""" - extended_unit: Optional[str] = rest_field(name="extendedUnit", visibility=["read"]) - """An invariant to show the extended unit.""" - - -class ResourceSkuLocationInfo(_Model): - """Describes an available Compute SKU Location Information. - - :ivar location: Location of the SKU. - :vartype location: str - :ivar zones: List of availability zones where the SKU is supported. - :vartype zones: list[str] - :ivar zone_details: Details of capabilities available to a SKU in specific zones. - :vartype zone_details: list[~azure.mgmt.containerservice.models.ResourceSkuZoneDetails] - :ivar extended_locations: The names of extended locations. - :vartype extended_locations: list[str] - :ivar type: The type of the extended location. "EdgeZone" - :vartype type: str or ~azure.mgmt.containerservice.models.ExtendedLocationTypes - """ - - location: Optional[str] = rest_field(visibility=["read"]) - """Location of the SKU.""" - zones: Optional[list[str]] = rest_field(visibility=["read"]) - """List of availability zones where the SKU is supported.""" - zone_details: Optional[list["_models.ResourceSkuZoneDetails"]] = rest_field(name="zoneDetails", visibility=["read"]) - """Details of capabilities available to a SKU in specific zones.""" - extended_locations: Optional[list[str]] = rest_field(name="extendedLocations", visibility=["read"]) - """The names of extended locations.""" - type: Optional[Union[str, "_models.ExtendedLocationTypes"]] = rest_field(visibility=["read"]) - """The type of the extended location. \"EdgeZone\"""" - - -class ResourceSkuRestrictionInfo(_Model): - """Describes an available Compute SKU Restriction Information. - - :ivar locations: Locations where the SKU is restricted. - :vartype locations: list[str] - :ivar zones: List of availability zones where the SKU is restricted. - :vartype zones: list[str] - """ - - locations: Optional[list[str]] = rest_field(visibility=["read"]) - """Locations where the SKU is restricted.""" - zones: Optional[list[str]] = rest_field(visibility=["read"]) - """List of availability zones where the SKU is restricted.""" - - -class ResourceSkuRestrictions(_Model): - """Describes scaling information of a SKU. - - :ivar type: The type of restrictions. Known values are: "Location" and "Zone". - :vartype type: str or ~azure.mgmt.containerservice.models.ResourceSkuRestrictionsType - :ivar values_property: The value of restrictions. If the restriction type is set to location. - This would be different locations where the SKU is restricted. - :vartype values_property: list[str] - :ivar restriction_info: The information about the restriction where the SKU cannot be used. - :vartype restriction_info: ~azure.mgmt.containerservice.models.ResourceSkuRestrictionInfo - :ivar reason_code: The reason for restriction. Known values are: "QuotaId" and - "NotAvailableForSubscription". - :vartype reason_code: str or - ~azure.mgmt.containerservice.models.ResourceSkuRestrictionsReasonCode - """ - - type: Optional[Union[str, "_models.ResourceSkuRestrictionsType"]] = rest_field(visibility=["read"]) - """The type of restrictions. Known values are: \"Location\" and \"Zone\".""" - values_property: Optional[list[str]] = rest_field(name="values", visibility=["read"], original_tsp_name="values") - """The value of restrictions. If the restriction type is set to location. This would be different - locations where the SKU is restricted.""" - restriction_info: Optional["_models.ResourceSkuRestrictionInfo"] = rest_field( - name="restrictionInfo", visibility=["read"] - ) - """The information about the restriction where the SKU cannot be used.""" - reason_code: Optional[Union[str, "_models.ResourceSkuRestrictionsReasonCode"]] = rest_field( - name="reasonCode", visibility=["read"] - ) - """The reason for restriction. Known values are: \"QuotaId\" and \"NotAvailableForSubscription\".""" - - -class ResourceSkuZoneDetails(_Model): - """Describes The zonal capabilities of a SKU. - - :ivar name: The set of zones that the SKU is available in with the specified capabilities. - :vartype name: list[str] - :ivar capabilities: A list of capabilities that are available for the SKU in the specified list - of zones. - :vartype capabilities: list[~azure.mgmt.containerservice.models.ResourceSkuCapabilities] - """ - - name: Optional[list[str]] = rest_field(visibility=["read"]) - """The set of zones that the SKU is available in with the specified capabilities.""" - capabilities: Optional[list["_models.ResourceSkuCapabilities"]] = rest_field(visibility=["read"]) - """A list of capabilities that are available for the SKU in the specified list of zones.""" - - -class RunCommandRequest(_Model): +class RunCommandRequest(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """A run command request. :ivar command: The command to run. Required. @@ -13668,7 +9552,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class RunCommandResult(_Model): +class RunCommandResult(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """run command result. :ivar id: The command id. @@ -13722,64 +9606,7 @@ def __setattr__(self, key: str, value: Any) -> None: super().__setattr__(key, value) -class SafeguardsAvailableVersion(ProxyResource): - """Available Safeguards Version. - - :ivar id: Fully qualified resource ID for the resource. Ex - - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - :vartype id: str - :ivar name: The name of the resource. - :vartype name: str - :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or - "Microsoft.Storage/storageAccounts". - :vartype type: str - :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy - information. - :vartype system_data: ~azure.mgmt.containerservice.models.SystemData - :ivar properties: Whether the version is default or not and support info. Required. - :vartype properties: ~azure.mgmt.containerservice.models.SafeguardsAvailableVersionsProperties - """ - - properties: "_models.SafeguardsAvailableVersionsProperties" = rest_field( - visibility=["read", "create", "update", "delete", "query"] - ) - """Whether the version is default or not and support info. Required.""" - - @overload - def __init__( - self, - *, - properties: "_models.SafeguardsAvailableVersionsProperties", - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: - """ - :param mapping: raw JSON to initialize the model. - :type mapping: Mapping[str, Any] - """ - - def __init__(self, *args: Any, **kwargs: Any) -> None: - super().__init__(*args, **kwargs) - - -class SafeguardsAvailableVersionsProperties(_Model): - """Whether the version is default or not and support info. - - :ivar is_default_version: Whether this is the default version. - :vartype is_default_version: bool - :ivar support: Whether the version is preview or stable. Known values are: "Preview" and - "Stable". - :vartype support: str or ~azure.mgmt.containerservice.models.SafeguardsSupport - """ - - is_default_version: Optional[bool] = rest_field(name="isDefaultVersion", visibility=["read"]) - """Whether this is the default version.""" - support: Optional[Union[str, "_models.SafeguardsSupport"]] = rest_field(visibility=["read"]) - """Whether the version is preview or stable. Known values are: \"Preview\" and \"Stable\".""" - - -class ScaleProfile(_Model): +class ScaleProfile(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Specifications on how to scale a VirtualMachines agent pool. :ivar manual: Specifications on how to scale the VirtualMachines agent pool to a fixed size. @@ -13822,7 +9649,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class Schedule(_Model): +class Schedule(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """One and only one of the schedule types should be specified. Choose either 'daily', 'weekly', 'absoluteMonthly' or 'relativeMonthly' for your maintenance schedule. @@ -13873,7 +9700,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class SchedulerInstanceProfile(_Model): +class SchedulerInstanceProfile(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Profile with settings related to a specific instance of an AKS-managed scheduler. :ivar scheduler_config_mode: The configuration mode to be used by the AKS-managed scheduler. @@ -13905,7 +9732,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class SchedulerProfile(_Model): +class SchedulerProfile(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Profile with scheduler-related settings, like the configuration mode for each scheduler managed by AKS. See `https://aka.ms/aks/scheduler-profile `_. @@ -13940,58 +9767,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class ServiceAccountImagePullProfile(_Model): - """Profile for configuring image pull authentication to use service account scoped managed - identities for authentication instead of node scoped managed identity (kubelet identity) for - authentication to Azure Container Registry. For more information, refer to - `https://aka.ms/aks/identity-binding/acr-image-pull/docs - `_. - - :ivar enabled: Indicates whether service account based image pull is enabled, for which - identity bindings are required for the managed identity to be used for authentication. For more - information, refer to `https://aka.ms/aks/identity-binding-docs - `_. - :vartype enabled: bool - :ivar default_managed_identity_id: Optional. The default managed identity resource ID used for - image pulls at the cluster level. When configured, this identity is used if a Pod’s service - account does not explicitly specify an identity for pulling images. If not configured and no - identity is specified at service account level, image will be pulled via anonymous - authentication. - :vartype default_managed_identity_id: str - """ - - enabled: Optional[bool] = rest_field(visibility=["read", "create", "update", "delete", "query"]) - """Indicates whether service account based image pull is enabled, for which identity bindings are - required for the managed identity to be used for authentication. For more information, refer to - `https://aka.ms/aks/identity-binding-docs `_.""" - default_managed_identity_id: Optional[str] = rest_field( - name="defaultManagedIdentityId", visibility=["read", "create", "update", "delete", "query"] - ) - """Optional. The default managed identity resource ID used for image pulls at the cluster level. - When configured, this identity is used if a Pod’s service account does not explicitly specify - an identity for pulling images. If not configured and no identity is specified at service - account level, image will be pulled via anonymous authentication.""" - - @overload - def __init__( - self, - *, - enabled: Optional[bool] = None, - default_managed_identity_id: Optional[str] = None, - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: - """ - :param mapping: raw JSON to initialize the model. - :type mapping: Mapping[str, Any] - """ - - def __init__(self, *args: Any, **kwargs: Any) -> None: - super().__init__(*args, **kwargs) - - -class ServiceMeshProfile(_Model): +class ServiceMeshProfile(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Service mesh profile for a managed cluster. :ivar mode: Mode of the service mesh. Required. Known values are: "Istio" and "Disabled". @@ -14024,7 +9800,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class Snapshot(TrackedResource): +class Snapshot(TrackedResource): # pylint: disable=docstring-keyword-should-match-keyword-only """A node pool snapshot resource. :ivar id: Fully qualified resource ID for the resource. Ex - @@ -14100,14 +9876,13 @@ def __setattr__(self, key: str, value: Any) -> None: super().__setattr__(key, value) -class SnapshotProperties(_Model): +class SnapshotProperties(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Properties used to configure a node pool snapshot. :ivar creation_data: CreationData to be used to specify the source agent pool resource ID to create this snapshot. :vartype creation_data: ~azure.mgmt.containerservice.models.CreationData - :ivar snapshot_type: The type of a snapshot. The default is NodePool. Known values are: - "NodePool" and "ManagedCluster". + :ivar snapshot_type: The type of a snapshot. The default is NodePool. "NodePool" :vartype snapshot_type: str or ~azure.mgmt.containerservice.models.SnapshotType :ivar kubernetes_version: The version of Kubernetes. :vartype kubernetes_version: str @@ -14118,9 +9893,9 @@ class SnapshotProperties(_Model): :vartype os_type: str or ~azure.mgmt.containerservice.models.OSType :ivar os_sku: 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. Known values are: "Ubuntu", "AzureLinux", "AzureLinux3", "Mariner", - "Flatcar", "CBLMariner", "Windows2019", "Windows2022", "Ubuntu2204", "Windows2025", - "WindowsAnnual", "Ubuntu2404", and "AzureContainerLinux". + 1.25 if OSType is Windows. Known values are: "Ubuntu", "AzureLinux", "AzureLinux3", + "CBLMariner", "Windows2019", "Windows2022", "Ubuntu2204", "Windows2025", "Ubuntu2404", and + "AzureContainerLinux". :vartype os_sku: str or ~azure.mgmt.containerservice.models.OSSKU :ivar vm_size: The size of the VM. :vartype vm_size: str @@ -14135,8 +9910,7 @@ class SnapshotProperties(_Model): snapshot_type: Optional[Union[str, "_models.SnapshotType"]] = rest_field( name="snapshotType", visibility=["read", "create", "update", "delete", "query"] ) - """The type of a snapshot. The default is NodePool. Known values are: \"NodePool\" and - \"ManagedCluster\".""" + """The type of a snapshot. The default is NodePool. \"NodePool\"""" kubernetes_version: Optional[str] = rest_field(name="kubernetesVersion", visibility=["read"]) """The version of Kubernetes.""" node_image_version: Optional[str] = rest_field(name="nodeImageVersion", visibility=["read"]) @@ -14146,9 +9920,9 @@ class SnapshotProperties(_Model): os_sku: Optional[Union[str, "_models.OSSKU"]] = rest_field(name="osSku", visibility=["read"]) """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. Known values are: \"Ubuntu\", \"AzureLinux\", \"AzureLinux3\", \"Mariner\", - \"Flatcar\", \"CBLMariner\", \"Windows2019\", \"Windows2022\", \"Ubuntu2204\", \"Windows2025\", - \"WindowsAnnual\", \"Ubuntu2404\", and \"AzureContainerLinux\".""" + is Windows. Known values are: \"Ubuntu\", \"AzureLinux\", \"AzureLinux3\", \"CBLMariner\", + \"Windows2019\", \"Windows2022\", \"Ubuntu2204\", \"Windows2025\", \"Ubuntu2404\", and + \"AzureContainerLinux\".""" vm_size: Optional[str] = rest_field(name="vmSize", visibility=["read"]) """The size of the VM.""" enable_fips: Optional[bool] = rest_field(name="enableFIPS", visibility=["read"]) @@ -14173,7 +9947,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class SysctlConfig(_Model): +class SysctlConfig(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Sysctl settings for Linux agent nodes. :ivar net_core_somaxconn: Sysctl setting net.core.somaxconn. @@ -14390,7 +10164,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class SystemData(_Model): +class SystemData(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Metadata pertaining to creation and last modification of the resource. :ivar created_by: The identity that created the resource. @@ -14457,7 +10231,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class TagsObject(_Model): +class TagsObject(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Tags object for patch operations. :ivar tags: Resource tags. @@ -14485,7 +10259,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class TimeInWeek(_Model): +class TimeInWeek(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Time in a week. :ivar day: The day of the week. Known values are: "Sunday", "Monday", "Tuesday", "Wednesday", @@ -14530,7 +10304,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class TimeSpan(_Model): +class TimeSpan(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """A time range. For example, between 2021-05-25T13:00:00Z and 2021-05-25T14:00:00Z. :ivar start: The start of a time span. @@ -14589,7 +10363,7 @@ class TrustedAccessRole(_Model): `_.""" -class TrustedAccessRoleBinding(ProxyResource): +class TrustedAccessRoleBinding(ProxyResource): # pylint: disable=docstring-keyword-should-match-keyword-only """Defines binding between a resource and role. :ivar id: Fully qualified resource ID for the resource. Ex - @@ -14650,7 +10424,7 @@ def __setattr__(self, key: str, value: Any) -> None: super().__setattr__(key, value) -class TrustedAccessRoleBindingProperties(_Model): +class TrustedAccessRoleBindingProperties(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Properties for trusted access role binding. :ivar provisioning_state: The current provisioning state of trusted access role binding. Known @@ -14724,7 +10498,7 @@ class TrustedAccessRoleRule(_Model): """List of allowed nonResourceURLs.""" -class UpgradeOverrideSettings(_Model): +class UpgradeOverrideSettings(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Settings for overrides when upgrading a cluster. :ivar force_upgrade: Whether to force upgrade the cluster. Note that this option instructs @@ -14771,7 +10545,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class VirtualMachineNodes(_Model): +class VirtualMachineNodes(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Current status on a group of nodes of the same vm size. :ivar size: The VM size of the agents used to host this group of nodes. @@ -14804,7 +10578,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class VirtualMachinesProfile(_Model): +class VirtualMachinesProfile(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Specifications on VirtualMachines agent pool. :ivar scale: Specifications on how to scale a VirtualMachines agent pool. @@ -14832,7 +10606,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class WeeklySchedule(_Model): +class WeeklySchedule(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """For schedules like: 'recur every Monday' or 'recur every 3 weeks on Wednesday'. :ivar interval_weeks: Specifies the number of weeks between each set of occurrences. Required. @@ -14869,7 +10643,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class WindowsGmsaProfile(_Model): +class WindowsGmsaProfile(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Windows gMSA Profile in the managed cluster. :ivar enabled: Whether to enable Windows gMSA. Specifies whether to enable Windows gMSA in the diff --git a/sdk/containerservice/azure-mgmt-containerservice/azure/mgmt/containerservice/operations/__init__.py b/sdk/containerservice/azure-mgmt-containerservice/azure/mgmt/containerservice/operations/__init__.py index a484f1c8d559..69da5e12a363 100644 --- a/sdk/containerservice/azure-mgmt-containerservice/azure/mgmt/containerservice/operations/__init__.py +++ b/sdk/containerservice/azure-mgmt-containerservice/azure/mgmt/containerservice/operations/__init__.py @@ -15,25 +15,16 @@ from ._operations import AgentPoolsOperations # type: ignore from ._operations import ManagedClustersOperations # type: ignore from ._operations import MaintenanceConfigurationsOperations # type: ignore -from ._operations import MaintenanceWindowsOperations # type: ignore from ._operations import ManagedNamespacesOperations # type: ignore from ._operations import MachinesOperations # type: ignore from ._operations import PrivateEndpointConnectionsOperations # type: ignore from ._operations import SnapshotsOperations # type: ignore -from ._operations import ManagedClusterSnapshotsOperations # type: ignore from ._operations import TrustedAccessRoleBindingsOperations # type: ignore -from ._operations import LoadBalancersOperations # type: ignore from ._operations import IdentityBindingsOperations # type: ignore -from ._operations import JWTAuthenticatorsOperations # type: ignore -from ._operations import MeshMembershipsOperations # type: ignore from ._operations import Operations # type: ignore -from ._operations import AlertConfigurationsOperations # type: ignore -from ._operations import OperationStatusResultOperations # type: ignore from ._operations import PrivateLinkResourcesOperations # type: ignore from ._operations import ResolvePrivateLinkServiceIdOperations # type: ignore from ._operations import TrustedAccessRolesOperations # type: ignore -from ._operations import ContainerServiceOperations # type: ignore -from ._operations import VmSkusOperations # type: ignore from ._patch import __all__ as _patch_all from ._patch import * @@ -43,25 +34,16 @@ "AgentPoolsOperations", "ManagedClustersOperations", "MaintenanceConfigurationsOperations", - "MaintenanceWindowsOperations", "ManagedNamespacesOperations", "MachinesOperations", "PrivateEndpointConnectionsOperations", "SnapshotsOperations", - "ManagedClusterSnapshotsOperations", "TrustedAccessRoleBindingsOperations", - "LoadBalancersOperations", "IdentityBindingsOperations", - "JWTAuthenticatorsOperations", - "MeshMembershipsOperations", "Operations", - "AlertConfigurationsOperations", - "OperationStatusResultOperations", "PrivateLinkResourcesOperations", "ResolvePrivateLinkServiceIdOperations", "TrustedAccessRolesOperations", - "ContainerServiceOperations", - "VmSkusOperations", ] __all__.extend([p for p in _patch_all if p not in __all__]) # pyright: ignore _patch_sdk() diff --git a/sdk/containerservice/azure-mgmt-containerservice/azure/mgmt/containerservice/operations/_operations.py b/sdk/containerservice/azure-mgmt-containerservice/azure/mgmt/containerservice/operations/_operations.py index 2c3401ed70c6..e01526c0710b 100644 --- a/sdk/containerservice/azure-mgmt-containerservice/azure/mgmt/containerservice/operations/_operations.py +++ b/sdk/containerservice/azure-mgmt-containerservice/azure/mgmt/containerservice/operations/_operations.py @@ -54,7 +54,7 @@ def build_agent_pools_get_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-02-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -91,7 +91,7 @@ def build_agent_pools_create_or_update_request( # pylint: disable=name-too-long _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-02-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -136,7 +136,7 @@ def build_agent_pools_delete_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-02-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-01")) # Construct URL _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}" path_format_arguments = { @@ -172,7 +172,7 @@ def build_agent_pools_list_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-02-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -199,7 +199,7 @@ def build_agent_pools_abort_latest_operation_request( # pylint: disable=name-to ) -> HttpRequest: _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-02-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-01")) # Construct URL _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}/abort" path_format_arguments = { @@ -217,29 +217,6 @@ def build_agent_pools_abort_latest_operation_request( # pylint: disable=name-to return HttpRequest(method="POST", url=_url, params=_params, **kwargs) -def build_agent_pools_complete_upgrade_request( # pylint: disable=name-too-long - resource_group_name: str, resource_name: str, agent_pool_name: str, subscription_id: str, **kwargs: Any -) -> HttpRequest: - _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-02-preview")) - # Construct URL - _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}/completeUpgrade" - path_format_arguments = { - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), - "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - "resourceName": _SERIALIZER.url("resource_name", resource_name, "str"), - "agentPoolName": _SERIALIZER.url("agent_pool_name", agent_pool_name, "str"), - } - - _url: str = _url.format(**path_format_arguments) # type: ignore - - # Construct parameters - _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") - - return HttpRequest(method="POST", url=_url, params=_params, **kwargs) - - def build_agent_pools_delete_machines_request( # pylint: disable=name-too-long resource_group_name: str, resource_name: str, agent_pool_name: str, subscription_id: str, **kwargs: Any ) -> HttpRequest: @@ -247,7 +224,7 @@ def build_agent_pools_delete_machines_request( # pylint: disable=name-too-long _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-02-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-01")) # Construct URL _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}/deleteMachines" path_format_arguments = { @@ -275,7 +252,7 @@ def build_agent_pools_upgrade_node_image_version_request( # pylint: disable=nam _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-02-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -298,45 +275,13 @@ def build_agent_pools_upgrade_node_image_version_request( # pylint: disable=nam return HttpRequest(method="POST", url=_url, params=_params, headers=_headers, **kwargs) -def build_agent_pools_list_bootstrap_data_request( # pylint: disable=name-too-long - resource_group_name: str, resource_name: str, agent_pool_name: str, subscription_id: str, **kwargs: Any -) -> HttpRequest: - _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - - content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-02-preview")) - accept = _headers.pop("Accept", "application/json") - - # Construct URL - _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}/listBootstrapData" - path_format_arguments = { - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), - "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - "resourceName": _SERIALIZER.url("resource_name", resource_name, "str"), - "agentPoolName": _SERIALIZER.url("agent_pool_name", agent_pool_name, "str"), - } - - _url: str = _url.format(**path_format_arguments) # type: ignore - - # Construct parameters - _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") - - # Construct headers - if content_type is not None: - _headers["Content-Type"] = _SERIALIZER.header("content_type", content_type, "str") - _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - - return HttpRequest(method="POST", url=_url, params=_params, headers=_headers, **kwargs) - - def build_agent_pools_get_available_agent_pool_versions_request( # pylint: disable=name-too-long resource_group_name: str, resource_name: str, subscription_id: str, **kwargs: Any ) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-02-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -364,7 +309,7 @@ def build_agent_pools_get_upgrade_profile_request( # pylint: disable=name-too-l _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-02-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -393,7 +338,7 @@ def build_managed_clusters_get_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-02-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -428,7 +373,7 @@ def build_managed_clusters_create_or_update_request( # pylint: disable=name-too _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-02-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -471,7 +416,7 @@ def build_managed_clusters_update_tags_request( # pylint: disable=name-too-long _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-02-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -506,7 +451,6 @@ def build_managed_clusters_delete_request( resource_name: str, subscription_id: str, *, - ignore_pod_disruption_budget: Optional[bool] = None, etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, **kwargs: Any @@ -514,7 +458,7 @@ def build_managed_clusters_delete_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-02-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-01")) # Construct URL _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}" path_format_arguments = { @@ -527,10 +471,6 @@ def build_managed_clusters_delete_request( # Construct parameters _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") - if ignore_pod_disruption_budget is not None: - _params["ignore-pod-disruption-budget"] = _SERIALIZER.query( - "ignore_pod_disruption_budget", ignore_pod_disruption_budget, "bool" - ) # Construct headers if_match = prep_if_match(etag, match_condition) @@ -549,7 +489,7 @@ def build_managed_clusters_list_by_resource_group_request( # pylint: disable=na _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-02-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -574,7 +514,7 @@ def build_managed_clusters_list_request(subscription_id: str, **kwargs: Any) -> _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-02-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -600,7 +540,7 @@ def build_managed_clusters_get_access_profile_request( # pylint: disable=name-t _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-02-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -634,7 +574,7 @@ def build_managed_clusters_list_cluster_admin_credentials_request( # pylint: di _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-02-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -670,7 +610,7 @@ def build_managed_clusters_list_cluster_user_credentials_request( # pylint: dis _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-02-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -707,7 +647,7 @@ def build_managed_clusters_list_cluster_monitoring_user_credentials_request( # _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-02-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -738,7 +678,7 @@ def build_managed_clusters_reset_service_principal_profile_request( # pylint: d _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-02-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-01")) # Construct URL _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/resetServicePrincipalProfile" path_format_arguments = { @@ -766,7 +706,7 @@ def build_managed_clusters_reset_aad_profile_request( # pylint: disable=name-to _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-02-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-01")) # Construct URL _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/resetAADProfile" path_format_arguments = { @@ -792,7 +732,7 @@ def build_managed_clusters_rotate_cluster_certificates_request( # pylint: disab ) -> HttpRequest: _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-02-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-01")) # Construct URL _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/rotateClusterCertificates" path_format_arguments = { @@ -814,7 +754,7 @@ def build_managed_clusters_abort_latest_operation_request( # pylint: disable=na ) -> HttpRequest: _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-02-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-01")) # Construct URL _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/abort" path_format_arguments = { @@ -836,7 +776,7 @@ def build_managed_clusters_rotate_service_account_signing_keys_request( # pylin ) -> HttpRequest: _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-02-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-01")) # Construct URL _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/rotateServiceAccountSigningKeys" path_format_arguments = { @@ -858,7 +798,7 @@ def build_managed_clusters_stop_request( ) -> HttpRequest: _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-02-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-01")) # Construct URL _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/stop" path_format_arguments = { @@ -880,7 +820,7 @@ def build_managed_clusters_start_request( ) -> HttpRequest: _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-02-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-01")) # Construct URL _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/start" path_format_arguments = { @@ -904,7 +844,7 @@ def build_managed_clusters_run_command_request( # pylint: disable=name-too-long _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-02-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -934,7 +874,7 @@ def build_managed_clusters_get_command_result_request( # pylint: disable=name-t _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-02-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -963,7 +903,7 @@ def build_managed_clusters_list_outbound_network_dependencies_endpoints_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-02-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -985,41 +925,13 @@ def build_managed_clusters_list_outbound_network_dependencies_endpoints_request( return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) -def build_managed_clusters_rebalance_load_balancers_request( # pylint: disable=name-too-long - resource_group_name: str, resource_name: str, subscription_id: str, **kwargs: Any -) -> HttpRequest: - _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - - content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-02-preview")) - # Construct URL - _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/rebalanceLoadBalancers" - path_format_arguments = { - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), - "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - "resourceName": _SERIALIZER.url("resource_name", resource_name, "str"), - } - - _url: str = _url.format(**path_format_arguments) # type: ignore - - # Construct parameters - _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") - - # Construct headers - if content_type is not None: - _headers["Content-Type"] = _SERIALIZER.header("content_type", content_type, "str") - - return HttpRequest(method="POST", url=_url, params=_params, headers=_headers, **kwargs) - - def build_managed_clusters_get_upgrade_profile_request( # pylint: disable=name-too-long resource_group_name: str, resource_name: str, subscription_id: str, **kwargs: Any ) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-02-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -1041,127 +953,13 @@ def build_managed_clusters_get_upgrade_profile_request( # pylint: disable=name- return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) -def build_managed_clusters_get_guardrails_versions_request( # pylint: disable=name-too-long - location: str, version: str, subscription_id: str, **kwargs: Any -) -> HttpRequest: - _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-02-preview")) - accept = _headers.pop("Accept", "application/json") - - # Construct URL - _url = "/subscriptions/{subscriptionId}/providers/Microsoft.ContainerService/locations/{location}/guardrailsVersions/{version}" - path_format_arguments = { - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), - "location": _SERIALIZER.url("location", location, "str"), - "version": _SERIALIZER.url("version", version, "str"), - } - - _url: str = _url.format(**path_format_arguments) # type: ignore - - # Construct parameters - _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") - - # Construct headers - _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - - return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) - - -def build_managed_clusters_list_guardrails_versions_request( # pylint: disable=name-too-long - location: str, subscription_id: str, **kwargs: Any -) -> HttpRequest: - _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-02-preview")) - accept = _headers.pop("Accept", "application/json") - - # Construct URL - _url = ( - "/subscriptions/{subscriptionId}/providers/Microsoft.ContainerService/locations/{location}/guardrailsVersions" - ) - path_format_arguments = { - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), - "location": _SERIALIZER.url("location", location, "str"), - } - - _url: str = _url.format(**path_format_arguments) # type: ignore - - # Construct parameters - _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") - - # Construct headers - _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - - return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) - - -def build_managed_clusters_get_safeguards_versions_request( # pylint: disable=name-too-long - location: str, version: str, subscription_id: str, **kwargs: Any -) -> HttpRequest: - _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-02-preview")) - accept = _headers.pop("Accept", "application/json") - - # Construct URL - _url = "/subscriptions/{subscriptionId}/providers/Microsoft.ContainerService/locations/{location}/safeguardsVersions/{version}" - path_format_arguments = { - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), - "location": _SERIALIZER.url("location", location, "str"), - "version": _SERIALIZER.url("version", version, "str"), - } - - _url: str = _url.format(**path_format_arguments) # type: ignore - - # Construct parameters - _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") - - # Construct headers - _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - - return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) - - -def build_managed_clusters_list_safeguards_versions_request( # pylint: disable=name-too-long - location: str, subscription_id: str, **kwargs: Any -) -> HttpRequest: - _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-02-preview")) - accept = _headers.pop("Accept", "application/json") - - # Construct URL - _url = ( - "/subscriptions/{subscriptionId}/providers/Microsoft.ContainerService/locations/{location}/safeguardsVersions" - ) - path_format_arguments = { - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), - "location": _SERIALIZER.url("location", location, "str"), - } - - _url: str = _url.format(**path_format_arguments) # type: ignore - - # Construct parameters - _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") - - # Construct headers - _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - - return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) - - def build_managed_clusters_get_mesh_revision_profile_request( # pylint: disable=name-too-long location: str, mode: str, subscription_id: str, **kwargs: Any ) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-02-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -1189,7 +987,7 @@ def build_managed_clusters_list_mesh_revision_profiles_request( # pylint: disab _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-02-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -1218,7 +1016,7 @@ def build_managed_clusters_get_mesh_upgrade_profile_request( # pylint: disable= _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-02-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -1247,7 +1045,7 @@ def build_managed_clusters_list_mesh_upgrade_profiles_request( # pylint: disabl _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-02-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -1275,7 +1073,7 @@ def build_managed_clusters_list_kubernetes_versions_request( # pylint: disable= _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-02-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -1304,7 +1102,7 @@ def build_maintenance_configurations_get_request( # pylint: disable=name-too-lo _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-02-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -1334,7 +1132,7 @@ def build_maintenance_configurations_create_or_update_request( # pylint: disabl _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-02-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -1364,7 +1162,7 @@ def build_maintenance_configurations_delete_request( # pylint: disable=name-too ) -> HttpRequest: _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-02-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-01")) # Construct URL _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/maintenanceConfigurations/{configName}" path_format_arguments = { @@ -1388,7 +1186,7 @@ def build_maintenance_configurations_list_by_managed_cluster_request( # pylint: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-02-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -1410,21 +1208,22 @@ def build_maintenance_configurations_list_by_managed_cluster_request( # pylint: return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) -def build_maintenance_windows_get_request( - resource_group_name: str, maintenance_window_name: str, subscription_id: str, **kwargs: Any +def build_managed_namespaces_get_request( + resource_group_name: str, resource_name: str, managed_namespace_name: str, subscription_id: str, **kwargs: Any ) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-02-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-01")) accept = _headers.pop("Accept", "application/json") # Construct URL - _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/maintenanceWindows/{maintenanceWindowName}" + _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/managedNamespaces/{managedNamespaceName}" path_format_arguments = { "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - "maintenanceWindowName": _SERIALIZER.url("maintenance_window_name", maintenance_window_name, "str"), + "resourceName": _SERIALIZER.url("resource_name", resource_name, "str"), + "managedNamespaceName": _SERIALIZER.url("managed_namespace_name", managed_namespace_name, "str"), } _url: str = _url.format(**path_format_arguments) # type: ignore @@ -1438,22 +1237,23 @@ def build_maintenance_windows_get_request( return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) -def build_maintenance_windows_create_or_update_request( # pylint: disable=name-too-long - resource_group_name: str, maintenance_window_name: str, subscription_id: str, **kwargs: Any +def build_managed_namespaces_create_or_update_request( # pylint: disable=name-too-long + resource_group_name: str, resource_name: str, managed_namespace_name: str, subscription_id: str, **kwargs: Any ) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-02-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-01")) accept = _headers.pop("Accept", "application/json") # Construct URL - _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/maintenanceWindows/{maintenanceWindowName}" + _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/managedNamespaces/{managedNamespaceName}" path_format_arguments = { "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - "maintenanceWindowName": _SERIALIZER.url("maintenance_window_name", maintenance_window_name, "str"), + "resourceName": _SERIALIZER.url("resource_name", resource_name, "str"), + "managedNamespaceName": _SERIALIZER.url("managed_namespace_name", managed_namespace_name, "str"), } _url: str = _url.format(**path_format_arguments) # type: ignore @@ -1469,22 +1269,23 @@ def build_maintenance_windows_create_or_update_request( # pylint: disable=name- return HttpRequest(method="PUT", url=_url, params=_params, headers=_headers, **kwargs) -def build_maintenance_windows_update_tags_request( # pylint: disable=name-too-long - resource_group_name: str, maintenance_window_name: str, subscription_id: str, **kwargs: Any +def build_managed_namespaces_update_request( + resource_group_name: str, resource_name: str, managed_namespace_name: str, subscription_id: str, **kwargs: Any ) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-02-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-01")) accept = _headers.pop("Accept", "application/json") # Construct URL - _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/maintenanceWindows/{maintenanceWindowName}" + _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/managedNamespaces/{managedNamespaceName}" path_format_arguments = { "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - "maintenanceWindowName": _SERIALIZER.url("maintenance_window_name", maintenance_window_name, "str"), + "resourceName": _SERIALIZER.url("resource_name", resource_name, "str"), + "managedNamespaceName": _SERIALIZER.url("managed_namespace_name", managed_namespace_name, "str"), } _url: str = _url.format(**path_format_arguments) # type: ignore @@ -1500,18 +1301,19 @@ def build_maintenance_windows_update_tags_request( # pylint: disable=name-too-l return HttpRequest(method="PATCH", url=_url, params=_params, headers=_headers, **kwargs) -def build_maintenance_windows_delete_request( - resource_group_name: str, maintenance_window_name: str, subscription_id: str, **kwargs: Any +def build_managed_namespaces_delete_request( + resource_group_name: str, resource_name: str, managed_namespace_name: str, subscription_id: str, **kwargs: Any ) -> HttpRequest: _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-02-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-01")) # Construct URL - _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/maintenanceWindows/{maintenanceWindowName}" + _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/managedNamespaces/{managedNamespaceName}" path_format_arguments = { "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - "maintenanceWindowName": _SERIALIZER.url("maintenance_window_name", maintenance_window_name, "str"), + "resourceName": _SERIALIZER.url("resource_name", resource_name, "str"), + "managedNamespaceName": _SERIALIZER.url("managed_namespace_name", managed_namespace_name, "str"), } _url: str = _url.format(**path_format_arguments) # type: ignore @@ -1522,20 +1324,21 @@ def build_maintenance_windows_delete_request( return HttpRequest(method="DELETE", url=_url, params=_params, **kwargs) -def build_maintenance_windows_list_request( - resource_group_name: str, subscription_id: str, **kwargs: Any +def build_managed_namespaces_list_by_managed_cluster_request( # pylint: disable=name-too-long + resource_group_name: str, resource_name: str, subscription_id: str, **kwargs: Any ) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-02-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-01")) accept = _headers.pop("Accept", "application/json") # Construct URL - _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/maintenanceWindows" + _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/managedNamespaces" path_format_arguments = { "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), + "resourceName": _SERIALIZER.url("resource_name", resource_name, "str"), } _url: str = _url.format(**path_format_arguments) # type: ignore @@ -1549,19 +1352,22 @@ def build_maintenance_windows_list_request( return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) -def build_maintenance_windows_list_by_subscription_request( # pylint: disable=name-too-long - subscription_id: str, **kwargs: Any +def build_managed_namespaces_list_credential_request( # pylint: disable=name-too-long + resource_group_name: str, resource_name: str, managed_namespace_name: str, subscription_id: str, **kwargs: Any ) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-02-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-01")) accept = _headers.pop("Accept", "application/json") # Construct URL - _url = "/subscriptions/{subscriptionId}/providers/Microsoft.ContainerService/maintenanceWindows" + _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/managedNamespaces/{managedNamespaceName}/listCredential" path_format_arguments = { "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), + "resourceName": _SERIALIZER.url("resource_name", resource_name, "str"), + "managedNamespaceName": _SERIALIZER.url("managed_namespace_name", managed_namespace_name, "str"), } _url: str = _url.format(**path_format_arguments) # type: ignore @@ -1572,25 +1378,31 @@ def build_maintenance_windows_list_by_subscription_request( # pylint: disable=n # Construct headers _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) + return HttpRequest(method="POST", url=_url, params=_params, headers=_headers, **kwargs) -def build_managed_namespaces_get_request( - resource_group_name: str, resource_name: str, managed_namespace_name: str, subscription_id: str, **kwargs: Any +def build_machines_get_request( + resource_group_name: str, + resource_name: str, + agent_pool_name: str, + machine_name: str, + subscription_id: str, + **kwargs: Any ) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-02-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-01")) accept = _headers.pop("Accept", "application/json") # Construct URL - _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/managedNamespaces/{managedNamespaceName}" + _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}/machines/{machineName}" path_format_arguments = { "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), "resourceName": _SERIALIZER.url("resource_name", resource_name, "str"), - "managedNamespaceName": _SERIALIZER.url("managed_namespace_name", managed_namespace_name, "str"), + "agentPoolName": _SERIALIZER.url("agent_pool_name", agent_pool_name, "str"), + "machineName": _SERIALIZER.url("machine_name", machine_name, "str"), } _url: str = _url.format(**path_format_arguments) # type: ignore @@ -1604,23 +1416,22 @@ def build_managed_namespaces_get_request( return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) -def build_managed_namespaces_create_or_update_request( # pylint: disable=name-too-long - resource_group_name: str, resource_name: str, managed_namespace_name: str, subscription_id: str, **kwargs: Any +def build_machines_list_request( + resource_group_name: str, resource_name: str, agent_pool_name: str, subscription_id: str, **kwargs: Any ) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-02-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-01")) accept = _headers.pop("Accept", "application/json") # Construct URL - _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/managedNamespaces/{managedNamespaceName}" + _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}/machines" path_format_arguments = { "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), "resourceName": _SERIALIZER.url("resource_name", resource_name, "str"), - "managedNamespaceName": _SERIALIZER.url("managed_namespace_name", managed_namespace_name, "str"), + "agentPoolName": _SERIALIZER.url("agent_pool_name", agent_pool_name, "str"), } _url: str = _url.format(**path_format_arguments) # type: ignore @@ -1629,30 +1440,33 @@ def build_managed_namespaces_create_or_update_request( # pylint: disable=name-t _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") # Construct headers - if content_type is not None: - _headers["Content-Type"] = _SERIALIZER.header("content_type", content_type, "str") _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - return HttpRequest(method="PUT", url=_url, params=_params, headers=_headers, **kwargs) + return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) -def build_managed_namespaces_update_request( - resource_group_name: str, resource_name: str, managed_namespace_name: str, subscription_id: str, **kwargs: Any +def build_private_endpoint_connections_get_request( # pylint: disable=name-too-long + resource_group_name: str, + resource_name: str, + private_endpoint_connection_name: str, + subscription_id: str, + **kwargs: Any ) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-02-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-01")) accept = _headers.pop("Accept", "application/json") # Construct URL - _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/managedNamespaces/{managedNamespaceName}" + _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/privateEndpointConnections/{privateEndpointConnectionName}" path_format_arguments = { "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), "resourceName": _SERIALIZER.url("resource_name", resource_name, "str"), - "managedNamespaceName": _SERIALIZER.url("managed_namespace_name", managed_namespace_name, "str"), + "privateEndpointConnectionName": _SERIALIZER.url( + "private_endpoint_connection_name", private_endpoint_connection_name, "str" + ), } _url: str = _url.format(**path_format_arguments) # type: ignore @@ -1661,26 +1475,68 @@ def build_managed_namespaces_update_request( _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") # Construct headers - if content_type is not None: - _headers["Content-Type"] = _SERIALIZER.header("content_type", content_type, "str") _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - return HttpRequest(method="PATCH", url=_url, params=_params, headers=_headers, **kwargs) + return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) -def build_managed_namespaces_delete_request( - resource_group_name: str, resource_name: str, managed_namespace_name: str, subscription_id: str, **kwargs: Any +def build_private_endpoint_connections_update_request( # pylint: disable=name-too-long + resource_group_name: str, + resource_name: str, + private_endpoint_connection_name: str, + subscription_id: str, + **kwargs: Any ) -> HttpRequest: + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-02-preview")) + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-01")) + accept = _headers.pop("Accept", "application/json") + # Construct URL - _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/managedNamespaces/{managedNamespaceName}" + _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/privateEndpointConnections/{privateEndpointConnectionName}" path_format_arguments = { "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), "resourceName": _SERIALIZER.url("resource_name", resource_name, "str"), - "managedNamespaceName": _SERIALIZER.url("managed_namespace_name", managed_namespace_name, "str"), + "privateEndpointConnectionName": _SERIALIZER.url( + "private_endpoint_connection_name", private_endpoint_connection_name, "str" + ), + } + + _url: str = _url.format(**path_format_arguments) # type: ignore + + # Construct parameters + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") + + # Construct headers + if content_type is not None: + _headers["Content-Type"] = _SERIALIZER.header("content_type", content_type, "str") + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") + + return HttpRequest(method="PUT", url=_url, params=_params, headers=_headers, **kwargs) + + +def build_private_endpoint_connections_delete_request( # pylint: disable=name-too-long + resource_group_name: str, + resource_name: str, + private_endpoint_connection_name: str, + subscription_id: str, + **kwargs: Any +) -> HttpRequest: + _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) + + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-01")) + # Construct URL + _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/privateEndpointConnections/{privateEndpointConnectionName}" + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), + "resourceName": _SERIALIZER.url("resource_name", resource_name, "str"), + "privateEndpointConnectionName": _SERIALIZER.url( + "private_endpoint_connection_name", private_endpoint_connection_name, "str" + ), } _url: str = _url.format(**path_format_arguments) # type: ignore @@ -1691,17 +1547,17 @@ def build_managed_namespaces_delete_request( return HttpRequest(method="DELETE", url=_url, params=_params, **kwargs) -def build_managed_namespaces_list_by_managed_cluster_request( # pylint: disable=name-too-long +def build_private_endpoint_connections_list_request( # pylint: disable=name-too-long resource_group_name: str, resource_name: str, subscription_id: str, **kwargs: Any ) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-02-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-01")) accept = _headers.pop("Accept", "application/json") # Construct URL - _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/managedNamespaces" + _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/privateEndpointConnections" path_format_arguments = { "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), @@ -1719,22 +1575,21 @@ def build_managed_namespaces_list_by_managed_cluster_request( # pylint: disable return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) -def build_managed_namespaces_list_credential_request( # pylint: disable=name-too-long - resource_group_name: str, resource_name: str, managed_namespace_name: str, subscription_id: str, **kwargs: Any +def build_snapshots_get_request( + resource_group_name: str, resource_name: str, subscription_id: str, **kwargs: Any ) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-02-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-01")) accept = _headers.pop("Accept", "application/json") # Construct URL - _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/managedNamespaces/{managedNamespaceName}/listCredential" + _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/snapshots/{resourceName}" path_format_arguments = { "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), "resourceName": _SERIALIZER.url("resource_name", resource_name, "str"), - "managedNamespaceName": _SERIALIZER.url("managed_namespace_name", managed_namespace_name, "str"), } _url: str = _url.format(**path_format_arguments) # type: ignore @@ -1745,31 +1600,25 @@ def build_managed_namespaces_list_credential_request( # pylint: disable=name-to # Construct headers _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - return HttpRequest(method="POST", url=_url, params=_params, headers=_headers, **kwargs) + return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) -def build_machines_get_request( - resource_group_name: str, - resource_name: str, - agent_pool_name: str, - machine_name: str, - subscription_id: str, - **kwargs: Any +def build_snapshots_create_or_update_request( + resource_group_name: str, resource_name: str, subscription_id: str, **kwargs: Any ) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-02-preview")) + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-01")) accept = _headers.pop("Accept", "application/json") # Construct URL - _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}/machines/{machineName}" + _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/snapshots/{resourceName}" path_format_arguments = { "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), "resourceName": _SERIALIZER.url("resource_name", resource_name, "str"), - "agentPoolName": _SERIALIZER.url("agent_pool_name", agent_pool_name, "str"), - "machineName": _SERIALIZER.url("machine_name", machine_name, "str"), } _url: str = _url.format(**path_format_arguments) # type: ignore @@ -1778,37 +1627,29 @@ def build_machines_get_request( _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") # Construct headers + if content_type is not None: + _headers["Content-Type"] = _SERIALIZER.header("content_type", content_type, "str") _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) + return HttpRequest(method="PUT", url=_url, params=_params, headers=_headers, **kwargs) -def build_machines_create_or_update_request( - resource_group_name: str, - resource_name: str, - agent_pool_name: str, - machine_name: str, - subscription_id: str, - *, - etag: Optional[str] = None, - match_condition: Optional[MatchConditions] = None, - **kwargs: Any +def build_snapshots_update_tags_request( + resource_group_name: str, resource_name: str, subscription_id: str, **kwargs: Any ) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-02-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-01")) accept = _headers.pop("Accept", "application/json") # Construct URL - _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}/machines/{machineName}" + _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/snapshots/{resourceName}" path_format_arguments = { "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), "resourceName": _SERIALIZER.url("resource_name", resource_name, "str"), - "agentPoolName": _SERIALIZER.url("agent_pool_name", agent_pool_name, "str"), - "machineName": _SERIALIZER.url("machine_name", machine_name, "str"), } _url: str = _url.format(**path_format_arguments) # type: ignore @@ -1820,32 +1661,46 @@ def build_machines_create_or_update_request( if content_type is not None: _headers["Content-Type"] = _SERIALIZER.header("content_type", content_type, "str") _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - if_match = prep_if_match(etag, match_condition) - if if_match is not None: - _headers["if-match"] = _SERIALIZER.header("if_match", if_match, "str") - if_none_match = prep_if_none_match(etag, match_condition) - if if_none_match is not None: - _headers["if-none-match"] = _SERIALIZER.header("if_none_match", if_none_match, "str") - return HttpRequest(method="PUT", url=_url, params=_params, headers=_headers, **kwargs) + return HttpRequest(method="PATCH", url=_url, params=_params, headers=_headers, **kwargs) -def build_machines_list_request( - resource_group_name: str, resource_name: str, agent_pool_name: str, subscription_id: str, **kwargs: Any +def build_snapshots_delete_request( + resource_group_name: str, resource_name: str, subscription_id: str, **kwargs: Any +) -> HttpRequest: + _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) + + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-01")) + # Construct URL + _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/snapshots/{resourceName}" + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), + "resourceName": _SERIALIZER.url("resource_name", resource_name, "str"), + } + + _url: str = _url.format(**path_format_arguments) # type: ignore + + # Construct parameters + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") + + return HttpRequest(method="DELETE", url=_url, params=_params, **kwargs) + + +def build_snapshots_list_by_resource_group_request( # pylint: disable=name-too-long + resource_group_name: str, subscription_id: str, **kwargs: Any ) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-02-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-01")) accept = _headers.pop("Accept", "application/json") # Construct URL - _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}/machines" + _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/snapshots" path_format_arguments = { "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - "resourceName": _SERIALIZER.url("resource_name", resource_name, "str"), - "agentPoolName": _SERIALIZER.url("agent_pool_name", agent_pool_name, "str"), } _url: str = _url.format(**path_format_arguments) # type: ignore @@ -1859,28 +1714,17 @@ def build_machines_list_request( return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) -def build_private_endpoint_connections_get_request( # pylint: disable=name-too-long - resource_group_name: str, - resource_name: str, - private_endpoint_connection_name: str, - subscription_id: str, - **kwargs: Any -) -> HttpRequest: +def build_snapshots_list_request(subscription_id: str, **kwargs: Any) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-02-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-01")) accept = _headers.pop("Accept", "application/json") # Construct URL - _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/privateEndpointConnections/{privateEndpointConnectionName}" + _url = "/subscriptions/{subscriptionId}/providers/Microsoft.ContainerService/snapshots" path_format_arguments = { "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), - "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - "resourceName": _SERIALIZER.url("resource_name", resource_name, "str"), - "privateEndpointConnectionName": _SERIALIZER.url( - "private_endpoint_connection_name", private_endpoint_connection_name, "str" - ), } _url: str = _url.format(**path_format_arguments) # type: ignore @@ -1894,28 +1738,27 @@ def build_private_endpoint_connections_get_request( # pylint: disable=name-too- return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) -def build_private_endpoint_connections_update_request( # pylint: disable=name-too-long +def build_trusted_access_role_bindings_get_request( # pylint: disable=name-too-long resource_group_name: str, resource_name: str, - private_endpoint_connection_name: str, + trusted_access_role_binding_name: str, subscription_id: str, **kwargs: Any ) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-02-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-01")) accept = _headers.pop("Accept", "application/json") # Construct URL - _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/privateEndpointConnections/{privateEndpointConnectionName}" + _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/trustedAccessRoleBindings/{trustedAccessRoleBindingName}" path_format_arguments = { "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), "resourceName": _SERIALIZER.url("resource_name", resource_name, "str"), - "privateEndpointConnectionName": _SERIALIZER.url( - "private_endpoint_connection_name", private_endpoint_connection_name, "str" + "trustedAccessRoleBindingName": _SERIALIZER.url( + "trusted_access_role_binding_name", trusted_access_role_binding_name, "str" ), } @@ -1925,31 +1768,33 @@ def build_private_endpoint_connections_update_request( # pylint: disable=name-t _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") # Construct headers - if content_type is not None: - _headers["Content-Type"] = _SERIALIZER.header("content_type", content_type, "str") _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - return HttpRequest(method="PUT", url=_url, params=_params, headers=_headers, **kwargs) + return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) -def build_private_endpoint_connections_delete_request( # pylint: disable=name-too-long +def build_trusted_access_role_bindings_create_or_update_request( # pylint: disable=name-too-long resource_group_name: str, resource_name: str, - private_endpoint_connection_name: str, + trusted_access_role_binding_name: str, subscription_id: str, **kwargs: Any ) -> HttpRequest: + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-02-preview")) + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-01")) + accept = _headers.pop("Accept", "application/json") + # Construct URL - _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/privateEndpointConnections/{privateEndpointConnectionName}" + _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/trustedAccessRoleBindings/{trustedAccessRoleBindingName}" path_format_arguments = { "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), "resourceName": _SERIALIZER.url("resource_name", resource_name, "str"), - "privateEndpointConnectionName": _SERIALIZER.url( - "private_endpoint_connection_name", private_endpoint_connection_name, "str" + "trustedAccessRoleBindingName": _SERIALIZER.url( + "trusted_access_role_binding_name", trusted_access_role_binding_name, "str" ), } @@ -1958,24 +1803,33 @@ def build_private_endpoint_connections_delete_request( # pylint: disable=name-t # Construct parameters _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") - return HttpRequest(method="DELETE", url=_url, params=_params, **kwargs) + # Construct headers + if content_type is not None: + _headers["Content-Type"] = _SERIALIZER.header("content_type", content_type, "str") + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") + + return HttpRequest(method="PUT", url=_url, params=_params, headers=_headers, **kwargs) -def build_private_endpoint_connections_list_request( # pylint: disable=name-too-long - resource_group_name: str, resource_name: str, subscription_id: str, **kwargs: Any +def build_trusted_access_role_bindings_delete_request( # pylint: disable=name-too-long + resource_group_name: str, + resource_name: str, + trusted_access_role_binding_name: str, + subscription_id: str, + **kwargs: Any ) -> HttpRequest: - _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-02-preview")) - accept = _headers.pop("Accept", "application/json") - + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-01")) # Construct URL - _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/privateEndpointConnections" + _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/trustedAccessRoleBindings/{trustedAccessRoleBindingName}" path_format_arguments = { "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), "resourceName": _SERIALIZER.url("resource_name", resource_name, "str"), + "trustedAccessRoleBindingName": _SERIALIZER.url( + "trusted_access_role_binding_name", trusted_access_role_binding_name, "str" + ), } _url: str = _url.format(**path_format_arguments) # type: ignore @@ -1983,23 +1837,20 @@ def build_private_endpoint_connections_list_request( # pylint: disable=name-too # Construct parameters _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") - # Construct headers - _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - - return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) + return HttpRequest(method="DELETE", url=_url, params=_params, **kwargs) -def build_snapshots_get_request( +def build_trusted_access_role_bindings_list_request( # pylint: disable=name-too-long resource_group_name: str, resource_name: str, subscription_id: str, **kwargs: Any ) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-02-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-01")) accept = _headers.pop("Accept", "application/json") # Construct URL - _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/snapshots/{resourceName}" + _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/trustedAccessRoleBindings" path_format_arguments = { "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), @@ -2017,22 +1868,22 @@ def build_snapshots_get_request( return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) -def build_snapshots_create_or_update_request( - resource_group_name: str, resource_name: str, subscription_id: str, **kwargs: Any +def build_identity_bindings_get_request( + resource_group_name: str, resource_name: str, identity_binding_name: str, subscription_id: str, **kwargs: Any ) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-02-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-01")) accept = _headers.pop("Accept", "application/json") # Construct URL - _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/snapshots/{resourceName}" + _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/identityBindings/{identityBindingName}" path_format_arguments = { "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), "resourceName": _SERIALIZER.url("resource_name", resource_name, "str"), + "identityBindingName": _SERIALIZER.url("identity_binding_name", identity_binding_name, "str"), } _url: str = _url.format(**path_format_arguments) # type: ignore @@ -2041,29 +1892,28 @@ def build_snapshots_create_or_update_request( _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") # Construct headers - if content_type is not None: - _headers["Content-Type"] = _SERIALIZER.header("content_type", content_type, "str") _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - return HttpRequest(method="PUT", url=_url, params=_params, headers=_headers, **kwargs) + return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) -def build_snapshots_update_tags_request( - resource_group_name: str, resource_name: str, subscription_id: str, **kwargs: Any +def build_identity_bindings_create_or_update_request( # pylint: disable=name-too-long + resource_group_name: str, resource_name: str, identity_binding_name: str, subscription_id: str, **kwargs: Any ) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-02-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-01")) accept = _headers.pop("Accept", "application/json") # Construct URL - _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/snapshots/{resourceName}" + _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/identityBindings/{identityBindingName}" path_format_arguments = { "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), "resourceName": _SERIALIZER.url("resource_name", resource_name, "str"), + "identityBindingName": _SERIALIZER.url("identity_binding_name", identity_binding_name, "str"), } _url: str = _url.format(**path_format_arguments) # type: ignore @@ -2076,21 +1926,22 @@ def build_snapshots_update_tags_request( _headers["Content-Type"] = _SERIALIZER.header("content_type", content_type, "str") _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - return HttpRequest(method="PATCH", url=_url, params=_params, headers=_headers, **kwargs) + return HttpRequest(method="PUT", url=_url, params=_params, headers=_headers, **kwargs) -def build_snapshots_delete_request( - resource_group_name: str, resource_name: str, subscription_id: str, **kwargs: Any +def build_identity_bindings_delete_request( + resource_group_name: str, resource_name: str, identity_binding_name: str, subscription_id: str, **kwargs: Any ) -> HttpRequest: _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-02-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-01")) # Construct URL - _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/snapshots/{resourceName}" + _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/identityBindings/{identityBindingName}" path_format_arguments = { "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), "resourceName": _SERIALIZER.url("resource_name", resource_name, "str"), + "identityBindingName": _SERIALIZER.url("identity_binding_name", identity_binding_name, "str"), } _url: str = _url.format(**path_format_arguments) # type: ignore @@ -2101,20 +1952,21 @@ def build_snapshots_delete_request( return HttpRequest(method="DELETE", url=_url, params=_params, **kwargs) -def build_snapshots_list_by_resource_group_request( # pylint: disable=name-too-long - resource_group_name: str, subscription_id: str, **kwargs: Any +def build_identity_bindings_list_by_managed_cluster_request( # pylint: disable=name-too-long + resource_group_name: str, resource_name: str, subscription_id: str, **kwargs: Any ) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-02-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-01")) accept = _headers.pop("Accept", "application/json") # Construct URL - _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/snapshots" + _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/identityBindings" path_format_arguments = { "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), + "resourceName": _SERIALIZER.url("resource_name", resource_name, "str"), } _url: str = _url.format(**path_format_arguments) # type: ignore @@ -2128,20 +1980,15 @@ def build_snapshots_list_by_resource_group_request( # pylint: disable=name-too- return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) -def build_snapshots_list_request(subscription_id: str, **kwargs: Any) -> HttpRequest: +def build_operations_list_request(**kwargs: Any) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-02-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-01")) accept = _headers.pop("Accept", "application/json") # Construct URL - _url = "/subscriptions/{subscriptionId}/providers/Microsoft.ContainerService/snapshots" - path_format_arguments = { - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), - } - - _url: str = _url.format(**path_format_arguments) # type: ignore + _url = "/providers/Microsoft.ContainerService/operations" # Construct parameters _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") @@ -2152,17 +1999,17 @@ def build_snapshots_list_request(subscription_id: str, **kwargs: Any) -> HttpReq return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) -def build_managed_cluster_snapshots_get_request( # pylint: disable=name-too-long +def build_private_link_resources_list_request( # pylint: disable=name-too-long resource_group_name: str, resource_name: str, subscription_id: str, **kwargs: Any ) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-02-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-01")) accept = _headers.pop("Accept", "application/json") # Construct URL - _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedclustersnapshots/{resourceName}" + _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/privateLinkResources" path_format_arguments = { "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), @@ -2180,18 +2027,18 @@ def build_managed_cluster_snapshots_get_request( # pylint: disable=name-too-lon return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) -def build_managed_cluster_snapshots_create_or_update_request( # pylint: disable=name-too-long +def build_resolve_private_link_service_id_post_request( # pylint: disable=name-too-long resource_group_name: str, resource_name: str, subscription_id: str, **kwargs: Any ) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-02-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-01")) accept = _headers.pop("Accept", "application/json") # Construct URL - _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedclustersnapshots/{resourceName}" + _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/resolvePrivateLinkServiceId" path_format_arguments = { "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), @@ -2208,25 +2055,23 @@ def build_managed_cluster_snapshots_create_or_update_request( # pylint: disable _headers["Content-Type"] = _SERIALIZER.header("content_type", content_type, "str") _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - return HttpRequest(method="PUT", url=_url, params=_params, headers=_headers, **kwargs) + return HttpRequest(method="POST", url=_url, params=_params, headers=_headers, **kwargs) -def build_managed_cluster_snapshots_update_tags_request( # pylint: disable=name-too-long - resource_group_name: str, resource_name: str, subscription_id: str, **kwargs: Any -) -> HttpRequest: +def build_trusted_access_roles_list_request(location: str, subscription_id: str, **kwargs: Any) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-02-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-01")) accept = _headers.pop("Accept", "application/json") # Construct URL - _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedclustersnapshots/{resourceName}" + _url = ( + "/subscriptions/{subscriptionId}/providers/Microsoft.ContainerService/locations/{location}/trustedAccessRoles" + ) path_format_arguments = { "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), - "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - "resourceName": _SERIALIZER.url("resource_name", resource_name, "str"), + "location": _SERIALIZER.url("location", location, "str"), } _url: str = _url.format(**path_format_arguments) # type: ignore @@ -2235,5797 +2080,358 @@ def build_managed_cluster_snapshots_update_tags_request( # pylint: disable=name _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") # Construct headers - if content_type is not None: - _headers["Content-Type"] = _SERIALIZER.header("content_type", content_type, "str") _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - return HttpRequest(method="PATCH", url=_url, params=_params, headers=_headers, **kwargs) - + return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) -def build_managed_cluster_snapshots_delete_request( # pylint: disable=name-too-long - resource_group_name: str, resource_name: str, subscription_id: str, **kwargs: Any -) -> HttpRequest: - _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-02-preview")) - # Construct URL - _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedclustersnapshots/{resourceName}" - path_format_arguments = { - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), - "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - "resourceName": _SERIALIZER.url("resource_name", resource_name, "str"), - } +class AgentPoolsOperations: # pylint: disable=docstring-missing-param + """ + .. warning:: + **DO NOT** instantiate this class directly. - _url: str = _url.format(**path_format_arguments) # type: ignore + Instead, you should access the following operations through + :class:`~azure.mgmt.containerservice.ContainerServiceClient`'s + :attr:`agent_pools` attribute. + """ - # Construct parameters - _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") + def __init__(self, *args, **kwargs) -> None: + input_args = list(args) + self._client: PipelineClient = input_args.pop(0) if input_args else kwargs.pop("client") + self._config: ContainerServiceClientConfiguration = input_args.pop(0) if input_args else kwargs.pop("config") + self._serialize: Serializer = input_args.pop(0) if input_args else kwargs.pop("serializer") + self._deserialize: Deserializer = input_args.pop(0) if input_args else kwargs.pop("deserializer") - return HttpRequest(method="DELETE", url=_url, params=_params, **kwargs) + @distributed_trace + def get( + self, resource_group_name: str, resource_name: str, agent_pool_name: str, **kwargs: Any + ) -> _models.AgentPool: + """Gets the specified managed cluster agent pool. + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param resource_name: The name of the managed cluster resource. Required. + :type resource_name: str + :param agent_pool_name: The name of the agent pool. Required. + :type agent_pool_name: str + :return: AgentPool. The AgentPool is compatible with MutableMapping + :rtype: ~azure.mgmt.containerservice.models.AgentPool + :raises ~azure.core.exceptions.HttpResponseError: + """ + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) -def build_managed_cluster_snapshots_list_by_resource_group_request( # pylint: disable=name-too-long - resource_group_name: str, subscription_id: str, **kwargs: Any -) -> HttpRequest: - _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) + _headers = kwargs.pop("headers", {}) or {} + _params = kwargs.pop("params", {}) or {} - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-02-preview")) - accept = _headers.pop("Accept", "application/json") + cls: ClsType[_models.AgentPool] = kwargs.pop("cls", None) - # Construct URL - _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedclustersnapshots" - path_format_arguments = { - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), - "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - } + _request = build_agent_pools_get_request( + resource_group_name=resource_group_name, + resource_name=resource_name, + agent_pool_name=agent_pool_name, + subscription_id=self._config.subscription_id, + api_version=self._config.api_version, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) - _url: str = _url.format(**path_format_arguments) # type: ignore + _decompress = kwargs.pop("decompress", True) + _stream = kwargs.pop("stream", False) + pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access + _request, stream=_stream, **kwargs + ) - # Construct parameters - _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") + response = pipeline_response.http_response - # Construct headers - _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") + if response.status_code not in [200]: + if _stream: + try: + response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) + if _stream: + deserialized = response.iter_bytes() if _decompress else response.iter_raw() + else: + deserialized = _deserialize(_models.AgentPool, response.json()) + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore -def build_managed_cluster_snapshots_list_request( # pylint: disable=name-too-long - subscription_id: str, **kwargs: Any -) -> HttpRequest: - _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) + return deserialized # type: ignore - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-02-preview")) - accept = _headers.pop("Accept", "application/json") + def _create_or_update_initial( + self, + resource_group_name: str, + resource_name: str, + agent_pool_name: str, + parameters: Union[_models.AgentPool, _types.AgentPool, IO[bytes]], + *, + etag: Optional[str] = None, + match_condition: Optional[MatchConditions] = None, + **kwargs: Any + ) -> Iterator[bytes]: + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + if match_condition == MatchConditions.IfNotModified: + error_map[412] = ResourceModifiedError + elif match_condition == MatchConditions.IfPresent: + error_map[412] = ResourceNotFoundError + elif match_condition == MatchConditions.IfMissing: + error_map[412] = ResourceExistsError + error_map.update(kwargs.pop("error_map", {}) or {}) - # Construct URL - _url = "/subscriptions/{subscriptionId}/providers/Microsoft.ContainerService/managedclustersnapshots" - path_format_arguments = { - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), - } + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _params = kwargs.pop("params", {}) or {} - _url: str = _url.format(**path_format_arguments) # type: ignore + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + cls: ClsType[Iterator[bytes]] = kwargs.pop("cls", None) - # Construct parameters - _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") + content_type = content_type or "application/json" + _content = None + if isinstance(parameters, (IOBase, bytes)): + _content = parameters + else: + _content = json.dumps(parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore - # Construct headers - _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") + _request = build_agent_pools_create_or_update_request( + resource_group_name=resource_group_name, + resource_name=resource_name, + agent_pool_name=agent_pool_name, + subscription_id=self._config.subscription_id, + etag=etag, + match_condition=match_condition, + content_type=content_type, + api_version=self._config.api_version, + content=_content, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) - return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) + _decompress = kwargs.pop("decompress", True) + _stream = True + pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access + _request, stream=_stream, **kwargs + ) + response = pipeline_response.http_response -def build_trusted_access_role_bindings_get_request( # pylint: disable=name-too-long - resource_group_name: str, - resource_name: str, - trusted_access_role_binding_name: str, - subscription_id: str, - **kwargs: Any -) -> HttpRequest: - _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) + if response.status_code not in [200, 201]: + try: + response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-02-preview")) - accept = _headers.pop("Accept", "application/json") + response_headers = {} + if response.status_code == 201: + response_headers["Azure-AsyncOperation"] = self._deserialize( + "str", response.headers.get("Azure-AsyncOperation") + ) + response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) - # Construct URL - _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/trustedAccessRoleBindings/{trustedAccessRoleBindingName}" - path_format_arguments = { - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), - "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - "resourceName": _SERIALIZER.url("resource_name", resource_name, "str"), - "trustedAccessRoleBindingName": _SERIALIZER.url( - "trusted_access_role_binding_name", trusted_access_role_binding_name, "str" - ), - } + deserialized = response.iter_bytes() if _decompress else response.iter_raw() - _url: str = _url.format(**path_format_arguments) # type: ignore + if cls: + return cls(pipeline_response, deserialized, response_headers) # type: ignore - # Construct parameters - _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") + return deserialized # type: ignore - # Construct headers - _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - - return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) - - -def build_trusted_access_role_bindings_create_or_update_request( # pylint: disable=name-too-long - resource_group_name: str, - resource_name: str, - trusted_access_role_binding_name: str, - subscription_id: str, - **kwargs: Any -) -> HttpRequest: - _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - - content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-02-preview")) - accept = _headers.pop("Accept", "application/json") - - # Construct URL - _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/trustedAccessRoleBindings/{trustedAccessRoleBindingName}" - path_format_arguments = { - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), - "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - "resourceName": _SERIALIZER.url("resource_name", resource_name, "str"), - "trustedAccessRoleBindingName": _SERIALIZER.url( - "trusted_access_role_binding_name", trusted_access_role_binding_name, "str" - ), - } - - _url: str = _url.format(**path_format_arguments) # type: ignore - - # Construct parameters - _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") - - # Construct headers - if content_type is not None: - _headers["Content-Type"] = _SERIALIZER.header("content_type", content_type, "str") - _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - - return HttpRequest(method="PUT", url=_url, params=_params, headers=_headers, **kwargs) - - -def build_trusted_access_role_bindings_delete_request( # pylint: disable=name-too-long - resource_group_name: str, - resource_name: str, - trusted_access_role_binding_name: str, - subscription_id: str, - **kwargs: Any -) -> HttpRequest: - _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-02-preview")) - # Construct URL - _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/trustedAccessRoleBindings/{trustedAccessRoleBindingName}" - path_format_arguments = { - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), - "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - "resourceName": _SERIALIZER.url("resource_name", resource_name, "str"), - "trustedAccessRoleBindingName": _SERIALIZER.url( - "trusted_access_role_binding_name", trusted_access_role_binding_name, "str" - ), - } - - _url: str = _url.format(**path_format_arguments) # type: ignore - - # Construct parameters - _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") - - return HttpRequest(method="DELETE", url=_url, params=_params, **kwargs) - - -def build_trusted_access_role_bindings_list_request( # pylint: disable=name-too-long - resource_group_name: str, resource_name: str, subscription_id: str, **kwargs: Any -) -> HttpRequest: - _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-02-preview")) - accept = _headers.pop("Accept", "application/json") - - # Construct URL - _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/trustedAccessRoleBindings" - path_format_arguments = { - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), - "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - "resourceName": _SERIALIZER.url("resource_name", resource_name, "str"), - } - - _url: str = _url.format(**path_format_arguments) # type: ignore - - # Construct parameters - _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") - - # Construct headers - _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - - return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) - - -def build_load_balancers_get_request( - resource_group_name: str, resource_name: str, load_balancer_name: str, subscription_id: str, **kwargs: Any -) -> HttpRequest: - _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-02-preview")) - accept = _headers.pop("Accept", "application/json") - - # Construct URL - _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/loadBalancers/{loadBalancerName}" - path_format_arguments = { - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), - "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - "resourceName": _SERIALIZER.url("resource_name", resource_name, "str"), - "loadBalancerName": _SERIALIZER.url("load_balancer_name", load_balancer_name, "str"), - } - - _url: str = _url.format(**path_format_arguments) # type: ignore - - # Construct parameters - _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") - - # Construct headers - _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - - return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) - - -def build_load_balancers_create_or_update_request( # pylint: disable=name-too-long - resource_group_name: str, resource_name: str, load_balancer_name: str, subscription_id: str, **kwargs: Any -) -> HttpRequest: - _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - - content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-02-preview")) - accept = _headers.pop("Accept", "application/json") - - # Construct URL - _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/loadBalancers/{loadBalancerName}" - path_format_arguments = { - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), - "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - "resourceName": _SERIALIZER.url("resource_name", resource_name, "str"), - "loadBalancerName": _SERIALIZER.url("load_balancer_name", load_balancer_name, "str"), - } - - _url: str = _url.format(**path_format_arguments) # type: ignore - - # Construct parameters - _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") - - # Construct headers - if content_type is not None: - _headers["Content-Type"] = _SERIALIZER.header("content_type", content_type, "str") - _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - - return HttpRequest(method="PUT", url=_url, params=_params, headers=_headers, **kwargs) - - -def build_load_balancers_delete_request( - resource_group_name: str, resource_name: str, load_balancer_name: str, subscription_id: str, **kwargs: Any -) -> HttpRequest: - _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-02-preview")) - # Construct URL - _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/loadBalancers/{loadBalancerName}" - path_format_arguments = { - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), - "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - "resourceName": _SERIALIZER.url("resource_name", resource_name, "str"), - "loadBalancerName": _SERIALIZER.url("load_balancer_name", load_balancer_name, "str"), - } - - _url: str = _url.format(**path_format_arguments) # type: ignore - - # Construct parameters - _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") - - return HttpRequest(method="DELETE", url=_url, params=_params, **kwargs) - - -def build_load_balancers_list_by_managed_cluster_request( # pylint: disable=name-too-long - resource_group_name: str, resource_name: str, subscription_id: str, **kwargs: Any -) -> HttpRequest: - _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-02-preview")) - accept = _headers.pop("Accept", "application/json") - - # Construct URL - _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/loadBalancers" - path_format_arguments = { - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), - "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - "resourceName": _SERIALIZER.url("resource_name", resource_name, "str"), - } - - _url: str = _url.format(**path_format_arguments) # type: ignore - - # Construct parameters - _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") - - # Construct headers - _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - - return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) - - -def build_identity_bindings_get_request( - resource_group_name: str, resource_name: str, identity_binding_name: str, subscription_id: str, **kwargs: Any -) -> HttpRequest: - _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-02-preview")) - accept = _headers.pop("Accept", "application/json") - - # Construct URL - _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/identityBindings/{identityBindingName}" - path_format_arguments = { - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), - "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - "resourceName": _SERIALIZER.url("resource_name", resource_name, "str"), - "identityBindingName": _SERIALIZER.url("identity_binding_name", identity_binding_name, "str"), - } - - _url: str = _url.format(**path_format_arguments) # type: ignore - - # Construct parameters - _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") - - # Construct headers - _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - - return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) - - -def build_identity_bindings_create_or_update_request( # pylint: disable=name-too-long - resource_group_name: str, resource_name: str, identity_binding_name: str, subscription_id: str, **kwargs: Any -) -> HttpRequest: - _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - - content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-02-preview")) - accept = _headers.pop("Accept", "application/json") - - # Construct URL - _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/identityBindings/{identityBindingName}" - path_format_arguments = { - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), - "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - "resourceName": _SERIALIZER.url("resource_name", resource_name, "str"), - "identityBindingName": _SERIALIZER.url("identity_binding_name", identity_binding_name, "str"), - } - - _url: str = _url.format(**path_format_arguments) # type: ignore - - # Construct parameters - _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") - - # Construct headers - if content_type is not None: - _headers["Content-Type"] = _SERIALIZER.header("content_type", content_type, "str") - _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - - return HttpRequest(method="PUT", url=_url, params=_params, headers=_headers, **kwargs) - - -def build_identity_bindings_delete_request( - resource_group_name: str, resource_name: str, identity_binding_name: str, subscription_id: str, **kwargs: Any -) -> HttpRequest: - _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-02-preview")) - # Construct URL - _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/identityBindings/{identityBindingName}" - path_format_arguments = { - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), - "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - "resourceName": _SERIALIZER.url("resource_name", resource_name, "str"), - "identityBindingName": _SERIALIZER.url("identity_binding_name", identity_binding_name, "str"), - } - - _url: str = _url.format(**path_format_arguments) # type: ignore - - # Construct parameters - _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") - - return HttpRequest(method="DELETE", url=_url, params=_params, **kwargs) - - -def build_identity_bindings_list_by_managed_cluster_request( # pylint: disable=name-too-long - resource_group_name: str, resource_name: str, subscription_id: str, **kwargs: Any -) -> HttpRequest: - _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-02-preview")) - accept = _headers.pop("Accept", "application/json") - - # Construct URL - _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/identityBindings" - path_format_arguments = { - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), - "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - "resourceName": _SERIALIZER.url("resource_name", resource_name, "str"), - } - - _url: str = _url.format(**path_format_arguments) # type: ignore - - # Construct parameters - _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") - - # Construct headers - _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - - return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) - - -def build_jwt_authenticators_get_request( - resource_group_name: str, resource_name: str, jwt_authenticator_name: str, subscription_id: str, **kwargs: Any -) -> HttpRequest: - _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-02-preview")) - accept = _headers.pop("Accept", "application/json") - - # Construct URL - _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/jwtAuthenticators/{jwtAuthenticatorName}" - path_format_arguments = { - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), - "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - "resourceName": _SERIALIZER.url("resource_name", resource_name, "str"), - "jwtAuthenticatorName": _SERIALIZER.url("jwt_authenticator_name", jwt_authenticator_name, "str"), - } - - _url: str = _url.format(**path_format_arguments) # type: ignore - - # Construct parameters - _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") - - # Construct headers - _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - - return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) - - -def build_jwt_authenticators_create_or_update_request( # pylint: disable=name-too-long - resource_group_name: str, resource_name: str, jwt_authenticator_name: str, subscription_id: str, **kwargs: Any -) -> HttpRequest: - _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - - content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-02-preview")) - accept = _headers.pop("Accept", "application/json") - - # Construct URL - _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/jwtAuthenticators/{jwtAuthenticatorName}" - path_format_arguments = { - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), - "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - "resourceName": _SERIALIZER.url("resource_name", resource_name, "str"), - "jwtAuthenticatorName": _SERIALIZER.url("jwt_authenticator_name", jwt_authenticator_name, "str"), - } - - _url: str = _url.format(**path_format_arguments) # type: ignore - - # Construct parameters - _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") - - # Construct headers - if content_type is not None: - _headers["Content-Type"] = _SERIALIZER.header("content_type", content_type, "str") - _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - - return HttpRequest(method="PUT", url=_url, params=_params, headers=_headers, **kwargs) - - -def build_jwt_authenticators_delete_request( - resource_group_name: str, resource_name: str, jwt_authenticator_name: str, subscription_id: str, **kwargs: Any -) -> HttpRequest: - _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-02-preview")) - # Construct URL - _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/jwtAuthenticators/{jwtAuthenticatorName}" - path_format_arguments = { - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), - "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - "resourceName": _SERIALIZER.url("resource_name", resource_name, "str"), - "jwtAuthenticatorName": _SERIALIZER.url("jwt_authenticator_name", jwt_authenticator_name, "str"), - } - - _url: str = _url.format(**path_format_arguments) # type: ignore - - # Construct parameters - _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") - - return HttpRequest(method="DELETE", url=_url, params=_params, **kwargs) - - -def build_jwt_authenticators_list_by_managed_cluster_request( # pylint: disable=name-too-long - resource_group_name: str, resource_name: str, subscription_id: str, **kwargs: Any -) -> HttpRequest: - _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-02-preview")) - accept = _headers.pop("Accept", "application/json") - - # Construct URL - _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/jwtAuthenticators" - path_format_arguments = { - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), - "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - "resourceName": _SERIALIZER.url("resource_name", resource_name, "str"), - } - - _url: str = _url.format(**path_format_arguments) # type: ignore - - # Construct parameters - _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") - - # Construct headers - _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - - return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) - - -def build_mesh_memberships_get_request( - resource_group_name: str, resource_name: str, mesh_membership_name: str, subscription_id: str, **kwargs: Any -) -> HttpRequest: - _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-02-preview")) - accept = _headers.pop("Accept", "application/json") - - # Construct URL - _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/meshMemberships/{meshMembershipName}" - path_format_arguments = { - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), - "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - "resourceName": _SERIALIZER.url("resource_name", resource_name, "str"), - "meshMembershipName": _SERIALIZER.url("mesh_membership_name", mesh_membership_name, "str"), - } - - _url: str = _url.format(**path_format_arguments) # type: ignore - - # Construct parameters - _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") - - # Construct headers - _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - - return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) - - -def build_mesh_memberships_create_or_update_request( # pylint: disable=name-too-long - resource_group_name: str, resource_name: str, mesh_membership_name: str, subscription_id: str, **kwargs: Any -) -> HttpRequest: - _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - - content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-02-preview")) - accept = _headers.pop("Accept", "application/json") - - # Construct URL - _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/meshMemberships/{meshMembershipName}" - path_format_arguments = { - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), - "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - "resourceName": _SERIALIZER.url("resource_name", resource_name, "str"), - "meshMembershipName": _SERIALIZER.url("mesh_membership_name", mesh_membership_name, "str"), - } - - _url: str = _url.format(**path_format_arguments) # type: ignore - - # Construct parameters - _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") - - # Construct headers - if content_type is not None: - _headers["Content-Type"] = _SERIALIZER.header("content_type", content_type, "str") - _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - - return HttpRequest(method="PUT", url=_url, params=_params, headers=_headers, **kwargs) - - -def build_mesh_memberships_delete_request( - resource_group_name: str, resource_name: str, mesh_membership_name: str, subscription_id: str, **kwargs: Any -) -> HttpRequest: - _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-02-preview")) - # Construct URL - _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/meshMemberships/{meshMembershipName}" - path_format_arguments = { - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), - "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - "resourceName": _SERIALIZER.url("resource_name", resource_name, "str"), - "meshMembershipName": _SERIALIZER.url("mesh_membership_name", mesh_membership_name, "str"), - } - - _url: str = _url.format(**path_format_arguments) # type: ignore - - # Construct parameters - _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") - - return HttpRequest(method="DELETE", url=_url, params=_params, **kwargs) - - -def build_mesh_memberships_list_by_managed_cluster_request( # pylint: disable=name-too-long - resource_group_name: str, resource_name: str, subscription_id: str, **kwargs: Any -) -> HttpRequest: - _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-02-preview")) - accept = _headers.pop("Accept", "application/json") - - # Construct URL - _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/meshMemberships" - path_format_arguments = { - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), - "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - "resourceName": _SERIALIZER.url("resource_name", resource_name, "str"), - } - - _url: str = _url.format(**path_format_arguments) # type: ignore - - # Construct parameters - _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") - - # Construct headers - _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - - return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) - - -def build_operations_list_request(**kwargs: Any) -> HttpRequest: - _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-02-preview")) - accept = _headers.pop("Accept", "application/json") - - # Construct URL - _url = "/providers/Microsoft.ContainerService/operations" - - # Construct parameters - _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") - - # Construct headers - _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - - return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) - - -def build_alert_configurations_get_request( - resource_group_name: str, resource_name: str, configuration_name: str, subscription_id: str, **kwargs: Any -) -> HttpRequest: - _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-02-preview")) - accept = _headers.pop("Accept", "application/json") - - # Construct URL - _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/alertConfigurations/{configurationName}" - path_format_arguments = { - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), - "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - "resourceName": _SERIALIZER.url("resource_name", resource_name, "str"), - "configurationName": _SERIALIZER.url("configuration_name", configuration_name, "str"), - } - - _url: str = _url.format(**path_format_arguments) # type: ignore - - # Construct parameters - _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") - - # Construct headers - _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - - return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) - - -def build_alert_configurations_create_or_update_request( # pylint: disable=name-too-long - resource_group_name: str, resource_name: str, configuration_name: str, subscription_id: str, **kwargs: Any -) -> HttpRequest: - _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - - content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-02-preview")) - accept = _headers.pop("Accept", "application/json") - - # Construct URL - _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/alertConfigurations/{configurationName}" - path_format_arguments = { - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), - "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - "resourceName": _SERIALIZER.url("resource_name", resource_name, "str"), - "configurationName": _SERIALIZER.url("configuration_name", configuration_name, "str"), - } - - _url: str = _url.format(**path_format_arguments) # type: ignore - - # Construct parameters - _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") - - # Construct headers - if content_type is not None: - _headers["Content-Type"] = _SERIALIZER.header("content_type", content_type, "str") - _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - - return HttpRequest(method="PUT", url=_url, params=_params, headers=_headers, **kwargs) - - -def build_alert_configurations_delete_request( # pylint: disable=name-too-long - resource_group_name: str, resource_name: str, configuration_name: str, subscription_id: str, **kwargs: Any -) -> HttpRequest: - _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-02-preview")) - # Construct URL - _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/alertConfigurations/{configurationName}" - path_format_arguments = { - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), - "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - "resourceName": _SERIALIZER.url("resource_name", resource_name, "str"), - "configurationName": _SERIALIZER.url("configuration_name", configuration_name, "str"), - } - - _url: str = _url.format(**path_format_arguments) # type: ignore - - # Construct parameters - _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") - - return HttpRequest(method="DELETE", url=_url, params=_params, **kwargs) - - -def build_alert_configurations_list_by_managed_cluster_request( # pylint: disable=name-too-long - resource_group_name: str, resource_name: str, subscription_id: str, **kwargs: Any -) -> HttpRequest: - _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-02-preview")) - accept = _headers.pop("Accept", "application/json") - - # Construct URL - _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/alertConfigurations" - path_format_arguments = { - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), - "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - "resourceName": _SERIALIZER.url("resource_name", resource_name, "str"), - } - - _url: str = _url.format(**path_format_arguments) # type: ignore - - # Construct parameters - _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") - - # Construct headers - _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - - return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) - - -def build_operation_status_result_get_by_agent_pool_request( # pylint: disable=name-too-long - resource_group_name: str, - resource_name: str, - agent_pool_name: str, - operation_id: str, - subscription_id: str, - **kwargs: Any -) -> HttpRequest: - _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-02-preview")) - accept = _headers.pop("Accept", "application/json") - - # Construct URL - _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}/operations/{operationId}" - path_format_arguments = { - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), - "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - "resourceName": _SERIALIZER.url("resource_name", resource_name, "str"), - "agentPoolName": _SERIALIZER.url("agent_pool_name", agent_pool_name, "str"), - "operationId": _SERIALIZER.url("operation_id", operation_id, "str"), - } - - _url: str = _url.format(**path_format_arguments) # type: ignore - - # Construct parameters - _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") - - # Construct headers - _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - - return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) - - -def build_operation_status_result_list_request( # pylint: disable=name-too-long - resource_group_name: str, resource_name: str, subscription_id: str, **kwargs: Any -) -> HttpRequest: - _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-02-preview")) - accept = _headers.pop("Accept", "application/json") - - # Construct URL - _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/operations" - path_format_arguments = { - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), - "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - "resourceName": _SERIALIZER.url("resource_name", resource_name, "str"), - } - - _url: str = _url.format(**path_format_arguments) # type: ignore - - # Construct parameters - _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") - - # Construct headers - _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - - return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) - - -def build_operation_status_result_get_request( # pylint: disable=name-too-long - resource_group_name: str, resource_name: str, operation_id: str, subscription_id: str, **kwargs: Any -) -> HttpRequest: - _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-02-preview")) - accept = _headers.pop("Accept", "application/json") - - # Construct URL - _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/operations/{operationId}" - path_format_arguments = { - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), - "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - "resourceName": _SERIALIZER.url("resource_name", resource_name, "str"), - "operationId": _SERIALIZER.url("operation_id", operation_id, "str"), - } - - _url: str = _url.format(**path_format_arguments) # type: ignore - - # Construct parameters - _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") - - # Construct headers - _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - - return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) - - -def build_private_link_resources_list_request( # pylint: disable=name-too-long - resource_group_name: str, resource_name: str, subscription_id: str, **kwargs: Any -) -> HttpRequest: - _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-02-preview")) - accept = _headers.pop("Accept", "application/json") - - # Construct URL - _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/privateLinkResources" - path_format_arguments = { - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), - "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - "resourceName": _SERIALIZER.url("resource_name", resource_name, "str"), - } - - _url: str = _url.format(**path_format_arguments) # type: ignore - - # Construct parameters - _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") - - # Construct headers - _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - - return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) - - -def build_resolve_private_link_service_id_post_request( # pylint: disable=name-too-long - resource_group_name: str, resource_name: str, subscription_id: str, **kwargs: Any -) -> HttpRequest: - _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - - content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-02-preview")) - accept = _headers.pop("Accept", "application/json") - - # Construct URL - _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/resolvePrivateLinkServiceId" - path_format_arguments = { - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), - "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - "resourceName": _SERIALIZER.url("resource_name", resource_name, "str"), - } - - _url: str = _url.format(**path_format_arguments) # type: ignore - - # Construct parameters - _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") - - # Construct headers - if content_type is not None: - _headers["Content-Type"] = _SERIALIZER.header("content_type", content_type, "str") - _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - - return HttpRequest(method="POST", url=_url, params=_params, headers=_headers, **kwargs) - - -def build_trusted_access_roles_list_request(location: str, subscription_id: str, **kwargs: Any) -> HttpRequest: - _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-02-preview")) - accept = _headers.pop("Accept", "application/json") - - # Construct URL - _url = ( - "/subscriptions/{subscriptionId}/providers/Microsoft.ContainerService/locations/{location}/trustedAccessRoles" - ) - path_format_arguments = { - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), - "location": _SERIALIZER.url("location", location, "str"), - } - - _url: str = _url.format(**path_format_arguments) # type: ignore - - # Construct parameters - _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") - - # Construct headers - _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - - return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) - - -def build_container_service_list_node_image_versions_request( # pylint: disable=name-too-long - location: str, subscription_id: str, **kwargs: Any -) -> HttpRequest: - _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-02-preview")) - accept = _headers.pop("Accept", "application/json") - - # Construct URL - _url = "/subscriptions/{subscriptionId}/providers/Microsoft.ContainerService/locations/{location}/nodeImageVersions" - path_format_arguments = { - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), - "location": _SERIALIZER.url("location", location, "str"), - } - - _url: str = _url.format(**path_format_arguments) # type: ignore - - # Construct parameters - _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") - - # Construct headers - _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - - return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) - - -def build_vm_skus_list_request( - location: str, subscription_id: str, *, include_extended_locations: Optional[bool] = None, **kwargs: Any -) -> HttpRequest: - _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-02-preview")) - accept = _headers.pop("Accept", "application/json") - - # Construct URL - _url = "/subscriptions/{subscriptionId}/providers/Microsoft.ContainerService/locations/{location}/vmSkus" - path_format_arguments = { - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), - "location": _SERIALIZER.url("location", location, "str"), - } - - _url: str = _url.format(**path_format_arguments) # type: ignore - - # Construct parameters - _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") - if include_extended_locations is not None: - _params["includeExtendedLocations"] = _SERIALIZER.query( - "include_extended_locations", include_extended_locations, "bool" - ) - - # Construct headers - _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - - return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) - - -class AgentPoolsOperations: - """ - .. warning:: - **DO NOT** instantiate this class directly. - - Instead, you should access the following operations through - :class:`~azure.mgmt.containerservice.ContainerServiceClient`'s - :attr:`agent_pools` attribute. - """ - - def __init__(self, *args, **kwargs) -> None: - input_args = list(args) - self._client: PipelineClient = input_args.pop(0) if input_args else kwargs.pop("client") - self._config: ContainerServiceClientConfiguration = input_args.pop(0) if input_args else kwargs.pop("config") - self._serialize: Serializer = input_args.pop(0) if input_args else kwargs.pop("serializer") - self._deserialize: Deserializer = input_args.pop(0) if input_args else kwargs.pop("deserializer") - - @distributed_trace - def get( - self, resource_group_name: str, resource_name: str, agent_pool_name: str, **kwargs: Any - ) -> _models.AgentPool: - """Gets the specified managed cluster agent pool. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param resource_name: The name of the managed cluster resource. Required. - :type resource_name: str - :param agent_pool_name: The name of the agent pool. Required. - :type agent_pool_name: str - :return: AgentPool. The AgentPool is compatible with MutableMapping - :rtype: ~azure.mgmt.containerservice.models.AgentPool - :raises ~azure.core.exceptions.HttpResponseError: - """ - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - _headers = kwargs.pop("headers", {}) or {} - _params = kwargs.pop("params", {}) or {} - - cls: ClsType[_models.AgentPool] = kwargs.pop("cls", None) - - _request = build_agent_pools_get_request( - resource_group_name=resource_group_name, - resource_name=resource_name, - agent_pool_name=agent_pool_name, - subscription_id=self._config.subscription_id, - api_version=self._config.api_version, - headers=_headers, - params=_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - _decompress = kwargs.pop("decompress", True) - _stream = kwargs.pop("stream", False) - pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access - _request, stream=_stream, **kwargs - ) - - response = pipeline_response.http_response - - if response.status_code not in [200]: - if _stream: - try: - response.read() # Load the body in memory and close the socket - except (StreamConsumedError, StreamClosedError): - pass - map_error(status_code=response.status_code, response=response, error_map=error_map) - error = _failsafe_deserialize( - _models.ErrorResponse, - response, - ) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - - if _stream: - deserialized = response.iter_bytes() if _decompress else response.iter_raw() - else: - deserialized = _deserialize(_models.AgentPool, response.json()) - - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - - return deserialized # type: ignore - - def _create_or_update_initial( - self, - resource_group_name: str, - resource_name: str, - agent_pool_name: str, - parameters: Union[_models.AgentPool, _types.AgentPool, IO[bytes]], - *, - etag: Optional[str] = None, - match_condition: Optional[MatchConditions] = None, - **kwargs: Any - ) -> Iterator[bytes]: - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - if match_condition == MatchConditions.IfNotModified: - error_map[412] = ResourceModifiedError - elif match_condition == MatchConditions.IfPresent: - error_map[412] = ResourceNotFoundError - elif match_condition == MatchConditions.IfMissing: - error_map[412] = ResourceExistsError - error_map.update(kwargs.pop("error_map", {}) or {}) - - _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - _params = kwargs.pop("params", {}) or {} - - content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - cls: ClsType[Iterator[bytes]] = kwargs.pop("cls", None) - - content_type = content_type or "application/json" - _content = None - if isinstance(parameters, (IOBase, bytes)): - _content = parameters - else: - _content = json.dumps(parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore - - _request = build_agent_pools_create_or_update_request( - resource_group_name=resource_group_name, - resource_name=resource_name, - agent_pool_name=agent_pool_name, - subscription_id=self._config.subscription_id, - etag=etag, - match_condition=match_condition, - content_type=content_type, - api_version=self._config.api_version, - content=_content, - headers=_headers, - params=_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - _decompress = kwargs.pop("decompress", True) - _stream = True - pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access - _request, stream=_stream, **kwargs - ) - - response = pipeline_response.http_response - - if response.status_code not in [200, 201]: - try: - response.read() # Load the body in memory and close the socket - except (StreamConsumedError, StreamClosedError): - pass - map_error(status_code=response.status_code, response=response, error_map=error_map) - error = _failsafe_deserialize( - _models.ErrorResponse, - response, - ) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - - response_headers = {} - if response.status_code == 201: - response_headers["Azure-AsyncOperation"] = self._deserialize( - "str", response.headers.get("Azure-AsyncOperation") - ) - response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) - - deserialized = response.iter_bytes() if _decompress else response.iter_raw() - - if cls: - return cls(pipeline_response, deserialized, response_headers) # type: ignore - - return deserialized # type: ignore - - @overload - def begin_create_or_update( - self, - resource_group_name: str, - resource_name: str, - agent_pool_name: str, - parameters: _models.AgentPool, - *, - content_type: str = "application/json", - etag: Optional[str] = None, - match_condition: Optional[MatchConditions] = None, - **kwargs: Any - ) -> LROPoller[_models.AgentPool]: - """Creates or updates an agent pool in the specified managed cluster. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param resource_name: The name of the managed cluster resource. Required. - :type resource_name: str - :param agent_pool_name: The name of the agent pool. Required. - :type agent_pool_name: str - :param parameters: The agent pool to create or update. Required. - :type parameters: ~azure.mgmt.containerservice.models.AgentPool - :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. - Default value is "application/json". - :paramtype content_type: str - :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is - None. - :paramtype etag: str - :keyword match_condition: The match condition to use upon the etag. Default value is None. - :paramtype match_condition: ~azure.core.MatchConditions - :return: An instance of LROPoller that returns AgentPool. The AgentPool is compatible with - MutableMapping - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.containerservice.models.AgentPool] - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @overload - def begin_create_or_update( - self, - resource_group_name: str, - resource_name: str, - agent_pool_name: str, - parameters: _types.AgentPool, - *, - content_type: str = "application/json", - etag: Optional[str] = None, - match_condition: Optional[MatchConditions] = None, - **kwargs: Any - ) -> LROPoller[_models.AgentPool]: - """Creates or updates an agent pool in the specified managed cluster. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param resource_name: The name of the managed cluster resource. Required. - :type resource_name: str - :param agent_pool_name: The name of the agent pool. Required. - :type agent_pool_name: str - :param parameters: The agent pool to create or update. Required. - :type parameters: ~azure.mgmt.containerservice.types.AgentPool - :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. - Default value is "application/json". - :paramtype content_type: str - :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is - None. - :paramtype etag: str - :keyword match_condition: The match condition to use upon the etag. Default value is None. - :paramtype match_condition: ~azure.core.MatchConditions - :return: An instance of LROPoller that returns AgentPool. The AgentPool is compatible with - MutableMapping - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.containerservice.models.AgentPool] - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @overload - def begin_create_or_update( - self, - resource_group_name: str, - resource_name: str, - agent_pool_name: str, - parameters: IO[bytes], - *, - content_type: str = "application/json", - etag: Optional[str] = None, - match_condition: Optional[MatchConditions] = None, - **kwargs: Any - ) -> LROPoller[_models.AgentPool]: - """Creates or updates an agent pool in the specified managed cluster. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param resource_name: The name of the managed cluster resource. Required. - :type resource_name: str - :param agent_pool_name: The name of the agent pool. Required. - :type agent_pool_name: str - :param parameters: The agent pool to create or update. Required. - :type parameters: IO[bytes] - :keyword content_type: Body Parameter content-type. Content type parameter for binary body. - Default value is "application/json". - :paramtype content_type: str - :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is - None. - :paramtype etag: str - :keyword match_condition: The match condition to use upon the etag. Default value is None. - :paramtype match_condition: ~azure.core.MatchConditions - :return: An instance of LROPoller that returns AgentPool. The AgentPool is compatible with - MutableMapping - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.containerservice.models.AgentPool] - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @distributed_trace - def begin_create_or_update( - self, - resource_group_name: str, - resource_name: str, - agent_pool_name: str, - parameters: Union[_models.AgentPool, _types.AgentPool, IO[bytes]], - *, - etag: Optional[str] = None, - match_condition: Optional[MatchConditions] = None, - **kwargs: Any - ) -> LROPoller[_models.AgentPool]: - """Creates or updates an agent pool in the specified managed cluster. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param resource_name: The name of the managed cluster resource. Required. - :type resource_name: str - :param agent_pool_name: The name of the agent pool. Required. - :type agent_pool_name: str - :param parameters: The agent pool to create or update. Is either a AgentPool type or a - IO[bytes] type. Required. - :type parameters: ~azure.mgmt.containerservice.models.AgentPool or - ~azure.mgmt.containerservice.types.AgentPool or IO[bytes] - :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is - None. - :paramtype etag: str - :keyword match_condition: The match condition to use upon the etag. Default value is None. - :paramtype match_condition: ~azure.core.MatchConditions - :return: An instance of LROPoller that returns AgentPool. The AgentPool is compatible with - MutableMapping - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.containerservice.models.AgentPool] - :raises ~azure.core.exceptions.HttpResponseError: - """ - _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - _params = kwargs.pop("params", {}) or {} - - content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - cls: ClsType[_models.AgentPool] = kwargs.pop("cls", None) - polling: Union[bool, PollingMethod] = kwargs.pop("polling", True) - lro_delay = kwargs.pop("polling_interval", self._config.polling_interval) - cont_token: Optional[str] = kwargs.pop("continuation_token", None) - if cont_token is None: - raw_result = self._create_or_update_initial( - resource_group_name=resource_group_name, - resource_name=resource_name, - agent_pool_name=agent_pool_name, - parameters=parameters, - etag=etag, - match_condition=match_condition, - content_type=content_type, - cls=lambda x, y, z: x, - headers=_headers, - params=_params, - **kwargs - ) - raw_result.http_response.read() # type: ignore - kwargs.pop("error_map", None) - - def get_long_running_output(pipeline_response): - response = pipeline_response.http_response - deserialized = _deserialize(_models.AgentPool, response.json()) - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - return deserialized - - path_format_arguments = { - "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), - } - - if polling is True: - polling_method: PollingMethod = cast( - PollingMethod, ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) - ) - elif polling is False: - polling_method = cast(PollingMethod, NoPolling()) - else: - polling_method = polling - if cont_token: - return LROPoller[_models.AgentPool].from_continuation_token( - polling_method=polling_method, - continuation_token=cont_token, - client=self._client, - deserialization_callback=get_long_running_output, - ) - return LROPoller[_models.AgentPool]( - self._client, raw_result, get_long_running_output, polling_method # type: ignore - ) - - def _delete_initial( - self, - resource_group_name: str, - resource_name: str, - agent_pool_name: str, - *, - ignore_pod_disruption_budget: Optional[bool] = None, - etag: Optional[str] = None, - match_condition: Optional[MatchConditions] = None, - **kwargs: Any - ) -> Iterator[bytes]: - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - if match_condition == MatchConditions.IfNotModified: - error_map[412] = ResourceModifiedError - elif match_condition == MatchConditions.IfPresent: - error_map[412] = ResourceNotFoundError - elif match_condition == MatchConditions.IfMissing: - error_map[412] = ResourceExistsError - error_map.update(kwargs.pop("error_map", {}) or {}) - - _headers = kwargs.pop("headers", {}) or {} - _params = kwargs.pop("params", {}) or {} - - cls: ClsType[Iterator[bytes]] = kwargs.pop("cls", None) - - _request = build_agent_pools_delete_request( - resource_group_name=resource_group_name, - resource_name=resource_name, - agent_pool_name=agent_pool_name, - subscription_id=self._config.subscription_id, - ignore_pod_disruption_budget=ignore_pod_disruption_budget, - etag=etag, - match_condition=match_condition, - api_version=self._config.api_version, - headers=_headers, - params=_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - _decompress = kwargs.pop("decompress", True) - _stream = True - pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access - _request, stream=_stream, **kwargs - ) - - response = pipeline_response.http_response - - if response.status_code not in [202, 204]: - try: - response.read() # Load the body in memory and close the socket - except (StreamConsumedError, StreamClosedError): - pass - map_error(status_code=response.status_code, response=response, error_map=error_map) - error = _failsafe_deserialize( - _models.ErrorResponse, - response, - ) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - - response_headers = {} - if response.status_code == 202: - response_headers["Azure-AsyncOperation"] = self._deserialize( - "str", response.headers.get("Azure-AsyncOperation") - ) - response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) - response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) - - deserialized = response.iter_bytes() if _decompress else response.iter_raw() - - if cls: - return cls(pipeline_response, deserialized, response_headers) # type: ignore - - return deserialized # type: ignore - - @distributed_trace - def begin_delete( - self, - resource_group_name: str, - resource_name: str, - agent_pool_name: str, - *, - ignore_pod_disruption_budget: Optional[bool] = None, - etag: Optional[str] = None, - match_condition: Optional[MatchConditions] = None, - **kwargs: Any - ) -> LROPoller[None]: - """Deletes an agent pool in the specified managed cluster. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param resource_name: The name of the managed cluster resource. Required. - :type resource_name: str - :param agent_pool_name: The name of the agent pool. Required. - :type agent_pool_name: str - :keyword ignore_pod_disruption_budget: ignore-pod-disruption-budget=true to delete those pods - on a node without considering Pod Disruption Budget. Default value is None. - :paramtype ignore_pod_disruption_budget: bool - :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is - None. - :paramtype etag: str - :keyword match_condition: The match condition to use upon the etag. Default value is None. - :paramtype match_condition: ~azure.core.MatchConditions - :return: An instance of LROPoller that returns None - :rtype: ~azure.core.polling.LROPoller[None] - :raises ~azure.core.exceptions.HttpResponseError: - """ - _headers = kwargs.pop("headers", {}) or {} - _params = kwargs.pop("params", {}) or {} - - cls: ClsType[None] = kwargs.pop("cls", None) - polling: Union[bool, PollingMethod] = kwargs.pop("polling", True) - lro_delay = kwargs.pop("polling_interval", self._config.polling_interval) - cont_token: Optional[str] = kwargs.pop("continuation_token", None) - if cont_token is None: - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - resource_name=resource_name, - agent_pool_name=agent_pool_name, - ignore_pod_disruption_budget=ignore_pod_disruption_budget, - etag=etag, - match_condition=match_condition, - cls=lambda x, y, z: x, - headers=_headers, - params=_params, - **kwargs - ) - raw_result.http_response.read() # type: ignore - kwargs.pop("error_map", None) - - def get_long_running_output(pipeline_response): # pylint: disable=inconsistent-return-statements - if cls: - return cls(pipeline_response, None, {}) # type: ignore - - path_format_arguments = { - "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), - } - - if polling is True: - polling_method: PollingMethod = cast( - PollingMethod, ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) - ) - elif polling is False: - polling_method = cast(PollingMethod, NoPolling()) - else: - polling_method = polling - if cont_token: - return LROPoller[None].from_continuation_token( - polling_method=polling_method, - continuation_token=cont_token, - client=self._client, - deserialization_callback=get_long_running_output, - ) - return LROPoller[None](self._client, raw_result, get_long_running_output, polling_method) # type: ignore - - @distributed_trace - def list(self, resource_group_name: str, resource_name: str, **kwargs: Any) -> ItemPaged["_models.AgentPool"]: - """Gets a list of agent pools in the specified managed cluster. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param resource_name: The name of the managed cluster resource. Required. - :type resource_name: str - :return: An iterator like instance of AgentPool - :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.containerservice.models.AgentPool] - :raises ~azure.core.exceptions.HttpResponseError: - """ - _headers = kwargs.pop("headers", {}) or {} - _params = kwargs.pop("params", {}) or {} - - cls: ClsType[List[_models.AgentPool]] = kwargs.pop("cls", None) - - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - def prepare_request(next_link=None): - if not next_link: - - _request = build_agent_pools_list_request( - resource_group_name=resource_group_name, - resource_name=resource_name, - subscription_id=self._config.subscription_id, - api_version=self._config.api_version, - headers=_headers, - params=_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url( - "self._config.base_url", self._config.base_url, "str", skip_quote=True - ), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - else: - # make call to next link with the client's api-version - _parsed_next_link = urllib.parse.urlparse(next_link) - _next_request_params = case_insensitive_dict( - { - key: [urllib.parse.quote(v) for v in value] - for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items() - } - ) - _next_request_params["api-version"] = self._config.api_version - _request = HttpRequest( - "GET", - urllib.parse.urljoin(next_link, _parsed_next_link.path), - headers=_headers, - params=_next_request_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url( - "self._config.base_url", self._config.base_url, "str", skip_quote=True - ), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - return _request - - def extract_data(pipeline_response): - deserialized = pipeline_response.http_response.json() - list_of_elem = _deserialize( - List[_models.AgentPool], - deserialized.get("value", []), - ) - if cls: - list_of_elem = cls(list_of_elem) # type: ignore - return deserialized.get("nextLink") or None, iter(list_of_elem) - - def get_next(next_link=None): - _request = prepare_request(next_link) - - _stream = False - pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access - _request, stream=_stream, **kwargs - ) - response = pipeline_response.http_response - - if response.status_code not in [200]: - map_error(status_code=response.status_code, response=response, error_map=error_map) - error = _failsafe_deserialize( - _models.ErrorResponse, - response, - ) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - - return pipeline_response - - return ItemPaged(get_next, extract_data) - - def _abort_latest_operation_initial( - self, resource_group_name: str, resource_name: str, agent_pool_name: str, **kwargs: Any - ) -> Iterator[bytes]: - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - _headers = kwargs.pop("headers", {}) or {} - _params = kwargs.pop("params", {}) or {} - - cls: ClsType[Iterator[bytes]] = kwargs.pop("cls", None) - - _request = build_agent_pools_abort_latest_operation_request( - resource_group_name=resource_group_name, - resource_name=resource_name, - agent_pool_name=agent_pool_name, - subscription_id=self._config.subscription_id, - api_version=self._config.api_version, - headers=_headers, - params=_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - _decompress = kwargs.pop("decompress", True) - _stream = True - pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access - _request, stream=_stream, **kwargs - ) - - response = pipeline_response.http_response - - if response.status_code not in [202, 204]: - try: - response.read() # Load the body in memory and close the socket - except (StreamConsumedError, StreamClosedError): - pass - map_error(status_code=response.status_code, response=response, error_map=error_map) - error = _failsafe_deserialize( - _models.ErrorResponse, - response, - ) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - - response_headers = {} - if response.status_code == 202: - response_headers["Azure-AsyncOperation"] = self._deserialize( - "str", response.headers.get("Azure-AsyncOperation") - ) - response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) - response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) - - deserialized = response.iter_bytes() if _decompress else response.iter_raw() - - if cls: - return cls(pipeline_response, deserialized, response_headers) # type: ignore - - return deserialized # type: ignore - - @distributed_trace - def begin_abort_latest_operation( - self, resource_group_name: str, resource_name: str, agent_pool_name: str, **kwargs: Any - ) -> LROPoller[None]: - """Aborts last operation running on agent pool. - - Aborts the currently running operation on the agent pool. The Agent Pool will be moved to a - Canceling state and eventually to a Canceled state when cancellation finishes. If the operation - completes before cancellation can take place, a 409 error code is returned. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param resource_name: The name of the managed cluster resource. Required. - :type resource_name: str - :param agent_pool_name: The name of the agent pool. Required. - :type agent_pool_name: str - :return: An instance of LROPoller that returns None - :rtype: ~azure.core.polling.LROPoller[None] - :raises ~azure.core.exceptions.HttpResponseError: - """ - _headers = kwargs.pop("headers", {}) or {} - _params = kwargs.pop("params", {}) or {} - - cls: ClsType[None] = kwargs.pop("cls", None) - polling: Union[bool, PollingMethod] = kwargs.pop("polling", True) - lro_delay = kwargs.pop("polling_interval", self._config.polling_interval) - cont_token: Optional[str] = kwargs.pop("continuation_token", None) - if cont_token is None: - raw_result = self._abort_latest_operation_initial( - resource_group_name=resource_group_name, - resource_name=resource_name, - agent_pool_name=agent_pool_name, - cls=lambda x, y, z: x, - headers=_headers, - params=_params, - **kwargs - ) - raw_result.http_response.read() # type: ignore - kwargs.pop("error_map", None) - - def get_long_running_output(pipeline_response): # pylint: disable=inconsistent-return-statements - if cls: - return cls(pipeline_response, None, {}) # type: ignore - - path_format_arguments = { - "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), - } - - if polling is True: - polling_method: PollingMethod = cast( - PollingMethod, ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) - ) - elif polling is False: - polling_method = cast(PollingMethod, NoPolling()) - else: - polling_method = polling - if cont_token: - return LROPoller[None].from_continuation_token( - polling_method=polling_method, - continuation_token=cont_token, - client=self._client, - deserialization_callback=get_long_running_output, - ) - return LROPoller[None](self._client, raw_result, get_long_running_output, polling_method) # type: ignore - - @api_version_validation( - method_added_on="2026-05-02-preview", - params_added_on={ - "2026-05-02-preview": [ - "api_version", - "subscription_id", - "resource_group_name", - "resource_name", - "agent_pool_name", - ] - }, - api_versions_list=["2026-05-02-preview"], - ) - def _complete_upgrade_initial( - self, resource_group_name: str, resource_name: str, agent_pool_name: str, **kwargs: Any - ) -> Iterator[bytes]: - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - _headers = kwargs.pop("headers", {}) or {} - _params = kwargs.pop("params", {}) or {} - - cls: ClsType[Iterator[bytes]] = kwargs.pop("cls", None) - - _request = build_agent_pools_complete_upgrade_request( - resource_group_name=resource_group_name, - resource_name=resource_name, - agent_pool_name=agent_pool_name, - subscription_id=self._config.subscription_id, - api_version=self._config.api_version, - headers=_headers, - params=_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - _decompress = kwargs.pop("decompress", True) - _stream = True - pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access - _request, stream=_stream, **kwargs - ) - - response = pipeline_response.http_response - - if response.status_code not in [202, 204]: - try: - response.read() # Load the body in memory and close the socket - except (StreamConsumedError, StreamClosedError): - pass - map_error(status_code=response.status_code, response=response, error_map=error_map) - error = _failsafe_deserialize( - _models.ErrorResponse, - response, - ) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - - response_headers = {} - if response.status_code == 202: - response_headers["Azure-AsyncOperation"] = self._deserialize( - "str", response.headers.get("Azure-AsyncOperation") - ) - response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) - response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) - - deserialized = response.iter_bytes() if _decompress else response.iter_raw() - - if cls: - return cls(pipeline_response, deserialized, response_headers) # type: ignore - - return deserialized # type: ignore - - @distributed_trace - @api_version_validation( - method_added_on="2026-05-02-preview", - params_added_on={ - "2026-05-02-preview": [ - "api_version", - "subscription_id", - "resource_group_name", - "resource_name", - "agent_pool_name", - ] - }, - api_versions_list=["2026-05-02-preview"], - ) - def begin_complete_upgrade( - self, resource_group_name: str, resource_name: str, agent_pool_name: str, **kwargs: Any - ) -> LROPoller[None]: - """Completes the upgrade of an agent pool. - - Completes the upgrade operation for the specified agent pool. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param resource_name: The name of the managed cluster resource. Required. - :type resource_name: str - :param agent_pool_name: The name of the agent pool. Required. - :type agent_pool_name: str - :return: An instance of LROPoller that returns None - :rtype: ~azure.core.polling.LROPoller[None] - :raises ~azure.core.exceptions.HttpResponseError: - """ - _headers = kwargs.pop("headers", {}) or {} - _params = kwargs.pop("params", {}) or {} - - cls: ClsType[None] = kwargs.pop("cls", None) - polling: Union[bool, PollingMethod] = kwargs.pop("polling", True) - lro_delay = kwargs.pop("polling_interval", self._config.polling_interval) - cont_token: Optional[str] = kwargs.pop("continuation_token", None) - if cont_token is None: - raw_result = self._complete_upgrade_initial( - resource_group_name=resource_group_name, - resource_name=resource_name, - agent_pool_name=agent_pool_name, - cls=lambda x, y, z: x, - headers=_headers, - params=_params, - **kwargs - ) - raw_result.http_response.read() # type: ignore - kwargs.pop("error_map", None) - - def get_long_running_output(pipeline_response): # pylint: disable=inconsistent-return-statements - if cls: - return cls(pipeline_response, None, {}) # type: ignore - - path_format_arguments = { - "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), - } - - if polling is True: - polling_method: PollingMethod = cast( - PollingMethod, ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) - ) - elif polling is False: - polling_method = cast(PollingMethod, NoPolling()) - else: - polling_method = polling - if cont_token: - return LROPoller[None].from_continuation_token( - polling_method=polling_method, - continuation_token=cont_token, - client=self._client, - deserialization_callback=get_long_running_output, - ) - return LROPoller[None](self._client, raw_result, get_long_running_output, polling_method) # type: ignore - - def _delete_machines_initial( - self, - resource_group_name: str, - resource_name: str, - agent_pool_name: str, - machines: Union[_models.AgentPoolDeleteMachinesParameter, _types.AgentPoolDeleteMachinesParameter, IO[bytes]], - **kwargs: Any - ) -> Iterator[bytes]: - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - _params = kwargs.pop("params", {}) or {} - - content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - cls: ClsType[Iterator[bytes]] = kwargs.pop("cls", None) - - content_type = content_type or "application/json" - _content = None - if isinstance(machines, (IOBase, bytes)): - _content = machines - else: - _content = json.dumps(machines, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore - - _request = build_agent_pools_delete_machines_request( - resource_group_name=resource_group_name, - resource_name=resource_name, - agent_pool_name=agent_pool_name, - subscription_id=self._config.subscription_id, - content_type=content_type, - api_version=self._config.api_version, - content=_content, - headers=_headers, - params=_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - _decompress = kwargs.pop("decompress", True) - _stream = True - pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access - _request, stream=_stream, **kwargs - ) - - response = pipeline_response.http_response - - if response.status_code not in [202]: - try: - response.read() # Load the body in memory and close the socket - except (StreamConsumedError, StreamClosedError): - pass - map_error(status_code=response.status_code, response=response, error_map=error_map) - error = _failsafe_deserialize( - _models.ErrorResponse, - response, - ) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - - response_headers = {} - response_headers["Azure-AsyncOperation"] = self._deserialize( - "str", response.headers.get("Azure-AsyncOperation") - ) - response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) - response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) - - deserialized = response.iter_bytes() if _decompress else response.iter_raw() - - if cls: - return cls(pipeline_response, deserialized, response_headers) # type: ignore - - return deserialized # type: ignore - - @overload - def begin_delete_machines( - self, - resource_group_name: str, - resource_name: str, - agent_pool_name: str, - machines: _models.AgentPoolDeleteMachinesParameter, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> LROPoller[None]: - """Deletes specific machines in an agent pool. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param resource_name: The name of the managed cluster resource. Required. - :type resource_name: str - :param agent_pool_name: The name of the agent pool. Required. - :type agent_pool_name: str - :param machines: A list of machines from the agent pool to be deleted. Required. - :type machines: ~azure.mgmt.containerservice.models.AgentPoolDeleteMachinesParameter - :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. - Default value is "application/json". - :paramtype content_type: str - :return: An instance of LROPoller that returns None - :rtype: ~azure.core.polling.LROPoller[None] - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @overload - def begin_delete_machines( - self, - resource_group_name: str, - resource_name: str, - agent_pool_name: str, - machines: _types.AgentPoolDeleteMachinesParameter, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> LROPoller[None]: - """Deletes specific machines in an agent pool. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param resource_name: The name of the managed cluster resource. Required. - :type resource_name: str - :param agent_pool_name: The name of the agent pool. Required. - :type agent_pool_name: str - :param machines: A list of machines from the agent pool to be deleted. Required. - :type machines: ~azure.mgmt.containerservice.types.AgentPoolDeleteMachinesParameter - :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. - Default value is "application/json". - :paramtype content_type: str - :return: An instance of LROPoller that returns None - :rtype: ~azure.core.polling.LROPoller[None] - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @overload - def begin_delete_machines( - self, - resource_group_name: str, - resource_name: str, - agent_pool_name: str, - machines: IO[bytes], - *, - content_type: str = "application/json", - **kwargs: Any - ) -> LROPoller[None]: - """Deletes specific machines in an agent pool. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param resource_name: The name of the managed cluster resource. Required. - :type resource_name: str - :param agent_pool_name: The name of the agent pool. Required. - :type agent_pool_name: str - :param machines: A list of machines from the agent pool to be deleted. Required. - :type machines: IO[bytes] - :keyword content_type: Body Parameter content-type. Content type parameter for binary body. - Default value is "application/json". - :paramtype content_type: str - :return: An instance of LROPoller that returns None - :rtype: ~azure.core.polling.LROPoller[None] - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @distributed_trace - def begin_delete_machines( - self, - resource_group_name: str, - resource_name: str, - agent_pool_name: str, - machines: Union[_models.AgentPoolDeleteMachinesParameter, _types.AgentPoolDeleteMachinesParameter, IO[bytes]], - **kwargs: Any - ) -> LROPoller[None]: - """Deletes specific machines in an agent pool. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param resource_name: The name of the managed cluster resource. Required. - :type resource_name: str - :param agent_pool_name: The name of the agent pool. Required. - :type agent_pool_name: str - :param machines: A list of machines from the agent pool to be deleted. Is either a - AgentPoolDeleteMachinesParameter type or a IO[bytes] type. Required. - :type machines: ~azure.mgmt.containerservice.models.AgentPoolDeleteMachinesParameter or - ~azure.mgmt.containerservice.types.AgentPoolDeleteMachinesParameter or IO[bytes] - :return: An instance of LROPoller that returns None - :rtype: ~azure.core.polling.LROPoller[None] - :raises ~azure.core.exceptions.HttpResponseError: - """ - _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - _params = kwargs.pop("params", {}) or {} - - content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - cls: ClsType[None] = kwargs.pop("cls", None) - polling: Union[bool, PollingMethod] = kwargs.pop("polling", True) - lro_delay = kwargs.pop("polling_interval", self._config.polling_interval) - cont_token: Optional[str] = kwargs.pop("continuation_token", None) - if cont_token is None: - raw_result = self._delete_machines_initial( - resource_group_name=resource_group_name, - resource_name=resource_name, - agent_pool_name=agent_pool_name, - machines=machines, - content_type=content_type, - cls=lambda x, y, z: x, - headers=_headers, - params=_params, - **kwargs - ) - raw_result.http_response.read() # type: ignore - kwargs.pop("error_map", None) - - def get_long_running_output(pipeline_response): # pylint: disable=inconsistent-return-statements - if cls: - return cls(pipeline_response, None, {}) # type: ignore - - path_format_arguments = { - "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), - } - - if polling is True: - polling_method: PollingMethod = cast( - PollingMethod, ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) - ) - elif polling is False: - polling_method = cast(PollingMethod, NoPolling()) - else: - polling_method = polling - if cont_token: - return LROPoller[None].from_continuation_token( - polling_method=polling_method, - continuation_token=cont_token, - client=self._client, - deserialization_callback=get_long_running_output, - ) - return LROPoller[None](self._client, raw_result, get_long_running_output, polling_method) # type: ignore - - def _upgrade_node_image_version_initial( - self, resource_group_name: str, resource_name: str, agent_pool_name: str, **kwargs: Any - ) -> Iterator[bytes]: - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - _headers = kwargs.pop("headers", {}) or {} - _params = kwargs.pop("params", {}) or {} - - cls: ClsType[Iterator[bytes]] = kwargs.pop("cls", None) - - _request = build_agent_pools_upgrade_node_image_version_request( - resource_group_name=resource_group_name, - resource_name=resource_name, - agent_pool_name=agent_pool_name, - subscription_id=self._config.subscription_id, - api_version=self._config.api_version, - headers=_headers, - params=_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - _decompress = kwargs.pop("decompress", True) - _stream = True - pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access - _request, stream=_stream, **kwargs - ) - - response = pipeline_response.http_response - - if response.status_code not in [200, 202]: - try: - response.read() # Load the body in memory and close the socket - except (StreamConsumedError, StreamClosedError): - pass - map_error(status_code=response.status_code, response=response, error_map=error_map) - error = _failsafe_deserialize( - _models.ErrorResponse, - response, - ) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - - response_headers = {} - if response.status_code == 202: - response_headers["Azure-AsyncOperation"] = self._deserialize( - "str", response.headers.get("Azure-AsyncOperation") - ) - response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) - response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) - - deserialized = response.iter_bytes() if _decompress else response.iter_raw() - - if cls: - return cls(pipeline_response, deserialized, response_headers) # type: ignore - - return deserialized # type: ignore - - @distributed_trace - def begin_upgrade_node_image_version( - self, resource_group_name: str, resource_name: str, agent_pool_name: str, **kwargs: Any - ) -> LROPoller[None]: - """Upgrades the node image version of an agent pool to the latest. - - Upgrading the node image version of an agent pool applies the newest OS and runtime updates to - the nodes. AKS provides one new image per week with the latest updates. For more details on - node image versions, see: `https://docs.microsoft.com/azure/aks/node-image-upgrade - `_. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param resource_name: The name of the managed cluster resource. Required. - :type resource_name: str - :param agent_pool_name: The name of the agent pool. Required. - :type agent_pool_name: str - :return: An instance of LROPoller that returns None - :rtype: ~azure.core.polling.LROPoller[None] - :raises ~azure.core.exceptions.HttpResponseError: - """ - _headers = kwargs.pop("headers", {}) or {} - _params = kwargs.pop("params", {}) or {} - - cls: ClsType[None] = kwargs.pop("cls", None) - polling: Union[bool, PollingMethod] = kwargs.pop("polling", True) - lro_delay = kwargs.pop("polling_interval", self._config.polling_interval) - cont_token: Optional[str] = kwargs.pop("continuation_token", None) - if cont_token is None: - raw_result = self._upgrade_node_image_version_initial( - resource_group_name=resource_group_name, - resource_name=resource_name, - agent_pool_name=agent_pool_name, - cls=lambda x, y, z: x, - headers=_headers, - params=_params, - **kwargs - ) - raw_result.http_response.read() # type: ignore - kwargs.pop("error_map", None) - - def get_long_running_output(pipeline_response): # pylint: disable=inconsistent-return-statements - if cls: - return cls(pipeline_response, None, {}) # type: ignore - - path_format_arguments = { - "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), - } - - if polling is True: - polling_method: PollingMethod = cast( - PollingMethod, ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) - ) - elif polling is False: - polling_method = cast(PollingMethod, NoPolling()) - else: - polling_method = polling - if cont_token: - return LROPoller[None].from_continuation_token( - polling_method=polling_method, - continuation_token=cont_token, - client=self._client, - deserialization_callback=get_long_running_output, - ) - return LROPoller[None](self._client, raw_result, get_long_running_output, polling_method) # type: ignore - - @overload - def list_bootstrap_data( - self, - resource_group_name: str, - resource_name: str, - agent_pool_name: str, - body: _models.ListBootstrapDataRequest, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> _models.PoolBootstrapData: - """Lists bootstrap data for a FlexNode agent pool. - - Returns pool-level bootstrap configuration for FlexNode machines. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param resource_name: The name of the managed cluster resource. Required. - :type resource_name: str - :param agent_pool_name: The name of the agent pool. Required. - :type agent_pool_name: str - :param body: The content of the action request. Required. - :type body: ~azure.mgmt.containerservice.models.ListBootstrapDataRequest - :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. - Default value is "application/json". - :paramtype content_type: str - :return: PoolBootstrapData. The PoolBootstrapData is compatible with MutableMapping - :rtype: ~azure.mgmt.containerservice.models.PoolBootstrapData - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @overload - def list_bootstrap_data( - self, - resource_group_name: str, - resource_name: str, - agent_pool_name: str, - body: _types.ListBootstrapDataRequest, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> _models.PoolBootstrapData: - """Lists bootstrap data for a FlexNode agent pool. - - Returns pool-level bootstrap configuration for FlexNode machines. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param resource_name: The name of the managed cluster resource. Required. - :type resource_name: str - :param agent_pool_name: The name of the agent pool. Required. - :type agent_pool_name: str - :param body: The content of the action request. Required. - :type body: ~azure.mgmt.containerservice.types.ListBootstrapDataRequest - :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. - Default value is "application/json". - :paramtype content_type: str - :return: PoolBootstrapData. The PoolBootstrapData is compatible with MutableMapping - :rtype: ~azure.mgmt.containerservice.models.PoolBootstrapData - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @overload - def list_bootstrap_data( - self, - resource_group_name: str, - resource_name: str, - agent_pool_name: str, - body: IO[bytes], - *, - content_type: str = "application/json", - **kwargs: Any - ) -> _models.PoolBootstrapData: - """Lists bootstrap data for a FlexNode agent pool. - - Returns pool-level bootstrap configuration for FlexNode machines. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param resource_name: The name of the managed cluster resource. Required. - :type resource_name: str - :param agent_pool_name: The name of the agent pool. Required. - :type agent_pool_name: str - :param body: The content of the action request. Required. - :type body: IO[bytes] - :keyword content_type: Body Parameter content-type. Content type parameter for binary body. - Default value is "application/json". - :paramtype content_type: str - :return: PoolBootstrapData. The PoolBootstrapData is compatible with MutableMapping - :rtype: ~azure.mgmt.containerservice.models.PoolBootstrapData - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @distributed_trace - @api_version_validation( - method_added_on="2026-05-02-preview", - params_added_on={ - "2026-05-02-preview": [ - "api_version", - "subscription_id", - "resource_group_name", - "resource_name", - "agent_pool_name", - "content_type", - "accept", - ] - }, - api_versions_list=["2026-05-02-preview"], - ) - def list_bootstrap_data( - self, - resource_group_name: str, - resource_name: str, - agent_pool_name: str, - body: Union[_models.ListBootstrapDataRequest, _types.ListBootstrapDataRequest, IO[bytes]], - **kwargs: Any - ) -> _models.PoolBootstrapData: - """Lists bootstrap data for a FlexNode agent pool. - - Returns pool-level bootstrap configuration for FlexNode machines. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param resource_name: The name of the managed cluster resource. Required. - :type resource_name: str - :param agent_pool_name: The name of the agent pool. Required. - :type agent_pool_name: str - :param body: The content of the action request. Is either a ListBootstrapDataRequest type or a - IO[bytes] type. Required. - :type body: ~azure.mgmt.containerservice.models.ListBootstrapDataRequest or - ~azure.mgmt.containerservice.types.ListBootstrapDataRequest or IO[bytes] - :return: PoolBootstrapData. The PoolBootstrapData is compatible with MutableMapping - :rtype: ~azure.mgmt.containerservice.models.PoolBootstrapData - :raises ~azure.core.exceptions.HttpResponseError: - """ - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - _params = kwargs.pop("params", {}) or {} - - content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - cls: ClsType[_models.PoolBootstrapData] = kwargs.pop("cls", None) - - content_type = content_type or "application/json" - _content = None - if isinstance(body, (IOBase, bytes)): - _content = body - else: - _content = json.dumps(body, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore - - _request = build_agent_pools_list_bootstrap_data_request( - resource_group_name=resource_group_name, - resource_name=resource_name, - agent_pool_name=agent_pool_name, - subscription_id=self._config.subscription_id, - content_type=content_type, - api_version=self._config.api_version, - content=_content, - headers=_headers, - params=_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - _decompress = kwargs.pop("decompress", True) - _stream = kwargs.pop("stream", False) - pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access - _request, stream=_stream, **kwargs - ) - - response = pipeline_response.http_response - - if response.status_code not in [200]: - if _stream: - try: - response.read() # Load the body in memory and close the socket - except (StreamConsumedError, StreamClosedError): - pass - map_error(status_code=response.status_code, response=response, error_map=error_map) - error = _failsafe_deserialize( - _models.ErrorResponse, - response, - ) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - - if _stream: - deserialized = response.iter_bytes() if _decompress else response.iter_raw() - else: - deserialized = _deserialize(_models.PoolBootstrapData, response.json()) - - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - - return deserialized # type: ignore - - @distributed_trace - def get_available_agent_pool_versions( - self, resource_group_name: str, resource_name: str, **kwargs: Any - ) -> _models.AgentPoolAvailableVersions: - """Gets a list of supported Kubernetes versions for the specified agent pool. - - See `supported Kubernetes versions - `_ for more details about - the version lifecycle. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param resource_name: The name of the managed cluster resource. Required. - :type resource_name: str - :return: AgentPoolAvailableVersions. The AgentPoolAvailableVersions is compatible with - MutableMapping - :rtype: ~azure.mgmt.containerservice.models.AgentPoolAvailableVersions - :raises ~azure.core.exceptions.HttpResponseError: - """ - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - _headers = kwargs.pop("headers", {}) or {} - _params = kwargs.pop("params", {}) or {} - - cls: ClsType[_models.AgentPoolAvailableVersions] = kwargs.pop("cls", None) - - _request = build_agent_pools_get_available_agent_pool_versions_request( - resource_group_name=resource_group_name, - resource_name=resource_name, - subscription_id=self._config.subscription_id, - api_version=self._config.api_version, - headers=_headers, - params=_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - _decompress = kwargs.pop("decompress", True) - _stream = kwargs.pop("stream", False) - pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access - _request, stream=_stream, **kwargs - ) - - response = pipeline_response.http_response - - if response.status_code not in [200]: - if _stream: - try: - response.read() # Load the body in memory and close the socket - except (StreamConsumedError, StreamClosedError): - pass - map_error(status_code=response.status_code, response=response, error_map=error_map) - error = _failsafe_deserialize( - _models.ErrorResponse, - response, - ) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - - if _stream: - deserialized = response.iter_bytes() if _decompress else response.iter_raw() - else: - deserialized = _deserialize(_models.AgentPoolAvailableVersions, response.json()) - - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - - return deserialized # type: ignore - - @distributed_trace - def get_upgrade_profile( - self, resource_group_name: str, resource_name: str, agent_pool_name: str, **kwargs: Any - ) -> _models.AgentPoolUpgradeProfile: - """Gets the upgrade profile for an agent pool. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param resource_name: The name of the managed cluster resource. Required. - :type resource_name: str - :param agent_pool_name: The name of the agent pool. Required. - :type agent_pool_name: str - :return: AgentPoolUpgradeProfile. The AgentPoolUpgradeProfile is compatible with MutableMapping - :rtype: ~azure.mgmt.containerservice.models.AgentPoolUpgradeProfile - :raises ~azure.core.exceptions.HttpResponseError: - """ - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - _headers = kwargs.pop("headers", {}) or {} - _params = kwargs.pop("params", {}) or {} - - cls: ClsType[_models.AgentPoolUpgradeProfile] = kwargs.pop("cls", None) - - _request = build_agent_pools_get_upgrade_profile_request( - resource_group_name=resource_group_name, - resource_name=resource_name, - agent_pool_name=agent_pool_name, - subscription_id=self._config.subscription_id, - api_version=self._config.api_version, - headers=_headers, - params=_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - _decompress = kwargs.pop("decompress", True) - _stream = kwargs.pop("stream", False) - pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access - _request, stream=_stream, **kwargs - ) - - response = pipeline_response.http_response - - if response.status_code not in [200]: - if _stream: - try: - response.read() # Load the body in memory and close the socket - except (StreamConsumedError, StreamClosedError): - pass - map_error(status_code=response.status_code, response=response, error_map=error_map) - error = _failsafe_deserialize( - _models.ErrorResponse, - response, - ) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - - if _stream: - deserialized = response.iter_bytes() if _decompress else response.iter_raw() - else: - deserialized = _deserialize(_models.AgentPoolUpgradeProfile, response.json()) - - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - - return deserialized # type: ignore - - -class ManagedClustersOperations: # pylint: disable=too-many-public-methods - """ - .. warning:: - **DO NOT** instantiate this class directly. - - Instead, you should access the following operations through - :class:`~azure.mgmt.containerservice.ContainerServiceClient`'s - :attr:`managed_clusters` attribute. - """ - - def __init__(self, *args, **kwargs) -> None: - input_args = list(args) - self._client: PipelineClient = input_args.pop(0) if input_args else kwargs.pop("client") - self._config: ContainerServiceClientConfiguration = input_args.pop(0) if input_args else kwargs.pop("config") - self._serialize: Serializer = input_args.pop(0) if input_args else kwargs.pop("serializer") - self._deserialize: Deserializer = input_args.pop(0) if input_args else kwargs.pop("deserializer") - - @distributed_trace - def get(self, resource_group_name: str, resource_name: str, **kwargs: Any) -> _models.ManagedCluster: - """Gets a managed cluster. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param resource_name: The name of the managed cluster resource. Required. - :type resource_name: str - :return: ManagedCluster. The ManagedCluster is compatible with MutableMapping - :rtype: ~azure.mgmt.containerservice.models.ManagedCluster - :raises ~azure.core.exceptions.HttpResponseError: - """ - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - _headers = kwargs.pop("headers", {}) or {} - _params = kwargs.pop("params", {}) or {} - - cls: ClsType[_models.ManagedCluster] = kwargs.pop("cls", None) - - _request = build_managed_clusters_get_request( - resource_group_name=resource_group_name, - resource_name=resource_name, - subscription_id=self._config.subscription_id, - api_version=self._config.api_version, - headers=_headers, - params=_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - _decompress = kwargs.pop("decompress", True) - _stream = kwargs.pop("stream", False) - pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access - _request, stream=_stream, **kwargs - ) - - response = pipeline_response.http_response - - if response.status_code not in [200]: - if _stream: - try: - response.read() # Load the body in memory and close the socket - except (StreamConsumedError, StreamClosedError): - pass - map_error(status_code=response.status_code, response=response, error_map=error_map) - error = _failsafe_deserialize( - _models.ErrorResponse, - response, - ) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - - if _stream: - deserialized = response.iter_bytes() if _decompress else response.iter_raw() - else: - deserialized = _deserialize(_models.ManagedCluster, response.json()) - - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - - return deserialized # type: ignore - - def _create_or_update_initial( - self, - resource_group_name: str, - resource_name: str, - parameters: Union[_models.ManagedCluster, _types.ManagedCluster, IO[bytes]], - *, - etag: Optional[str] = None, - match_condition: Optional[MatchConditions] = None, - **kwargs: Any - ) -> Iterator[bytes]: - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - if match_condition == MatchConditions.IfNotModified: - error_map[412] = ResourceModifiedError - elif match_condition == MatchConditions.IfPresent: - error_map[412] = ResourceNotFoundError - elif match_condition == MatchConditions.IfMissing: - error_map[412] = ResourceExistsError - error_map.update(kwargs.pop("error_map", {}) or {}) - - _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - _params = kwargs.pop("params", {}) or {} - - content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - cls: ClsType[Iterator[bytes]] = kwargs.pop("cls", None) - - content_type = content_type or "application/json" - _content = None - if isinstance(parameters, (IOBase, bytes)): - _content = parameters - else: - _content = json.dumps(parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore - - _request = build_managed_clusters_create_or_update_request( - resource_group_name=resource_group_name, - resource_name=resource_name, - subscription_id=self._config.subscription_id, - etag=etag, - match_condition=match_condition, - content_type=content_type, - api_version=self._config.api_version, - content=_content, - headers=_headers, - params=_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - _decompress = kwargs.pop("decompress", True) - _stream = True - pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access - _request, stream=_stream, **kwargs - ) - - response = pipeline_response.http_response - - if response.status_code not in [200, 201]: - try: - response.read() # Load the body in memory and close the socket - except (StreamConsumedError, StreamClosedError): - pass - map_error(status_code=response.status_code, response=response, error_map=error_map) - error = _failsafe_deserialize( - _models.ErrorResponse, - response, - ) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - - response_headers = {} - if response.status_code == 201: - response_headers["Azure-AsyncOperation"] = self._deserialize( - "str", response.headers.get("Azure-AsyncOperation") - ) - response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) - - deserialized = response.iter_bytes() if _decompress else response.iter_raw() - - if cls: - return cls(pipeline_response, deserialized, response_headers) # type: ignore - - return deserialized # type: ignore - - @overload - def begin_create_or_update( - self, - resource_group_name: str, - resource_name: str, - parameters: _models.ManagedCluster, - *, - content_type: str = "application/json", - etag: Optional[str] = None, - match_condition: Optional[MatchConditions] = None, - **kwargs: Any - ) -> LROPoller[_models.ManagedCluster]: - """Creates or updates a managed cluster. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param resource_name: The name of the managed cluster resource. Required. - :type resource_name: str - :param parameters: The managed cluster to create or update. Required. - :type parameters: ~azure.mgmt.containerservice.models.ManagedCluster - :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. - Default value is "application/json". - :paramtype content_type: str - :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is - None. - :paramtype etag: str - :keyword match_condition: The match condition to use upon the etag. Default value is None. - :paramtype match_condition: ~azure.core.MatchConditions - :return: An instance of LROPoller that returns ManagedCluster. The ManagedCluster is compatible - with MutableMapping - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.containerservice.models.ManagedCluster] - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @overload - def begin_create_or_update( - self, - resource_group_name: str, - resource_name: str, - parameters: _types.ManagedCluster, - *, - content_type: str = "application/json", - etag: Optional[str] = None, - match_condition: Optional[MatchConditions] = None, - **kwargs: Any - ) -> LROPoller[_models.ManagedCluster]: - """Creates or updates a managed cluster. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param resource_name: The name of the managed cluster resource. Required. - :type resource_name: str - :param parameters: The managed cluster to create or update. Required. - :type parameters: ~azure.mgmt.containerservice.types.ManagedCluster - :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. - Default value is "application/json". - :paramtype content_type: str - :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is - None. - :paramtype etag: str - :keyword match_condition: The match condition to use upon the etag. Default value is None. - :paramtype match_condition: ~azure.core.MatchConditions - :return: An instance of LROPoller that returns ManagedCluster. The ManagedCluster is compatible - with MutableMapping - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.containerservice.models.ManagedCluster] - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @overload - def begin_create_or_update( - self, - resource_group_name: str, - resource_name: str, - parameters: IO[bytes], - *, - content_type: str = "application/json", - etag: Optional[str] = None, - match_condition: Optional[MatchConditions] = None, - **kwargs: Any - ) -> LROPoller[_models.ManagedCluster]: - """Creates or updates a managed cluster. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param resource_name: The name of the managed cluster resource. Required. - :type resource_name: str - :param parameters: The managed cluster to create or update. Required. - :type parameters: IO[bytes] - :keyword content_type: Body Parameter content-type. Content type parameter for binary body. - Default value is "application/json". - :paramtype content_type: str - :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is - None. - :paramtype etag: str - :keyword match_condition: The match condition to use upon the etag. Default value is None. - :paramtype match_condition: ~azure.core.MatchConditions - :return: An instance of LROPoller that returns ManagedCluster. The ManagedCluster is compatible - with MutableMapping - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.containerservice.models.ManagedCluster] - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @distributed_trace - def begin_create_or_update( - self, - resource_group_name: str, - resource_name: str, - parameters: Union[_models.ManagedCluster, _types.ManagedCluster, IO[bytes]], - *, - etag: Optional[str] = None, - match_condition: Optional[MatchConditions] = None, - **kwargs: Any - ) -> LROPoller[_models.ManagedCluster]: - """Creates or updates a managed cluster. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param resource_name: The name of the managed cluster resource. Required. - :type resource_name: str - :param parameters: The managed cluster to create or update. Is either a ManagedCluster type or - a IO[bytes] type. Required. - :type parameters: ~azure.mgmt.containerservice.models.ManagedCluster or - ~azure.mgmt.containerservice.types.ManagedCluster or IO[bytes] - :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is - None. - :paramtype etag: str - :keyword match_condition: The match condition to use upon the etag. Default value is None. - :paramtype match_condition: ~azure.core.MatchConditions - :return: An instance of LROPoller that returns ManagedCluster. The ManagedCluster is compatible - with MutableMapping - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.containerservice.models.ManagedCluster] - :raises ~azure.core.exceptions.HttpResponseError: - """ - _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - _params = kwargs.pop("params", {}) or {} - - content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - cls: ClsType[_models.ManagedCluster] = kwargs.pop("cls", None) - polling: Union[bool, PollingMethod] = kwargs.pop("polling", True) - lro_delay = kwargs.pop("polling_interval", self._config.polling_interval) - cont_token: Optional[str] = kwargs.pop("continuation_token", None) - if cont_token is None: - raw_result = self._create_or_update_initial( - resource_group_name=resource_group_name, - resource_name=resource_name, - parameters=parameters, - etag=etag, - match_condition=match_condition, - content_type=content_type, - cls=lambda x, y, z: x, - headers=_headers, - params=_params, - **kwargs - ) - raw_result.http_response.read() # type: ignore - kwargs.pop("error_map", None) - - def get_long_running_output(pipeline_response): - response = pipeline_response.http_response - deserialized = _deserialize(_models.ManagedCluster, response.json()) - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - return deserialized - - path_format_arguments = { - "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), - } - - if polling is True: - polling_method: PollingMethod = cast( - PollingMethod, ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) - ) - elif polling is False: - polling_method = cast(PollingMethod, NoPolling()) - else: - polling_method = polling - if cont_token: - return LROPoller[_models.ManagedCluster].from_continuation_token( - polling_method=polling_method, - continuation_token=cont_token, - client=self._client, - deserialization_callback=get_long_running_output, - ) - return LROPoller[_models.ManagedCluster]( - self._client, raw_result, get_long_running_output, polling_method # type: ignore - ) - - def _update_tags_initial( - self, - resource_group_name: str, - resource_name: str, - parameters: Union[_models.TagsObject, _types.TagsObject, IO[bytes]], - *, - etag: Optional[str] = None, - match_condition: Optional[MatchConditions] = None, - **kwargs: Any - ) -> Iterator[bytes]: - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - if match_condition == MatchConditions.IfNotModified: - error_map[412] = ResourceModifiedError - elif match_condition == MatchConditions.IfPresent: - error_map[412] = ResourceNotFoundError - elif match_condition == MatchConditions.IfMissing: - error_map[412] = ResourceExistsError - error_map.update(kwargs.pop("error_map", {}) or {}) - - _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - _params = kwargs.pop("params", {}) or {} - - content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - cls: ClsType[Iterator[bytes]] = kwargs.pop("cls", None) - - content_type = content_type or "application/json" - _content = None - if isinstance(parameters, (IOBase, bytes)): - _content = parameters - else: - _content = json.dumps(parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore - - _request = build_managed_clusters_update_tags_request( - resource_group_name=resource_group_name, - resource_name=resource_name, - subscription_id=self._config.subscription_id, - etag=etag, - match_condition=match_condition, - content_type=content_type, - api_version=self._config.api_version, - content=_content, - headers=_headers, - params=_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - _decompress = kwargs.pop("decompress", True) - _stream = True - pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access - _request, stream=_stream, **kwargs - ) - - response = pipeline_response.http_response - - if response.status_code not in [200, 202]: - try: - response.read() # Load the body in memory and close the socket - except (StreamConsumedError, StreamClosedError): - pass - map_error(status_code=response.status_code, response=response, error_map=error_map) - error = _failsafe_deserialize( - _models.ErrorResponse, - response, - ) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - - response_headers = {} - if response.status_code == 202: - response_headers["Azure-AsyncOperation"] = self._deserialize( - "str", response.headers.get("Azure-AsyncOperation") - ) - response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) - response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) - - deserialized = response.iter_bytes() if _decompress else response.iter_raw() - - if cls: - return cls(pipeline_response, deserialized, response_headers) # type: ignore - - return deserialized # type: ignore - - @overload - def begin_update_tags( - self, - resource_group_name: str, - resource_name: str, - parameters: _models.TagsObject, - *, - content_type: str = "application/json", - etag: Optional[str] = None, - match_condition: Optional[MatchConditions] = None, - **kwargs: Any - ) -> LROPoller[_models.ManagedCluster]: - """Updates tags on a managed cluster. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param resource_name: The name of the managed cluster resource. Required. - :type resource_name: str - :param parameters: Parameters supplied to the Update Managed Cluster Tags operation. Required. - :type parameters: ~azure.mgmt.containerservice.models.TagsObject - :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. - Default value is "application/json". - :paramtype content_type: str - :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is - None. - :paramtype etag: str - :keyword match_condition: The match condition to use upon the etag. Default value is None. - :paramtype match_condition: ~azure.core.MatchConditions - :return: An instance of LROPoller that returns ManagedCluster. The ManagedCluster is compatible - with MutableMapping - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.containerservice.models.ManagedCluster] - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @overload - def begin_update_tags( - self, - resource_group_name: str, - resource_name: str, - parameters: _types.TagsObject, - *, - content_type: str = "application/json", - etag: Optional[str] = None, - match_condition: Optional[MatchConditions] = None, - **kwargs: Any - ) -> LROPoller[_models.ManagedCluster]: - """Updates tags on a managed cluster. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param resource_name: The name of the managed cluster resource. Required. - :type resource_name: str - :param parameters: Parameters supplied to the Update Managed Cluster Tags operation. Required. - :type parameters: ~azure.mgmt.containerservice.types.TagsObject - :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. - Default value is "application/json". - :paramtype content_type: str - :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is - None. - :paramtype etag: str - :keyword match_condition: The match condition to use upon the etag. Default value is None. - :paramtype match_condition: ~azure.core.MatchConditions - :return: An instance of LROPoller that returns ManagedCluster. The ManagedCluster is compatible - with MutableMapping - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.containerservice.models.ManagedCluster] - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @overload - def begin_update_tags( - self, - resource_group_name: str, - resource_name: str, - parameters: IO[bytes], - *, - content_type: str = "application/json", - etag: Optional[str] = None, - match_condition: Optional[MatchConditions] = None, - **kwargs: Any - ) -> LROPoller[_models.ManagedCluster]: - """Updates tags on a managed cluster. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param resource_name: The name of the managed cluster resource. Required. - :type resource_name: str - :param parameters: Parameters supplied to the Update Managed Cluster Tags operation. Required. - :type parameters: IO[bytes] - :keyword content_type: Body Parameter content-type. Content type parameter for binary body. - Default value is "application/json". - :paramtype content_type: str - :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is - None. - :paramtype etag: str - :keyword match_condition: The match condition to use upon the etag. Default value is None. - :paramtype match_condition: ~azure.core.MatchConditions - :return: An instance of LROPoller that returns ManagedCluster. The ManagedCluster is compatible - with MutableMapping - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.containerservice.models.ManagedCluster] - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @distributed_trace - def begin_update_tags( - self, - resource_group_name: str, - resource_name: str, - parameters: Union[_models.TagsObject, _types.TagsObject, IO[bytes]], - *, - etag: Optional[str] = None, - match_condition: Optional[MatchConditions] = None, - **kwargs: Any - ) -> LROPoller[_models.ManagedCluster]: - """Updates tags on a managed cluster. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param resource_name: The name of the managed cluster resource. Required. - :type resource_name: str - :param parameters: Parameters supplied to the Update Managed Cluster Tags operation. Is either - a TagsObject type or a IO[bytes] type. Required. - :type parameters: ~azure.mgmt.containerservice.models.TagsObject or - ~azure.mgmt.containerservice.types.TagsObject or IO[bytes] - :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is - None. - :paramtype etag: str - :keyword match_condition: The match condition to use upon the etag. Default value is None. - :paramtype match_condition: ~azure.core.MatchConditions - :return: An instance of LROPoller that returns ManagedCluster. The ManagedCluster is compatible - with MutableMapping - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.containerservice.models.ManagedCluster] - :raises ~azure.core.exceptions.HttpResponseError: - """ - _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - _params = kwargs.pop("params", {}) or {} - - content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - cls: ClsType[_models.ManagedCluster] = kwargs.pop("cls", None) - polling: Union[bool, PollingMethod] = kwargs.pop("polling", True) - lro_delay = kwargs.pop("polling_interval", self._config.polling_interval) - cont_token: Optional[str] = kwargs.pop("continuation_token", None) - if cont_token is None: - raw_result = self._update_tags_initial( - resource_group_name=resource_group_name, - resource_name=resource_name, - parameters=parameters, - etag=etag, - match_condition=match_condition, - content_type=content_type, - cls=lambda x, y, z: x, - headers=_headers, - params=_params, - **kwargs - ) - raw_result.http_response.read() # type: ignore - kwargs.pop("error_map", None) - - def get_long_running_output(pipeline_response): - response = pipeline_response.http_response - deserialized = _deserialize(_models.ManagedCluster, response.json()) - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - return deserialized - - path_format_arguments = { - "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), - } - - if polling is True: - polling_method: PollingMethod = cast( - PollingMethod, ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) - ) - elif polling is False: - polling_method = cast(PollingMethod, NoPolling()) - else: - polling_method = polling - if cont_token: - return LROPoller[_models.ManagedCluster].from_continuation_token( - polling_method=polling_method, - continuation_token=cont_token, - client=self._client, - deserialization_callback=get_long_running_output, - ) - return LROPoller[_models.ManagedCluster]( - self._client, raw_result, get_long_running_output, polling_method # type: ignore - ) - - @api_version_validation( - params_added_on={"2026-05-02-preview": ["ignore_pod_disruption_budget"]}, - api_versions_list=[ - "2025-10-01", - "2026-01-01", - "2026-02-01", - "2026-03-01", - "2026-04-01", - "2026-05-01", - "2026-05-02-preview", - ], - ) - def _delete_initial( - self, - resource_group_name: str, - resource_name: str, - *, - ignore_pod_disruption_budget: Optional[bool] = None, - etag: Optional[str] = None, - match_condition: Optional[MatchConditions] = None, - **kwargs: Any - ) -> Iterator[bytes]: - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - if match_condition == MatchConditions.IfNotModified: - error_map[412] = ResourceModifiedError - elif match_condition == MatchConditions.IfPresent: - error_map[412] = ResourceNotFoundError - elif match_condition == MatchConditions.IfMissing: - error_map[412] = ResourceExistsError - error_map.update(kwargs.pop("error_map", {}) or {}) - - _headers = kwargs.pop("headers", {}) or {} - _params = kwargs.pop("params", {}) or {} - - cls: ClsType[Iterator[bytes]] = kwargs.pop("cls", None) - - _request = build_managed_clusters_delete_request( - resource_group_name=resource_group_name, - resource_name=resource_name, - subscription_id=self._config.subscription_id, - ignore_pod_disruption_budget=ignore_pod_disruption_budget, - etag=etag, - match_condition=match_condition, - api_version=self._config.api_version, - headers=_headers, - params=_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - _decompress = kwargs.pop("decompress", True) - _stream = True - pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access - _request, stream=_stream, **kwargs - ) - - response = pipeline_response.http_response - - if response.status_code not in [202, 204]: - try: - response.read() # Load the body in memory and close the socket - except (StreamConsumedError, StreamClosedError): - pass - map_error(status_code=response.status_code, response=response, error_map=error_map) - error = _failsafe_deserialize( - _models.ErrorResponse, - response, - ) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - - response_headers = {} - if response.status_code == 202: - response_headers["Azure-AsyncOperation"] = self._deserialize( - "str", response.headers.get("Azure-AsyncOperation") - ) - response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) - response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) - - deserialized = response.iter_bytes() if _decompress else response.iter_raw() - - if cls: - return cls(pipeline_response, deserialized, response_headers) # type: ignore - - return deserialized # type: ignore - - @distributed_trace - @api_version_validation( - params_added_on={"2026-05-02-preview": ["ignore_pod_disruption_budget"]}, - api_versions_list=[ - "2025-10-01", - "2026-01-01", - "2026-02-01", - "2026-03-01", - "2026-04-01", - "2026-05-01", - "2026-05-02-preview", - ], - ) - def begin_delete( - self, - resource_group_name: str, - resource_name: str, - *, - ignore_pod_disruption_budget: Optional[bool] = None, - etag: Optional[str] = None, - match_condition: Optional[MatchConditions] = None, - **kwargs: Any - ) -> LROPoller[None]: - """Deletes a managed cluster. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param resource_name: The name of the managed cluster resource. Required. - :type resource_name: str - :keyword ignore_pod_disruption_budget: ignore-pod-disruption-budget=true to delete those pods - on a node without considering Pod Disruption Budget. Default value is None. - :paramtype ignore_pod_disruption_budget: bool - :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is - None. - :paramtype etag: str - :keyword match_condition: The match condition to use upon the etag. Default value is None. - :paramtype match_condition: ~azure.core.MatchConditions - :return: An instance of LROPoller that returns None - :rtype: ~azure.core.polling.LROPoller[None] - :raises ~azure.core.exceptions.HttpResponseError: - """ - _headers = kwargs.pop("headers", {}) or {} - _params = kwargs.pop("params", {}) or {} - - cls: ClsType[None] = kwargs.pop("cls", None) - polling: Union[bool, PollingMethod] = kwargs.pop("polling", True) - lro_delay = kwargs.pop("polling_interval", self._config.polling_interval) - cont_token: Optional[str] = kwargs.pop("continuation_token", None) - if cont_token is None: - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - resource_name=resource_name, - ignore_pod_disruption_budget=ignore_pod_disruption_budget, - etag=etag, - match_condition=match_condition, - cls=lambda x, y, z: x, - headers=_headers, - params=_params, - **kwargs - ) - raw_result.http_response.read() # type: ignore - kwargs.pop("error_map", None) - - def get_long_running_output(pipeline_response): # pylint: disable=inconsistent-return-statements - if cls: - return cls(pipeline_response, None, {}) # type: ignore - - path_format_arguments = { - "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), - } - - if polling is True: - polling_method: PollingMethod = cast( - PollingMethod, ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) - ) - elif polling is False: - polling_method = cast(PollingMethod, NoPolling()) - else: - polling_method = polling - if cont_token: - return LROPoller[None].from_continuation_token( - polling_method=polling_method, - continuation_token=cont_token, - client=self._client, - deserialization_callback=get_long_running_output, - ) - return LROPoller[None](self._client, raw_result, get_long_running_output, polling_method) # type: ignore - - @distributed_trace - def list_by_resource_group(self, resource_group_name: str, **kwargs: Any) -> ItemPaged["_models.ManagedCluster"]: - """Lists managed clusters in the specified subscription and resource group. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :return: An iterator like instance of ManagedCluster - :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.containerservice.models.ManagedCluster] - :raises ~azure.core.exceptions.HttpResponseError: - """ - _headers = kwargs.pop("headers", {}) or {} - _params = kwargs.pop("params", {}) or {} - - cls: ClsType[List[_models.ManagedCluster]] = kwargs.pop("cls", None) - - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - def prepare_request(next_link=None): - if not next_link: - - _request = build_managed_clusters_list_by_resource_group_request( - resource_group_name=resource_group_name, - subscription_id=self._config.subscription_id, - api_version=self._config.api_version, - headers=_headers, - params=_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url( - "self._config.base_url", self._config.base_url, "str", skip_quote=True - ), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - else: - # make call to next link with the client's api-version - _parsed_next_link = urllib.parse.urlparse(next_link) - _next_request_params = case_insensitive_dict( - { - key: [urllib.parse.quote(v) for v in value] - for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items() - } - ) - _next_request_params["api-version"] = self._config.api_version - _request = HttpRequest( - "GET", - urllib.parse.urljoin(next_link, _parsed_next_link.path), - headers=_headers, - params=_next_request_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url( - "self._config.base_url", self._config.base_url, "str", skip_quote=True - ), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - return _request - - def extract_data(pipeline_response): - deserialized = pipeline_response.http_response.json() - list_of_elem = _deserialize( - List[_models.ManagedCluster], - deserialized.get("value", []), - ) - if cls: - list_of_elem = cls(list_of_elem) # type: ignore - return deserialized.get("nextLink") or None, iter(list_of_elem) - - def get_next(next_link=None): - _request = prepare_request(next_link) - - _stream = False - pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access - _request, stream=_stream, **kwargs - ) - response = pipeline_response.http_response - - if response.status_code not in [200]: - map_error(status_code=response.status_code, response=response, error_map=error_map) - error = _failsafe_deserialize( - _models.ErrorResponse, - response, - ) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - - return pipeline_response - - return ItemPaged(get_next, extract_data) - - @distributed_trace - def list(self, **kwargs: Any) -> ItemPaged["_models.ManagedCluster"]: - """Gets a list of managed clusters in the specified subscription. - - :return: An iterator like instance of ManagedCluster - :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.containerservice.models.ManagedCluster] - :raises ~azure.core.exceptions.HttpResponseError: - """ - _headers = kwargs.pop("headers", {}) or {} - _params = kwargs.pop("params", {}) or {} - - cls: ClsType[List[_models.ManagedCluster]] = kwargs.pop("cls", None) - - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - def prepare_request(next_link=None): - if not next_link: - - _request = build_managed_clusters_list_request( - subscription_id=self._config.subscription_id, - api_version=self._config.api_version, - headers=_headers, - params=_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url( - "self._config.base_url", self._config.base_url, "str", skip_quote=True - ), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - else: - # make call to next link with the client's api-version - _parsed_next_link = urllib.parse.urlparse(next_link) - _next_request_params = case_insensitive_dict( - { - key: [urllib.parse.quote(v) for v in value] - for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items() - } - ) - _next_request_params["api-version"] = self._config.api_version - _request = HttpRequest( - "GET", - urllib.parse.urljoin(next_link, _parsed_next_link.path), - headers=_headers, - params=_next_request_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url( - "self._config.base_url", self._config.base_url, "str", skip_quote=True - ), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - return _request - - def extract_data(pipeline_response): - deserialized = pipeline_response.http_response.json() - list_of_elem = _deserialize( - List[_models.ManagedCluster], - deserialized.get("value", []), - ) - if cls: - list_of_elem = cls(list_of_elem) # type: ignore - return deserialized.get("nextLink") or None, iter(list_of_elem) - - def get_next(next_link=None): - _request = prepare_request(next_link) - - _stream = False - pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access - _request, stream=_stream, **kwargs - ) - response = pipeline_response.http_response - - if response.status_code not in [200]: - map_error(status_code=response.status_code, response=response, error_map=error_map) - error = _failsafe_deserialize( - _models.ErrorResponse, - response, - ) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - - return pipeline_response - - return ItemPaged(get_next, extract_data) - - @distributed_trace - def get_access_profile( - self, resource_group_name: str, resource_name: str, role_name: str, **kwargs: Any - ) -> _models.ManagedClusterAccessProfile: - """Gets an access profile of a managed cluster. - - **WARNING**: This API will be deprecated. Instead use `ListClusterUserCredentials - `_ or - `ListClusterAdminCredentials - `_ . - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param resource_name: The name of the managed cluster resource. Required. - :type resource_name: str - :param role_name: The name of the role for managed cluster accessProfile resource. Required. - :type role_name: str - :return: ManagedClusterAccessProfile. The ManagedClusterAccessProfile is compatible with - MutableMapping - :rtype: ~azure.mgmt.containerservice.models.ManagedClusterAccessProfile - :raises ~azure.core.exceptions.HttpResponseError: - """ - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - _headers = kwargs.pop("headers", {}) or {} - _params = kwargs.pop("params", {}) or {} - - cls: ClsType[_models.ManagedClusterAccessProfile] = kwargs.pop("cls", None) - - _request = build_managed_clusters_get_access_profile_request( - resource_group_name=resource_group_name, - resource_name=resource_name, - role_name=role_name, - subscription_id=self._config.subscription_id, - api_version=self._config.api_version, - headers=_headers, - params=_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - _decompress = kwargs.pop("decompress", True) - _stream = kwargs.pop("stream", False) - pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access - _request, stream=_stream, **kwargs - ) - - response = pipeline_response.http_response - - if response.status_code not in [200]: - if _stream: - try: - response.read() # Load the body in memory and close the socket - except (StreamConsumedError, StreamClosedError): - pass - map_error(status_code=response.status_code, response=response, error_map=error_map) - error = _failsafe_deserialize( - _models.ErrorResponse, - response, - ) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - - if _stream: - deserialized = response.iter_bytes() if _decompress else response.iter_raw() - else: - deserialized = _deserialize(_models.ManagedClusterAccessProfile, response.json()) - - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - - return deserialized # type: ignore - - @distributed_trace - def list_cluster_admin_credentials( - self, resource_group_name: str, resource_name: str, *, server_fqdn: Optional[str] = None, **kwargs: Any - ) -> _models.CredentialResults: - """Lists the admin credentials of a managed cluster. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param resource_name: The name of the managed cluster resource. Required. - :type resource_name: str - :keyword server_fqdn: server fqdn type for credentials to be returned. Default value is None. - :paramtype server_fqdn: str - :return: CredentialResults. The CredentialResults is compatible with MutableMapping - :rtype: ~azure.mgmt.containerservice.models.CredentialResults - :raises ~azure.core.exceptions.HttpResponseError: - """ - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - _headers = kwargs.pop("headers", {}) or {} - _params = kwargs.pop("params", {}) or {} - - cls: ClsType[_models.CredentialResults] = kwargs.pop("cls", None) - - _request = build_managed_clusters_list_cluster_admin_credentials_request( - resource_group_name=resource_group_name, - resource_name=resource_name, - subscription_id=self._config.subscription_id, - server_fqdn=server_fqdn, - api_version=self._config.api_version, - headers=_headers, - params=_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - _decompress = kwargs.pop("decompress", True) - _stream = kwargs.pop("stream", False) - pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access - _request, stream=_stream, **kwargs - ) - - response = pipeline_response.http_response - - if response.status_code not in [200]: - if _stream: - try: - response.read() # Load the body in memory and close the socket - except (StreamConsumedError, StreamClosedError): - pass - map_error(status_code=response.status_code, response=response, error_map=error_map) - error = _failsafe_deserialize( - _models.ErrorResponse, - response, - ) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - - if _stream: - deserialized = response.iter_bytes() if _decompress else response.iter_raw() - else: - deserialized = _deserialize(_models.CredentialResults, response.json()) - - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - - return deserialized # type: ignore - - @distributed_trace - def list_cluster_user_credentials( - self, - resource_group_name: str, - resource_name: str, - *, - server_fqdn: Optional[str] = None, - format: Optional[Union[str, _models.Format]] = None, - **kwargs: Any - ) -> _models.CredentialResults: - """Lists the user credentials of a managed cluster. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param resource_name: The name of the managed cluster resource. Required. - :type resource_name: str - :keyword server_fqdn: server fqdn type for credentials to be returned. Default value is None. - :paramtype server_fqdn: str - :keyword format: Only apply to AAD clusters, specifies the format of returned kubeconfig. - Format 'azure' will return azure auth-provider kubeconfig; format 'exec' will return exec - format kubeconfig, which requires kubelogin binary in the path. Known values are: "azure" and - "exec". Default value is None. - :paramtype format: str or ~azure.mgmt.containerservice.models.Format - :return: CredentialResults. The CredentialResults is compatible with MutableMapping - :rtype: ~azure.mgmt.containerservice.models.CredentialResults - :raises ~azure.core.exceptions.HttpResponseError: - """ - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - _headers = kwargs.pop("headers", {}) or {} - _params = kwargs.pop("params", {}) or {} - - cls: ClsType[_models.CredentialResults] = kwargs.pop("cls", None) - - _request = build_managed_clusters_list_cluster_user_credentials_request( - resource_group_name=resource_group_name, - resource_name=resource_name, - subscription_id=self._config.subscription_id, - server_fqdn=server_fqdn, - format=format, - api_version=self._config.api_version, - headers=_headers, - params=_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - _decompress = kwargs.pop("decompress", True) - _stream = kwargs.pop("stream", False) - pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access - _request, stream=_stream, **kwargs - ) - - response = pipeline_response.http_response - - if response.status_code not in [200]: - if _stream: - try: - response.read() # Load the body in memory and close the socket - except (StreamConsumedError, StreamClosedError): - pass - map_error(status_code=response.status_code, response=response, error_map=error_map) - error = _failsafe_deserialize( - _models.ErrorResponse, - response, - ) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - - if _stream: - deserialized = response.iter_bytes() if _decompress else response.iter_raw() - else: - deserialized = _deserialize(_models.CredentialResults, response.json()) - - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - - return deserialized # type: ignore - - @distributed_trace - def list_cluster_monitoring_user_credentials( - self, resource_group_name: str, resource_name: str, *, server_fqdn: Optional[str] = None, **kwargs: Any - ) -> _models.CredentialResults: - """Lists the cluster monitoring user credentials of a managed cluster. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param resource_name: The name of the managed cluster resource. Required. - :type resource_name: str - :keyword server_fqdn: server fqdn type for credentials to be returned. Default value is None. - :paramtype server_fqdn: str - :return: CredentialResults. The CredentialResults is compatible with MutableMapping - :rtype: ~azure.mgmt.containerservice.models.CredentialResults - :raises ~azure.core.exceptions.HttpResponseError: - """ - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - _headers = kwargs.pop("headers", {}) or {} - _params = kwargs.pop("params", {}) or {} - - cls: ClsType[_models.CredentialResults] = kwargs.pop("cls", None) - - _request = build_managed_clusters_list_cluster_monitoring_user_credentials_request( - resource_group_name=resource_group_name, - resource_name=resource_name, - subscription_id=self._config.subscription_id, - server_fqdn=server_fqdn, - api_version=self._config.api_version, - headers=_headers, - params=_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - _decompress = kwargs.pop("decompress", True) - _stream = kwargs.pop("stream", False) - pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access - _request, stream=_stream, **kwargs - ) - - response = pipeline_response.http_response - - if response.status_code not in [200]: - if _stream: - try: - response.read() # Load the body in memory and close the socket - except (StreamConsumedError, StreamClosedError): - pass - map_error(status_code=response.status_code, response=response, error_map=error_map) - error = _failsafe_deserialize( - _models.ErrorResponse, - response, - ) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - - if _stream: - deserialized = response.iter_bytes() if _decompress else response.iter_raw() - else: - deserialized = _deserialize(_models.CredentialResults, response.json()) - - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - - return deserialized # type: ignore - - def _reset_service_principal_profile_initial( - self, - resource_group_name: str, - resource_name: str, - parameters: Union[ - _models.ManagedClusterServicePrincipalProfile, _types.ManagedClusterServicePrincipalProfile, IO[bytes] - ], - **kwargs: Any - ) -> Iterator[bytes]: - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - _params = kwargs.pop("params", {}) or {} - - content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - cls: ClsType[Iterator[bytes]] = kwargs.pop("cls", None) - - content_type = content_type or "application/json" - _content = None - if isinstance(parameters, (IOBase, bytes)): - _content = parameters - else: - _content = json.dumps(parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore - - _request = build_managed_clusters_reset_service_principal_profile_request( - resource_group_name=resource_group_name, - resource_name=resource_name, - subscription_id=self._config.subscription_id, - content_type=content_type, - api_version=self._config.api_version, - content=_content, - headers=_headers, - params=_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - _decompress = kwargs.pop("decompress", True) - _stream = True - pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access - _request, stream=_stream, **kwargs - ) - - response = pipeline_response.http_response - - if response.status_code not in [200, 202]: - try: - response.read() # Load the body in memory and close the socket - except (StreamConsumedError, StreamClosedError): - pass - map_error(status_code=response.status_code, response=response, error_map=error_map) - error = _failsafe_deserialize( - _models.ErrorResponse, - response, - ) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - - response_headers = {} - if response.status_code == 202: - response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) - response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) - - deserialized = response.iter_bytes() if _decompress else response.iter_raw() - - if cls: - return cls(pipeline_response, deserialized, response_headers) # type: ignore - - return deserialized # type: ignore - - @overload - def begin_reset_service_principal_profile( - self, - resource_group_name: str, - resource_name: str, - parameters: _models.ManagedClusterServicePrincipalProfile, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> LROPoller[None]: - """Reset the Service Principal Profile of a managed cluster. - - This action cannot be performed on a cluster that is not using a service principal. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param resource_name: The name of the managed cluster resource. Required. - :type resource_name: str - :param parameters: The service principal profile to set on the managed cluster. Required. - :type parameters: ~azure.mgmt.containerservice.models.ManagedClusterServicePrincipalProfile - :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. - Default value is "application/json". - :paramtype content_type: str - :return: An instance of LROPoller that returns None - :rtype: ~azure.core.polling.LROPoller[None] - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @overload - def begin_reset_service_principal_profile( - self, - resource_group_name: str, - resource_name: str, - parameters: _types.ManagedClusterServicePrincipalProfile, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> LROPoller[None]: - """Reset the Service Principal Profile of a managed cluster. - - This action cannot be performed on a cluster that is not using a service principal. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param resource_name: The name of the managed cluster resource. Required. - :type resource_name: str - :param parameters: The service principal profile to set on the managed cluster. Required. - :type parameters: ~azure.mgmt.containerservice.types.ManagedClusterServicePrincipalProfile - :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. - Default value is "application/json". - :paramtype content_type: str - :return: An instance of LROPoller that returns None - :rtype: ~azure.core.polling.LROPoller[None] - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @overload - def begin_reset_service_principal_profile( - self, - resource_group_name: str, - resource_name: str, - parameters: IO[bytes], - *, - content_type: str = "application/json", - **kwargs: Any - ) -> LROPoller[None]: - """Reset the Service Principal Profile of a managed cluster. - - This action cannot be performed on a cluster that is not using a service principal. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param resource_name: The name of the managed cluster resource. Required. - :type resource_name: str - :param parameters: The service principal profile to set on the managed cluster. Required. - :type parameters: IO[bytes] - :keyword content_type: Body Parameter content-type. Content type parameter for binary body. - Default value is "application/json". - :paramtype content_type: str - :return: An instance of LROPoller that returns None - :rtype: ~azure.core.polling.LROPoller[None] - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @distributed_trace - def begin_reset_service_principal_profile( - self, - resource_group_name: str, - resource_name: str, - parameters: Union[ - _models.ManagedClusterServicePrincipalProfile, _types.ManagedClusterServicePrincipalProfile, IO[bytes] - ], - **kwargs: Any - ) -> LROPoller[None]: - """Reset the Service Principal Profile of a managed cluster. - - This action cannot be performed on a cluster that is not using a service principal. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param resource_name: The name of the managed cluster resource. Required. - :type resource_name: str - :param parameters: The service principal profile to set on the managed cluster. Is either a - ManagedClusterServicePrincipalProfile type or a IO[bytes] type. Required. - :type parameters: ~azure.mgmt.containerservice.models.ManagedClusterServicePrincipalProfile or - ~azure.mgmt.containerservice.types.ManagedClusterServicePrincipalProfile or IO[bytes] - :return: An instance of LROPoller that returns None - :rtype: ~azure.core.polling.LROPoller[None] - :raises ~azure.core.exceptions.HttpResponseError: - """ - _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - _params = kwargs.pop("params", {}) or {} - - content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - cls: ClsType[None] = kwargs.pop("cls", None) - polling: Union[bool, PollingMethod] = kwargs.pop("polling", True) - lro_delay = kwargs.pop("polling_interval", self._config.polling_interval) - cont_token: Optional[str] = kwargs.pop("continuation_token", None) - if cont_token is None: - raw_result = self._reset_service_principal_profile_initial( - resource_group_name=resource_group_name, - resource_name=resource_name, - parameters=parameters, - content_type=content_type, - cls=lambda x, y, z: x, - headers=_headers, - params=_params, - **kwargs - ) - raw_result.http_response.read() # type: ignore - kwargs.pop("error_map", None) - - def get_long_running_output(pipeline_response): # pylint: disable=inconsistent-return-statements - if cls: - return cls(pipeline_response, None, {}) # type: ignore - - path_format_arguments = { - "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), - } - - if polling is True: - polling_method: PollingMethod = cast( - PollingMethod, ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) - ) - elif polling is False: - polling_method = cast(PollingMethod, NoPolling()) - else: - polling_method = polling - if cont_token: - return LROPoller[None].from_continuation_token( - polling_method=polling_method, - continuation_token=cont_token, - client=self._client, - deserialization_callback=get_long_running_output, - ) - return LROPoller[None](self._client, raw_result, get_long_running_output, polling_method) # type: ignore - - def _reset_aad_profile_initial( - self, - resource_group_name: str, - resource_name: str, - parameters: Union[_models.ManagedClusterAADProfile, _types.ManagedClusterAADProfile, IO[bytes]], - **kwargs: Any - ) -> Iterator[bytes]: - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - _params = kwargs.pop("params", {}) or {} - - content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - cls: ClsType[Iterator[bytes]] = kwargs.pop("cls", None) - - content_type = content_type or "application/json" - _content = None - if isinstance(parameters, (IOBase, bytes)): - _content = parameters - else: - _content = json.dumps(parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore - - _request = build_managed_clusters_reset_aad_profile_request( - resource_group_name=resource_group_name, - resource_name=resource_name, - subscription_id=self._config.subscription_id, - content_type=content_type, - api_version=self._config.api_version, - content=_content, - headers=_headers, - params=_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - _decompress = kwargs.pop("decompress", True) - _stream = True - pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access - _request, stream=_stream, **kwargs - ) - - response = pipeline_response.http_response - - if response.status_code not in [200, 202]: - try: - response.read() # Load the body in memory and close the socket - except (StreamConsumedError, StreamClosedError): - pass - map_error(status_code=response.status_code, response=response, error_map=error_map) - error = _failsafe_deserialize( - _models.ErrorResponse, - response, - ) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - - response_headers = {} - if response.status_code == 202: - response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) - response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) - - deserialized = response.iter_bytes() if _decompress else response.iter_raw() - - if cls: - return cls(pipeline_response, deserialized, response_headers) # type: ignore - - return deserialized # type: ignore - - @overload - def begin_reset_aad_profile( - self, - resource_group_name: str, - resource_name: str, - parameters: _models.ManagedClusterAADProfile, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> LROPoller[None]: - """Reset the AAD Profile of a managed cluster. - - **WARNING**: This API will be deprecated. Please see `AKS-managed Azure Active Directory - integration `_ to update your cluster with AKS-managed Azure - AD. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param resource_name: The name of the managed cluster resource. Required. - :type resource_name: str - :param parameters: The AAD profile to set on the Managed Cluster. Required. - :type parameters: ~azure.mgmt.containerservice.models.ManagedClusterAADProfile - :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. - Default value is "application/json". - :paramtype content_type: str - :return: An instance of LROPoller that returns None - :rtype: ~azure.core.polling.LROPoller[None] - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @overload - def begin_reset_aad_profile( - self, - resource_group_name: str, - resource_name: str, - parameters: _types.ManagedClusterAADProfile, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> LROPoller[None]: - """Reset the AAD Profile of a managed cluster. - - **WARNING**: This API will be deprecated. Please see `AKS-managed Azure Active Directory - integration `_ to update your cluster with AKS-managed Azure - AD. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param resource_name: The name of the managed cluster resource. Required. - :type resource_name: str - :param parameters: The AAD profile to set on the Managed Cluster. Required. - :type parameters: ~azure.mgmt.containerservice.types.ManagedClusterAADProfile - :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. - Default value is "application/json". - :paramtype content_type: str - :return: An instance of LROPoller that returns None - :rtype: ~azure.core.polling.LROPoller[None] - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @overload - def begin_reset_aad_profile( - self, - resource_group_name: str, - resource_name: str, - parameters: IO[bytes], - *, - content_type: str = "application/json", - **kwargs: Any - ) -> LROPoller[None]: - """Reset the AAD Profile of a managed cluster. - - **WARNING**: This API will be deprecated. Please see `AKS-managed Azure Active Directory - integration `_ to update your cluster with AKS-managed Azure - AD. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param resource_name: The name of the managed cluster resource. Required. - :type resource_name: str - :param parameters: The AAD profile to set on the Managed Cluster. Required. - :type parameters: IO[bytes] - :keyword content_type: Body Parameter content-type. Content type parameter for binary body. - Default value is "application/json". - :paramtype content_type: str - :return: An instance of LROPoller that returns None - :rtype: ~azure.core.polling.LROPoller[None] - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @distributed_trace - def begin_reset_aad_profile( - self, - resource_group_name: str, - resource_name: str, - parameters: Union[_models.ManagedClusterAADProfile, _types.ManagedClusterAADProfile, IO[bytes]], - **kwargs: Any - ) -> LROPoller[None]: - """Reset the AAD Profile of a managed cluster. - - **WARNING**: This API will be deprecated. Please see `AKS-managed Azure Active Directory - integration `_ to update your cluster with AKS-managed Azure - AD. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param resource_name: The name of the managed cluster resource. Required. - :type resource_name: str - :param parameters: The AAD profile to set on the Managed Cluster. Is either a - ManagedClusterAADProfile type or a IO[bytes] type. Required. - :type parameters: ~azure.mgmt.containerservice.models.ManagedClusterAADProfile or - ~azure.mgmt.containerservice.types.ManagedClusterAADProfile or IO[bytes] - :return: An instance of LROPoller that returns None - :rtype: ~azure.core.polling.LROPoller[None] - :raises ~azure.core.exceptions.HttpResponseError: - """ - _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - _params = kwargs.pop("params", {}) or {} - - content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - cls: ClsType[None] = kwargs.pop("cls", None) - polling: Union[bool, PollingMethod] = kwargs.pop("polling", True) - lro_delay = kwargs.pop("polling_interval", self._config.polling_interval) - cont_token: Optional[str] = kwargs.pop("continuation_token", None) - if cont_token is None: - raw_result = self._reset_aad_profile_initial( - resource_group_name=resource_group_name, - resource_name=resource_name, - parameters=parameters, - content_type=content_type, - cls=lambda x, y, z: x, - headers=_headers, - params=_params, - **kwargs - ) - raw_result.http_response.read() # type: ignore - kwargs.pop("error_map", None) - - def get_long_running_output(pipeline_response): # pylint: disable=inconsistent-return-statements - if cls: - return cls(pipeline_response, None, {}) # type: ignore - - path_format_arguments = { - "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), - } - - if polling is True: - polling_method: PollingMethod = cast( - PollingMethod, ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) - ) - elif polling is False: - polling_method = cast(PollingMethod, NoPolling()) - else: - polling_method = polling - if cont_token: - return LROPoller[None].from_continuation_token( - polling_method=polling_method, - continuation_token=cont_token, - client=self._client, - deserialization_callback=get_long_running_output, - ) - return LROPoller[None](self._client, raw_result, get_long_running_output, polling_method) # type: ignore - - def _rotate_cluster_certificates_initial( - self, resource_group_name: str, resource_name: str, **kwargs: Any - ) -> Iterator[bytes]: - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - _headers = kwargs.pop("headers", {}) or {} - _params = kwargs.pop("params", {}) or {} - - cls: ClsType[Iterator[bytes]] = kwargs.pop("cls", None) - - _request = build_managed_clusters_rotate_cluster_certificates_request( - resource_group_name=resource_group_name, - resource_name=resource_name, - subscription_id=self._config.subscription_id, - api_version=self._config.api_version, - headers=_headers, - params=_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - _decompress = kwargs.pop("decompress", True) - _stream = True - pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access - _request, stream=_stream, **kwargs - ) - - response = pipeline_response.http_response - - if response.status_code not in [202, 204]: - try: - response.read() # Load the body in memory and close the socket - except (StreamConsumedError, StreamClosedError): - pass - map_error(status_code=response.status_code, response=response, error_map=error_map) - error = _failsafe_deserialize( - _models.ErrorResponse, - response, - ) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - - response_headers = {} - if response.status_code == 202: - response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) - response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) - - deserialized = response.iter_bytes() if _decompress else response.iter_raw() - - if cls: - return cls(pipeline_response, deserialized, response_headers) # type: ignore - - return deserialized # type: ignore - - @distributed_trace - def begin_rotate_cluster_certificates( - self, resource_group_name: str, resource_name: str, **kwargs: Any - ) -> LROPoller[None]: - """Rotates the certificates of a managed cluster. - - See `Certificate rotation `_ for - more details about rotating managed cluster certificates. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param resource_name: The name of the managed cluster resource. Required. - :type resource_name: str - :return: An instance of LROPoller that returns None - :rtype: ~azure.core.polling.LROPoller[None] - :raises ~azure.core.exceptions.HttpResponseError: - """ - _headers = kwargs.pop("headers", {}) or {} - _params = kwargs.pop("params", {}) or {} - - cls: ClsType[None] = kwargs.pop("cls", None) - polling: Union[bool, PollingMethod] = kwargs.pop("polling", True) - lro_delay = kwargs.pop("polling_interval", self._config.polling_interval) - cont_token: Optional[str] = kwargs.pop("continuation_token", None) - if cont_token is None: - raw_result = self._rotate_cluster_certificates_initial( - resource_group_name=resource_group_name, - resource_name=resource_name, - cls=lambda x, y, z: x, - headers=_headers, - params=_params, - **kwargs - ) - raw_result.http_response.read() # type: ignore - kwargs.pop("error_map", None) - - def get_long_running_output(pipeline_response): # pylint: disable=inconsistent-return-statements - if cls: - return cls(pipeline_response, None, {}) # type: ignore - - path_format_arguments = { - "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), - } - - if polling is True: - polling_method: PollingMethod = cast( - PollingMethod, ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) - ) - elif polling is False: - polling_method = cast(PollingMethod, NoPolling()) - else: - polling_method = polling - if cont_token: - return LROPoller[None].from_continuation_token( - polling_method=polling_method, - continuation_token=cont_token, - client=self._client, - deserialization_callback=get_long_running_output, - ) - return LROPoller[None](self._client, raw_result, get_long_running_output, polling_method) # type: ignore - - def _abort_latest_operation_initial( - self, resource_group_name: str, resource_name: str, **kwargs: Any - ) -> Iterator[bytes]: - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - _headers = kwargs.pop("headers", {}) or {} - _params = kwargs.pop("params", {}) or {} - - cls: ClsType[Iterator[bytes]] = kwargs.pop("cls", None) - - _request = build_managed_clusters_abort_latest_operation_request( - resource_group_name=resource_group_name, - resource_name=resource_name, - subscription_id=self._config.subscription_id, - api_version=self._config.api_version, - headers=_headers, - params=_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - _decompress = kwargs.pop("decompress", True) - _stream = True - pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access - _request, stream=_stream, **kwargs - ) - - response = pipeline_response.http_response - - if response.status_code not in [202, 204]: - try: - response.read() # Load the body in memory and close the socket - except (StreamConsumedError, StreamClosedError): - pass - map_error(status_code=response.status_code, response=response, error_map=error_map) - error = _failsafe_deserialize( - _models.ErrorResponse, - response, - ) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - - response_headers = {} - if response.status_code == 202: - response_headers["Azure-AsyncOperation"] = self._deserialize( - "str", response.headers.get("Azure-AsyncOperation") - ) - response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) - response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) - - deserialized = response.iter_bytes() if _decompress else response.iter_raw() - - if cls: - return cls(pipeline_response, deserialized, response_headers) # type: ignore - - return deserialized # type: ignore - - @distributed_trace - def begin_abort_latest_operation( - self, resource_group_name: str, resource_name: str, **kwargs: Any - ) -> LROPoller[None]: - """Aborts last operation running on managed cluster. - - Aborts the currently running operation on the managed cluster. The Managed Cluster will be - moved to a Canceling state and eventually to a Canceled state when cancellation finishes. If - the operation completes before cancellation can take place, a 409 error code is returned. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param resource_name: The name of the managed cluster resource. Required. - :type resource_name: str - :return: An instance of LROPoller that returns None - :rtype: ~azure.core.polling.LROPoller[None] - :raises ~azure.core.exceptions.HttpResponseError: - """ - _headers = kwargs.pop("headers", {}) or {} - _params = kwargs.pop("params", {}) or {} - - cls: ClsType[None] = kwargs.pop("cls", None) - polling: Union[bool, PollingMethod] = kwargs.pop("polling", True) - lro_delay = kwargs.pop("polling_interval", self._config.polling_interval) - cont_token: Optional[str] = kwargs.pop("continuation_token", None) - if cont_token is None: - raw_result = self._abort_latest_operation_initial( - resource_group_name=resource_group_name, - resource_name=resource_name, - cls=lambda x, y, z: x, - headers=_headers, - params=_params, - **kwargs - ) - raw_result.http_response.read() # type: ignore - kwargs.pop("error_map", None) - - def get_long_running_output(pipeline_response): # pylint: disable=inconsistent-return-statements - if cls: - return cls(pipeline_response, None, {}) # type: ignore - - path_format_arguments = { - "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), - } - - if polling is True: - polling_method: PollingMethod = cast( - PollingMethod, ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) - ) - elif polling is False: - polling_method = cast(PollingMethod, NoPolling()) - else: - polling_method = polling - if cont_token: - return LROPoller[None].from_continuation_token( - polling_method=polling_method, - continuation_token=cont_token, - client=self._client, - deserialization_callback=get_long_running_output, - ) - return LROPoller[None](self._client, raw_result, get_long_running_output, polling_method) # type: ignore - - def _rotate_service_account_signing_keys_initial( # pylint: disable=name-too-long - self, resource_group_name: str, resource_name: str, **kwargs: Any - ) -> Iterator[bytes]: - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - _headers = kwargs.pop("headers", {}) or {} - _params = kwargs.pop("params", {}) or {} - - cls: ClsType[Iterator[bytes]] = kwargs.pop("cls", None) - - _request = build_managed_clusters_rotate_service_account_signing_keys_request( - resource_group_name=resource_group_name, - resource_name=resource_name, - subscription_id=self._config.subscription_id, - api_version=self._config.api_version, - headers=_headers, - params=_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - _decompress = kwargs.pop("decompress", True) - _stream = True - pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access - _request, stream=_stream, **kwargs - ) - - response = pipeline_response.http_response - - if response.status_code not in [202, 204]: - try: - response.read() # Load the body in memory and close the socket - except (StreamConsumedError, StreamClosedError): - pass - map_error(status_code=response.status_code, response=response, error_map=error_map) - error = _failsafe_deserialize( - _models.ErrorResponse, - response, - ) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - - response_headers = {} - if response.status_code == 202: - response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) - response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) - - deserialized = response.iter_bytes() if _decompress else response.iter_raw() - - if cls: - return cls(pipeline_response, deserialized, response_headers) # type: ignore - - return deserialized # type: ignore - - @distributed_trace - def begin_rotate_service_account_signing_keys( # pylint: disable=name-too-long - self, resource_group_name: str, resource_name: str, **kwargs: Any - ) -> LROPoller[None]: - """Rotates the service account signing keys of a managed cluster. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param resource_name: The name of the managed cluster resource. Required. - :type resource_name: str - :return: An instance of LROPoller that returns None - :rtype: ~azure.core.polling.LROPoller[None] - :raises ~azure.core.exceptions.HttpResponseError: - """ - _headers = kwargs.pop("headers", {}) or {} - _params = kwargs.pop("params", {}) or {} - - cls: ClsType[None] = kwargs.pop("cls", None) - polling: Union[bool, PollingMethod] = kwargs.pop("polling", True) - lro_delay = kwargs.pop("polling_interval", self._config.polling_interval) - cont_token: Optional[str] = kwargs.pop("continuation_token", None) - if cont_token is None: - raw_result = self._rotate_service_account_signing_keys_initial( - resource_group_name=resource_group_name, - resource_name=resource_name, - cls=lambda x, y, z: x, - headers=_headers, - params=_params, - **kwargs - ) - raw_result.http_response.read() # type: ignore - kwargs.pop("error_map", None) - - def get_long_running_output(pipeline_response): # pylint: disable=inconsistent-return-statements - if cls: - return cls(pipeline_response, None, {}) # type: ignore - - path_format_arguments = { - "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), - } - - if polling is True: - polling_method: PollingMethod = cast( - PollingMethod, ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) - ) - elif polling is False: - polling_method = cast(PollingMethod, NoPolling()) - else: - polling_method = polling - if cont_token: - return LROPoller[None].from_continuation_token( - polling_method=polling_method, - continuation_token=cont_token, - client=self._client, - deserialization_callback=get_long_running_output, - ) - return LROPoller[None](self._client, raw_result, get_long_running_output, polling_method) # type: ignore - - def _stop_initial(self, resource_group_name: str, resource_name: str, **kwargs: Any) -> Iterator[bytes]: - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - _headers = kwargs.pop("headers", {}) or {} - _params = kwargs.pop("params", {}) or {} - - cls: ClsType[Iterator[bytes]] = kwargs.pop("cls", None) - - _request = build_managed_clusters_stop_request( - resource_group_name=resource_group_name, - resource_name=resource_name, - subscription_id=self._config.subscription_id, - api_version=self._config.api_version, - headers=_headers, - params=_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - _decompress = kwargs.pop("decompress", True) - _stream = True - pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access - _request, stream=_stream, **kwargs - ) - - response = pipeline_response.http_response - - if response.status_code not in [202, 204]: - try: - response.read() # Load the body in memory and close the socket - except (StreamConsumedError, StreamClosedError): - pass - map_error(status_code=response.status_code, response=response, error_map=error_map) - error = _failsafe_deserialize( - _models.ErrorResponse, - response, - ) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - - response_headers = {} - if response.status_code == 202: - response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) - response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) - - deserialized = response.iter_bytes() if _decompress else response.iter_raw() - - if cls: - return cls(pipeline_response, deserialized, response_headers) # type: ignore - - return deserialized # type: ignore - - @distributed_trace - def begin_stop(self, resource_group_name: str, resource_name: str, **kwargs: Any) -> LROPoller[None]: - """Stops a Managed Cluster. - - This can only be performed on Azure Virtual Machine Scale set backed clusters. Stopping a - cluster stops the control plane and agent nodes entirely, while maintaining all object and - cluster state. A cluster does not accrue charges while it is stopped. See `stopping a cluster - `_ for more details about stopping a - cluster. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param resource_name: The name of the managed cluster resource. Required. - :type resource_name: str - :return: An instance of LROPoller that returns None - :rtype: ~azure.core.polling.LROPoller[None] - :raises ~azure.core.exceptions.HttpResponseError: - """ - _headers = kwargs.pop("headers", {}) or {} - _params = kwargs.pop("params", {}) or {} - - cls: ClsType[None] = kwargs.pop("cls", None) - polling: Union[bool, PollingMethod] = kwargs.pop("polling", True) - lro_delay = kwargs.pop("polling_interval", self._config.polling_interval) - cont_token: Optional[str] = kwargs.pop("continuation_token", None) - if cont_token is None: - raw_result = self._stop_initial( - resource_group_name=resource_group_name, - resource_name=resource_name, - cls=lambda x, y, z: x, - headers=_headers, - params=_params, - **kwargs - ) - raw_result.http_response.read() # type: ignore - kwargs.pop("error_map", None) - - def get_long_running_output(pipeline_response): # pylint: disable=inconsistent-return-statements - if cls: - return cls(pipeline_response, None, {}) # type: ignore - - path_format_arguments = { - "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), - } - - if polling is True: - polling_method: PollingMethod = cast( - PollingMethod, ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) - ) - elif polling is False: - polling_method = cast(PollingMethod, NoPolling()) - else: - polling_method = polling - if cont_token: - return LROPoller[None].from_continuation_token( - polling_method=polling_method, - continuation_token=cont_token, - client=self._client, - deserialization_callback=get_long_running_output, - ) - return LROPoller[None](self._client, raw_result, get_long_running_output, polling_method) # type: ignore - - def _start_initial(self, resource_group_name: str, resource_name: str, **kwargs: Any) -> Iterator[bytes]: - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - _headers = kwargs.pop("headers", {}) or {} - _params = kwargs.pop("params", {}) or {} - - cls: ClsType[Iterator[bytes]] = kwargs.pop("cls", None) - - _request = build_managed_clusters_start_request( - resource_group_name=resource_group_name, - resource_name=resource_name, - subscription_id=self._config.subscription_id, - api_version=self._config.api_version, - headers=_headers, - params=_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - _decompress = kwargs.pop("decompress", True) - _stream = True - pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access - _request, stream=_stream, **kwargs - ) - - response = pipeline_response.http_response - - if response.status_code not in [202, 204]: - try: - response.read() # Load the body in memory and close the socket - except (StreamConsumedError, StreamClosedError): - pass - map_error(status_code=response.status_code, response=response, error_map=error_map) - error = _failsafe_deserialize( - _models.ErrorResponse, - response, - ) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - - response_headers = {} - if response.status_code == 202: - response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) - response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) - - deserialized = response.iter_bytes() if _decompress else response.iter_raw() - - if cls: - return cls(pipeline_response, deserialized, response_headers) # type: ignore - - return deserialized # type: ignore - - @distributed_trace - def begin_start(self, resource_group_name: str, resource_name: str, **kwargs: Any) -> LROPoller[None]: - """Starts a previously stopped Managed Cluster. - - See `starting a cluster `_ for more - details about starting a cluster. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param resource_name: The name of the managed cluster resource. Required. - :type resource_name: str - :return: An instance of LROPoller that returns None - :rtype: ~azure.core.polling.LROPoller[None] - :raises ~azure.core.exceptions.HttpResponseError: - """ - _headers = kwargs.pop("headers", {}) or {} - _params = kwargs.pop("params", {}) or {} - - cls: ClsType[None] = kwargs.pop("cls", None) - polling: Union[bool, PollingMethod] = kwargs.pop("polling", True) - lro_delay = kwargs.pop("polling_interval", self._config.polling_interval) - cont_token: Optional[str] = kwargs.pop("continuation_token", None) - if cont_token is None: - raw_result = self._start_initial( - resource_group_name=resource_group_name, - resource_name=resource_name, - cls=lambda x, y, z: x, - headers=_headers, - params=_params, - **kwargs - ) - raw_result.http_response.read() # type: ignore - kwargs.pop("error_map", None) - - def get_long_running_output(pipeline_response): # pylint: disable=inconsistent-return-statements - if cls: - return cls(pipeline_response, None, {}) # type: ignore - - path_format_arguments = { - "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), - } - - if polling is True: - polling_method: PollingMethod = cast( - PollingMethod, ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) - ) - elif polling is False: - polling_method = cast(PollingMethod, NoPolling()) - else: - polling_method = polling - if cont_token: - return LROPoller[None].from_continuation_token( - polling_method=polling_method, - continuation_token=cont_token, - client=self._client, - deserialization_callback=get_long_running_output, - ) - return LROPoller[None](self._client, raw_result, get_long_running_output, polling_method) # type: ignore - - def _run_command_initial( - self, - resource_group_name: str, - resource_name: str, - request_payload: Union[_models.RunCommandRequest, _types.RunCommandRequest, IO[bytes]], - **kwargs: Any - ) -> Iterator[bytes]: - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - _params = kwargs.pop("params", {}) or {} - - content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - cls: ClsType[Iterator[bytes]] = kwargs.pop("cls", None) - - content_type = content_type or "application/json" - _content = None - if isinstance(request_payload, (IOBase, bytes)): - _content = request_payload - else: - _content = json.dumps(request_payload, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore - - _request = build_managed_clusters_run_command_request( - resource_group_name=resource_group_name, - resource_name=resource_name, - subscription_id=self._config.subscription_id, - content_type=content_type, - api_version=self._config.api_version, - content=_content, - headers=_headers, - params=_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - _decompress = kwargs.pop("decompress", True) - _stream = True - pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access - _request, stream=_stream, **kwargs - ) - - response = pipeline_response.http_response - - if response.status_code not in [200, 202]: - try: - response.read() # Load the body in memory and close the socket - except (StreamConsumedError, StreamClosedError): - pass - map_error(status_code=response.status_code, response=response, error_map=error_map) - error = _failsafe_deserialize( - _models.ErrorResponse, - response, - ) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - - response_headers = {} - if response.status_code == 202: - response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) - response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) - - deserialized = response.iter_bytes() if _decompress else response.iter_raw() - - if cls: - return cls(pipeline_response, deserialized, response_headers) # type: ignore - - return deserialized # type: ignore - - @overload - def begin_run_command( - self, - resource_group_name: str, - resource_name: str, - request_payload: _models.RunCommandRequest, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> LROPoller[_models.RunCommandResult]: - """Submits a command to run against the Managed Cluster. - - AKS will create a pod to run the command. This is primarily useful for private clusters. For - more information see `AKS Run Command - `_. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param resource_name: The name of the managed cluster resource. Required. - :type resource_name: str - :param request_payload: The run command request. Required. - :type request_payload: ~azure.mgmt.containerservice.models.RunCommandRequest - :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. - Default value is "application/json". - :paramtype content_type: str - :return: An instance of LROPoller that returns RunCommandResult. The RunCommandResult is - compatible with MutableMapping - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.containerservice.models.RunCommandResult] - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @overload - def begin_run_command( - self, - resource_group_name: str, - resource_name: str, - request_payload: _types.RunCommandRequest, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> LROPoller[_models.RunCommandResult]: - """Submits a command to run against the Managed Cluster. - - AKS will create a pod to run the command. This is primarily useful for private clusters. For - more information see `AKS Run Command - `_. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param resource_name: The name of the managed cluster resource. Required. - :type resource_name: str - :param request_payload: The run command request. Required. - :type request_payload: ~azure.mgmt.containerservice.types.RunCommandRequest - :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. - Default value is "application/json". - :paramtype content_type: str - :return: An instance of LROPoller that returns RunCommandResult. The RunCommandResult is - compatible with MutableMapping - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.containerservice.models.RunCommandResult] - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @overload - def begin_run_command( - self, - resource_group_name: str, - resource_name: str, - request_payload: IO[bytes], - *, - content_type: str = "application/json", - **kwargs: Any - ) -> LROPoller[_models.RunCommandResult]: - """Submits a command to run against the Managed Cluster. - - AKS will create a pod to run the command. This is primarily useful for private clusters. For - more information see `AKS Run Command - `_. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param resource_name: The name of the managed cluster resource. Required. - :type resource_name: str - :param request_payload: The run command request. Required. - :type request_payload: IO[bytes] - :keyword content_type: Body Parameter content-type. Content type parameter for binary body. - Default value is "application/json". - :paramtype content_type: str - :return: An instance of LROPoller that returns RunCommandResult. The RunCommandResult is - compatible with MutableMapping - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.containerservice.models.RunCommandResult] - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @distributed_trace - def begin_run_command( - self, - resource_group_name: str, - resource_name: str, - request_payload: Union[_models.RunCommandRequest, _types.RunCommandRequest, IO[bytes]], - **kwargs: Any - ) -> LROPoller[_models.RunCommandResult]: - """Submits a command to run against the Managed Cluster. - - AKS will create a pod to run the command. This is primarily useful for private clusters. For - more information see `AKS Run Command - `_. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param resource_name: The name of the managed cluster resource. Required. - :type resource_name: str - :param request_payload: The run command request. Is either a RunCommandRequest type or a - IO[bytes] type. Required. - :type request_payload: ~azure.mgmt.containerservice.models.RunCommandRequest or - ~azure.mgmt.containerservice.types.RunCommandRequest or IO[bytes] - :return: An instance of LROPoller that returns RunCommandResult. The RunCommandResult is - compatible with MutableMapping - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.containerservice.models.RunCommandResult] - :raises ~azure.core.exceptions.HttpResponseError: - """ - _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - _params = kwargs.pop("params", {}) or {} - - content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - cls: ClsType[_models.RunCommandResult] = kwargs.pop("cls", None) - polling: Union[bool, PollingMethod] = kwargs.pop("polling", True) - lro_delay = kwargs.pop("polling_interval", self._config.polling_interval) - cont_token: Optional[str] = kwargs.pop("continuation_token", None) - if cont_token is None: - raw_result = self._run_command_initial( - resource_group_name=resource_group_name, - resource_name=resource_name, - request_payload=request_payload, - content_type=content_type, - cls=lambda x, y, z: x, - headers=_headers, - params=_params, - **kwargs - ) - raw_result.http_response.read() # type: ignore - kwargs.pop("error_map", None) - - def get_long_running_output(pipeline_response): - response = pipeline_response.http_response - deserialized = _deserialize(_models.RunCommandResult, response.json()) - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - return deserialized - - path_format_arguments = { - "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), - } - - if polling is True: - polling_method: PollingMethod = cast( - PollingMethod, ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) - ) - elif polling is False: - polling_method = cast(PollingMethod, NoPolling()) - else: - polling_method = polling - if cont_token: - return LROPoller[_models.RunCommandResult].from_continuation_token( - polling_method=polling_method, - continuation_token=cont_token, - client=self._client, - deserialization_callback=get_long_running_output, - ) - return LROPoller[_models.RunCommandResult]( - self._client, raw_result, get_long_running_output, polling_method # type: ignore - ) - - @distributed_trace - def get_command_result( - self, resource_group_name: str, resource_name: str, command_id: str, **kwargs: Any - ) -> Optional[_models.RunCommandResult]: - """Gets the results of a command which has been run on the Managed Cluster. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param resource_name: The name of the managed cluster resource. Required. - :type resource_name: str - :param command_id: Id of the command. Required. - :type command_id: str - :return: RunCommandResult or None. The RunCommandResult is compatible with MutableMapping - :rtype: ~azure.mgmt.containerservice.models.RunCommandResult or None - :raises ~azure.core.exceptions.HttpResponseError: - """ - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - _headers = kwargs.pop("headers", {}) or {} - _params = kwargs.pop("params", {}) or {} - - cls: ClsType[Optional[_models.RunCommandResult]] = kwargs.pop("cls", None) - - _request = build_managed_clusters_get_command_result_request( - resource_group_name=resource_group_name, - resource_name=resource_name, - command_id=command_id, - subscription_id=self._config.subscription_id, - api_version=self._config.api_version, - headers=_headers, - params=_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - _decompress = kwargs.pop("decompress", True) - _stream = kwargs.pop("stream", False) - pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access - _request, stream=_stream, **kwargs - ) - - response = pipeline_response.http_response - - if response.status_code not in [200, 202]: - if _stream: - try: - response.read() # Load the body in memory and close the socket - except (StreamConsumedError, StreamClosedError): - pass - map_error(status_code=response.status_code, response=response, error_map=error_map) - error = _failsafe_deserialize( - _models.ErrorResponse, - response, - ) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - - deserialized = None - response_headers = {} - if response.status_code == 200: - if _stream: - deserialized = response.iter_bytes() if _decompress else response.iter_raw() - else: - deserialized = _deserialize(_models.RunCommandResult, response.json()) - - if response.status_code == 202: - response_headers["location"] = self._deserialize("str", response.headers.get("location")) - - if cls: - return cls(pipeline_response, deserialized, response_headers) # type: ignore - - return deserialized # type: ignore - - @distributed_trace - def list_outbound_network_dependencies_endpoints( # pylint: disable=name-too-long - self, resource_group_name: str, resource_name: str, **kwargs: Any - ) -> ItemPaged["_models.OutboundEnvironmentEndpoint"]: - """Gets a list of egress endpoints (network endpoints of all outbound dependencies) in the - specified managed cluster. - - Gets a list of egress endpoints (network endpoints of all outbound dependencies) in the - specified managed cluster. The operation returns properties of each egress endpoint. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param resource_name: The name of the managed cluster resource. Required. - :type resource_name: str - :return: An iterator like instance of OutboundEnvironmentEndpoint - :rtype: - ~azure.core.paging.ItemPaged[~azure.mgmt.containerservice.models.OutboundEnvironmentEndpoint] - :raises ~azure.core.exceptions.HttpResponseError: - """ - _headers = kwargs.pop("headers", {}) or {} - _params = kwargs.pop("params", {}) or {} - - cls: ClsType[List[_models.OutboundEnvironmentEndpoint]] = kwargs.pop("cls", None) - - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - def prepare_request(next_link=None): - if not next_link: - - _request = build_managed_clusters_list_outbound_network_dependencies_endpoints_request( - resource_group_name=resource_group_name, - resource_name=resource_name, - subscription_id=self._config.subscription_id, - api_version=self._config.api_version, - headers=_headers, - params=_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url( - "self._config.base_url", self._config.base_url, "str", skip_quote=True - ), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - else: - # make call to next link with the client's api-version - _parsed_next_link = urllib.parse.urlparse(next_link) - _next_request_params = case_insensitive_dict( - { - key: [urllib.parse.quote(v) for v in value] - for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items() - } - ) - _next_request_params["api-version"] = self._config.api_version - _request = HttpRequest( - "GET", - urllib.parse.urljoin(next_link, _parsed_next_link.path), - headers=_headers, - params=_next_request_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url( - "self._config.base_url", self._config.base_url, "str", skip_quote=True - ), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - return _request - - def extract_data(pipeline_response): - deserialized = pipeline_response.http_response.json() - list_of_elem = _deserialize( - List[_models.OutboundEnvironmentEndpoint], - deserialized.get("value", []), - ) - if cls: - list_of_elem = cls(list_of_elem) # type: ignore - return deserialized.get("nextLink") or None, iter(list_of_elem) - - def get_next(next_link=None): - _request = prepare_request(next_link) - - _stream = False - pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access - _request, stream=_stream, **kwargs - ) - response = pipeline_response.http_response - - if response.status_code not in [200]: - map_error(status_code=response.status_code, response=response, error_map=error_map) - error = _failsafe_deserialize( - _models.ErrorResponse, - response, - ) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - - return pipeline_response - - return ItemPaged(get_next, extract_data) - - @api_version_validation( - method_added_on="2026-05-02-preview", - params_added_on={ - "2026-05-02-preview": [ - "api_version", - "subscription_id", - "resource_group_name", - "resource_name", - "content_type", - ] - }, - api_versions_list=["2026-05-02-preview"], - ) - def _rebalance_load_balancers_initial( - self, - resource_group_name: str, - resource_name: str, - parameters: Union[ - _models.RebalanceLoadBalancersRequestBody, _types.RebalanceLoadBalancersRequestBody, IO[bytes] - ], - **kwargs: Any - ) -> Iterator[bytes]: - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - _params = kwargs.pop("params", {}) or {} - - content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - cls: ClsType[Iterator[bytes]] = kwargs.pop("cls", None) - - content_type = content_type or "application/json" - _content = None - if isinstance(parameters, (IOBase, bytes)): - _content = parameters - else: - _content = json.dumps(parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore - - _request = build_managed_clusters_rebalance_load_balancers_request( - resource_group_name=resource_group_name, - resource_name=resource_name, - subscription_id=self._config.subscription_id, - content_type=content_type, - api_version=self._config.api_version, - content=_content, - headers=_headers, - params=_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - _decompress = kwargs.pop("decompress", True) - _stream = True - pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access - _request, stream=_stream, **kwargs - ) - - response = pipeline_response.http_response - - if response.status_code not in [202, 204]: - try: - response.read() # Load the body in memory and close the socket - except (StreamConsumedError, StreamClosedError): - pass - map_error(status_code=response.status_code, response=response, error_map=error_map) - error = _failsafe_deserialize( - _models.ErrorResponse, - response, - ) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - - response_headers = {} - if response.status_code == 202: - response_headers["Azure-AsyncOperation"] = self._deserialize( - "str", response.headers.get("Azure-AsyncOperation") - ) - response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) - response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) - - deserialized = response.iter_bytes() if _decompress else response.iter_raw() - - if cls: - return cls(pipeline_response, deserialized, response_headers) # type: ignore - - return deserialized # type: ignore - - @overload - def begin_rebalance_load_balancers( - self, - resource_group_name: str, - resource_name: str, - parameters: _models.RebalanceLoadBalancersRequestBody, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> LROPoller[None]: - """Rebalance nodes across specific load balancers. + @overload + def begin_create_or_update( + self, + resource_group_name: str, + resource_name: str, + agent_pool_name: str, + parameters: _models.AgentPool, + *, + content_type: str = "application/json", + etag: Optional[str] = None, + match_condition: Optional[MatchConditions] = None, + **kwargs: Any + ) -> LROPoller[_models.AgentPool]: + """Creates or updates an agent pool in the specified managed cluster. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param resource_name: The name of the managed cluster resource. Required. :type resource_name: str - :param parameters: The names of the load balancers to be rebalanced. If set to empty, all load - balancers will be rebalanced. Required. - :type parameters: ~azure.mgmt.containerservice.models.RebalanceLoadBalancersRequestBody + :param agent_pool_name: The name of the agent pool. Required. + :type agent_pool_name: str + :param parameters: The agent pool to create or update. Required. + :type parameters: ~azure.mgmt.containerservice.models.AgentPool :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str - :return: An instance of LROPoller that returns None - :rtype: ~azure.core.polling.LROPoller[None] + :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is + None. + :paramtype etag: str + :keyword match_condition: The match condition to use upon the etag. Default value is None. + :paramtype match_condition: ~azure.core.MatchConditions + :return: An instance of LROPoller that returns AgentPool. The AgentPool is compatible with + MutableMapping + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.containerservice.models.AgentPool] :raises ~azure.core.exceptions.HttpResponseError: """ @overload - def begin_rebalance_load_balancers( + def begin_create_or_update( self, resource_group_name: str, resource_name: str, - parameters: _types.RebalanceLoadBalancersRequestBody, + agent_pool_name: str, + parameters: _types.AgentPool, *, content_type: str = "application/json", + etag: Optional[str] = None, + match_condition: Optional[MatchConditions] = None, **kwargs: Any - ) -> LROPoller[None]: - """Rebalance nodes across specific load balancers. + ) -> LROPoller[_models.AgentPool]: + """Creates or updates an agent pool in the specified managed cluster. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param resource_name: The name of the managed cluster resource. Required. :type resource_name: str - :param parameters: The names of the load balancers to be rebalanced. If set to empty, all load - balancers will be rebalanced. Required. - :type parameters: ~azure.mgmt.containerservice.types.RebalanceLoadBalancersRequestBody + :param agent_pool_name: The name of the agent pool. Required. + :type agent_pool_name: str + :param parameters: The agent pool to create or update. Required. + :type parameters: ~azure.mgmt.containerservice.types.AgentPool :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str - :return: An instance of LROPoller that returns None - :rtype: ~azure.core.polling.LROPoller[None] + :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is + None. + :paramtype etag: str + :keyword match_condition: The match condition to use upon the etag. Default value is None. + :paramtype match_condition: ~azure.core.MatchConditions + :return: An instance of LROPoller that returns AgentPool. The AgentPool is compatible with + MutableMapping + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.containerservice.models.AgentPool] :raises ~azure.core.exceptions.HttpResponseError: """ @overload - def begin_rebalance_load_balancers( + def begin_create_or_update( self, resource_group_name: str, resource_name: str, + agent_pool_name: str, parameters: IO[bytes], *, content_type: str = "application/json", + etag: Optional[str] = None, + match_condition: Optional[MatchConditions] = None, **kwargs: Any - ) -> LROPoller[None]: - """Rebalance nodes across specific load balancers. + ) -> LROPoller[_models.AgentPool]: + """Creates or updates an agent pool in the specified managed cluster. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param resource_name: The name of the managed cluster resource. Required. :type resource_name: str - :param parameters: The names of the load balancers to be rebalanced. If set to empty, all load - balancers will be rebalanced. Required. + :param agent_pool_name: The name of the agent pool. Required. + :type agent_pool_name: str + :param parameters: The agent pool to create or update. Required. :type parameters: IO[bytes] :keyword content_type: Body Parameter content-type. Content type parameter for binary body. Default value is "application/json". :paramtype content_type: str - :return: An instance of LROPoller that returns None - :rtype: ~azure.core.polling.LROPoller[None] + :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is + None. + :paramtype etag: str + :keyword match_condition: The match condition to use upon the etag. Default value is None. + :paramtype match_condition: ~azure.core.MatchConditions + :return: An instance of LROPoller that returns AgentPool. The AgentPool is compatible with + MutableMapping + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.containerservice.models.AgentPool] :raises ~azure.core.exceptions.HttpResponseError: """ @distributed_trace - @api_version_validation( - method_added_on="2026-05-02-preview", - params_added_on={ - "2026-05-02-preview": [ - "api_version", - "subscription_id", - "resource_group_name", - "resource_name", - "content_type", - ] - }, - api_versions_list=["2026-05-02-preview"], - ) - def begin_rebalance_load_balancers( + def begin_create_or_update( self, resource_group_name: str, resource_name: str, - parameters: Union[ - _models.RebalanceLoadBalancersRequestBody, _types.RebalanceLoadBalancersRequestBody, IO[bytes] - ], + agent_pool_name: str, + parameters: Union[_models.AgentPool, _types.AgentPool, IO[bytes]], + *, + etag: Optional[str] = None, + match_condition: Optional[MatchConditions] = None, **kwargs: Any - ) -> LROPoller[None]: - """Rebalance nodes across specific load balancers. + ) -> LROPoller[_models.AgentPool]: + """Creates or updates an agent pool in the specified managed cluster. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param resource_name: The name of the managed cluster resource. Required. :type resource_name: str - :param parameters: The names of the load balancers to be rebalanced. If set to empty, all load - balancers will be rebalanced. Is either a RebalanceLoadBalancersRequestBody type or a IO[bytes] - type. Required. - :type parameters: ~azure.mgmt.containerservice.models.RebalanceLoadBalancersRequestBody or - ~azure.mgmt.containerservice.types.RebalanceLoadBalancersRequestBody or IO[bytes] - :return: An instance of LROPoller that returns None - :rtype: ~azure.core.polling.LROPoller[None] + :param agent_pool_name: The name of the agent pool. Required. + :type agent_pool_name: str + :param parameters: The agent pool to create or update. Is either a AgentPool type or a + IO[bytes] type. Required. + :type parameters: ~azure.mgmt.containerservice.models.AgentPool or + ~azure.mgmt.containerservice.types.AgentPool or IO[bytes] + :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is + None. + :paramtype etag: str + :keyword match_condition: The match condition to use upon the etag. Default value is None. + :paramtype match_condition: ~azure.core.MatchConditions + :return: An instance of LROPoller that returns AgentPool. The AgentPool is compatible with + MutableMapping + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.containerservice.models.AgentPool] :raises ~azure.core.exceptions.HttpResponseError: """ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = kwargs.pop("params", {}) or {} content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - cls: ClsType[None] = kwargs.pop("cls", None) + cls: ClsType[_models.AgentPool] = kwargs.pop("cls", None) polling: Union[bool, PollingMethod] = kwargs.pop("polling", True) lro_delay = kwargs.pop("polling_interval", self._config.polling_interval) cont_token: Optional[str] = kwargs.pop("continuation_token", None) if cont_token is None: - raw_result = self._rebalance_load_balancers_initial( + raw_result = self._create_or_update_initial( resource_group_name=resource_group_name, resource_name=resource_name, + agent_pool_name=agent_pool_name, parameters=parameters, + etag=etag, + match_condition=match_condition, content_type=content_type, cls=lambda x, y, z: x, headers=_headers, @@ -8035,9 +2441,12 @@ def begin_rebalance_load_balancers( raw_result.http_response.read() # type: ignore kwargs.pop("error_map", None) - def get_long_running_output(pipeline_response): # pylint: disable=inconsistent-return-statements + def get_long_running_output(pipeline_response): + response = pipeline_response.http_response + deserialized = _deserialize(_models.AgentPool, response.json()) if cls: - return cls(pipeline_response, None, {}) # type: ignore + return cls(pipeline_response, deserialized, {}) # type: ignore + return deserialized path_format_arguments = { "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), @@ -8052,47 +2461,54 @@ def get_long_running_output(pipeline_response): # pylint: disable=inconsistent- else: polling_method = polling if cont_token: - return LROPoller[None].from_continuation_token( + return LROPoller[_models.AgentPool].from_continuation_token( polling_method=polling_method, continuation_token=cont_token, client=self._client, deserialization_callback=get_long_running_output, ) - return LROPoller[None](self._client, raw_result, get_long_running_output, polling_method) # type: ignore - - @distributed_trace - def get_upgrade_profile( - self, resource_group_name: str, resource_name: str, **kwargs: Any - ) -> _models.ManagedClusterUpgradeProfile: - """Gets the upgrade profile of a managed cluster. + return LROPoller[_models.AgentPool]( + self._client, raw_result, get_long_running_output, polling_method # type: ignore + ) - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param resource_name: The name of the managed cluster resource. Required. - :type resource_name: str - :return: ManagedClusterUpgradeProfile. The ManagedClusterUpgradeProfile is compatible with - MutableMapping - :rtype: ~azure.mgmt.containerservice.models.ManagedClusterUpgradeProfile - :raises ~azure.core.exceptions.HttpResponseError: - """ + def _delete_initial( + self, + resource_group_name: str, + resource_name: str, + agent_pool_name: str, + *, + ignore_pod_disruption_budget: Optional[bool] = None, + etag: Optional[str] = None, + match_condition: Optional[MatchConditions] = None, + **kwargs: Any + ) -> Iterator[bytes]: error_map: MutableMapping = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError, 304: ResourceNotModifiedError, } + if match_condition == MatchConditions.IfNotModified: + error_map[412] = ResourceModifiedError + elif match_condition == MatchConditions.IfPresent: + error_map[412] = ResourceNotFoundError + elif match_condition == MatchConditions.IfMissing: + error_map[412] = ResourceExistsError error_map.update(kwargs.pop("error_map", {}) or {}) _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - cls: ClsType[_models.ManagedClusterUpgradeProfile] = kwargs.pop("cls", None) + cls: ClsType[Iterator[bytes]] = kwargs.pop("cls", None) - _request = build_managed_clusters_get_upgrade_profile_request( + _request = build_agent_pools_delete_request( resource_group_name=resource_group_name, resource_name=resource_name, + agent_pool_name=agent_pool_name, subscription_id=self._config.subscription_id, + ignore_pod_disruption_budget=ignore_pod_disruption_budget, + etag=etag, + match_condition=match_condition, api_version=self._config.api_version, headers=_headers, params=_params, @@ -8103,19 +2519,18 @@ def get_upgrade_profile( _request.url = self._client.format_url(_request.url, **path_format_arguments) _decompress = kwargs.pop("decompress", True) - _stream = kwargs.pop("stream", False) + _stream = True pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access _request, stream=_stream, **kwargs ) response = pipeline_response.http_response - if response.status_code not in [200]: - if _stream: - try: - response.read() # Load the body in memory and close the socket - except (StreamConsumedError, StreamClosedError): - pass + if response.status_code not in [202, 204]: + try: + response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass map_error(status_code=response.status_code, response=response, error_map=error_map) error = _failsafe_deserialize( _models.ErrorResponse, @@ -8123,106 +2538,119 @@ def get_upgrade_profile( ) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - if _stream: - deserialized = response.iter_bytes() if _decompress else response.iter_raw() - else: - deserialized = _deserialize(_models.ManagedClusterUpgradeProfile, response.json()) + response_headers = {} + if response.status_code == 202: + response_headers["Azure-AsyncOperation"] = self._deserialize( + "str", response.headers.get("Azure-AsyncOperation") + ) + response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) + response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) + + deserialized = response.iter_bytes() if _decompress else response.iter_raw() if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore + return cls(pipeline_response, deserialized, response_headers) # type: ignore return deserialized # type: ignore @distributed_trace - def get_guardrails_versions(self, location: str, version: str, **kwargs: Any) -> _models.GuardrailsAvailableVersion: - """Gets supported Guardrails version in the specified subscription and location. - - Contains Guardrails version along with its support info and whether it is a default version. + def begin_delete( + self, + resource_group_name: str, + resource_name: str, + agent_pool_name: str, + *, + ignore_pod_disruption_budget: Optional[bool] = None, + etag: Optional[str] = None, + match_condition: Optional[MatchConditions] = None, + **kwargs: Any + ) -> LROPoller[None]: + """Deletes an agent pool in the specified managed cluster. - :param location: The name of the Azure region. Required. - :type location: str - :param version: Safeguards version. Required. - :type version: str - :return: GuardrailsAvailableVersion. The GuardrailsAvailableVersion is compatible with - MutableMapping - :rtype: ~azure.mgmt.containerservice.models.GuardrailsAvailableVersion + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param resource_name: The name of the managed cluster resource. Required. + :type resource_name: str + :param agent_pool_name: The name of the agent pool. Required. + :type agent_pool_name: str + :keyword ignore_pod_disruption_budget: ignore-pod-disruption-budget=true to delete those pods + on a node without considering Pod Disruption Budget. Default value is None. + :paramtype ignore_pod_disruption_budget: bool + :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is + None. + :paramtype etag: str + :keyword match_condition: The match condition to use upon the etag. Default value is None. + :paramtype match_condition: ~azure.core.MatchConditions + :return: An instance of LROPoller that returns None + :rtype: ~azure.core.polling.LROPoller[None] :raises ~azure.core.exceptions.HttpResponseError: """ - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - cls: ClsType[_models.GuardrailsAvailableVersion] = kwargs.pop("cls", None) + cls: ClsType[None] = kwargs.pop("cls", None) + polling: Union[bool, PollingMethod] = kwargs.pop("polling", True) + lro_delay = kwargs.pop("polling_interval", self._config.polling_interval) + cont_token: Optional[str] = kwargs.pop("continuation_token", None) + if cont_token is None: + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + resource_name=resource_name, + agent_pool_name=agent_pool_name, + ignore_pod_disruption_budget=ignore_pod_disruption_budget, + etag=etag, + match_condition=match_condition, + cls=lambda x, y, z: x, + headers=_headers, + params=_params, + **kwargs + ) + raw_result.http_response.read() # type: ignore + kwargs.pop("error_map", None) + + def get_long_running_output(pipeline_response): # pylint: disable=inconsistent-return-statements + if cls: + return cls(pipeline_response, None, {}) # type: ignore - _request = build_managed_clusters_get_guardrails_versions_request( - location=location, - version=version, - subscription_id=self._config.subscription_id, - api_version=self._config.api_version, - headers=_headers, - params=_params, - ) path_format_arguments = { "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - _decompress = kwargs.pop("decompress", True) - _stream = kwargs.pop("stream", False) - pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access - _request, stream=_stream, **kwargs - ) - response = pipeline_response.http_response - - if response.status_code not in [200]: - if _stream: - try: - response.read() # Load the body in memory and close the socket - except (StreamConsumedError, StreamClosedError): - pass - map_error(status_code=response.status_code, response=response, error_map=error_map) - error = _failsafe_deserialize( - _models.ErrorResponse, - response, + if polling is True: + polling_method: PollingMethod = cast( + PollingMethod, ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) ) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - - if _stream: - deserialized = response.iter_bytes() if _decompress else response.iter_raw() + elif polling is False: + polling_method = cast(PollingMethod, NoPolling()) else: - deserialized = _deserialize(_models.GuardrailsAvailableVersion, response.json()) - - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - - return deserialized # type: ignore + polling_method = polling + if cont_token: + return LROPoller[None].from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output, + ) + return LROPoller[None](self._client, raw_result, get_long_running_output, polling_method) # type: ignore @distributed_trace - def list_guardrails_versions(self, location: str, **kwargs: Any) -> ItemPaged["_models.GuardrailsAvailableVersion"]: - """Gets a list of supported Guardrails versions in the specified subscription and location. - - Contains list of Guardrails version along with its support info and whether it is a default - version. + def list(self, resource_group_name: str, resource_name: str, **kwargs: Any) -> ItemPaged["_models.AgentPool"]: + """Gets a list of agent pools in the specified managed cluster. - :param location: The name of the Azure region. Required. - :type location: str - :return: An iterator like instance of GuardrailsAvailableVersion - :rtype: - ~azure.core.paging.ItemPaged[~azure.mgmt.containerservice.models.GuardrailsAvailableVersion] + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param resource_name: The name of the managed cluster resource. Required. + :type resource_name: str + :return: An iterator like instance of AgentPool + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.containerservice.models.AgentPool] :raises ~azure.core.exceptions.HttpResponseError: """ _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - cls: ClsType[List[_models.GuardrailsAvailableVersion]] = kwargs.pop("cls", None) + cls: ClsType[List[_models.AgentPool]] = kwargs.pop("cls", None) error_map: MutableMapping = { 401: ClientAuthenticationError, @@ -8235,8 +2663,9 @@ def list_guardrails_versions(self, location: str, **kwargs: Any) -> ItemPaged["_ def prepare_request(next_link=None): if not next_link: - _request = build_managed_clusters_list_guardrails_versions_request( - location=location, + _request = build_agent_pools_list_request( + resource_group_name=resource_group_name, + resource_name=resource_name, subscription_id=self._config.subscription_id, api_version=self._config.api_version, headers=_headers, @@ -8277,7 +2706,7 @@ def prepare_request(next_link=None): def extract_data(pipeline_response): deserialized = pipeline_response.http_response.json() list_of_elem = _deserialize( - List[_models.GuardrailsAvailableVersion], + List[_models.AgentPool], deserialized.get("value", []), ) if cls: @@ -8305,21 +2734,9 @@ def get_next(next_link=None): return ItemPaged(get_next, extract_data) - @distributed_trace - def get_safeguards_versions(self, location: str, version: str, **kwargs: Any) -> _models.SafeguardsAvailableVersion: - """Gets supported Safeguards version in the specified subscription and location. - - Contains Safeguards version along with its support info and whether it is a default version. - - :param location: The name of the Azure region. Required. - :type location: str - :param version: Safeguards version. Required. - :type version: str - :return: SafeguardsAvailableVersion. The SafeguardsAvailableVersion is compatible with - MutableMapping - :rtype: ~azure.mgmt.containerservice.models.SafeguardsAvailableVersion - :raises ~azure.core.exceptions.HttpResponseError: - """ + def _abort_latest_operation_initial( + self, resource_group_name: str, resource_name: str, agent_pool_name: str, **kwargs: Any + ) -> Iterator[bytes]: error_map: MutableMapping = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, @@ -8331,11 +2748,12 @@ def get_safeguards_versions(self, location: str, version: str, **kwargs: Any) -> _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - cls: ClsType[_models.SafeguardsAvailableVersion] = kwargs.pop("cls", None) + cls: ClsType[Iterator[bytes]] = kwargs.pop("cls", None) - _request = build_managed_clusters_get_safeguards_versions_request( - location=location, - version=version, + _request = build_agent_pools_abort_latest_operation_request( + resource_group_name=resource_group_name, + resource_name=resource_name, + agent_pool_name=agent_pool_name, subscription_id=self._config.subscription_id, api_version=self._config.api_version, headers=_headers, @@ -8347,19 +2765,18 @@ def get_safeguards_versions(self, location: str, version: str, **kwargs: Any) -> _request.url = self._client.format_url(_request.url, **path_format_arguments) _decompress = kwargs.pop("decompress", True) - _stream = kwargs.pop("stream", False) + _stream = True pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access _request, stream=_stream, **kwargs ) response = pipeline_response.http_response - if response.status_code not in [200]: - if _stream: - try: - response.read() # Load the body in memory and close the socket - except (StreamConsumedError, StreamClosedError): - pass + if response.status_code not in [202, 204]: + try: + response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass map_error(status_code=response.status_code, response=response, error_map=error_map) error = _failsafe_deserialize( _models.ErrorResponse, @@ -8367,131 +2784,95 @@ def get_safeguards_versions(self, location: str, version: str, **kwargs: Any) -> ) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - if _stream: - deserialized = response.iter_bytes() if _decompress else response.iter_raw() - else: - deserialized = _deserialize(_models.SafeguardsAvailableVersion, response.json()) + response_headers = {} + if response.status_code == 202: + response_headers["Azure-AsyncOperation"] = self._deserialize( + "str", response.headers.get("Azure-AsyncOperation") + ) + response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) + response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) + + deserialized = response.iter_bytes() if _decompress else response.iter_raw() if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore + return cls(pipeline_response, deserialized, response_headers) # type: ignore return deserialized # type: ignore @distributed_trace - def list_safeguards_versions(self, location: str, **kwargs: Any) -> ItemPaged["_models.SafeguardsAvailableVersion"]: - """Gets a list of supported Safeguards versions in the specified subscription and location. + def begin_abort_latest_operation( + self, resource_group_name: str, resource_name: str, agent_pool_name: str, **kwargs: Any + ) -> LROPoller[None]: + """Aborts last operation running on agent pool. - Contains list of Safeguards version along with its support info and whether it is a default - version. + Aborts the currently running operation on the agent pool. The Agent Pool will be moved to a + Canceling state and eventually to a Canceled state when cancellation finishes. If the operation + completes before cancellation can take place, a 409 error code is returned. - :param location: The name of the Azure region. Required. - :type location: str - :return: An iterator like instance of SafeguardsAvailableVersion - :rtype: - ~azure.core.paging.ItemPaged[~azure.mgmt.containerservice.models.SafeguardsAvailableVersion] + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param resource_name: The name of the managed cluster resource. Required. + :type resource_name: str + :param agent_pool_name: The name of the agent pool. Required. + :type agent_pool_name: str + :return: An instance of LROPoller that returns None + :rtype: ~azure.core.polling.LROPoller[None] :raises ~azure.core.exceptions.HttpResponseError: """ _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - cls: ClsType[List[_models.SafeguardsAvailableVersion]] = kwargs.pop("cls", None) - - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - def prepare_request(next_link=None): - if not next_link: - - _request = build_managed_clusters_list_safeguards_versions_request( - location=location, - subscription_id=self._config.subscription_id, - api_version=self._config.api_version, - headers=_headers, - params=_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url( - "self._config.base_url", self._config.base_url, "str", skip_quote=True - ), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - else: - # make call to next link with the client's api-version - _parsed_next_link = urllib.parse.urlparse(next_link) - _next_request_params = case_insensitive_dict( - { - key: [urllib.parse.quote(v) for v in value] - for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items() - } - ) - _next_request_params["api-version"] = self._config.api_version - _request = HttpRequest( - "GET", - urllib.parse.urljoin(next_link, _parsed_next_link.path), - headers=_headers, - params=_next_request_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url( - "self._config.base_url", self._config.base_url, "str", skip_quote=True - ), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - return _request - - def extract_data(pipeline_response): - deserialized = pipeline_response.http_response.json() - list_of_elem = _deserialize( - List[_models.SafeguardsAvailableVersion], - deserialized.get("value", []), - ) - if cls: - list_of_elem = cls(list_of_elem) # type: ignore - return deserialized.get("nextLink") or None, iter(list_of_elem) - - def get_next(next_link=None): - _request = prepare_request(next_link) - - _stream = False - pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access - _request, stream=_stream, **kwargs - ) - response = pipeline_response.http_response - - if response.status_code not in [200]: - map_error(status_code=response.status_code, response=response, error_map=error_map) - error = _failsafe_deserialize( - _models.ErrorResponse, - response, - ) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - - return pipeline_response + cls: ClsType[None] = kwargs.pop("cls", None) + polling: Union[bool, PollingMethod] = kwargs.pop("polling", True) + lro_delay = kwargs.pop("polling_interval", self._config.polling_interval) + cont_token: Optional[str] = kwargs.pop("continuation_token", None) + if cont_token is None: + raw_result = self._abort_latest_operation_initial( + resource_group_name=resource_group_name, + resource_name=resource_name, + agent_pool_name=agent_pool_name, + cls=lambda x, y, z: x, + headers=_headers, + params=_params, + **kwargs + ) + raw_result.http_response.read() # type: ignore + kwargs.pop("error_map", None) - return ItemPaged(get_next, extract_data) + def get_long_running_output(pipeline_response): # pylint: disable=inconsistent-return-statements + if cls: + return cls(pipeline_response, None, {}) # type: ignore - @distributed_trace - def get_mesh_revision_profile(self, location: str, mode: str, **kwargs: Any) -> _models.MeshRevisionProfile: - """Gets a mesh revision profile for a specified mesh in the specified location. + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } - Contains extra metadata on the revision, including supported revisions, cluster compatibility - and available upgrades. + if polling is True: + polling_method: PollingMethod = cast( + PollingMethod, ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + ) + elif polling is False: + polling_method = cast(PollingMethod, NoPolling()) + else: + polling_method = polling + if cont_token: + return LROPoller[None].from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output, + ) + return LROPoller[None](self._client, raw_result, get_long_running_output, polling_method) # type: ignore - :param location: The name of the Azure region. Required. - :type location: str - :param mode: The mode of the mesh. Required. - :type mode: str - :return: MeshRevisionProfile. The MeshRevisionProfile is compatible with MutableMapping - :rtype: ~azure.mgmt.containerservice.models.MeshRevisionProfile - :raises ~azure.core.exceptions.HttpResponseError: - """ + def _delete_machines_initial( + self, + resource_group_name: str, + resource_name: str, + agent_pool_name: str, + machines: Union[_models.AgentPoolDeleteMachinesParameter, _types.AgentPoolDeleteMachinesParameter, IO[bytes]], + **kwargs: Any + ) -> Iterator[bytes]: error_map: MutableMapping = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, @@ -8500,16 +2881,27 @@ def get_mesh_revision_profile(self, location: str, mode: str, **kwargs: Any) -> } error_map.update(kwargs.pop("error_map", {}) or {}) - _headers = kwargs.pop("headers", {}) or {} + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = kwargs.pop("params", {}) or {} - cls: ClsType[_models.MeshRevisionProfile] = kwargs.pop("cls", None) + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + cls: ClsType[Iterator[bytes]] = kwargs.pop("cls", None) - _request = build_managed_clusters_get_mesh_revision_profile_request( - location=location, - mode=mode, + content_type = content_type or "application/json" + _content = None + if isinstance(machines, (IOBase, bytes)): + _content = machines + else: + _content = json.dumps(machines, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + + _request = build_agent_pools_delete_machines_request( + resource_group_name=resource_group_name, + resource_name=resource_name, + agent_pool_name=agent_pool_name, subscription_id=self._config.subscription_id, + content_type=content_type, api_version=self._config.api_version, + content=_content, headers=_headers, params=_params, ) @@ -8519,19 +2911,18 @@ def get_mesh_revision_profile(self, location: str, mode: str, **kwargs: Any) -> _request.url = self._client.format_url(_request.url, **path_format_arguments) _decompress = kwargs.pop("decompress", True) - _stream = kwargs.pop("stream", False) + _stream = True pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access _request, stream=_stream, **kwargs ) response = pipeline_response.http_response - if response.status_code not in [200]: - if _stream: - try: - response.read() # Load the body in memory and close the socket - except (StreamConsumedError, StreamClosedError): - pass + if response.status_code not in [202]: + try: + response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass map_error(status_code=response.status_code, response=response, error_map=error_map) error = _failsafe_deserialize( _models.ErrorResponse, @@ -8539,306 +2930,187 @@ def get_mesh_revision_profile(self, location: str, mode: str, **kwargs: Any) -> ) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - if _stream: - deserialized = response.iter_bytes() if _decompress else response.iter_raw() - else: - deserialized = _deserialize(_models.MeshRevisionProfile, response.json()) + response_headers = {} + response_headers["Azure-AsyncOperation"] = self._deserialize( + "str", response.headers.get("Azure-AsyncOperation") + ) + response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) + response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) + + deserialized = response.iter_bytes() if _decompress else response.iter_raw() if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore + return cls(pipeline_response, deserialized, response_headers) # type: ignore return deserialized # type: ignore - @distributed_trace - def list_mesh_revision_profiles(self, location: str, **kwargs: Any) -> ItemPaged["_models.MeshRevisionProfile"]: - """Lists mesh revision profiles for all meshes in the specified location. - - Contains extra metadata on each revision, including supported revisions, cluster compatibility - and available upgrades. + @overload + def begin_delete_machines( + self, + resource_group_name: str, + resource_name: str, + agent_pool_name: str, + machines: _models.AgentPoolDeleteMachinesParameter, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> LROPoller[None]: + """Deletes specific machines in an agent pool. - :param location: The name of the Azure region. Required. - :type location: str - :return: An iterator like instance of MeshRevisionProfile - :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.containerservice.models.MeshRevisionProfile] + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param resource_name: The name of the managed cluster resource. Required. + :type resource_name: str + :param agent_pool_name: The name of the agent pool. Required. + :type agent_pool_name: str + :param machines: A list of machines from the agent pool to be deleted. Required. + :type machines: ~azure.mgmt.containerservice.models.AgentPoolDeleteMachinesParameter + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of LROPoller that returns None + :rtype: ~azure.core.polling.LROPoller[None] :raises ~azure.core.exceptions.HttpResponseError: """ - _headers = kwargs.pop("headers", {}) or {} - _params = kwargs.pop("params", {}) or {} - - cls: ClsType[List[_models.MeshRevisionProfile]] = kwargs.pop("cls", None) - - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - def prepare_request(next_link=None): - if not next_link: - - _request = build_managed_clusters_list_mesh_revision_profiles_request( - location=location, - subscription_id=self._config.subscription_id, - api_version=self._config.api_version, - headers=_headers, - params=_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url( - "self._config.base_url", self._config.base_url, "str", skip_quote=True - ), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - else: - # make call to next link with the client's api-version - _parsed_next_link = urllib.parse.urlparse(next_link) - _next_request_params = case_insensitive_dict( - { - key: [urllib.parse.quote(v) for v in value] - for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items() - } - ) - _next_request_params["api-version"] = self._config.api_version - _request = HttpRequest( - "GET", - urllib.parse.urljoin(next_link, _parsed_next_link.path), - headers=_headers, - params=_next_request_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url( - "self._config.base_url", self._config.base_url, "str", skip_quote=True - ), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - return _request - def extract_data(pipeline_response): - deserialized = pipeline_response.http_response.json() - list_of_elem = _deserialize( - List[_models.MeshRevisionProfile], - deserialized.get("value", []), - ) - if cls: - list_of_elem = cls(list_of_elem) # type: ignore - return deserialized.get("nextLink") or None, iter(list_of_elem) - - def get_next(next_link=None): - _request = prepare_request(next_link) - - _stream = False - pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access - _request, stream=_stream, **kwargs - ) - response = pipeline_response.http_response - - if response.status_code not in [200]: - map_error(status_code=response.status_code, response=response, error_map=error_map) - error = _failsafe_deserialize( - _models.ErrorResponse, - response, - ) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - - return pipeline_response + @overload + def begin_delete_machines( + self, + resource_group_name: str, + resource_name: str, + agent_pool_name: str, + machines: _types.AgentPoolDeleteMachinesParameter, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> LROPoller[None]: + """Deletes specific machines in an agent pool. - return ItemPaged(get_next, extract_data) + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param resource_name: The name of the managed cluster resource. Required. + :type resource_name: str + :param agent_pool_name: The name of the agent pool. Required. + :type agent_pool_name: str + :param machines: A list of machines from the agent pool to be deleted. Required. + :type machines: ~azure.mgmt.containerservice.types.AgentPoolDeleteMachinesParameter + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of LROPoller that returns None + :rtype: ~azure.core.polling.LROPoller[None] + :raises ~azure.core.exceptions.HttpResponseError: + """ - @distributed_trace - def get_mesh_upgrade_profile( - self, resource_group_name: str, resource_name: str, mode: str, **kwargs: Any - ) -> _models.MeshUpgradeProfile: - """Gets available upgrades for a service mesh in a cluster. + @overload + def begin_delete_machines( + self, + resource_group_name: str, + resource_name: str, + agent_pool_name: str, + machines: IO[bytes], + *, + content_type: str = "application/json", + **kwargs: Any + ) -> LROPoller[None]: + """Deletes specific machines in an agent pool. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param resource_name: The name of the managed cluster resource. Required. :type resource_name: str - :param mode: The mode of the mesh. Required. - :type mode: str - :return: MeshUpgradeProfile. The MeshUpgradeProfile is compatible with MutableMapping - :rtype: ~azure.mgmt.containerservice.models.MeshUpgradeProfile + :param agent_pool_name: The name of the agent pool. Required. + :type agent_pool_name: str + :param machines: A list of machines from the agent pool to be deleted. Required. + :type machines: IO[bytes] + :keyword content_type: Body Parameter content-type. Content type parameter for binary body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of LROPoller that returns None + :rtype: ~azure.core.polling.LROPoller[None] :raises ~azure.core.exceptions.HttpResponseError: """ - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - _headers = kwargs.pop("headers", {}) or {} - _params = kwargs.pop("params", {}) or {} - - cls: ClsType[_models.MeshUpgradeProfile] = kwargs.pop("cls", None) - - _request = build_managed_clusters_get_mesh_upgrade_profile_request( - resource_group_name=resource_group_name, - resource_name=resource_name, - mode=mode, - subscription_id=self._config.subscription_id, - api_version=self._config.api_version, - headers=_headers, - params=_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - _decompress = kwargs.pop("decompress", True) - _stream = kwargs.pop("stream", False) - pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access - _request, stream=_stream, **kwargs - ) - - response = pipeline_response.http_response - - if response.status_code not in [200]: - if _stream: - try: - response.read() # Load the body in memory and close the socket - except (StreamConsumedError, StreamClosedError): - pass - map_error(status_code=response.status_code, response=response, error_map=error_map) - error = _failsafe_deserialize( - _models.ErrorResponse, - response, - ) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - - if _stream: - deserialized = response.iter_bytes() if _decompress else response.iter_raw() - else: - deserialized = _deserialize(_models.MeshUpgradeProfile, response.json()) - - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - - return deserialized # type: ignore @distributed_trace - def list_mesh_upgrade_profiles( - self, resource_group_name: str, resource_name: str, **kwargs: Any - ) -> ItemPaged["_models.MeshUpgradeProfile"]: - """Lists available upgrades for all service meshes in a specific cluster. + def begin_delete_machines( + self, + resource_group_name: str, + resource_name: str, + agent_pool_name: str, + machines: Union[_models.AgentPoolDeleteMachinesParameter, _types.AgentPoolDeleteMachinesParameter, IO[bytes]], + **kwargs: Any + ) -> LROPoller[None]: + """Deletes specific machines in an agent pool. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param resource_name: The name of the managed cluster resource. Required. :type resource_name: str - :return: An iterator like instance of MeshUpgradeProfile - :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.containerservice.models.MeshUpgradeProfile] + :param agent_pool_name: The name of the agent pool. Required. + :type agent_pool_name: str + :param machines: A list of machines from the agent pool to be deleted. Is either a + AgentPoolDeleteMachinesParameter type or a IO[bytes] type. Required. + :type machines: ~azure.mgmt.containerservice.models.AgentPoolDeleteMachinesParameter or + ~azure.mgmt.containerservice.types.AgentPoolDeleteMachinesParameter or IO[bytes] + :return: An instance of LROPoller that returns None + :rtype: ~azure.core.polling.LROPoller[None] :raises ~azure.core.exceptions.HttpResponseError: """ - _headers = kwargs.pop("headers", {}) or {} + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = kwargs.pop("params", {}) or {} - cls: ClsType[List[_models.MeshUpgradeProfile]] = kwargs.pop("cls", None) - - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - def prepare_request(next_link=None): - if not next_link: - - _request = build_managed_clusters_list_mesh_upgrade_profiles_request( - resource_group_name=resource_group_name, - resource_name=resource_name, - subscription_id=self._config.subscription_id, - api_version=self._config.api_version, - headers=_headers, - params=_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url( - "self._config.base_url", self._config.base_url, "str", skip_quote=True - ), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - else: - # make call to next link with the client's api-version - _parsed_next_link = urllib.parse.urlparse(next_link) - _next_request_params = case_insensitive_dict( - { - key: [urllib.parse.quote(v) for v in value] - for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items() - } - ) - _next_request_params["api-version"] = self._config.api_version - _request = HttpRequest( - "GET", - urllib.parse.urljoin(next_link, _parsed_next_link.path), - headers=_headers, - params=_next_request_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url( - "self._config.base_url", self._config.base_url, "str", skip_quote=True - ), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - return _request - - def extract_data(pipeline_response): - deserialized = pipeline_response.http_response.json() - list_of_elem = _deserialize( - List[_models.MeshUpgradeProfile], - deserialized.get("value", []), + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + cls: ClsType[None] = kwargs.pop("cls", None) + polling: Union[bool, PollingMethod] = kwargs.pop("polling", True) + lro_delay = kwargs.pop("polling_interval", self._config.polling_interval) + cont_token: Optional[str] = kwargs.pop("continuation_token", None) + if cont_token is None: + raw_result = self._delete_machines_initial( + resource_group_name=resource_group_name, + resource_name=resource_name, + agent_pool_name=agent_pool_name, + machines=machines, + content_type=content_type, + cls=lambda x, y, z: x, + headers=_headers, + params=_params, + **kwargs ) + raw_result.http_response.read() # type: ignore + kwargs.pop("error_map", None) + + def get_long_running_output(pipeline_response): # pylint: disable=inconsistent-return-statements if cls: - list_of_elem = cls(list_of_elem) # type: ignore - return deserialized.get("nextLink") or None, iter(list_of_elem) + return cls(pipeline_response, None, {}) # type: ignore - def get_next(next_link=None): - _request = prepare_request(next_link) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } - _stream = False - pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access - _request, stream=_stream, **kwargs + if polling is True: + polling_method: PollingMethod = cast( + PollingMethod, ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) ) - response = pipeline_response.http_response - - if response.status_code not in [200]: - map_error(status_code=response.status_code, response=response, error_map=error_map) - error = _failsafe_deserialize( - _models.ErrorResponse, - response, - ) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - - return pipeline_response - - return ItemPaged(get_next, extract_data) - - @distributed_trace - def list_kubernetes_versions(self, location: str, **kwargs: Any) -> _models.KubernetesVersionListResult: - """Gets a list of supported Kubernetes versions in the specified subscription. - - Contains extra metadata on the version, including supported patch versions, capabilities, - available upgrades, and details on preview status of the version. + elif polling is False: + polling_method = cast(PollingMethod, NoPolling()) + else: + polling_method = polling + if cont_token: + return LROPoller[None].from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output, + ) + return LROPoller[None](self._client, raw_result, get_long_running_output, polling_method) # type: ignore - :param location: The name of the Azure region. Required. - :type location: str - :return: KubernetesVersionListResult. The KubernetesVersionListResult is compatible with - MutableMapping - :rtype: ~azure.mgmt.containerservice.models.KubernetesVersionListResult - :raises ~azure.core.exceptions.HttpResponseError: - """ + def _upgrade_node_image_version_initial( + self, resource_group_name: str, resource_name: str, agent_pool_name: str, **kwargs: Any + ) -> Iterator[bytes]: error_map: MutableMapping = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, @@ -8850,10 +3122,12 @@ def list_kubernetes_versions(self, location: str, **kwargs: Any) -> _models.Kube _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - cls: ClsType[_models.KubernetesVersionListResult] = kwargs.pop("cls", None) + cls: ClsType[Iterator[bytes]] = kwargs.pop("cls", None) - _request = build_managed_clusters_list_kubernetes_versions_request( - location=location, + _request = build_agent_pools_upgrade_node_image_version_request( + resource_group_name=resource_group_name, + resource_name=resource_name, + agent_pool_name=agent_pool_name, subscription_id=self._config.subscription_id, api_version=self._config.api_version, headers=_headers, @@ -8865,19 +3139,18 @@ def list_kubernetes_versions(self, location: str, **kwargs: Any) -> _models.Kube _request.url = self._client.format_url(_request.url, **path_format_arguments) _decompress = kwargs.pop("decompress", True) - _stream = kwargs.pop("stream", False) + _stream = True pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access _request, stream=_stream, **kwargs ) response = pipeline_response.http_response - if response.status_code not in [200]: - if _stream: - try: - response.read() # Load the body in memory and close the socket - except (StreamConsumedError, StreamClosedError): - pass + if response.status_code not in [200, 202]: + try: + response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass map_error(status_code=response.status_code, response=response, error_map=error_map) error = _failsafe_deserialize( _models.ErrorResponse, @@ -8885,51 +3158,106 @@ def list_kubernetes_versions(self, location: str, **kwargs: Any) -> _models.Kube ) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - if _stream: - deserialized = response.iter_bytes() if _decompress else response.iter_raw() - else: - deserialized = _deserialize(_models.KubernetesVersionListResult, response.json()) + response_headers = {} + if response.status_code == 202: + response_headers["Azure-AsyncOperation"] = self._deserialize( + "str", response.headers.get("Azure-AsyncOperation") + ) + response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) + response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) + + deserialized = response.iter_bytes() if _decompress else response.iter_raw() if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore + return cls(pipeline_response, deserialized, response_headers) # type: ignore return deserialized # type: ignore + @distributed_trace + def begin_upgrade_node_image_version( + self, resource_group_name: str, resource_name: str, agent_pool_name: str, **kwargs: Any + ) -> LROPoller[None]: + """Upgrades the node image version of an agent pool to the latest. -class MaintenanceConfigurationsOperations: - """ - .. warning:: - **DO NOT** instantiate this class directly. + 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 + `_. - Instead, you should access the following operations through - :class:`~azure.mgmt.containerservice.ContainerServiceClient`'s - :attr:`maintenance_configurations` attribute. - """ + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param resource_name: The name of the managed cluster resource. Required. + :type resource_name: str + :param agent_pool_name: The name of the agent pool. Required. + :type agent_pool_name: str + :return: An instance of LROPoller that returns None + :rtype: ~azure.core.polling.LROPoller[None] + :raises ~azure.core.exceptions.HttpResponseError: + """ + _headers = kwargs.pop("headers", {}) or {} + _params = kwargs.pop("params", {}) or {} - def __init__(self, *args, **kwargs) -> None: - input_args = list(args) - self._client: PipelineClient = input_args.pop(0) if input_args else kwargs.pop("client") - self._config: ContainerServiceClientConfiguration = input_args.pop(0) if input_args else kwargs.pop("config") - self._serialize: Serializer = input_args.pop(0) if input_args else kwargs.pop("serializer") - self._deserialize: Deserializer = input_args.pop(0) if input_args else kwargs.pop("deserializer") + cls: ClsType[None] = kwargs.pop("cls", None) + polling: Union[bool, PollingMethod] = kwargs.pop("polling", True) + lro_delay = kwargs.pop("polling_interval", self._config.polling_interval) + cont_token: Optional[str] = kwargs.pop("continuation_token", None) + if cont_token is None: + raw_result = self._upgrade_node_image_version_initial( + resource_group_name=resource_group_name, + resource_name=resource_name, + agent_pool_name=agent_pool_name, + cls=lambda x, y, z: x, + headers=_headers, + params=_params, + **kwargs + ) + raw_result.http_response.read() # type: ignore + kwargs.pop("error_map", None) + + def get_long_running_output(pipeline_response): # pylint: disable=inconsistent-return-statements + if cls: + return cls(pipeline_response, None, {}) # type: ignore + + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + + if polling is True: + polling_method: PollingMethod = cast( + PollingMethod, ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + ) + elif polling is False: + polling_method = cast(PollingMethod, NoPolling()) + else: + polling_method = polling + if cont_token: + return LROPoller[None].from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output, + ) + return LROPoller[None](self._client, raw_result, get_long_running_output, polling_method) # type: ignore @distributed_trace - def get( - self, resource_group_name: str, resource_name: str, config_name: str, **kwargs: Any - ) -> _models.MaintenanceConfiguration: - """Gets the specified maintenance configuration of a managed cluster. + def get_available_agent_pool_versions( + self, resource_group_name: str, resource_name: str, **kwargs: Any + ) -> _models.AgentPoolAvailableVersions: + """Gets a list of supported Kubernetes versions for the specified agent pool. + + See `supported Kubernetes versions + `_ for more details about + the version lifecycle. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param resource_name: The name of the managed cluster resource. Required. :type resource_name: str - :param config_name: The name of the maintenance configuration. Supported values are 'default', - 'aksManagedAutoUpgradeSchedule', or 'aksManagedNodeOSUpgradeSchedule'. Required. - :type config_name: str - :return: MaintenanceConfiguration. The MaintenanceConfiguration is compatible with + :return: AgentPoolAvailableVersions. The AgentPoolAvailableVersions is compatible with MutableMapping - :rtype: ~azure.mgmt.containerservice.models.MaintenanceConfiguration + :rtype: ~azure.mgmt.containerservice.models.AgentPoolAvailableVersions :raises ~azure.core.exceptions.HttpResponseError: """ error_map: MutableMapping = { @@ -8943,12 +3271,11 @@ def get( _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - cls: ClsType[_models.MaintenanceConfiguration] = kwargs.pop("cls", None) + cls: ClsType[_models.AgentPoolAvailableVersions] = kwargs.pop("cls", None) - _request = build_maintenance_configurations_get_request( + _request = build_agent_pools_get_available_agent_pool_versions_request( resource_group_name=resource_group_name, resource_name=resource_name, - config_name=config_name, subscription_id=self._config.subscription_id, api_version=self._config.api_version, headers=_headers, @@ -8983,135 +3310,28 @@ def get( if _stream: deserialized = response.iter_bytes() if _decompress else response.iter_raw() else: - deserialized = _deserialize(_models.MaintenanceConfiguration, response.json()) + deserialized = _deserialize(_models.AgentPoolAvailableVersions, response.json()) if cls: return cls(pipeline_response, deserialized, {}) # type: ignore return deserialized # type: ignore - @overload - def create_or_update( - self, - resource_group_name: str, - resource_name: str, - config_name: str, - parameters: _models.MaintenanceConfiguration, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> _models.MaintenanceConfiguration: - """Creates or updates a maintenance configuration in the specified managed cluster. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param resource_name: The name of the managed cluster resource. Required. - :type resource_name: str - :param config_name: The name of the maintenance configuration. Supported values are 'default', - 'aksManagedAutoUpgradeSchedule', or 'aksManagedNodeOSUpgradeSchedule'. Required. - :type config_name: str - :param parameters: The maintenance configuration to create or update. Required. - :type parameters: ~azure.mgmt.containerservice.models.MaintenanceConfiguration - :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. - Default value is "application/json". - :paramtype content_type: str - :return: MaintenanceConfiguration. The MaintenanceConfiguration is compatible with - MutableMapping - :rtype: ~azure.mgmt.containerservice.models.MaintenanceConfiguration - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @overload - def create_or_update( - self, - resource_group_name: str, - resource_name: str, - config_name: str, - parameters: _types.MaintenanceConfiguration, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> _models.MaintenanceConfiguration: - """Creates or updates a maintenance configuration in the specified managed cluster. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param resource_name: The name of the managed cluster resource. Required. - :type resource_name: str - :param config_name: The name of the maintenance configuration. Supported values are 'default', - 'aksManagedAutoUpgradeSchedule', or 'aksManagedNodeOSUpgradeSchedule'. Required. - :type config_name: str - :param parameters: The maintenance configuration to create or update. Required. - :type parameters: ~azure.mgmt.containerservice.types.MaintenanceConfiguration - :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. - Default value is "application/json". - :paramtype content_type: str - :return: MaintenanceConfiguration. The MaintenanceConfiguration is compatible with - MutableMapping - :rtype: ~azure.mgmt.containerservice.models.MaintenanceConfiguration - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @overload - def create_or_update( - self, - resource_group_name: str, - resource_name: str, - config_name: str, - parameters: IO[bytes], - *, - content_type: str = "application/json", - **kwargs: Any - ) -> _models.MaintenanceConfiguration: - """Creates or updates a maintenance configuration in the specified managed cluster. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param resource_name: The name of the managed cluster resource. Required. - :type resource_name: str - :param config_name: The name of the maintenance configuration. Supported values are 'default', - 'aksManagedAutoUpgradeSchedule', or 'aksManagedNodeOSUpgradeSchedule'. Required. - :type config_name: str - :param parameters: The maintenance configuration to create or update. Required. - :type parameters: IO[bytes] - :keyword content_type: Body Parameter content-type. Content type parameter for binary body. - Default value is "application/json". - :paramtype content_type: str - :return: MaintenanceConfiguration. The MaintenanceConfiguration is compatible with - MutableMapping - :rtype: ~azure.mgmt.containerservice.models.MaintenanceConfiguration - :raises ~azure.core.exceptions.HttpResponseError: - """ - @distributed_trace - def create_or_update( - self, - resource_group_name: str, - resource_name: str, - config_name: str, - parameters: Union[_models.MaintenanceConfiguration, _types.MaintenanceConfiguration, IO[bytes]], - **kwargs: Any - ) -> _models.MaintenanceConfiguration: - """Creates or updates a maintenance configuration in the specified managed cluster. + def get_upgrade_profile( + self, resource_group_name: str, resource_name: str, agent_pool_name: str, **kwargs: Any + ) -> _models.AgentPoolUpgradeProfile: + """Gets the upgrade profile for an agent pool. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param resource_name: The name of the managed cluster resource. Required. :type resource_name: str - :param config_name: The name of the maintenance configuration. Supported values are 'default', - 'aksManagedAutoUpgradeSchedule', or 'aksManagedNodeOSUpgradeSchedule'. Required. - :type config_name: str - :param parameters: The maintenance configuration to create or update. Is either a - MaintenanceConfiguration type or a IO[bytes] type. Required. - :type parameters: ~azure.mgmt.containerservice.models.MaintenanceConfiguration or - ~azure.mgmt.containerservice.types.MaintenanceConfiguration or IO[bytes] - :return: MaintenanceConfiguration. The MaintenanceConfiguration is compatible with - MutableMapping - :rtype: ~azure.mgmt.containerservice.models.MaintenanceConfiguration + :param agent_pool_name: The name of the agent pool. Required. + :type agent_pool_name: str + :return: AgentPoolUpgradeProfile. The AgentPoolUpgradeProfile is compatible with MutableMapping + :rtype: ~azure.mgmt.containerservice.models.AgentPoolUpgradeProfile :raises ~azure.core.exceptions.HttpResponseError: """ error_map: MutableMapping = { @@ -9122,27 +3342,17 @@ def create_or_update( } error_map.update(kwargs.pop("error_map", {}) or {}) - _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - cls: ClsType[_models.MaintenanceConfiguration] = kwargs.pop("cls", None) - - content_type = content_type or "application/json" - _content = None - if isinstance(parameters, (IOBase, bytes)): - _content = parameters - else: - _content = json.dumps(parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + cls: ClsType[_models.AgentPoolUpgradeProfile] = kwargs.pop("cls", None) - _request = build_maintenance_configurations_create_or_update_request( + _request = build_agent_pools_get_upgrade_profile_request( resource_group_name=resource_group_name, resource_name=resource_name, - config_name=config_name, + agent_pool_name=agent_pool_name, subscription_id=self._config.subscription_id, - content_type=content_type, api_version=self._config.api_version, - content=_content, headers=_headers, params=_params, ) @@ -9159,7 +3369,7 @@ def create_or_update( response = pipeline_response.http_response - if response.status_code not in [200, 201]: + if response.status_code not in [200]: if _stream: try: response.read() # Load the body in memory and close the socket @@ -9175,29 +3385,42 @@ def create_or_update( if _stream: deserialized = response.iter_bytes() if _decompress else response.iter_raw() else: - deserialized = _deserialize(_models.MaintenanceConfiguration, response.json()) + deserialized = _deserialize(_models.AgentPoolUpgradeProfile, response.json()) if cls: return cls(pipeline_response, deserialized, {}) # type: ignore return deserialized # type: ignore + +class ManagedClustersOperations: # pylint: disable=docstring-missing-param,too-many-public-methods + """ + .. warning:: + **DO NOT** instantiate this class directly. + + Instead, you should access the following operations through + :class:`~azure.mgmt.containerservice.ContainerServiceClient`'s + :attr:`managed_clusters` attribute. + """ + + def __init__(self, *args, **kwargs) -> None: + input_args = list(args) + self._client: PipelineClient = input_args.pop(0) if input_args else kwargs.pop("client") + self._config: ContainerServiceClientConfiguration = input_args.pop(0) if input_args else kwargs.pop("config") + self._serialize: Serializer = input_args.pop(0) if input_args else kwargs.pop("serializer") + self._deserialize: Deserializer = input_args.pop(0) if input_args else kwargs.pop("deserializer") + @distributed_trace - def delete( # pylint: disable=inconsistent-return-statements - self, resource_group_name: str, resource_name: str, config_name: str, **kwargs: Any - ) -> None: - """Deletes a maintenance configuration. + def get(self, resource_group_name: str, resource_name: str, **kwargs: Any) -> _models.ManagedCluster: + """Gets a managed cluster. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param resource_name: The name of the managed cluster resource. Required. :type resource_name: str - :param config_name: The name of the maintenance configuration. Supported values are 'default', - 'aksManagedAutoUpgradeSchedule', or 'aksManagedNodeOSUpgradeSchedule'. Required. - :type config_name: str - :return: None - :rtype: None + :return: ManagedCluster. The ManagedCluster is compatible with MutableMapping + :rtype: ~azure.mgmt.containerservice.models.ManagedCluster :raises ~azure.core.exceptions.HttpResponseError: """ error_map: MutableMapping = { @@ -9211,12 +3434,11 @@ def delete( # pylint: disable=inconsistent-return-statements _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - cls: ClsType[None] = kwargs.pop("cls", None) + cls: ClsType[_models.ManagedCluster] = kwargs.pop("cls", None) - _request = build_maintenance_configurations_delete_request( + _request = build_managed_clusters_get_request( resource_group_name=resource_group_name, resource_name=resource_name, - config_name=config_name, subscription_id=self._config.subscription_id, api_version=self._config.api_version, headers=_headers, @@ -9227,14 +3449,20 @@ def delete( # pylint: disable=inconsistent-return-statements } _request.url = self._client.format_url(_request.url, **path_format_arguments) - _stream = False + _decompress = kwargs.pop("decompress", True) + _stream = kwargs.pop("stream", False) pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access _request, stream=_stream, **kwargs ) response = pipeline_response.http_response - if response.status_code not in [200, 204]: + if response.status_code not in [200]: + if _stream: + try: + response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass map_error(status_code=response.status_code, response=response, error_map=error_map) error = _failsafe_deserialize( _models.ErrorResponse, @@ -9242,235 +3470,303 @@ def delete( # pylint: disable=inconsistent-return-statements ) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - if cls: - return cls(pipeline_response, None, {}) # type: ignore - - @distributed_trace - def list_by_managed_cluster( - self, resource_group_name: str, resource_name: str, **kwargs: Any - ) -> ItemPaged["_models.MaintenanceConfiguration"]: - """Gets a list of maintenance configurations in the specified managed cluster. + if _stream: + deserialized = response.iter_bytes() if _decompress else response.iter_raw() + else: + deserialized = _deserialize(_models.ManagedCluster, response.json()) - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param resource_name: The name of the managed cluster resource. Required. - :type resource_name: str - :return: An iterator like instance of MaintenanceConfiguration - :rtype: - ~azure.core.paging.ItemPaged[~azure.mgmt.containerservice.models.MaintenanceConfiguration] - :raises ~azure.core.exceptions.HttpResponseError: - """ - _headers = kwargs.pop("headers", {}) or {} - _params = kwargs.pop("params", {}) or {} + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore - cls: ClsType[List[_models.MaintenanceConfiguration]] = kwargs.pop("cls", None) + return deserialized # type: ignore + def _create_or_update_initial( + self, + resource_group_name: str, + resource_name: str, + parameters: Union[_models.ManagedCluster, _types.ManagedCluster, IO[bytes]], + *, + etag: Optional[str] = None, + match_condition: Optional[MatchConditions] = None, + **kwargs: Any + ) -> Iterator[bytes]: error_map: MutableMapping = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError, 304: ResourceNotModifiedError, } + if match_condition == MatchConditions.IfNotModified: + error_map[412] = ResourceModifiedError + elif match_condition == MatchConditions.IfPresent: + error_map[412] = ResourceNotFoundError + elif match_condition == MatchConditions.IfMissing: + error_map[412] = ResourceExistsError error_map.update(kwargs.pop("error_map", {}) or {}) - def prepare_request(next_link=None): - if not next_link: + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _params = kwargs.pop("params", {}) or {} - _request = build_maintenance_configurations_list_by_managed_cluster_request( - resource_group_name=resource_group_name, - resource_name=resource_name, - subscription_id=self._config.subscription_id, - api_version=self._config.api_version, - headers=_headers, - params=_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url( - "self._config.base_url", self._config.base_url, "str", skip_quote=True - ), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + cls: ClsType[Iterator[bytes]] = kwargs.pop("cls", None) - else: - # make call to next link with the client's api-version - _parsed_next_link = urllib.parse.urlparse(next_link) - _next_request_params = case_insensitive_dict( - { - key: [urllib.parse.quote(v) for v in value] - for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items() - } - ) - _next_request_params["api-version"] = self._config.api_version - _request = HttpRequest( - "GET", - urllib.parse.urljoin(next_link, _parsed_next_link.path), - headers=_headers, - params=_next_request_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url( - "self._config.base_url", self._config.base_url, "str", skip_quote=True - ), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) + content_type = content_type or "application/json" + _content = None + if isinstance(parameters, (IOBase, bytes)): + _content = parameters + else: + _content = json.dumps(parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore - return _request + _request = build_managed_clusters_create_or_update_request( + resource_group_name=resource_group_name, + resource_name=resource_name, + subscription_id=self._config.subscription_id, + etag=etag, + match_condition=match_condition, + content_type=content_type, + api_version=self._config.api_version, + content=_content, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) - def extract_data(pipeline_response): - deserialized = pipeline_response.http_response.json() - list_of_elem = _deserialize( - List[_models.MaintenanceConfiguration], - deserialized.get("value", []), - ) - if cls: - list_of_elem = cls(list_of_elem) # type: ignore - return deserialized.get("nextLink") or None, iter(list_of_elem) + _decompress = kwargs.pop("decompress", True) + _stream = True + pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access + _request, stream=_stream, **kwargs + ) - def get_next(next_link=None): - _request = prepare_request(next_link) + response = pipeline_response.http_response - _stream = False - pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access - _request, stream=_stream, **kwargs + if response.status_code not in [200, 201]: + try: + response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = _failsafe_deserialize( + _models.ErrorResponse, + response, ) - response = pipeline_response.http_response + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - if response.status_code not in [200]: - map_error(status_code=response.status_code, response=response, error_map=error_map) - error = _failsafe_deserialize( - _models.ErrorResponse, - response, - ) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + response_headers = {} + if response.status_code == 201: + response_headers["Azure-AsyncOperation"] = self._deserialize( + "str", response.headers.get("Azure-AsyncOperation") + ) + response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) - return pipeline_response + deserialized = response.iter_bytes() if _decompress else response.iter_raw() - return ItemPaged(get_next, extract_data) + if cls: + return cls(pipeline_response, deserialized, response_headers) # type: ignore + + return deserialized # type: ignore + + @overload + def begin_create_or_update( + self, + resource_group_name: str, + resource_name: str, + parameters: _models.ManagedCluster, + *, + content_type: str = "application/json", + etag: Optional[str] = None, + match_condition: Optional[MatchConditions] = None, + **kwargs: Any + ) -> LROPoller[_models.ManagedCluster]: + """Creates or updates a managed cluster. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param resource_name: The name of the managed cluster resource. Required. + :type resource_name: str + :param parameters: The managed cluster to create or update. Required. + :type parameters: ~azure.mgmt.containerservice.models.ManagedCluster + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is + None. + :paramtype etag: str + :keyword match_condition: The match condition to use upon the etag. Default value is None. + :paramtype match_condition: ~azure.core.MatchConditions + :return: An instance of LROPoller that returns ManagedCluster. The ManagedCluster is compatible + with MutableMapping + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.containerservice.models.ManagedCluster] + :raises ~azure.core.exceptions.HttpResponseError: + """ + @overload + def begin_create_or_update( + self, + resource_group_name: str, + resource_name: str, + parameters: _types.ManagedCluster, + *, + content_type: str = "application/json", + etag: Optional[str] = None, + match_condition: Optional[MatchConditions] = None, + **kwargs: Any + ) -> LROPoller[_models.ManagedCluster]: + """Creates or updates a managed cluster. -class MaintenanceWindowsOperations: - """ - .. warning:: - **DO NOT** instantiate this class directly. + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param resource_name: The name of the managed cluster resource. Required. + :type resource_name: str + :param parameters: The managed cluster to create or update. Required. + :type parameters: ~azure.mgmt.containerservice.types.ManagedCluster + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is + None. + :paramtype etag: str + :keyword match_condition: The match condition to use upon the etag. Default value is None. + :paramtype match_condition: ~azure.core.MatchConditions + :return: An instance of LROPoller that returns ManagedCluster. The ManagedCluster is compatible + with MutableMapping + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.containerservice.models.ManagedCluster] + :raises ~azure.core.exceptions.HttpResponseError: + """ - Instead, you should access the following operations through - :class:`~azure.mgmt.containerservice.ContainerServiceClient`'s - :attr:`maintenance_windows` attribute. - """ + @overload + def begin_create_or_update( + self, + resource_group_name: str, + resource_name: str, + parameters: IO[bytes], + *, + content_type: str = "application/json", + etag: Optional[str] = None, + match_condition: Optional[MatchConditions] = None, + **kwargs: Any + ) -> LROPoller[_models.ManagedCluster]: + """Creates or updates a managed cluster. - def __init__(self, *args, **kwargs) -> None: - input_args = list(args) - self._client: PipelineClient = input_args.pop(0) if input_args else kwargs.pop("client") - self._config: ContainerServiceClientConfiguration = input_args.pop(0) if input_args else kwargs.pop("config") - self._serialize: Serializer = input_args.pop(0) if input_args else kwargs.pop("serializer") - self._deserialize: Deserializer = input_args.pop(0) if input_args else kwargs.pop("deserializer") + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param resource_name: The name of the managed cluster resource. Required. + :type resource_name: str + :param parameters: The managed cluster to create or update. Required. + :type parameters: IO[bytes] + :keyword content_type: Body Parameter content-type. Content type parameter for binary body. + Default value is "application/json". + :paramtype content_type: str + :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is + None. + :paramtype etag: str + :keyword match_condition: The match condition to use upon the etag. Default value is None. + :paramtype match_condition: ~azure.core.MatchConditions + :return: An instance of LROPoller that returns ManagedCluster. The ManagedCluster is compatible + with MutableMapping + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.containerservice.models.ManagedCluster] + :raises ~azure.core.exceptions.HttpResponseError: + """ @distributed_trace - @api_version_validation( - method_added_on="2026-05-02-preview", - params_added_on={ - "2026-05-02-preview": [ - "api_version", - "subscription_id", - "resource_group_name", - "maintenance_window_name", - "accept", - ] - }, - api_versions_list=["2026-05-02-preview"], - ) - def get( - self, resource_group_name: str, maintenance_window_name: str, **kwargs: Any - ) -> _models.MaintenanceWindowResource: - """Gets the specified maintenance window. + def begin_create_or_update( + self, + resource_group_name: str, + resource_name: str, + parameters: Union[_models.ManagedCluster, _types.ManagedCluster, IO[bytes]], + *, + etag: Optional[str] = None, + match_condition: Optional[MatchConditions] = None, + **kwargs: Any + ) -> LROPoller[_models.ManagedCluster]: + """Creates or updates a managed cluster. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str - :param maintenance_window_name: The name of the maintenance window. Required. - :type maintenance_window_name: str - :return: MaintenanceWindowResource. The MaintenanceWindowResource is compatible with - MutableMapping - :rtype: ~azure.mgmt.containerservice.models.MaintenanceWindowResource + :param resource_name: The name of the managed cluster resource. Required. + :type resource_name: str + :param parameters: The managed cluster to create or update. Is either a ManagedCluster type or + a IO[bytes] type. Required. + :type parameters: ~azure.mgmt.containerservice.models.ManagedCluster or + ~azure.mgmt.containerservice.types.ManagedCluster or IO[bytes] + :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is + None. + :paramtype etag: str + :keyword match_condition: The match condition to use upon the etag. Default value is None. + :paramtype match_condition: ~azure.core.MatchConditions + :return: An instance of LROPoller that returns ManagedCluster. The ManagedCluster is compatible + with MutableMapping + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.containerservice.models.ManagedCluster] :raises ~azure.core.exceptions.HttpResponseError: """ - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - _headers = kwargs.pop("headers", {}) or {} + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = kwargs.pop("params", {}) or {} - cls: ClsType[_models.MaintenanceWindowResource] = kwargs.pop("cls", None) + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + cls: ClsType[_models.ManagedCluster] = kwargs.pop("cls", None) + polling: Union[bool, PollingMethod] = kwargs.pop("polling", True) + lro_delay = kwargs.pop("polling_interval", self._config.polling_interval) + cont_token: Optional[str] = kwargs.pop("continuation_token", None) + if cont_token is None: + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + resource_name=resource_name, + parameters=parameters, + etag=etag, + match_condition=match_condition, + content_type=content_type, + cls=lambda x, y, z: x, + headers=_headers, + params=_params, + **kwargs + ) + raw_result.http_response.read() # type: ignore + kwargs.pop("error_map", None) + + def get_long_running_output(pipeline_response): + response = pipeline_response.http_response + deserialized = _deserialize(_models.ManagedCluster, response.json()) + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + return deserialized - _request = build_maintenance_windows_get_request( - resource_group_name=resource_group_name, - maintenance_window_name=maintenance_window_name, - subscription_id=self._config.subscription_id, - api_version=self._config.api_version, - headers=_headers, - params=_params, - ) path_format_arguments = { "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - _decompress = kwargs.pop("decompress", True) - _stream = kwargs.pop("stream", False) - pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access - _request, stream=_stream, **kwargs - ) - - response = pipeline_response.http_response - if response.status_code not in [200]: - if _stream: - try: - response.read() # Load the body in memory and close the socket - except (StreamConsumedError, StreamClosedError): - pass - map_error(status_code=response.status_code, response=response, error_map=error_map) - error = _failsafe_deserialize( - _models.ErrorResponse, - response, + if polling is True: + polling_method: PollingMethod = cast( + PollingMethod, ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) ) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - - if _stream: - deserialized = response.iter_bytes() if _decompress else response.iter_raw() + elif polling is False: + polling_method = cast(PollingMethod, NoPolling()) else: - deserialized = _deserialize(_models.MaintenanceWindowResource, response.json()) - - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - - return deserialized # type: ignore + polling_method = polling + if cont_token: + return LROPoller[_models.ManagedCluster].from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output, + ) + return LROPoller[_models.ManagedCluster]( + self._client, raw_result, get_long_running_output, polling_method # type: ignore + ) - @api_version_validation( - method_added_on="2026-05-02-preview", - params_added_on={ - "2026-05-02-preview": [ - "api_version", - "subscription_id", - "resource_group_name", - "maintenance_window_name", - "content_type", - "accept", - ] - }, - api_versions_list=["2026-05-02-preview"], - ) - def _create_or_update_initial( + def _update_tags_initial( self, resource_group_name: str, - maintenance_window_name: str, - resource: Union[_models.MaintenanceWindowResource, _types.MaintenanceWindowResource, IO[bytes]], + resource_name: str, + parameters: Union[_models.TagsObject, _types.TagsObject, IO[bytes]], + *, + etag: Optional[str] = None, + match_condition: Optional[MatchConditions] = None, **kwargs: Any ) -> Iterator[bytes]: error_map: MutableMapping = { @@ -9479,6 +3775,12 @@ def _create_or_update_initial( 409: ResourceExistsError, 304: ResourceNotModifiedError, } + if match_condition == MatchConditions.IfNotModified: + error_map[412] = ResourceModifiedError + elif match_condition == MatchConditions.IfPresent: + error_map[412] = ResourceNotFoundError + elif match_condition == MatchConditions.IfMissing: + error_map[412] = ResourceExistsError error_map.update(kwargs.pop("error_map", {}) or {}) _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) @@ -9489,15 +3791,17 @@ def _create_or_update_initial( content_type = content_type or "application/json" _content = None - if isinstance(resource, (IOBase, bytes)): - _content = resource + if isinstance(parameters, (IOBase, bytes)): + _content = parameters else: - _content = json.dumps(resource, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + _content = json.dumps(parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore - _request = build_maintenance_windows_create_or_update_request( + _request = build_managed_clusters_update_tags_request( resource_group_name=resource_group_name, - maintenance_window_name=maintenance_window_name, + resource_name=resource_name, subscription_id=self._config.subscription_id, + etag=etag, + match_condition=match_condition, content_type=content_type, api_version=self._config.api_version, content=_content, @@ -9517,7 +3821,7 @@ def _create_or_update_initial( response = pipeline_response.http_response - if response.status_code not in [200, 201]: + if response.status_code not in [200, 202]: try: response.read() # Load the body in memory and close the socket except (StreamConsumedError, StreamClosedError): @@ -9530,10 +3834,11 @@ def _create_or_update_initial( raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) response_headers = {} - if response.status_code == 201: + if response.status_code == 202: response_headers["Azure-AsyncOperation"] = self._deserialize( "str", response.headers.get("Azure-AsyncOperation") ) + response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) deserialized = response.iter_bytes() if _decompress else response.iter_raw() @@ -9544,144 +3849,157 @@ def _create_or_update_initial( return deserialized # type: ignore @overload - def begin_create_or_update( + def begin_update_tags( self, resource_group_name: str, - maintenance_window_name: str, - resource: _models.MaintenanceWindowResource, + resource_name: str, + parameters: _models.TagsObject, *, content_type: str = "application/json", + etag: Optional[str] = None, + match_condition: Optional[MatchConditions] = None, **kwargs: Any - ) -> LROPoller[_models.MaintenanceWindowResource]: - """Creates or updates a maintenance window. + ) -> LROPoller[_models.ManagedCluster]: + """Updates tags on a managed cluster. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str - :param maintenance_window_name: The name of the maintenance window. Required. - :type maintenance_window_name: str - :param resource: The maintenance window to create or update. Required. - :type resource: ~azure.mgmt.containerservice.models.MaintenanceWindowResource + :param resource_name: The name of the managed cluster resource. Required. + :type resource_name: str + :param parameters: Parameters supplied to the Update Managed Cluster Tags operation. Required. + :type parameters: ~azure.mgmt.containerservice.models.TagsObject :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str - :return: An instance of LROPoller that returns MaintenanceWindowResource. The - MaintenanceWindowResource is compatible with MutableMapping - :rtype: - ~azure.core.polling.LROPoller[~azure.mgmt.containerservice.models.MaintenanceWindowResource] + :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is + None. + :paramtype etag: str + :keyword match_condition: The match condition to use upon the etag. Default value is None. + :paramtype match_condition: ~azure.core.MatchConditions + :return: An instance of LROPoller that returns ManagedCluster. The ManagedCluster is compatible + with MutableMapping + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.containerservice.models.ManagedCluster] :raises ~azure.core.exceptions.HttpResponseError: """ @overload - def begin_create_or_update( + def begin_update_tags( self, resource_group_name: str, - maintenance_window_name: str, - resource: _types.MaintenanceWindowResource, + resource_name: str, + parameters: _types.TagsObject, *, content_type: str = "application/json", + etag: Optional[str] = None, + match_condition: Optional[MatchConditions] = None, **kwargs: Any - ) -> LROPoller[_models.MaintenanceWindowResource]: - """Creates or updates a maintenance window. + ) -> LROPoller[_models.ManagedCluster]: + """Updates tags on a managed cluster. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str - :param maintenance_window_name: The name of the maintenance window. Required. - :type maintenance_window_name: str - :param resource: The maintenance window to create or update. Required. - :type resource: ~azure.mgmt.containerservice.types.MaintenanceWindowResource + :param resource_name: The name of the managed cluster resource. Required. + :type resource_name: str + :param parameters: Parameters supplied to the Update Managed Cluster Tags operation. Required. + :type parameters: ~azure.mgmt.containerservice.types.TagsObject :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str - :return: An instance of LROPoller that returns MaintenanceWindowResource. The - MaintenanceWindowResource is compatible with MutableMapping - :rtype: - ~azure.core.polling.LROPoller[~azure.mgmt.containerservice.models.MaintenanceWindowResource] + :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is + None. + :paramtype etag: str + :keyword match_condition: The match condition to use upon the etag. Default value is None. + :paramtype match_condition: ~azure.core.MatchConditions + :return: An instance of LROPoller that returns ManagedCluster. The ManagedCluster is compatible + with MutableMapping + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.containerservice.models.ManagedCluster] :raises ~azure.core.exceptions.HttpResponseError: """ @overload - def begin_create_or_update( + def begin_update_tags( self, resource_group_name: str, - maintenance_window_name: str, - resource: IO[bytes], + resource_name: str, + parameters: IO[bytes], *, content_type: str = "application/json", + etag: Optional[str] = None, + match_condition: Optional[MatchConditions] = None, **kwargs: Any - ) -> LROPoller[_models.MaintenanceWindowResource]: - """Creates or updates a maintenance window. + ) -> LROPoller[_models.ManagedCluster]: + """Updates tags on a managed cluster. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str - :param maintenance_window_name: The name of the maintenance window. Required. - :type maintenance_window_name: str - :param resource: The maintenance window to create or update. Required. - :type resource: IO[bytes] + :param resource_name: The name of the managed cluster resource. Required. + :type resource_name: str + :param parameters: Parameters supplied to the Update Managed Cluster Tags operation. Required. + :type parameters: IO[bytes] :keyword content_type: Body Parameter content-type. Content type parameter for binary body. Default value is "application/json". :paramtype content_type: str - :return: An instance of LROPoller that returns MaintenanceWindowResource. The - MaintenanceWindowResource is compatible with MutableMapping - :rtype: - ~azure.core.polling.LROPoller[~azure.mgmt.containerservice.models.MaintenanceWindowResource] + :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is + None. + :paramtype etag: str + :keyword match_condition: The match condition to use upon the etag. Default value is None. + :paramtype match_condition: ~azure.core.MatchConditions + :return: An instance of LROPoller that returns ManagedCluster. The ManagedCluster is compatible + with MutableMapping + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.containerservice.models.ManagedCluster] :raises ~azure.core.exceptions.HttpResponseError: """ @distributed_trace - @api_version_validation( - method_added_on="2026-05-02-preview", - params_added_on={ - "2026-05-02-preview": [ - "api_version", - "subscription_id", - "resource_group_name", - "maintenance_window_name", - "content_type", - "accept", - ] - }, - api_versions_list=["2026-05-02-preview"], - ) - def begin_create_or_update( + def begin_update_tags( self, resource_group_name: str, - maintenance_window_name: str, - resource: Union[_models.MaintenanceWindowResource, _types.MaintenanceWindowResource, IO[bytes]], + resource_name: str, + parameters: Union[_models.TagsObject, _types.TagsObject, IO[bytes]], + *, + etag: Optional[str] = None, + match_condition: Optional[MatchConditions] = None, **kwargs: Any - ) -> LROPoller[_models.MaintenanceWindowResource]: - """Creates or updates a maintenance window. + ) -> LROPoller[_models.ManagedCluster]: + """Updates tags on a managed cluster. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str - :param maintenance_window_name: The name of the maintenance window. Required. - :type maintenance_window_name: str - :param resource: The maintenance window to create or update. Is either a - MaintenanceWindowResource type or a IO[bytes] type. Required. - :type resource: ~azure.mgmt.containerservice.models.MaintenanceWindowResource or - ~azure.mgmt.containerservice.types.MaintenanceWindowResource or IO[bytes] - :return: An instance of LROPoller that returns MaintenanceWindowResource. The - MaintenanceWindowResource is compatible with MutableMapping - :rtype: - ~azure.core.polling.LROPoller[~azure.mgmt.containerservice.models.MaintenanceWindowResource] + :param resource_name: The name of the managed cluster resource. Required. + :type resource_name: str + :param parameters: Parameters supplied to the Update Managed Cluster Tags operation. Is either + a TagsObject type or a IO[bytes] type. Required. + :type parameters: ~azure.mgmt.containerservice.models.TagsObject or + ~azure.mgmt.containerservice.types.TagsObject or IO[bytes] + :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is + None. + :paramtype etag: str + :keyword match_condition: The match condition to use upon the etag. Default value is None. + :paramtype match_condition: ~azure.core.MatchConditions + :return: An instance of LROPoller that returns ManagedCluster. The ManagedCluster is compatible + with MutableMapping + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.containerservice.models.ManagedCluster] :raises ~azure.core.exceptions.HttpResponseError: """ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = kwargs.pop("params", {}) or {} content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - cls: ClsType[_models.MaintenanceWindowResource] = kwargs.pop("cls", None) + cls: ClsType[_models.ManagedCluster] = kwargs.pop("cls", None) polling: Union[bool, PollingMethod] = kwargs.pop("polling", True) lro_delay = kwargs.pop("polling_interval", self._config.polling_interval) cont_token: Optional[str] = kwargs.pop("continuation_token", None) if cont_token is None: - raw_result = self._create_or_update_initial( + raw_result = self._update_tags_initial( resource_group_name=resource_group_name, - maintenance_window_name=maintenance_window_name, - resource=resource, + resource_name=resource_name, + parameters=parameters, + etag=etag, + match_condition=match_condition, content_type=content_type, cls=lambda x, y, z: x, headers=_headers, @@ -9693,7 +4011,7 @@ def begin_create_or_update( def get_long_running_output(pipeline_response): response = pipeline_response.http_response - deserialized = _deserialize(_models.MaintenanceWindowResource, response.json()) + deserialized = _deserialize(_models.ManagedCluster, response.json()) if cls: return cls(pipeline_response, deserialized, {}) # type: ignore return deserialized @@ -9711,222 +4029,37 @@ def get_long_running_output(pipeline_response): else: polling_method = polling if cont_token: - return LROPoller[_models.MaintenanceWindowResource].from_continuation_token( + return LROPoller[_models.ManagedCluster].from_continuation_token( polling_method=polling_method, continuation_token=cont_token, client=self._client, deserialization_callback=get_long_running_output, ) - return LROPoller[_models.MaintenanceWindowResource]( + return LROPoller[_models.ManagedCluster]( self._client, raw_result, get_long_running_output, polling_method # type: ignore ) - @overload - def update_tags( - self, - resource_group_name: str, - maintenance_window_name: str, - properties: _models.TagsObject, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> _models.MaintenanceWindowResource: - """Updates tags on a maintenance window. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param maintenance_window_name: The name of the maintenance window. Required. - :type maintenance_window_name: str - :param properties: Parameters supplied to the Update maintenance window Tags operation. - Required. - :type properties: ~azure.mgmt.containerservice.models.TagsObject - :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. - Default value is "application/json". - :paramtype content_type: str - :return: MaintenanceWindowResource. The MaintenanceWindowResource is compatible with - MutableMapping - :rtype: ~azure.mgmt.containerservice.models.MaintenanceWindowResource - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @overload - def update_tags( - self, - resource_group_name: str, - maintenance_window_name: str, - properties: _types.TagsObject, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> _models.MaintenanceWindowResource: - """Updates tags on a maintenance window. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param maintenance_window_name: The name of the maintenance window. Required. - :type maintenance_window_name: str - :param properties: Parameters supplied to the Update maintenance window Tags operation. - Required. - :type properties: ~azure.mgmt.containerservice.types.TagsObject - :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. - Default value is "application/json". - :paramtype content_type: str - :return: MaintenanceWindowResource. The MaintenanceWindowResource is compatible with - MutableMapping - :rtype: ~azure.mgmt.containerservice.models.MaintenanceWindowResource - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @overload - def update_tags( + def _delete_initial( self, resource_group_name: str, - maintenance_window_name: str, - properties: IO[bytes], + resource_name: str, *, - content_type: str = "application/json", - **kwargs: Any - ) -> _models.MaintenanceWindowResource: - """Updates tags on a maintenance window. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param maintenance_window_name: The name of the maintenance window. Required. - :type maintenance_window_name: str - :param properties: Parameters supplied to the Update maintenance window Tags operation. - Required. - :type properties: IO[bytes] - :keyword content_type: Body Parameter content-type. Content type parameter for binary body. - Default value is "application/json". - :paramtype content_type: str - :return: MaintenanceWindowResource. The MaintenanceWindowResource is compatible with - MutableMapping - :rtype: ~azure.mgmt.containerservice.models.MaintenanceWindowResource - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @distributed_trace - @api_version_validation( - method_added_on="2026-05-02-preview", - params_added_on={ - "2026-05-02-preview": [ - "api_version", - "subscription_id", - "resource_group_name", - "maintenance_window_name", - "content_type", - "accept", - ] - }, - api_versions_list=["2026-05-02-preview"], - ) - def update_tags( - self, - resource_group_name: str, - maintenance_window_name: str, - properties: Union[_models.TagsObject, _types.TagsObject, IO[bytes]], + etag: Optional[str] = None, + match_condition: Optional[MatchConditions] = None, **kwargs: Any - ) -> _models.MaintenanceWindowResource: - """Updates tags on a maintenance window. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param maintenance_window_name: The name of the maintenance window. Required. - :type maintenance_window_name: str - :param properties: Parameters supplied to the Update maintenance window Tags operation. Is - either a TagsObject type or a IO[bytes] type. Required. - :type properties: ~azure.mgmt.containerservice.models.TagsObject or - ~azure.mgmt.containerservice.types.TagsObject or IO[bytes] - :return: MaintenanceWindowResource. The MaintenanceWindowResource is compatible with - MutableMapping - :rtype: ~azure.mgmt.containerservice.models.MaintenanceWindowResource - :raises ~azure.core.exceptions.HttpResponseError: - """ - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - _params = kwargs.pop("params", {}) or {} - - content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - cls: ClsType[_models.MaintenanceWindowResource] = kwargs.pop("cls", None) - - content_type = content_type or "application/json" - _content = None - if isinstance(properties, (IOBase, bytes)): - _content = properties - else: - _content = json.dumps(properties, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore - - _request = build_maintenance_windows_update_tags_request( - resource_group_name=resource_group_name, - maintenance_window_name=maintenance_window_name, - subscription_id=self._config.subscription_id, - content_type=content_type, - api_version=self._config.api_version, - content=_content, - headers=_headers, - params=_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - _decompress = kwargs.pop("decompress", True) - _stream = kwargs.pop("stream", False) - pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access - _request, stream=_stream, **kwargs - ) - - response = pipeline_response.http_response - - if response.status_code not in [200]: - if _stream: - try: - response.read() # Load the body in memory and close the socket - except (StreamConsumedError, StreamClosedError): - pass - map_error(status_code=response.status_code, response=response, error_map=error_map) - error = _failsafe_deserialize( - _models.ErrorResponse, - response, - ) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - - if _stream: - deserialized = response.iter_bytes() if _decompress else response.iter_raw() - else: - deserialized = _deserialize(_models.MaintenanceWindowResource, response.json()) - - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - - return deserialized # type: ignore - - @api_version_validation( - method_added_on="2026-05-02-preview", - params_added_on={ - "2026-05-02-preview": ["api_version", "subscription_id", "resource_group_name", "maintenance_window_name"] - }, - api_versions_list=["2026-05-02-preview"], - ) - def _delete_initial(self, resource_group_name: str, maintenance_window_name: str, **kwargs: Any) -> Iterator[bytes]: + ) -> Iterator[bytes]: error_map: MutableMapping = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError, 304: ResourceNotModifiedError, } + if match_condition == MatchConditions.IfNotModified: + error_map[412] = ResourceModifiedError + elif match_condition == MatchConditions.IfPresent: + error_map[412] = ResourceNotFoundError + elif match_condition == MatchConditions.IfMissing: + error_map[412] = ResourceExistsError error_map.update(kwargs.pop("error_map", {}) or {}) _headers = kwargs.pop("headers", {}) or {} @@ -9934,10 +4067,12 @@ def _delete_initial(self, resource_group_name: str, maintenance_window_name: str cls: ClsType[Iterator[bytes]] = kwargs.pop("cls", None) - _request = build_maintenance_windows_delete_request( + _request = build_managed_clusters_delete_request( resource_group_name=resource_group_name, - maintenance_window_name=maintenance_window_name, + resource_name=resource_name, subscription_id=self._config.subscription_id, + etag=etag, + match_condition=match_condition, api_version=self._config.api_version, headers=_headers, params=_params, @@ -9969,6 +4104,9 @@ def _delete_initial(self, resource_group_name: str, maintenance_window_name: str response_headers = {} if response.status_code == 202: + response_headers["Azure-AsyncOperation"] = self._deserialize( + "str", response.headers.get("Azure-AsyncOperation") + ) response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) @@ -9980,21 +4118,27 @@ def _delete_initial(self, resource_group_name: str, maintenance_window_name: str return deserialized # type: ignore @distributed_trace - @api_version_validation( - method_added_on="2026-05-02-preview", - params_added_on={ - "2026-05-02-preview": ["api_version", "subscription_id", "resource_group_name", "maintenance_window_name"] - }, - api_versions_list=["2026-05-02-preview"], - ) - def begin_delete(self, resource_group_name: str, maintenance_window_name: str, **kwargs: Any) -> LROPoller[None]: - """Deletes a maintenance window. + def begin_delete( + self, + resource_group_name: str, + resource_name: str, + *, + etag: Optional[str] = None, + match_condition: Optional[MatchConditions] = None, + **kwargs: Any + ) -> LROPoller[None]: + """Deletes a managed cluster. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str - :param maintenance_window_name: The name of the maintenance window. Required. - :type maintenance_window_name: str + :param resource_name: The name of the managed cluster resource. Required. + :type resource_name: str + :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is + None. + :paramtype etag: str + :keyword match_condition: The match condition to use upon the etag. Default value is None. + :paramtype match_condition: ~azure.core.MatchConditions :return: An instance of LROPoller that returns None :rtype: ~azure.core.polling.LROPoller[None] :raises ~azure.core.exceptions.HttpResponseError: @@ -10009,7 +4153,9 @@ def begin_delete(self, resource_group_name: str, maintenance_window_name: str, * if cont_token is None: raw_result = self._delete_initial( resource_group_name=resource_group_name, - maintenance_window_name=maintenance_window_name, + resource_name=resource_name, + etag=etag, + match_condition=match_condition, cls=lambda x, y, z: x, headers=_headers, params=_params, @@ -10044,26 +4190,20 @@ def get_long_running_output(pipeline_response): # pylint: disable=inconsistent- return LROPoller[None](self._client, raw_result, get_long_running_output, polling_method) # type: ignore @distributed_trace - @api_version_validation( - method_added_on="2026-05-02-preview", - params_added_on={"2026-05-02-preview": ["api_version", "subscription_id", "resource_group_name", "accept"]}, - api_versions_list=["2026-05-02-preview"], - ) - def list(self, resource_group_name: str, **kwargs: Any) -> ItemPaged["_models.MaintenanceWindowResource"]: - """Lists maintenance windows in the specified resource group. + def list_by_resource_group(self, resource_group_name: str, **kwargs: Any) -> ItemPaged["_models.ManagedCluster"]: + """Lists managed clusters in the specified subscription and resource group. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str - :return: An iterator like instance of MaintenanceWindowResource - :rtype: - ~azure.core.paging.ItemPaged[~azure.mgmt.containerservice.models.MaintenanceWindowResource] + :return: An iterator like instance of ManagedCluster + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.containerservice.models.ManagedCluster] :raises ~azure.core.exceptions.HttpResponseError: """ _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - cls: ClsType[List[_models.MaintenanceWindowResource]] = kwargs.pop("cls", None) + cls: ClsType[List[_models.ManagedCluster]] = kwargs.pop("cls", None) error_map: MutableMapping = { 401: ClientAuthenticationError, @@ -10076,7 +4216,7 @@ def list(self, resource_group_name: str, **kwargs: Any) -> ItemPaged["_models.Ma def prepare_request(next_link=None): if not next_link: - _request = build_maintenance_windows_list_request( + _request = build_managed_clusters_list_by_resource_group_request( resource_group_name=resource_group_name, subscription_id=self._config.subscription_id, api_version=self._config.api_version, @@ -10118,7 +4258,7 @@ def prepare_request(next_link=None): def extract_data(pipeline_response): deserialized = pipeline_response.http_response.json() list_of_elem = _deserialize( - List[_models.MaintenanceWindowResource], + List[_models.ManagedCluster], deserialized.get("value", []), ) if cls: @@ -10147,23 +4287,17 @@ def get_next(next_link=None): return ItemPaged(get_next, extract_data) @distributed_trace - @api_version_validation( - method_added_on="2026-05-02-preview", - params_added_on={"2026-05-02-preview": ["api_version", "subscription_id", "accept"]}, - api_versions_list=["2026-05-02-preview"], - ) - def list_by_subscription(self, **kwargs: Any) -> ItemPaged["_models.MaintenanceWindowResource"]: - """Lists maintenance windows in the specified subscription. + def list(self, **kwargs: Any) -> ItemPaged["_models.ManagedCluster"]: + """Gets a list of managed clusters in the specified subscription. - :return: An iterator like instance of MaintenanceWindowResource - :rtype: - ~azure.core.paging.ItemPaged[~azure.mgmt.containerservice.models.MaintenanceWindowResource] + :return: An iterator like instance of ManagedCluster + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.containerservice.models.ManagedCluster] :raises ~azure.core.exceptions.HttpResponseError: """ _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - cls: ClsType[List[_models.MaintenanceWindowResource]] = kwargs.pop("cls", None) + cls: ClsType[List[_models.ManagedCluster]] = kwargs.pop("cls", None) error_map: MutableMapping = { 401: ClientAuthenticationError, @@ -10176,7 +4310,7 @@ def list_by_subscription(self, **kwargs: Any) -> ItemPaged["_models.MaintenanceW def prepare_request(next_link=None): if not next_link: - _request = build_maintenance_windows_list_by_subscription_request( + _request = build_managed_clusters_list_request( subscription_id=self._config.subscription_id, api_version=self._config.api_version, headers=_headers, @@ -10217,7 +4351,7 @@ def prepare_request(next_link=None): def extract_data(pipeline_response): deserialized = pipeline_response.http_response.json() list_of_elem = _deserialize( - List[_models.MaintenanceWindowResource], + List[_models.ManagedCluster], deserialized.get("value", []), ) if cls: @@ -10245,39 +4379,27 @@ def get_next(next_link=None): return ItemPaged(get_next, extract_data) - -class ManagedNamespacesOperations: - """ - .. warning:: - **DO NOT** instantiate this class directly. - - Instead, you should access the following operations through - :class:`~azure.mgmt.containerservice.ContainerServiceClient`'s - :attr:`managed_namespaces` attribute. - """ - - def __init__(self, *args, **kwargs) -> None: - input_args = list(args) - self._client: PipelineClient = input_args.pop(0) if input_args else kwargs.pop("client") - self._config: ContainerServiceClientConfiguration = input_args.pop(0) if input_args else kwargs.pop("config") - self._serialize: Serializer = input_args.pop(0) if input_args else kwargs.pop("serializer") - self._deserialize: Deserializer = input_args.pop(0) if input_args else kwargs.pop("deserializer") - @distributed_trace - def get( - self, resource_group_name: str, resource_name: str, managed_namespace_name: str, **kwargs: Any - ) -> _models.ManagedNamespace: - """Gets the specified namespace of a managed cluster. + def get_access_profile( + self, resource_group_name: str, resource_name: str, role_name: str, **kwargs: Any + ) -> _models.ManagedClusterAccessProfile: + """Gets an access profile of a managed cluster. + + **WARNING**: This API will be deprecated. Instead use `ListClusterUserCredentials + `_ or + `ListClusterAdminCredentials + `_ . :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param resource_name: The name of the managed cluster resource. Required. :type resource_name: str - :param managed_namespace_name: The name of the managed namespace. Required. - :type managed_namespace_name: str - :return: ManagedNamespace. The ManagedNamespace is compatible with MutableMapping - :rtype: ~azure.mgmt.containerservice.models.ManagedNamespace + :param role_name: The name of the role for managed cluster accessProfile resource. Required. + :type role_name: str + :return: ManagedClusterAccessProfile. The ManagedClusterAccessProfile is compatible with + MutableMapping + :rtype: ~azure.mgmt.containerservice.models.ManagedClusterAccessProfile :raises ~azure.core.exceptions.HttpResponseError: """ error_map: MutableMapping = { @@ -10291,12 +4413,12 @@ def get( _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - cls: ClsType[_models.ManagedNamespace] = kwargs.pop("cls", None) + cls: ClsType[_models.ManagedClusterAccessProfile] = kwargs.pop("cls", None) - _request = build_managed_namespaces_get_request( + _request = build_managed_clusters_get_access_profile_request( resource_group_name=resource_group_name, resource_name=resource_name, - managed_namespace_name=managed_namespace_name, + role_name=role_name, subscription_id=self._config.subscription_id, api_version=self._config.api_version, headers=_headers, @@ -10331,390 +4453,114 @@ def get( if _stream: deserialized = response.iter_bytes() if _decompress else response.iter_raw() else: - deserialized = _deserialize(_models.ManagedNamespace, response.json()) - - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - - return deserialized # type: ignore - - def _create_or_update_initial( - self, - resource_group_name: str, - resource_name: str, - managed_namespace_name: str, - parameters: Union[_models.ManagedNamespace, _types.ManagedNamespace, IO[bytes]], - **kwargs: Any - ) -> Iterator[bytes]: - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - _params = kwargs.pop("params", {}) or {} - - content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - cls: ClsType[Iterator[bytes]] = kwargs.pop("cls", None) - - content_type = content_type or "application/json" - _content = None - if isinstance(parameters, (IOBase, bytes)): - _content = parameters - else: - _content = json.dumps(parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore - - _request = build_managed_namespaces_create_or_update_request( - resource_group_name=resource_group_name, - resource_name=resource_name, - managed_namespace_name=managed_namespace_name, - subscription_id=self._config.subscription_id, - content_type=content_type, - api_version=self._config.api_version, - content=_content, - headers=_headers, - params=_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - _decompress = kwargs.pop("decompress", True) - _stream = True - pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access - _request, stream=_stream, **kwargs - ) - - response = pipeline_response.http_response - - if response.status_code not in [200, 201]: - try: - response.read() # Load the body in memory and close the socket - except (StreamConsumedError, StreamClosedError): - pass - map_error(status_code=response.status_code, response=response, error_map=error_map) - error = _failsafe_deserialize( - _models.ErrorResponse, - response, - ) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - - response_headers = {} - if response.status_code == 201: - response_headers["Azure-AsyncOperation"] = self._deserialize( - "str", response.headers.get("Azure-AsyncOperation") - ) - response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) - - deserialized = response.iter_bytes() if _decompress else response.iter_raw() - - if cls: - return cls(pipeline_response, deserialized, response_headers) # type: ignore - - return deserialized # type: ignore - - @overload - def begin_create_or_update( - self, - resource_group_name: str, - resource_name: str, - managed_namespace_name: str, - parameters: _models.ManagedNamespace, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> LROPoller[_models.ManagedNamespace]: - """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. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param resource_name: The name of the managed cluster resource. Required. - :type resource_name: str - :param managed_namespace_name: The name of the managed namespace. Required. - :type managed_namespace_name: str - :param parameters: The namespace to create or update. Required. - :type parameters: ~azure.mgmt.containerservice.models.ManagedNamespace - :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. - Default value is "application/json". - :paramtype content_type: str - :return: An instance of LROPoller that returns ManagedNamespace. The ManagedNamespace is - compatible with MutableMapping - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.containerservice.models.ManagedNamespace] - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @overload - def begin_create_or_update( - self, - resource_group_name: str, - resource_name: str, - managed_namespace_name: str, - parameters: _types.ManagedNamespace, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> LROPoller[_models.ManagedNamespace]: - """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. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param resource_name: The name of the managed cluster resource. Required. - :type resource_name: str - :param managed_namespace_name: The name of the managed namespace. Required. - :type managed_namespace_name: str - :param parameters: The namespace to create or update. Required. - :type parameters: ~azure.mgmt.containerservice.types.ManagedNamespace - :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. - Default value is "application/json". - :paramtype content_type: str - :return: An instance of LROPoller that returns ManagedNamespace. The ManagedNamespace is - compatible with MutableMapping - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.containerservice.models.ManagedNamespace] - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @overload - def begin_create_or_update( - self, - resource_group_name: str, - resource_name: str, - managed_namespace_name: str, - parameters: IO[bytes], - *, - content_type: str = "application/json", - **kwargs: Any - ) -> LROPoller[_models.ManagedNamespace]: - """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. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param resource_name: The name of the managed cluster resource. Required. - :type resource_name: str - :param managed_namespace_name: The name of the managed namespace. Required. - :type managed_namespace_name: str - :param parameters: The namespace to create or update. Required. - :type parameters: IO[bytes] - :keyword content_type: Body Parameter content-type. Content type parameter for binary body. - Default value is "application/json". - :paramtype content_type: str - :return: An instance of LROPoller that returns ManagedNamespace. The ManagedNamespace is - compatible with MutableMapping - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.containerservice.models.ManagedNamespace] - :raises ~azure.core.exceptions.HttpResponseError: - """ + deserialized = _deserialize(_models.ManagedClusterAccessProfile, response.json()) + + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + + return deserialized # type: ignore @distributed_trace - def begin_create_or_update( - self, - resource_group_name: str, - resource_name: str, - managed_namespace_name: str, - parameters: Union[_models.ManagedNamespace, _types.ManagedNamespace, IO[bytes]], - **kwargs: Any - ) -> LROPoller[_models.ManagedNamespace]: - """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. + def list_cluster_admin_credentials( + self, resource_group_name: str, resource_name: str, *, server_fqdn: Optional[str] = None, **kwargs: Any + ) -> _models.CredentialResults: + """Lists the admin credentials of a managed cluster. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param resource_name: The name of the managed cluster resource. Required. :type resource_name: str - :param managed_namespace_name: The name of the managed namespace. Required. - :type managed_namespace_name: str - :param parameters: The namespace to create or update. Is either a ManagedNamespace type or a - IO[bytes] type. Required. - :type parameters: ~azure.mgmt.containerservice.models.ManagedNamespace or - ~azure.mgmt.containerservice.types.ManagedNamespace or IO[bytes] - :return: An instance of LROPoller that returns ManagedNamespace. The ManagedNamespace is - compatible with MutableMapping - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.containerservice.models.ManagedNamespace] + :keyword server_fqdn: server fqdn type for credentials to be returned. Default value is None. + :paramtype server_fqdn: str + :return: CredentialResults. The CredentialResults is compatible with MutableMapping + :rtype: ~azure.mgmt.containerservice.models.CredentialResults :raises ~azure.core.exceptions.HttpResponseError: """ - _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - _params = kwargs.pop("params", {}) or {} + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) - content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - cls: ClsType[_models.ManagedNamespace] = kwargs.pop("cls", None) - polling: Union[bool, PollingMethod] = kwargs.pop("polling", True) - lro_delay = kwargs.pop("polling_interval", self._config.polling_interval) - cont_token: Optional[str] = kwargs.pop("continuation_token", None) - if cont_token is None: - raw_result = self._create_or_update_initial( - resource_group_name=resource_group_name, - resource_name=resource_name, - managed_namespace_name=managed_namespace_name, - parameters=parameters, - content_type=content_type, - cls=lambda x, y, z: x, - headers=_headers, - params=_params, - **kwargs - ) - raw_result.http_response.read() # type: ignore - kwargs.pop("error_map", None) + _headers = kwargs.pop("headers", {}) or {} + _params = kwargs.pop("params", {}) or {} - def get_long_running_output(pipeline_response): - response = pipeline_response.http_response - deserialized = _deserialize(_models.ManagedNamespace, response.json()) - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - return deserialized + cls: ClsType[_models.CredentialResults] = kwargs.pop("cls", None) + _request = build_managed_clusters_list_cluster_admin_credentials_request( + resource_group_name=resource_group_name, + resource_name=resource_name, + subscription_id=self._config.subscription_id, + server_fqdn=server_fqdn, + api_version=self._config.api_version, + headers=_headers, + params=_params, + ) path_format_arguments = { "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), } + _request.url = self._client.format_url(_request.url, **path_format_arguments) - if polling is True: - polling_method: PollingMethod = cast( - PollingMethod, ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) - ) - elif polling is False: - polling_method = cast(PollingMethod, NoPolling()) - else: - polling_method = polling - if cont_token: - return LROPoller[_models.ManagedNamespace].from_continuation_token( - polling_method=polling_method, - continuation_token=cont_token, - client=self._client, - deserialization_callback=get_long_running_output, - ) - return LROPoller[_models.ManagedNamespace]( - self._client, raw_result, get_long_running_output, polling_method # type: ignore + _decompress = kwargs.pop("decompress", True) + _stream = kwargs.pop("stream", False) + pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access + _request, stream=_stream, **kwargs ) - @overload - def update( - self, - resource_group_name: str, - resource_name: str, - managed_namespace_name: str, - parameters: _models.TagsObject, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> _models.ManagedNamespace: - """Updates tags on a managed namespace. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param resource_name: The name of the managed cluster resource. Required. - :type resource_name: str - :param managed_namespace_name: The name of the managed namespace. Required. - :type managed_namespace_name: str - :param parameters: Parameters supplied to the patch namespace operation, we only support patch - tags for now. Required. - :type parameters: ~azure.mgmt.containerservice.models.TagsObject - :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. - Default value is "application/json". - :paramtype content_type: str - :return: ManagedNamespace. The ManagedNamespace is compatible with MutableMapping - :rtype: ~azure.mgmt.containerservice.models.ManagedNamespace - :raises ~azure.core.exceptions.HttpResponseError: - """ + response = pipeline_response.http_response - @overload - def update( - self, - resource_group_name: str, - resource_name: str, - managed_namespace_name: str, - parameters: _types.TagsObject, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> _models.ManagedNamespace: - """Updates tags on a managed namespace. + if response.status_code not in [200]: + if _stream: + try: + response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param resource_name: The name of the managed cluster resource. Required. - :type resource_name: str - :param managed_namespace_name: The name of the managed namespace. Required. - :type managed_namespace_name: str - :param parameters: Parameters supplied to the patch namespace operation, we only support patch - tags for now. Required. - :type parameters: ~azure.mgmt.containerservice.types.TagsObject - :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. - Default value is "application/json". - :paramtype content_type: str - :return: ManagedNamespace. The ManagedNamespace is compatible with MutableMapping - :rtype: ~azure.mgmt.containerservice.models.ManagedNamespace - :raises ~azure.core.exceptions.HttpResponseError: - """ + if _stream: + deserialized = response.iter_bytes() if _decompress else response.iter_raw() + else: + deserialized = _deserialize(_models.CredentialResults, response.json()) - @overload - def update( - self, - resource_group_name: str, - resource_name: str, - managed_namespace_name: str, - parameters: IO[bytes], - *, - content_type: str = "application/json", - **kwargs: Any - ) -> _models.ManagedNamespace: - """Updates tags on a managed namespace. + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param resource_name: The name of the managed cluster resource. Required. - :type resource_name: str - :param managed_namespace_name: The name of the managed namespace. Required. - :type managed_namespace_name: str - :param parameters: Parameters supplied to the patch namespace operation, we only support patch - tags for now. Required. - :type parameters: IO[bytes] - :keyword content_type: Body Parameter content-type. Content type parameter for binary body. - Default value is "application/json". - :paramtype content_type: str - :return: ManagedNamespace. The ManagedNamespace is compatible with MutableMapping - :rtype: ~azure.mgmt.containerservice.models.ManagedNamespace - :raises ~azure.core.exceptions.HttpResponseError: - """ + return deserialized # type: ignore @distributed_trace - def update( + def list_cluster_user_credentials( self, resource_group_name: str, resource_name: str, - managed_namespace_name: str, - parameters: Union[_models.TagsObject, _types.TagsObject, IO[bytes]], + *, + server_fqdn: Optional[str] = None, + format: Optional[Union[str, _models.Format]] = None, **kwargs: Any - ) -> _models.ManagedNamespace: - """Updates tags on a managed namespace. + ) -> _models.CredentialResults: + """Lists the user credentials of a managed cluster. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param resource_name: The name of the managed cluster resource. Required. :type resource_name: str - :param managed_namespace_name: The name of the managed namespace. Required. - :type managed_namespace_name: str - :param parameters: Parameters supplied to the patch namespace operation, we only support patch - tags for now. Is either a TagsObject type or a IO[bytes] type. Required. - :type parameters: ~azure.mgmt.containerservice.models.TagsObject or - ~azure.mgmt.containerservice.types.TagsObject or IO[bytes] - :return: ManagedNamespace. The ManagedNamespace is compatible with MutableMapping - :rtype: ~azure.mgmt.containerservice.models.ManagedNamespace + :keyword server_fqdn: server fqdn type for credentials to be returned. Default value is None. + :paramtype server_fqdn: str + :keyword format: Only apply to AAD clusters, specifies the format of returned kubeconfig. + Format 'azure' will return azure auth-provider kubeconfig; format 'exec' will return exec + format kubeconfig, which requires kubelogin binary in the path. Known values are: "azure" and + "exec". Default value is None. + :paramtype format: str or ~azure.mgmt.containerservice.models.Format + :return: CredentialResults. The CredentialResults is compatible with MutableMapping + :rtype: ~azure.mgmt.containerservice.models.CredentialResults :raises ~azure.core.exceptions.HttpResponseError: """ error_map: MutableMapping = { @@ -10725,27 +4571,18 @@ def update( } error_map.update(kwargs.pop("error_map", {}) or {}) - _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - cls: ClsType[_models.ManagedNamespace] = kwargs.pop("cls", None) - - content_type = content_type or "application/json" - _content = None - if isinstance(parameters, (IOBase, bytes)): - _content = parameters - else: - _content = json.dumps(parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + cls: ClsType[_models.CredentialResults] = kwargs.pop("cls", None) - _request = build_managed_namespaces_update_request( + _request = build_managed_clusters_list_cluster_user_credentials_request( resource_group_name=resource_group_name, resource_name=resource_name, - managed_namespace_name=managed_namespace_name, subscription_id=self._config.subscription_id, - content_type=content_type, + server_fqdn=server_fqdn, + format=format, api_version=self._config.api_version, - content=_content, headers=_headers, params=_params, ) @@ -10778,16 +4615,30 @@ def update( if _stream: deserialized = response.iter_bytes() if _decompress else response.iter_raw() else: - deserialized = _deserialize(_models.ManagedNamespace, response.json()) + deserialized = _deserialize(_models.CredentialResults, response.json()) if cls: return cls(pipeline_response, deserialized, {}) # type: ignore return deserialized # type: ignore - def _delete_initial( - self, resource_group_name: str, resource_name: str, managed_namespace_name: str, **kwargs: Any - ) -> Iterator[bytes]: + @distributed_trace + def list_cluster_monitoring_user_credentials( + self, resource_group_name: str, resource_name: str, *, server_fqdn: Optional[str] = None, **kwargs: Any + ) -> _models.CredentialResults: + """Lists the cluster monitoring user credentials of a managed cluster. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param resource_name: The name of the managed cluster resource. Required. + :type resource_name: str + :keyword server_fqdn: server fqdn type for credentials to be returned. Default value is None. + :paramtype server_fqdn: str + :return: CredentialResults. The CredentialResults is compatible with MutableMapping + :rtype: ~azure.mgmt.containerservice.models.CredentialResults + :raises ~azure.core.exceptions.HttpResponseError: + """ error_map: MutableMapping = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, @@ -10799,13 +4650,13 @@ def _delete_initial( _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - cls: ClsType[Iterator[bytes]] = kwargs.pop("cls", None) + cls: ClsType[_models.CredentialResults] = kwargs.pop("cls", None) - _request = build_managed_namespaces_delete_request( + _request = build_managed_clusters_list_cluster_monitoring_user_credentials_request( resource_group_name=resource_group_name, resource_name=resource_name, - managed_namespace_name=managed_namespace_name, subscription_id=self._config.subscription_id, + server_fqdn=server_fqdn, api_version=self._config.api_version, headers=_headers, params=_params, @@ -10816,18 +4667,19 @@ def _delete_initial( _request.url = self._client.format_url(_request.url, **path_format_arguments) _decompress = kwargs.pop("decompress", True) - _stream = True + _stream = kwargs.pop("stream", False) pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access _request, stream=_stream, **kwargs ) response = pipeline_response.http_response - if response.status_code not in [202, 204]: - try: - response.read() # Load the body in memory and close the socket - except (StreamConsumedError, StreamClosedError): - pass + if response.status_code not in [200]: + if _stream: + try: + response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass map_error(status_code=response.status_code, response=response, error_map=error_map) error = _failsafe_deserialize( _models.ErrorResponse, @@ -10835,202 +4687,25 @@ def _delete_initial( ) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - response_headers = {} - if response.status_code == 202: - response_headers["Azure-AsyncOperation"] = self._deserialize( - "str", response.headers.get("Azure-AsyncOperation") - ) - response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) - response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) - - deserialized = response.iter_bytes() if _decompress else response.iter_raw() + if _stream: + deserialized = response.iter_bytes() if _decompress else response.iter_raw() + else: + deserialized = _deserialize(_models.CredentialResults, response.json()) if cls: - return cls(pipeline_response, deserialized, response_headers) # type: ignore + return cls(pipeline_response, deserialized, {}) # type: ignore return deserialized # type: ignore - @distributed_trace - def begin_delete( - self, resource_group_name: str, resource_name: str, managed_namespace_name: str, **kwargs: Any - ) -> LROPoller[None]: - """Deletes a namespace. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param resource_name: The name of the managed cluster resource. Required. - :type resource_name: str - :param managed_namespace_name: The name of the managed namespace. Required. - :type managed_namespace_name: str - :return: An instance of LROPoller that returns None - :rtype: ~azure.core.polling.LROPoller[None] - :raises ~azure.core.exceptions.HttpResponseError: - """ - _headers = kwargs.pop("headers", {}) or {} - _params = kwargs.pop("params", {}) or {} - - cls: ClsType[None] = kwargs.pop("cls", None) - polling: Union[bool, PollingMethod] = kwargs.pop("polling", True) - lro_delay = kwargs.pop("polling_interval", self._config.polling_interval) - cont_token: Optional[str] = kwargs.pop("continuation_token", None) - if cont_token is None: - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - resource_name=resource_name, - managed_namespace_name=managed_namespace_name, - cls=lambda x, y, z: x, - headers=_headers, - params=_params, - **kwargs - ) - raw_result.http_response.read() # type: ignore - kwargs.pop("error_map", None) - - def get_long_running_output(pipeline_response): # pylint: disable=inconsistent-return-statements - if cls: - return cls(pipeline_response, None, {}) # type: ignore - - path_format_arguments = { - "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), - } - - if polling is True: - polling_method: PollingMethod = cast( - PollingMethod, ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) - ) - elif polling is False: - polling_method = cast(PollingMethod, NoPolling()) - else: - polling_method = polling - if cont_token: - return LROPoller[None].from_continuation_token( - polling_method=polling_method, - continuation_token=cont_token, - client=self._client, - deserialization_callback=get_long_running_output, - ) - return LROPoller[None](self._client, raw_result, get_long_running_output, polling_method) # type: ignore - - @distributed_trace - def list_by_managed_cluster( - self, resource_group_name: str, resource_name: str, **kwargs: Any - ) -> ItemPaged["_models.ManagedNamespace"]: - """Gets a list of managed namespaces in the specified managed cluster. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param resource_name: The name of the managed cluster resource. Required. - :type resource_name: str - :return: An iterator like instance of ManagedNamespace - :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.containerservice.models.ManagedNamespace] - :raises ~azure.core.exceptions.HttpResponseError: - """ - _headers = kwargs.pop("headers", {}) or {} - _params = kwargs.pop("params", {}) or {} - - cls: ClsType[List[_models.ManagedNamespace]] = kwargs.pop("cls", None) - - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - def prepare_request(next_link=None): - if not next_link: - - _request = build_managed_namespaces_list_by_managed_cluster_request( - resource_group_name=resource_group_name, - resource_name=resource_name, - subscription_id=self._config.subscription_id, - api_version=self._config.api_version, - headers=_headers, - params=_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url( - "self._config.base_url", self._config.base_url, "str", skip_quote=True - ), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - else: - # make call to next link with the client's api-version - _parsed_next_link = urllib.parse.urlparse(next_link) - _next_request_params = case_insensitive_dict( - { - key: [urllib.parse.quote(v) for v in value] - for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items() - } - ) - _next_request_params["api-version"] = self._config.api_version - _request = HttpRequest( - "GET", - urllib.parse.urljoin(next_link, _parsed_next_link.path), - headers=_headers, - params=_next_request_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url( - "self._config.base_url", self._config.base_url, "str", skip_quote=True - ), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - return _request - - def extract_data(pipeline_response): - deserialized = pipeline_response.http_response.json() - list_of_elem = _deserialize( - List[_models.ManagedNamespace], - deserialized.get("value", []), - ) - if cls: - list_of_elem = cls(list_of_elem) # type: ignore - return deserialized.get("nextLink") or None, iter(list_of_elem) - - def get_next(next_link=None): - _request = prepare_request(next_link) - - _stream = False - pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access - _request, stream=_stream, **kwargs - ) - response = pipeline_response.http_response - - if response.status_code not in [200]: - map_error(status_code=response.status_code, response=response, error_map=error_map) - error = _failsafe_deserialize( - _models.ErrorResponse, - response, - ) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - - return pipeline_response - - return ItemPaged(get_next, extract_data) - - @distributed_trace - def list_credential( - self, resource_group_name: str, resource_name: str, managed_namespace_name: str, **kwargs: Any - ) -> _models.CredentialResults: - """Lists the credentials of a namespace. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param resource_name: The name of the managed cluster resource. Required. - :type resource_name: str - :param managed_namespace_name: The name of the managed namespace. Required. - :type managed_namespace_name: str - :return: CredentialResults. The CredentialResults is compatible with MutableMapping - :rtype: ~azure.mgmt.containerservice.models.CredentialResults - :raises ~azure.core.exceptions.HttpResponseError: - """ + def _reset_service_principal_profile_initial( + self, + resource_group_name: str, + resource_name: str, + parameters: Union[ + _models.ManagedClusterServicePrincipalProfile, _types.ManagedClusterServicePrincipalProfile, IO[bytes] + ], + **kwargs: Any + ) -> Iterator[bytes]: error_map: MutableMapping = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, @@ -11039,17 +4714,26 @@ def list_credential( } error_map.update(kwargs.pop("error_map", {}) or {}) - _headers = kwargs.pop("headers", {}) or {} + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = kwargs.pop("params", {}) or {} - cls: ClsType[_models.CredentialResults] = kwargs.pop("cls", None) + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + cls: ClsType[Iterator[bytes]] = kwargs.pop("cls", None) + + content_type = content_type or "application/json" + _content = None + if isinstance(parameters, (IOBase, bytes)): + _content = parameters + else: + _content = json.dumps(parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore - _request = build_managed_namespaces_list_credential_request( + _request = build_managed_clusters_reset_service_principal_profile_request( resource_group_name=resource_group_name, resource_name=resource_name, - managed_namespace_name=managed_namespace_name, subscription_id=self._config.subscription_id, + content_type=content_type, api_version=self._config.api_version, + content=_content, headers=_headers, params=_params, ) @@ -11059,19 +4743,18 @@ def list_credential( _request.url = self._client.format_url(_request.url, **path_format_arguments) _decompress = kwargs.pop("decompress", True) - _stream = kwargs.pop("stream", False) + _stream = True pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access _request, stream=_stream, **kwargs ) response = pipeline_response.http_response - if response.status_code not in [200]: - if _stream: - try: - response.read() # Load the body in memory and close the socket - except (StreamConsumedError, StreamClosedError): - pass + if response.status_code not in [200, 202]: + try: + response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass map_error(status_code=response.status_code, response=response, error_map=error_map) error = _failsafe_deserialize( _models.ErrorResponse, @@ -11079,140 +4762,184 @@ def list_credential( ) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - if _stream: - deserialized = response.iter_bytes() if _decompress else response.iter_raw() - else: - deserialized = _deserialize(_models.CredentialResults, response.json()) + response_headers = {} + if response.status_code == 202: + response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) + response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) + + deserialized = response.iter_bytes() if _decompress else response.iter_raw() if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore + return cls(pipeline_response, deserialized, response_headers) # type: ignore return deserialized # type: ignore + @overload + def begin_reset_service_principal_profile( + self, + resource_group_name: str, + resource_name: str, + parameters: _models.ManagedClusterServicePrincipalProfile, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> LROPoller[None]: + """Reset the Service Principal Profile of a managed cluster. -class MachinesOperations: - """ - .. warning:: - **DO NOT** instantiate this class directly. + This action cannot be performed on a cluster that is not using a service principal. - Instead, you should access the following operations through - :class:`~azure.mgmt.containerservice.ContainerServiceClient`'s - :attr:`machines` attribute. - """ + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param resource_name: The name of the managed cluster resource. Required. + :type resource_name: str + :param parameters: The service principal profile to set on the managed cluster. Required. + :type parameters: ~azure.mgmt.containerservice.models.ManagedClusterServicePrincipalProfile + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of LROPoller that returns None + :rtype: ~azure.core.polling.LROPoller[None] + :raises ~azure.core.exceptions.HttpResponseError: + """ - def __init__(self, *args, **kwargs) -> None: - input_args = list(args) - self._client: PipelineClient = input_args.pop(0) if input_args else kwargs.pop("client") - self._config: ContainerServiceClientConfiguration = input_args.pop(0) if input_args else kwargs.pop("config") - self._serialize: Serializer = input_args.pop(0) if input_args else kwargs.pop("serializer") - self._deserialize: Deserializer = input_args.pop(0) if input_args else kwargs.pop("deserializer") + @overload + def begin_reset_service_principal_profile( + self, + resource_group_name: str, + resource_name: str, + parameters: _types.ManagedClusterServicePrincipalProfile, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> LROPoller[None]: + """Reset the Service Principal Profile of a managed cluster. - @distributed_trace - def get( - self, resource_group_name: str, resource_name: str, agent_pool_name: str, machine_name: str, **kwargs: Any - ) -> _models.Machine: - """Get a specific machine in the specified agent pool. + This action cannot be performed on a cluster that is not using a service principal. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param resource_name: The name of the managed cluster resource. Required. :type resource_name: str - :param agent_pool_name: The name of the agent pool. Required. - :type agent_pool_name: str - :param machine_name: Host name of the machine. Required. - :type machine_name: str - :return: Machine. The Machine is compatible with MutableMapping - :rtype: ~azure.mgmt.containerservice.models.Machine + :param parameters: The service principal profile to set on the managed cluster. Required. + :type parameters: ~azure.mgmt.containerservice.types.ManagedClusterServicePrincipalProfile + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of LROPoller that returns None + :rtype: ~azure.core.polling.LROPoller[None] :raises ~azure.core.exceptions.HttpResponseError: """ - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - _headers = kwargs.pop("headers", {}) or {} - _params = kwargs.pop("params", {}) or {} + @overload + def begin_reset_service_principal_profile( + self, + resource_group_name: str, + resource_name: str, + parameters: IO[bytes], + *, + content_type: str = "application/json", + **kwargs: Any + ) -> LROPoller[None]: + """Reset the Service Principal Profile of a managed cluster. - cls: ClsType[_models.Machine] = kwargs.pop("cls", None) + This action cannot be performed on a cluster that is not using a service principal. - _request = build_machines_get_request( - resource_group_name=resource_group_name, - resource_name=resource_name, - agent_pool_name=agent_pool_name, - machine_name=machine_name, - subscription_id=self._config.subscription_id, - api_version=self._config.api_version, - headers=_headers, - params=_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param resource_name: The name of the managed cluster resource. Required. + :type resource_name: str + :param parameters: The service principal profile to set on the managed cluster. Required. + :type parameters: IO[bytes] + :keyword content_type: Body Parameter content-type. Content type parameter for binary body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of LROPoller that returns None + :rtype: ~azure.core.polling.LROPoller[None] + :raises ~azure.core.exceptions.HttpResponseError: + """ - _decompress = kwargs.pop("decompress", True) - _stream = kwargs.pop("stream", False) - pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access - _request, stream=_stream, **kwargs - ) + @distributed_trace + def begin_reset_service_principal_profile( + self, + resource_group_name: str, + resource_name: str, + parameters: Union[ + _models.ManagedClusterServicePrincipalProfile, _types.ManagedClusterServicePrincipalProfile, IO[bytes] + ], + **kwargs: Any + ) -> LROPoller[None]: + """Reset the Service Principal Profile of a managed cluster. - response = pipeline_response.http_response + This action cannot be performed on a cluster that is not using a service principal. - if response.status_code not in [200]: - if _stream: - try: - response.read() # Load the body in memory and close the socket - except (StreamConsumedError, StreamClosedError): - pass - map_error(status_code=response.status_code, response=response, error_map=error_map) - error = _failsafe_deserialize( - _models.ErrorResponse, - response, + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param resource_name: The name of the managed cluster resource. Required. + :type resource_name: str + :param parameters: The service principal profile to set on the managed cluster. Is either a + ManagedClusterServicePrincipalProfile type or a IO[bytes] type. Required. + :type parameters: ~azure.mgmt.containerservice.models.ManagedClusterServicePrincipalProfile or + ~azure.mgmt.containerservice.types.ManagedClusterServicePrincipalProfile or IO[bytes] + :return: An instance of LROPoller that returns None + :rtype: ~azure.core.polling.LROPoller[None] + :raises ~azure.core.exceptions.HttpResponseError: + """ + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _params = kwargs.pop("params", {}) or {} + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + cls: ClsType[None] = kwargs.pop("cls", None) + polling: Union[bool, PollingMethod] = kwargs.pop("polling", True) + lro_delay = kwargs.pop("polling_interval", self._config.polling_interval) + cont_token: Optional[str] = kwargs.pop("continuation_token", None) + if cont_token is None: + raw_result = self._reset_service_principal_profile_initial( + resource_group_name=resource_group_name, + resource_name=resource_name, + parameters=parameters, + content_type=content_type, + cls=lambda x, y, z: x, + headers=_headers, + params=_params, + **kwargs ) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + raw_result.http_response.read() # type: ignore + kwargs.pop("error_map", None) - if _stream: - deserialized = response.iter_bytes() if _decompress else response.iter_raw() - else: - deserialized = _deserialize(_models.Machine, response.json()) + def get_long_running_output(pipeline_response): # pylint: disable=inconsistent-return-statements + if cls: + return cls(pipeline_response, None, {}) # type: ignore - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } - return deserialized # type: ignore + if polling is True: + polling_method: PollingMethod = cast( + PollingMethod, ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + ) + elif polling is False: + polling_method = cast(PollingMethod, NoPolling()) + else: + polling_method = polling + if cont_token: + return LROPoller[None].from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output, + ) + return LROPoller[None](self._client, raw_result, get_long_running_output, polling_method) # type: ignore - @api_version_validation( - method_added_on="2026-05-02-preview", - params_added_on={ - "2026-05-02-preview": [ - "api_version", - "subscription_id", - "resource_group_name", - "resource_name", - "agent_pool_name", - "machine_name", - "content_type", - "accept", - "etag", - "match_condition", - ] - }, - api_versions_list=["2026-05-02-preview"], - ) - def _create_or_update_initial( + def _reset_aad_profile_initial( self, resource_group_name: str, resource_name: str, - agent_pool_name: str, - machine_name: str, - parameters: Union[_models.Machine, _types.Machine, IO[bytes]], - *, - etag: Optional[str] = None, - match_condition: Optional[MatchConditions] = None, + parameters: Union[_models.ManagedClusterAADProfile, _types.ManagedClusterAADProfile, IO[bytes]], **kwargs: Any ) -> Iterator[bytes]: error_map: MutableMapping = { @@ -11221,12 +4948,6 @@ def _create_or_update_initial( 409: ResourceExistsError, 304: ResourceNotModifiedError, } - if match_condition == MatchConditions.IfNotModified: - error_map[412] = ResourceModifiedError - elif match_condition == MatchConditions.IfPresent: - error_map[412] = ResourceNotFoundError - elif match_condition == MatchConditions.IfMissing: - error_map[412] = ResourceExistsError error_map.update(kwargs.pop("error_map", {}) or {}) _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) @@ -11242,14 +4963,10 @@ def _create_or_update_initial( else: _content = json.dumps(parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore - _request = build_machines_create_or_update_request( + _request = build_managed_clusters_reset_aad_profile_request( resource_group_name=resource_group_name, resource_name=resource_name, - agent_pool_name=agent_pool_name, - machine_name=machine_name, subscription_id=self._config.subscription_id, - etag=etag, - match_condition=match_condition, content_type=content_type, api_version=self._config.api_version, content=_content, @@ -11269,7 +4986,7 @@ def _create_or_update_initial( response = pipeline_response.http_response - if response.status_code not in [200, 201]: + if response.status_code not in [200, 202]: try: response.read() # Load the body in memory and close the socket except (StreamConsumedError, StreamClosedError): @@ -11282,10 +4999,8 @@ def _create_or_update_initial( raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) response_headers = {} - if response.status_code == 201: - response_headers["Azure-AsyncOperation"] = self._deserialize( - "str", response.headers.get("Azure-AsyncOperation") - ) + if response.status_code == 202: + response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) deserialized = response.iter_bytes() if _decompress else response.iter_raw() @@ -11296,201 +5011,138 @@ def _create_or_update_initial( return deserialized # type: ignore @overload - def begin_create_or_update( + def begin_reset_aad_profile( self, resource_group_name: str, resource_name: str, - agent_pool_name: str, - machine_name: str, - parameters: _models.Machine, + parameters: _models.ManagedClusterAADProfile, *, content_type: str = "application/json", - etag: Optional[str] = None, - match_condition: Optional[MatchConditions] = None, **kwargs: Any - ) -> LROPoller[_models.Machine]: - """Creates or updates a machine in the specified agent pool. + ) -> LROPoller[None]: + """Reset the AAD Profile of a managed cluster. + + **WARNING**: This API will be deprecated. Please see `AKS-managed Azure Active Directory + integration `_ to update your cluster with AKS-managed Azure + AD. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param resource_name: The name of the managed cluster resource. Required. :type resource_name: str - :param agent_pool_name: The name of the agent pool. Required. - :type agent_pool_name: str - :param machine_name: Host name of the machine. Required. - :type machine_name: str - :param parameters: The machine to create or update. Required. - :type parameters: ~azure.mgmt.containerservice.models.Machine + :param parameters: The AAD profile to set on the Managed Cluster. Required. + :type parameters: ~azure.mgmt.containerservice.models.ManagedClusterAADProfile :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str - :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is - None. - :paramtype etag: str - :keyword match_condition: The match condition to use upon the etag. Default value is None. - :paramtype match_condition: ~azure.core.MatchConditions - :return: An instance of LROPoller that returns Machine. The Machine is compatible with - MutableMapping - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.containerservice.models.Machine] + :return: An instance of LROPoller that returns None + :rtype: ~azure.core.polling.LROPoller[None] :raises ~azure.core.exceptions.HttpResponseError: """ @overload - def begin_create_or_update( + def begin_reset_aad_profile( self, resource_group_name: str, resource_name: str, - agent_pool_name: str, - machine_name: str, - parameters: _types.Machine, + parameters: _types.ManagedClusterAADProfile, *, content_type: str = "application/json", - etag: Optional[str] = None, - match_condition: Optional[MatchConditions] = None, **kwargs: Any - ) -> LROPoller[_models.Machine]: - """Creates or updates a machine in the specified agent pool. + ) -> LROPoller[None]: + """Reset the AAD Profile of a managed cluster. + + **WARNING**: This API will be deprecated. Please see `AKS-managed Azure Active Directory + integration `_ to update your cluster with AKS-managed Azure + AD. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param resource_name: The name of the managed cluster resource. Required. :type resource_name: str - :param agent_pool_name: The name of the agent pool. Required. - :type agent_pool_name: str - :param machine_name: Host name of the machine. Required. - :type machine_name: str - :param parameters: The machine to create or update. Required. - :type parameters: ~azure.mgmt.containerservice.types.Machine + :param parameters: The AAD profile to set on the Managed Cluster. Required. + :type parameters: ~azure.mgmt.containerservice.types.ManagedClusterAADProfile :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str - :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is - None. - :paramtype etag: str - :keyword match_condition: The match condition to use upon the etag. Default value is None. - :paramtype match_condition: ~azure.core.MatchConditions - :return: An instance of LROPoller that returns Machine. The Machine is compatible with - MutableMapping - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.containerservice.models.Machine] + :return: An instance of LROPoller that returns None + :rtype: ~azure.core.polling.LROPoller[None] :raises ~azure.core.exceptions.HttpResponseError: """ @overload - def begin_create_or_update( + def begin_reset_aad_profile( self, resource_group_name: str, resource_name: str, - agent_pool_name: str, - machine_name: str, parameters: IO[bytes], *, content_type: str = "application/json", - etag: Optional[str] = None, - match_condition: Optional[MatchConditions] = None, **kwargs: Any - ) -> LROPoller[_models.Machine]: - """Creates or updates a machine in the specified agent pool. + ) -> LROPoller[None]: + """Reset the AAD Profile of a managed cluster. + + **WARNING**: This API will be deprecated. Please see `AKS-managed Azure Active Directory + integration `_ to update your cluster with AKS-managed Azure + AD. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param resource_name: The name of the managed cluster resource. Required. :type resource_name: str - :param agent_pool_name: The name of the agent pool. Required. - :type agent_pool_name: str - :param machine_name: Host name of the machine. Required. - :type machine_name: str - :param parameters: The machine to create or update. Required. + :param parameters: The AAD profile to set on the Managed Cluster. Required. :type parameters: IO[bytes] :keyword content_type: Body Parameter content-type. Content type parameter for binary body. Default value is "application/json". :paramtype content_type: str - :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is - None. - :paramtype etag: str - :keyword match_condition: The match condition to use upon the etag. Default value is None. - :paramtype match_condition: ~azure.core.MatchConditions - :return: An instance of LROPoller that returns Machine. The Machine is compatible with - MutableMapping - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.containerservice.models.Machine] + :return: An instance of LROPoller that returns None + :rtype: ~azure.core.polling.LROPoller[None] :raises ~azure.core.exceptions.HttpResponseError: """ @distributed_trace - @api_version_validation( - method_added_on="2026-05-02-preview", - params_added_on={ - "2026-05-02-preview": [ - "api_version", - "subscription_id", - "resource_group_name", - "resource_name", - "agent_pool_name", - "machine_name", - "content_type", - "accept", - "etag", - "match_condition", - ] - }, - api_versions_list=["2026-05-02-preview"], - ) - def begin_create_or_update( + def begin_reset_aad_profile( self, resource_group_name: str, resource_name: str, - agent_pool_name: str, - machine_name: str, - parameters: Union[_models.Machine, _types.Machine, IO[bytes]], - *, - etag: Optional[str] = None, - match_condition: Optional[MatchConditions] = None, + parameters: Union[_models.ManagedClusterAADProfile, _types.ManagedClusterAADProfile, IO[bytes]], **kwargs: Any - ) -> LROPoller[_models.Machine]: - """Creates or updates a machine in the specified agent pool. + ) -> LROPoller[None]: + """Reset the AAD Profile of a managed cluster. + + **WARNING**: This API will be deprecated. Please see `AKS-managed Azure Active Directory + integration `_ to update your cluster with AKS-managed Azure + AD. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param resource_name: The name of the managed cluster resource. Required. :type resource_name: str - :param agent_pool_name: The name of the agent pool. Required. - :type agent_pool_name: str - :param machine_name: Host name of the machine. Required. - :type machine_name: str - :param parameters: The machine to create or update. Is either a Machine type or a IO[bytes] - type. Required. - :type parameters: ~azure.mgmt.containerservice.models.Machine or - ~azure.mgmt.containerservice.types.Machine or IO[bytes] - :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is - None. - :paramtype etag: str - :keyword match_condition: The match condition to use upon the etag. Default value is None. - :paramtype match_condition: ~azure.core.MatchConditions - :return: An instance of LROPoller that returns Machine. The Machine is compatible with - MutableMapping - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.containerservice.models.Machine] + :param parameters: The AAD profile to set on the Managed Cluster. Is either a + ManagedClusterAADProfile type or a IO[bytes] type. Required. + :type parameters: ~azure.mgmt.containerservice.models.ManagedClusterAADProfile or + ~azure.mgmt.containerservice.types.ManagedClusterAADProfile or IO[bytes] + :return: An instance of LROPoller that returns None + :rtype: ~azure.core.polling.LROPoller[None] :raises ~azure.core.exceptions.HttpResponseError: """ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = kwargs.pop("params", {}) or {} content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - cls: ClsType[_models.Machine] = kwargs.pop("cls", None) + cls: ClsType[None] = kwargs.pop("cls", None) polling: Union[bool, PollingMethod] = kwargs.pop("polling", True) lro_delay = kwargs.pop("polling_interval", self._config.polling_interval) cont_token: Optional[str] = kwargs.pop("continuation_token", None) if cont_token is None: - raw_result = self._create_or_update_initial( + raw_result = self._reset_aad_profile_initial( resource_group_name=resource_group_name, resource_name=resource_name, - agent_pool_name=agent_pool_name, - machine_name=machine_name, parameters=parameters, - etag=etag, - match_condition=match_condition, content_type=content_type, cls=lambda x, y, z: x, headers=_headers, @@ -11500,12 +5152,9 @@ def begin_create_or_update( raw_result.http_response.read() # type: ignore kwargs.pop("error_map", None) - def get_long_running_output(pipeline_response): - response = pipeline_response.http_response - deserialized = _deserialize(_models.Machine, response.json()) + def get_long_running_output(pipeline_response): # pylint: disable=inconsistent-return-statements if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - return deserialized + return cls(pipeline_response, None, {}) # type: ignore path_format_arguments = { "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), @@ -11520,38 +5169,17 @@ def get_long_running_output(pipeline_response): else: polling_method = polling if cont_token: - return LROPoller[_models.Machine].from_continuation_token( + return LROPoller[None].from_continuation_token( polling_method=polling_method, continuation_token=cont_token, client=self._client, deserialization_callback=get_long_running_output, ) - return LROPoller[_models.Machine]( - self._client, raw_result, get_long_running_output, polling_method # type: ignore - ) - - @distributed_trace - def list( - self, resource_group_name: str, resource_name: str, agent_pool_name: str, **kwargs: Any - ) -> ItemPaged["_models.Machine"]: - """Gets a list of machines in the specified agent pool. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param resource_name: The name of the managed cluster resource. Required. - :type resource_name: str - :param agent_pool_name: The name of the agent pool. Required. - :type agent_pool_name: str - :return: An iterator like instance of Machine - :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.containerservice.models.Machine] - :raises ~azure.core.exceptions.HttpResponseError: - """ - _headers = kwargs.pop("headers", {}) or {} - _params = kwargs.pop("params", {}) or {} - - cls: ClsType[List[_models.Machine]] = kwargs.pop("cls", None) + return LROPoller[None](self._client, raw_result, get_long_running_output, polling_method) # type: ignore + def _rotate_cluster_certificates_initial( + self, resource_group_name: str, resource_name: str, **kwargs: Any + ) -> Iterator[bytes]: error_map: MutableMapping = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, @@ -11560,121 +5188,121 @@ def list( } error_map.update(kwargs.pop("error_map", {}) or {}) - def prepare_request(next_link=None): - if not next_link: - - _request = build_machines_list_request( - resource_group_name=resource_group_name, - resource_name=resource_name, - agent_pool_name=agent_pool_name, - subscription_id=self._config.subscription_id, - api_version=self._config.api_version, - headers=_headers, - params=_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url( - "self._config.base_url", self._config.base_url, "str", skip_quote=True - ), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - else: - # make call to next link with the client's api-version - _parsed_next_link = urllib.parse.urlparse(next_link) - _next_request_params = case_insensitive_dict( - { - key: [urllib.parse.quote(v) for v in value] - for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items() - } - ) - _next_request_params["api-version"] = self._config.api_version - _request = HttpRequest( - "GET", - urllib.parse.urljoin(next_link, _parsed_next_link.path), - headers=_headers, - params=_next_request_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url( - "self._config.base_url", self._config.base_url, "str", skip_quote=True - ), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - return _request - - def extract_data(pipeline_response): - deserialized = pipeline_response.http_response.json() - list_of_elem = _deserialize( - List[_models.Machine], - deserialized.get("value", []), - ) - if cls: - list_of_elem = cls(list_of_elem) # type: ignore - return deserialized.get("nextLink") or None, iter(list_of_elem) + _headers = kwargs.pop("headers", {}) or {} + _params = kwargs.pop("params", {}) or {} - def get_next(next_link=None): - _request = prepare_request(next_link) + cls: ClsType[Iterator[bytes]] = kwargs.pop("cls", None) - _stream = False - pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access - _request, stream=_stream, **kwargs - ) - response = pipeline_response.http_response + _request = build_managed_clusters_rotate_cluster_certificates_request( + resource_group_name=resource_group_name, + resource_name=resource_name, + subscription_id=self._config.subscription_id, + api_version=self._config.api_version, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) - if response.status_code not in [200]: - map_error(status_code=response.status_code, response=response, error_map=error_map) - error = _failsafe_deserialize( - _models.ErrorResponse, - response, - ) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + _decompress = kwargs.pop("decompress", True) + _stream = True + pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access + _request, stream=_stream, **kwargs + ) - return pipeline_response + response = pipeline_response.http_response - return ItemPaged(get_next, extract_data) + if response.status_code not in [202, 204]: + try: + response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + response_headers = {} + if response.status_code == 202: + response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) + response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) -class PrivateEndpointConnectionsOperations: - """ - .. warning:: - **DO NOT** instantiate this class directly. + deserialized = response.iter_bytes() if _decompress else response.iter_raw() - Instead, you should access the following operations through - :class:`~azure.mgmt.containerservice.ContainerServiceClient`'s - :attr:`private_endpoint_connections` attribute. - """ + if cls: + return cls(pipeline_response, deserialized, response_headers) # type: ignore - def __init__(self, *args, **kwargs) -> None: - input_args = list(args) - self._client: PipelineClient = input_args.pop(0) if input_args else kwargs.pop("client") - self._config: ContainerServiceClientConfiguration = input_args.pop(0) if input_args else kwargs.pop("config") - self._serialize: Serializer = input_args.pop(0) if input_args else kwargs.pop("serializer") - self._deserialize: Deserializer = input_args.pop(0) if input_args else kwargs.pop("deserializer") + return deserialized # type: ignore @distributed_trace - def get( - self, resource_group_name: str, resource_name: str, private_endpoint_connection_name: str, **kwargs: Any - ) -> _models.PrivateEndpointConnection: - """Gets the specified private endpoint connection. + def begin_rotate_cluster_certificates( + self, resource_group_name: str, resource_name: str, **kwargs: Any + ) -> LROPoller[None]: + """Rotates the certificates of a managed cluster. - To learn more about private clusters, see: - `https://docs.microsoft.com/azure/aks/private-clusters - `_. + See `Certificate rotation `_ for + more details about rotating managed cluster certificates. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param resource_name: The name of the managed cluster resource. Required. :type resource_name: str - :param private_endpoint_connection_name: The name of the private endpoint connection. Required. - :type private_endpoint_connection_name: str - :return: PrivateEndpointConnection. The PrivateEndpointConnection is compatible with - MutableMapping - :rtype: ~azure.mgmt.containerservice.models.PrivateEndpointConnection + :return: An instance of LROPoller that returns None + :rtype: ~azure.core.polling.LROPoller[None] :raises ~azure.core.exceptions.HttpResponseError: """ + _headers = kwargs.pop("headers", {}) or {} + _params = kwargs.pop("params", {}) or {} + + cls: ClsType[None] = kwargs.pop("cls", None) + polling: Union[bool, PollingMethod] = kwargs.pop("polling", True) + lro_delay = kwargs.pop("polling_interval", self._config.polling_interval) + cont_token: Optional[str] = kwargs.pop("continuation_token", None) + if cont_token is None: + raw_result = self._rotate_cluster_certificates_initial( + resource_group_name=resource_group_name, + resource_name=resource_name, + cls=lambda x, y, z: x, + headers=_headers, + params=_params, + **kwargs + ) + raw_result.http_response.read() # type: ignore + kwargs.pop("error_map", None) + + def get_long_running_output(pipeline_response): # pylint: disable=inconsistent-return-statements + if cls: + return cls(pipeline_response, None, {}) # type: ignore + + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + + if polling is True: + polling_method: PollingMethod = cast( + PollingMethod, ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + ) + elif polling is False: + polling_method = cast(PollingMethod, NoPolling()) + else: + polling_method = polling + if cont_token: + return LROPoller[None].from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output, + ) + return LROPoller[None](self._client, raw_result, get_long_running_output, polling_method) # type: ignore + + def _abort_latest_operation_initial( + self, resource_group_name: str, resource_name: str, **kwargs: Any + ) -> Iterator[bytes]: error_map: MutableMapping = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, @@ -11686,12 +5314,11 @@ def get( _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - cls: ClsType[_models.PrivateEndpointConnection] = kwargs.pop("cls", None) + cls: ClsType[Iterator[bytes]] = kwargs.pop("cls", None) - _request = build_private_endpoint_connections_get_request( + _request = build_managed_clusters_abort_latest_operation_request( resource_group_name=resource_group_name, resource_name=resource_name, - private_endpoint_connection_name=private_endpoint_connection_name, subscription_id=self._config.subscription_id, api_version=self._config.api_version, headers=_headers, @@ -11703,19 +5330,18 @@ def get( _request.url = self._client.format_url(_request.url, **path_format_arguments) _decompress = kwargs.pop("decompress", True) - _stream = kwargs.pop("stream", False) + _stream = True pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access _request, stream=_stream, **kwargs ) response = pipeline_response.http_response - if response.status_code not in [200]: - if _stream: - try: - response.read() # Load the body in memory and close the socket - except (StreamConsumedError, StreamClosedError): - pass + if response.status_code not in [202, 204]: + try: + response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass map_error(status_code=response.status_code, response=response, error_map=error_map) error = _failsafe_deserialize( _models.ErrorResponse, @@ -11723,136 +5349,87 @@ def get( ) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - if _stream: - deserialized = response.iter_bytes() if _decompress else response.iter_raw() - else: - deserialized = _deserialize(_models.PrivateEndpointConnection, response.json()) + response_headers = {} + if response.status_code == 202: + response_headers["Azure-AsyncOperation"] = self._deserialize( + "str", response.headers.get("Azure-AsyncOperation") + ) + response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) + response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) + + deserialized = response.iter_bytes() if _decompress else response.iter_raw() if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore + return cls(pipeline_response, deserialized, response_headers) # type: ignore return deserialized # type: ignore - @overload - def update( - self, - resource_group_name: str, - resource_name: str, - private_endpoint_connection_name: str, - parameters: _models.PrivateEndpointConnection, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> _models.PrivateEndpointConnection: - """Updates a private endpoint connection. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param resource_name: The name of the managed cluster resource. Required. - :type resource_name: str - :param private_endpoint_connection_name: The name of the private endpoint connection. Required. - :type private_endpoint_connection_name: str - :param parameters: The updated private endpoint connection. Required. - :type parameters: ~azure.mgmt.containerservice.models.PrivateEndpointConnection - :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. - Default value is "application/json". - :paramtype content_type: str - :return: PrivateEndpointConnection. The PrivateEndpointConnection is compatible with - MutableMapping - :rtype: ~azure.mgmt.containerservice.models.PrivateEndpointConnection - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @overload - def update( - self, - resource_group_name: str, - resource_name: str, - private_endpoint_connection_name: str, - parameters: _types.PrivateEndpointConnection, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> _models.PrivateEndpointConnection: - """Updates a private endpoint connection. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param resource_name: The name of the managed cluster resource. Required. - :type resource_name: str - :param private_endpoint_connection_name: The name of the private endpoint connection. Required. - :type private_endpoint_connection_name: str - :param parameters: The updated private endpoint connection. Required. - :type parameters: ~azure.mgmt.containerservice.types.PrivateEndpointConnection - :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. - Default value is "application/json". - :paramtype content_type: str - :return: PrivateEndpointConnection. The PrivateEndpointConnection is compatible with - MutableMapping - :rtype: ~azure.mgmt.containerservice.models.PrivateEndpointConnection - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @overload - def update( - self, - resource_group_name: str, - resource_name: str, - private_endpoint_connection_name: str, - parameters: IO[bytes], - *, - content_type: str = "application/json", - **kwargs: Any - ) -> _models.PrivateEndpointConnection: - """Updates a private endpoint connection. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param resource_name: The name of the managed cluster resource. Required. - :type resource_name: str - :param private_endpoint_connection_name: The name of the private endpoint connection. Required. - :type private_endpoint_connection_name: str - :param parameters: The updated private endpoint connection. Required. - :type parameters: IO[bytes] - :keyword content_type: Body Parameter content-type. Content type parameter for binary body. - Default value is "application/json". - :paramtype content_type: str - :return: PrivateEndpointConnection. The PrivateEndpointConnection is compatible with - MutableMapping - :rtype: ~azure.mgmt.containerservice.models.PrivateEndpointConnection - :raises ~azure.core.exceptions.HttpResponseError: - """ - @distributed_trace - def update( - self, - resource_group_name: str, - resource_name: str, - private_endpoint_connection_name: str, - parameters: Union[_models.PrivateEndpointConnection, _types.PrivateEndpointConnection, IO[bytes]], - **kwargs: Any - ) -> _models.PrivateEndpointConnection: - """Updates a private endpoint connection. + def begin_abort_latest_operation( + self, resource_group_name: str, resource_name: str, **kwargs: Any + ) -> LROPoller[None]: + """Aborts last operation running on managed cluster. + + Aborts the currently running operation on the managed cluster. The Managed Cluster will be + moved to a Canceling state and eventually to a Canceled state when cancellation finishes. If + the operation completes before cancellation can take place, a 409 error code is returned. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param resource_name: The name of the managed cluster resource. Required. :type resource_name: str - :param private_endpoint_connection_name: The name of the private endpoint connection. Required. - :type private_endpoint_connection_name: str - :param parameters: The updated private endpoint connection. Is either a - PrivateEndpointConnection type or a IO[bytes] type. Required. - :type parameters: ~azure.mgmt.containerservice.models.PrivateEndpointConnection or - ~azure.mgmt.containerservice.types.PrivateEndpointConnection or IO[bytes] - :return: PrivateEndpointConnection. The PrivateEndpointConnection is compatible with - MutableMapping - :rtype: ~azure.mgmt.containerservice.models.PrivateEndpointConnection + :return: An instance of LROPoller that returns None + :rtype: ~azure.core.polling.LROPoller[None] :raises ~azure.core.exceptions.HttpResponseError: """ + _headers = kwargs.pop("headers", {}) or {} + _params = kwargs.pop("params", {}) or {} + + cls: ClsType[None] = kwargs.pop("cls", None) + polling: Union[bool, PollingMethod] = kwargs.pop("polling", True) + lro_delay = kwargs.pop("polling_interval", self._config.polling_interval) + cont_token: Optional[str] = kwargs.pop("continuation_token", None) + if cont_token is None: + raw_result = self._abort_latest_operation_initial( + resource_group_name=resource_group_name, + resource_name=resource_name, + cls=lambda x, y, z: x, + headers=_headers, + params=_params, + **kwargs + ) + raw_result.http_response.read() # type: ignore + kwargs.pop("error_map", None) + + def get_long_running_output(pipeline_response): # pylint: disable=inconsistent-return-statements + if cls: + return cls(pipeline_response, None, {}) # type: ignore + + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + + if polling is True: + polling_method: PollingMethod = cast( + PollingMethod, ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + ) + elif polling is False: + polling_method = cast(PollingMethod, NoPolling()) + else: + polling_method = polling + if cont_token: + return LROPoller[None].from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output, + ) + return LROPoller[None](self._client, raw_result, get_long_running_output, polling_method) # type: ignore + + def _rotate_service_account_signing_keys_initial( # pylint: disable=name-too-long + self, resource_group_name: str, resource_name: str, **kwargs: Any + ) -> Iterator[bytes]: error_map: MutableMapping = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, @@ -11861,27 +5438,16 @@ def update( } error_map.update(kwargs.pop("error_map", {}) or {}) - _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - cls: ClsType[_models.PrivateEndpointConnection] = kwargs.pop("cls", None) - - content_type = content_type or "application/json" - _content = None - if isinstance(parameters, (IOBase, bytes)): - _content = parameters - else: - _content = json.dumps(parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + cls: ClsType[Iterator[bytes]] = kwargs.pop("cls", None) - _request = build_private_endpoint_connections_update_request( + _request = build_managed_clusters_rotate_service_account_signing_keys_request( resource_group_name=resource_group_name, resource_name=resource_name, - private_endpoint_connection_name=private_endpoint_connection_name, subscription_id=self._config.subscription_id, - content_type=content_type, api_version=self._config.api_version, - content=_content, headers=_headers, params=_params, ) @@ -11891,19 +5457,18 @@ def update( _request.url = self._client.format_url(_request.url, **path_format_arguments) _decompress = kwargs.pop("decompress", True) - _stream = kwargs.pop("stream", False) + _stream = True pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access _request, stream=_stream, **kwargs ) response = pipeline_response.http_response - if response.status_code not in [200, 201]: - if _stream: - try: - response.read() # Load the body in memory and close the socket - except (StreamConsumedError, StreamClosedError): - pass + if response.status_code not in [202, 204]: + try: + response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass map_error(status_code=response.status_code, response=response, error_map=error_map) error = _failsafe_deserialize( _models.ErrorResponse, @@ -11911,19 +5476,78 @@ def update( ) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - if _stream: - deserialized = response.iter_bytes() if _decompress else response.iter_raw() - else: - deserialized = _deserialize(_models.PrivateEndpointConnection, response.json()) + response_headers = {} + if response.status_code == 202: + response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) + response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) + + deserialized = response.iter_bytes() if _decompress else response.iter_raw() if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore + return cls(pipeline_response, deserialized, response_headers) # type: ignore return deserialized # type: ignore - def _delete_initial( - self, resource_group_name: str, resource_name: str, private_endpoint_connection_name: str, **kwargs: Any - ) -> Iterator[bytes]: + @distributed_trace + def begin_rotate_service_account_signing_keys( # pylint: disable=name-too-long + self, resource_group_name: str, resource_name: str, **kwargs: Any + ) -> LROPoller[None]: + """Rotates the service account signing keys of a managed cluster. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param resource_name: The name of the managed cluster resource. Required. + :type resource_name: str + :return: An instance of LROPoller that returns None + :rtype: ~azure.core.polling.LROPoller[None] + :raises ~azure.core.exceptions.HttpResponseError: + """ + _headers = kwargs.pop("headers", {}) or {} + _params = kwargs.pop("params", {}) or {} + + cls: ClsType[None] = kwargs.pop("cls", None) + polling: Union[bool, PollingMethod] = kwargs.pop("polling", True) + lro_delay = kwargs.pop("polling_interval", self._config.polling_interval) + cont_token: Optional[str] = kwargs.pop("continuation_token", None) + if cont_token is None: + raw_result = self._rotate_service_account_signing_keys_initial( + resource_group_name=resource_group_name, + resource_name=resource_name, + cls=lambda x, y, z: x, + headers=_headers, + params=_params, + **kwargs + ) + raw_result.http_response.read() # type: ignore + kwargs.pop("error_map", None) + + def get_long_running_output(pipeline_response): # pylint: disable=inconsistent-return-statements + if cls: + return cls(pipeline_response, None, {}) # type: ignore + + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + + if polling is True: + polling_method: PollingMethod = cast( + PollingMethod, ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + ) + elif polling is False: + polling_method = cast(PollingMethod, NoPolling()) + else: + polling_method = polling + if cont_token: + return LROPoller[None].from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output, + ) + return LROPoller[None](self._client, raw_result, get_long_running_output, polling_method) # type: ignore + + def _stop_initial(self, resource_group_name: str, resource_name: str, **kwargs: Any) -> Iterator[bytes]: error_map: MutableMapping = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, @@ -11937,10 +5561,9 @@ def _delete_initial( cls: ClsType[Iterator[bytes]] = kwargs.pop("cls", None) - _request = build_private_endpoint_connections_delete_request( + _request = build_managed_clusters_stop_request( resource_group_name=resource_group_name, resource_name=resource_name, - private_endpoint_connection_name=private_endpoint_connection_name, subscription_id=self._config.subscription_id, api_version=self._config.api_version, headers=_headers, @@ -11959,7 +5582,7 @@ def _delete_initial( response = pipeline_response.http_response - if response.status_code not in [200, 204]: + if response.status_code not in [202, 204]: try: response.read() # Load the body in memory and close the socket except (StreamConsumedError, StreamClosedError): @@ -11972,10 +5595,8 @@ def _delete_initial( raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) response_headers = {} - if response.status_code == 200: - response_headers["Azure-AsyncOperation"] = self._deserialize( - "str", response.headers.get("Azure-AsyncOperation") - ) + if response.status_code == 202: + response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) deserialized = response.iter_bytes() if _decompress else response.iter_raw() @@ -11986,18 +5607,20 @@ def _delete_initial( return deserialized # type: ignore @distributed_trace - def begin_delete( - self, resource_group_name: str, resource_name: str, private_endpoint_connection_name: str, **kwargs: Any - ) -> LROPoller[None]: - """Deletes a private endpoint connection. + def begin_stop(self, resource_group_name: str, resource_name: str, **kwargs: Any) -> LROPoller[None]: + """Stops a Managed Cluster. + + This can only be performed on Azure Virtual Machine Scale set backed clusters. Stopping a + cluster stops the control plane and agent nodes entirely, while maintaining all object and + cluster state. A cluster does not accrue charges while it is stopped. See `stopping a cluster + `_ for more details about stopping a + cluster. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param resource_name: The name of the managed cluster resource. Required. :type resource_name: str - :param private_endpoint_connection_name: The name of the private endpoint connection. Required. - :type private_endpoint_connection_name: str :return: An instance of LROPoller that returns None :rtype: ~azure.core.polling.LROPoller[None] :raises ~azure.core.exceptions.HttpResponseError: @@ -12010,10 +5633,9 @@ def begin_delete( lro_delay = kwargs.pop("polling_interval", self._config.polling_interval) cont_token: Optional[str] = kwargs.pop("continuation_token", None) if cont_token is None: - raw_result = self._delete_initial( + raw_result = self._stop_initial( resource_group_name=resource_group_name, resource_name=resource_name, - private_endpoint_connection_name=private_endpoint_connection_name, cls=lambda x, y, z: x, headers=_headers, params=_params, @@ -12047,26 +5669,7 @@ def get_long_running_output(pipeline_response): # pylint: disable=inconsistent- ) return LROPoller[None](self._client, raw_result, get_long_running_output, polling_method) # type: ignore - @distributed_trace - def list( - self, resource_group_name: str, resource_name: str, **kwargs: Any - ) -> _models.PrivateEndpointConnectionListResult: - """Gets a list of private endpoint connections in the specified managed cluster. - - To learn more about private clusters, see: - `https://docs.microsoft.com/azure/aks/private-clusters - `_. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param resource_name: The name of the managed cluster resource. Required. - :type resource_name: str - :return: PrivateEndpointConnectionListResult. The PrivateEndpointConnectionListResult is - compatible with MutableMapping - :rtype: ~azure.mgmt.containerservice.models.PrivateEndpointConnectionListResult - :raises ~azure.core.exceptions.HttpResponseError: - """ + def _start_initial(self, resource_group_name: str, resource_name: str, **kwargs: Any) -> Iterator[bytes]: error_map: MutableMapping = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, @@ -12078,9 +5681,9 @@ def list( _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - cls: ClsType[_models.PrivateEndpointConnectionListResult] = kwargs.pop("cls", None) + cls: ClsType[Iterator[bytes]] = kwargs.pop("cls", None) - _request = build_private_endpoint_connections_list_request( + _request = build_managed_clusters_start_request( resource_group_name=resource_group_name, resource_name=resource_name, subscription_id=self._config.subscription_id, @@ -12094,19 +5697,18 @@ def list( _request.url = self._client.format_url(_request.url, **path_format_arguments) _decompress = kwargs.pop("decompress", True) - _stream = kwargs.pop("stream", False) + _stream = True pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access _request, stream=_stream, **kwargs ) response = pipeline_response.http_response - if response.status_code not in [200]: - if _stream: - try: - response.read() # Load the body in memory and close the socket - except (StreamConsumedError, StreamClosedError): - pass + if response.status_code not in [202, 204]: + try: + response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass map_error(status_code=response.status_code, response=response, error_map=error_map) error = _failsafe_deserialize( _models.ErrorResponse, @@ -12114,47 +5716,85 @@ def list( ) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - if _stream: - deserialized = response.iter_bytes() if _decompress else response.iter_raw() - else: - deserialized = _deserialize(_models.PrivateEndpointConnectionListResult, response.json()) - - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - - return deserialized # type: ignore - - -class SnapshotsOperations: - """ - .. warning:: - **DO NOT** instantiate this class directly. + response_headers = {} + if response.status_code == 202: + response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) + response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) - Instead, you should access the following operations through - :class:`~azure.mgmt.containerservice.ContainerServiceClient`'s - :attr:`snapshots` attribute. - """ + deserialized = response.iter_bytes() if _decompress else response.iter_raw() - def __init__(self, *args, **kwargs) -> None: - input_args = list(args) - self._client: PipelineClient = input_args.pop(0) if input_args else kwargs.pop("client") - self._config: ContainerServiceClientConfiguration = input_args.pop(0) if input_args else kwargs.pop("config") - self._serialize: Serializer = input_args.pop(0) if input_args else kwargs.pop("serializer") - self._deserialize: Deserializer = input_args.pop(0) if input_args else kwargs.pop("deserializer") + if cls: + return cls(pipeline_response, deserialized, response_headers) # type: ignore + + return deserialized # type: ignore @distributed_trace - def get(self, resource_group_name: str, resource_name: str, **kwargs: Any) -> _models.Snapshot: - """Gets a snapshot. + def begin_start(self, resource_group_name: str, resource_name: str, **kwargs: Any) -> LROPoller[None]: + """Starts a previously stopped Managed Cluster. + + See `starting a cluster `_ for more + details about starting a cluster. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param resource_name: The name of the managed cluster resource. Required. :type resource_name: str - :return: Snapshot. The Snapshot is compatible with MutableMapping - :rtype: ~azure.mgmt.containerservice.models.Snapshot + :return: An instance of LROPoller that returns None + :rtype: ~azure.core.polling.LROPoller[None] :raises ~azure.core.exceptions.HttpResponseError: """ + _headers = kwargs.pop("headers", {}) or {} + _params = kwargs.pop("params", {}) or {} + + cls: ClsType[None] = kwargs.pop("cls", None) + polling: Union[bool, PollingMethod] = kwargs.pop("polling", True) + lro_delay = kwargs.pop("polling_interval", self._config.polling_interval) + cont_token: Optional[str] = kwargs.pop("continuation_token", None) + if cont_token is None: + raw_result = self._start_initial( + resource_group_name=resource_group_name, + resource_name=resource_name, + cls=lambda x, y, z: x, + headers=_headers, + params=_params, + **kwargs + ) + raw_result.http_response.read() # type: ignore + kwargs.pop("error_map", None) + + def get_long_running_output(pipeline_response): # pylint: disable=inconsistent-return-statements + if cls: + return cls(pipeline_response, None, {}) # type: ignore + + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + + if polling is True: + polling_method: PollingMethod = cast( + PollingMethod, ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + ) + elif polling is False: + polling_method = cast(PollingMethod, NoPolling()) + else: + polling_method = polling + if cont_token: + return LROPoller[None].from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output, + ) + return LROPoller[None](self._client, raw_result, get_long_running_output, polling_method) # type: ignore + + def _run_command_initial( + self, + resource_group_name: str, + resource_name: str, + request_payload: Union[_models.RunCommandRequest, _types.RunCommandRequest, IO[bytes]], + **kwargs: Any + ) -> Iterator[bytes]: error_map: MutableMapping = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, @@ -12163,16 +5803,26 @@ def get(self, resource_group_name: str, resource_name: str, **kwargs: Any) -> _m } error_map.update(kwargs.pop("error_map", {}) or {}) - _headers = kwargs.pop("headers", {}) or {} + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = kwargs.pop("params", {}) or {} - cls: ClsType[_models.Snapshot] = kwargs.pop("cls", None) + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + cls: ClsType[Iterator[bytes]] = kwargs.pop("cls", None) - _request = build_snapshots_get_request( + content_type = content_type or "application/json" + _content = None + if isinstance(request_payload, (IOBase, bytes)): + _content = request_payload + else: + _content = json.dumps(request_payload, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + + _request = build_managed_clusters_run_command_request( resource_group_name=resource_group_name, resource_name=resource_name, subscription_id=self._config.subscription_id, + content_type=content_type, api_version=self._config.api_version, + content=_content, headers=_headers, params=_params, ) @@ -12182,19 +5832,18 @@ def get(self, resource_group_name: str, resource_name: str, **kwargs: Any) -> _m _request.url = self._client.format_url(_request.url, **path_format_arguments) _decompress = kwargs.pop("decompress", True) - _stream = kwargs.pop("stream", False) + _stream = True pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access _request, stream=_stream, **kwargs ) response = pipeline_response.http_response - if response.status_code not in [200]: - if _stream: - try: - response.read() # Load the body in memory and close the socket - except (StreamConsumedError, StreamClosedError): - pass + if response.status_code not in [200, 202]: + try: + response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass map_error(status_code=response.status_code, response=response, error_map=error_map) error = _failsafe_deserialize( _models.ErrorResponse, @@ -12202,118 +5851,209 @@ def get(self, resource_group_name: str, resource_name: str, **kwargs: Any) -> _m ) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - if _stream: - deserialized = response.iter_bytes() if _decompress else response.iter_raw() - else: - deserialized = _deserialize(_models.Snapshot, response.json()) + response_headers = {} + if response.status_code == 202: + response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) + response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) + + deserialized = response.iter_bytes() if _decompress else response.iter_raw() if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore + return cls(pipeline_response, deserialized, response_headers) # type: ignore return deserialized # type: ignore @overload - def create_or_update( + def begin_run_command( self, resource_group_name: str, resource_name: str, - parameters: _models.Snapshot, + request_payload: _models.RunCommandRequest, *, content_type: str = "application/json", **kwargs: Any - ) -> _models.Snapshot: - """Creates or updates a snapshot. + ) -> LROPoller[_models.RunCommandResult]: + """Submits a command to run against the Managed Cluster. + + AKS will create a pod to run the command. This is primarily useful for private clusters. For + more information see `AKS Run Command + `_. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param resource_name: The name of the managed cluster resource. Required. :type resource_name: str - :param parameters: The snapshot to create or update. Required. - :type parameters: ~azure.mgmt.containerservice.models.Snapshot + :param request_payload: The run command request. Required. + :type request_payload: ~azure.mgmt.containerservice.models.RunCommandRequest :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str - :return: Snapshot. The Snapshot is compatible with MutableMapping - :rtype: ~azure.mgmt.containerservice.models.Snapshot + :return: An instance of LROPoller that returns RunCommandResult. The RunCommandResult is + compatible with MutableMapping + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.containerservice.models.RunCommandResult] :raises ~azure.core.exceptions.HttpResponseError: """ @overload - def create_or_update( + def begin_run_command( self, resource_group_name: str, resource_name: str, - parameters: _types.Snapshot, + request_payload: _types.RunCommandRequest, *, content_type: str = "application/json", **kwargs: Any - ) -> _models.Snapshot: - """Creates or updates a snapshot. + ) -> LROPoller[_models.RunCommandResult]: + """Submits a command to run against the Managed Cluster. + + AKS will create a pod to run the command. This is primarily useful for private clusters. For + more information see `AKS Run Command + `_. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param resource_name: The name of the managed cluster resource. Required. :type resource_name: str - :param parameters: The snapshot to create or update. Required. - :type parameters: ~azure.mgmt.containerservice.types.Snapshot + :param request_payload: The run command request. Required. + :type request_payload: ~azure.mgmt.containerservice.types.RunCommandRequest :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str - :return: Snapshot. The Snapshot is compatible with MutableMapping - :rtype: ~azure.mgmt.containerservice.models.Snapshot + :return: An instance of LROPoller that returns RunCommandResult. The RunCommandResult is + compatible with MutableMapping + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.containerservice.models.RunCommandResult] :raises ~azure.core.exceptions.HttpResponseError: """ @overload - def create_or_update( + def begin_run_command( self, resource_group_name: str, resource_name: str, - parameters: IO[bytes], + request_payload: IO[bytes], *, content_type: str = "application/json", **kwargs: Any - ) -> _models.Snapshot: - """Creates or updates a snapshot. + ) -> LROPoller[_models.RunCommandResult]: + """Submits a command to run against the Managed Cluster. + + AKS will create a pod to run the command. This is primarily useful for private clusters. For + more information see `AKS Run Command + `_. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param resource_name: The name of the managed cluster resource. Required. :type resource_name: str - :param parameters: The snapshot to create or update. Required. - :type parameters: IO[bytes] + :param request_payload: The run command request. Required. + :type request_payload: IO[bytes] :keyword content_type: Body Parameter content-type. Content type parameter for binary body. Default value is "application/json". :paramtype content_type: str - :return: Snapshot. The Snapshot is compatible with MutableMapping - :rtype: ~azure.mgmt.containerservice.models.Snapshot + :return: An instance of LROPoller that returns RunCommandResult. The RunCommandResult is + compatible with MutableMapping + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.containerservice.models.RunCommandResult] :raises ~azure.core.exceptions.HttpResponseError: """ @distributed_trace - def create_or_update( + def begin_run_command( self, resource_group_name: str, resource_name: str, - parameters: Union[_models.Snapshot, _types.Snapshot, IO[bytes]], + request_payload: Union[_models.RunCommandRequest, _types.RunCommandRequest, IO[bytes]], **kwargs: Any - ) -> _models.Snapshot: - """Creates or updates a snapshot. + ) -> LROPoller[_models.RunCommandResult]: + """Submits a command to run against the Managed Cluster. + + AKS will create a pod to run the command. This is primarily useful for private clusters. For + more information see `AKS Run Command + `_. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param resource_name: The name of the managed cluster resource. Required. + :type resource_name: str + :param request_payload: The run command request. Is either a RunCommandRequest type or a + IO[bytes] type. Required. + :type request_payload: ~azure.mgmt.containerservice.models.RunCommandRequest or + ~azure.mgmt.containerservice.types.RunCommandRequest or IO[bytes] + :return: An instance of LROPoller that returns RunCommandResult. The RunCommandResult is + compatible with MutableMapping + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.containerservice.models.RunCommandResult] + :raises ~azure.core.exceptions.HttpResponseError: + """ + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _params = kwargs.pop("params", {}) or {} + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + cls: ClsType[_models.RunCommandResult] = kwargs.pop("cls", None) + polling: Union[bool, PollingMethod] = kwargs.pop("polling", True) + lro_delay = kwargs.pop("polling_interval", self._config.polling_interval) + cont_token: Optional[str] = kwargs.pop("continuation_token", None) + if cont_token is None: + raw_result = self._run_command_initial( + resource_group_name=resource_group_name, + resource_name=resource_name, + request_payload=request_payload, + content_type=content_type, + cls=lambda x, y, z: x, + headers=_headers, + params=_params, + **kwargs + ) + raw_result.http_response.read() # type: ignore + kwargs.pop("error_map", None) + + def get_long_running_output(pipeline_response): + response = pipeline_response.http_response + deserialized = _deserialize(_models.RunCommandResult, response.json()) + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + return deserialized + + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + + if polling is True: + polling_method: PollingMethod = cast( + PollingMethod, ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + ) + elif polling is False: + polling_method = cast(PollingMethod, NoPolling()) + else: + polling_method = polling + if cont_token: + return LROPoller[_models.RunCommandResult].from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output, + ) + return LROPoller[_models.RunCommandResult]( + self._client, raw_result, get_long_running_output, polling_method # type: ignore + ) + + @distributed_trace + def get_command_result( + self, resource_group_name: str, resource_name: str, command_id: str, **kwargs: Any + ) -> Optional[_models.RunCommandResult]: + """Gets the results of a command which has been run on the Managed Cluster. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param resource_name: The name of the managed cluster resource. Required. :type resource_name: str - :param parameters: The snapshot to create or update. Is either a Snapshot type or a IO[bytes] - type. Required. - :type parameters: ~azure.mgmt.containerservice.models.Snapshot or - ~azure.mgmt.containerservice.types.Snapshot or IO[bytes] - :return: Snapshot. The Snapshot is compatible with MutableMapping - :rtype: ~azure.mgmt.containerservice.models.Snapshot + :param command_id: Id of the command. Required. + :type command_id: str + :return: RunCommandResult or None. The RunCommandResult is compatible with MutableMapping + :rtype: ~azure.mgmt.containerservice.models.RunCommandResult or None :raises ~azure.core.exceptions.HttpResponseError: """ error_map: MutableMapping = { @@ -12324,26 +6064,17 @@ def create_or_update( } error_map.update(kwargs.pop("error_map", {}) or {}) - _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - cls: ClsType[_models.Snapshot] = kwargs.pop("cls", None) - - content_type = content_type or "application/json" - _content = None - if isinstance(parameters, (IOBase, bytes)): - _content = parameters - else: - _content = json.dumps(parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + cls: ClsType[Optional[_models.RunCommandResult]] = kwargs.pop("cls", None) - _request = build_snapshots_create_or_update_request( + _request = build_managed_clusters_get_command_result_request( resource_group_name=resource_group_name, resource_name=resource_name, + command_id=command_id, subscription_id=self._config.subscription_id, - content_type=content_type, api_version=self._config.api_version, - content=_content, headers=_headers, params=_params, ) @@ -12360,7 +6091,7 @@ def create_or_update( response = pipeline_response.http_response - if response.status_code not in [200, 201]: + if response.status_code not in [200, 202]: if _stream: try: response.read() # Load the body in memory and close the socket @@ -12373,118 +6104,143 @@ def create_or_update( ) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - if _stream: - deserialized = response.iter_bytes() if _decompress else response.iter_raw() - else: - deserialized = _deserialize(_models.Snapshot, response.json()) + deserialized = None + response_headers = {} + if response.status_code == 200: + if _stream: + deserialized = response.iter_bytes() if _decompress else response.iter_raw() + else: + deserialized = _deserialize(_models.RunCommandResult, response.json()) + + if response.status_code == 202: + response_headers["location"] = self._deserialize("str", response.headers.get("location")) if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore + return cls(pipeline_response, deserialized, response_headers) # type: ignore return deserialized # type: ignore - @overload - def update_tags( - self, - resource_group_name: str, - resource_name: str, - parameters: _models.TagsObject, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> _models.Snapshot: - """Updates tags on a snapshot. + @distributed_trace + def list_outbound_network_dependencies_endpoints( # pylint: disable=name-too-long + self, resource_group_name: str, resource_name: str, **kwargs: Any + ) -> ItemPaged["_models.OutboundEnvironmentEndpoint"]: + """Gets a list of egress endpoints (network endpoints of all outbound dependencies) in the + specified managed cluster. + + Gets a list of egress endpoints (network endpoints of all outbound dependencies) in the + specified managed cluster. The operation returns properties of each egress endpoint. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param resource_name: The name of the managed cluster resource. Required. :type resource_name: str - :param parameters: Parameters supplied to the Update snapshot Tags operation. Required. - :type parameters: ~azure.mgmt.containerservice.models.TagsObject - :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. - Default value is "application/json". - :paramtype content_type: str - :return: Snapshot. The Snapshot is compatible with MutableMapping - :rtype: ~azure.mgmt.containerservice.models.Snapshot + :return: An iterator like instance of OutboundEnvironmentEndpoint + :rtype: + ~azure.core.paging.ItemPaged[~azure.mgmt.containerservice.models.OutboundEnvironmentEndpoint] :raises ~azure.core.exceptions.HttpResponseError: """ + _headers = kwargs.pop("headers", {}) or {} + _params = kwargs.pop("params", {}) or {} - @overload - def update_tags( - self, - resource_group_name: str, - resource_name: str, - parameters: _types.TagsObject, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> _models.Snapshot: - """Updates tags on a snapshot. + cls: ClsType[List[_models.OutboundEnvironmentEndpoint]] = kwargs.pop("cls", None) - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param resource_name: The name of the managed cluster resource. Required. - :type resource_name: str - :param parameters: Parameters supplied to the Update snapshot Tags operation. Required. - :type parameters: ~azure.mgmt.containerservice.types.TagsObject - :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. - Default value is "application/json". - :paramtype content_type: str - :return: Snapshot. The Snapshot is compatible with MutableMapping - :rtype: ~azure.mgmt.containerservice.models.Snapshot - :raises ~azure.core.exceptions.HttpResponseError: - """ + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) - @overload - def update_tags( - self, - resource_group_name: str, - resource_name: str, - parameters: IO[bytes], - *, - content_type: str = "application/json", - **kwargs: Any - ) -> _models.Snapshot: - """Updates tags on a snapshot. + def prepare_request(next_link=None): + if not next_link: - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param resource_name: The name of the managed cluster resource. Required. - :type resource_name: str - :param parameters: Parameters supplied to the Update snapshot Tags operation. Required. - :type parameters: IO[bytes] - :keyword content_type: Body Parameter content-type. Content type parameter for binary body. - Default value is "application/json". - :paramtype content_type: str - :return: Snapshot. The Snapshot is compatible with MutableMapping - :rtype: ~azure.mgmt.containerservice.models.Snapshot - :raises ~azure.core.exceptions.HttpResponseError: - """ + _request = build_managed_clusters_list_outbound_network_dependencies_endpoints_request( + resource_group_name=resource_group_name, + resource_name=resource_name, + subscription_id=self._config.subscription_id, + api_version=self._config.api_version, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url( + "self._config.base_url", self._config.base_url, "str", skip_quote=True + ), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + else: + # make call to next link with the client's api-version + _parsed_next_link = urllib.parse.urlparse(next_link) + _next_request_params = case_insensitive_dict( + { + key: [urllib.parse.quote(v) for v in value] + for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items() + } + ) + _next_request_params["api-version"] = self._config.api_version + _request = HttpRequest( + "GET", + urllib.parse.urljoin(next_link, _parsed_next_link.path), + headers=_headers, + params=_next_request_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url( + "self._config.base_url", self._config.base_url, "str", skip_quote=True + ), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + return _request + + def extract_data(pipeline_response): + deserialized = pipeline_response.http_response.json() + list_of_elem = _deserialize( + List[_models.OutboundEnvironmentEndpoint], + deserialized.get("value", []), + ) + if cls: + list_of_elem = cls(list_of_elem) # type: ignore + return deserialized.get("nextLink") or None, iter(list_of_elem) + + def get_next(next_link=None): + _request = prepare_request(next_link) + + _stream = False + pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access + _request, stream=_stream, **kwargs + ) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + return ItemPaged(get_next, extract_data) @distributed_trace - def update_tags( - self, - resource_group_name: str, - resource_name: str, - parameters: Union[_models.TagsObject, _types.TagsObject, IO[bytes]], - **kwargs: Any - ) -> _models.Snapshot: - """Updates tags on a snapshot. + def get_upgrade_profile( + self, resource_group_name: str, resource_name: str, **kwargs: Any + ) -> _models.ManagedClusterUpgradeProfile: + """Gets the upgrade profile of a managed cluster. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param resource_name: The name of the managed cluster resource. Required. :type resource_name: str - :param parameters: Parameters supplied to the Update snapshot Tags operation. Is either a - TagsObject type or a IO[bytes] type. Required. - :type parameters: ~azure.mgmt.containerservice.models.TagsObject or - ~azure.mgmt.containerservice.types.TagsObject or IO[bytes] - :return: Snapshot. The Snapshot is compatible with MutableMapping - :rtype: ~azure.mgmt.containerservice.models.Snapshot + :return: ManagedClusterUpgradeProfile. The ManagedClusterUpgradeProfile is compatible with + MutableMapping + :rtype: ~azure.mgmt.containerservice.models.ManagedClusterUpgradeProfile :raises ~azure.core.exceptions.HttpResponseError: """ error_map: MutableMapping = { @@ -12495,26 +6251,16 @@ def update_tags( } error_map.update(kwargs.pop("error_map", {}) or {}) - _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - cls: ClsType[_models.Snapshot] = kwargs.pop("cls", None) - - content_type = content_type or "application/json" - _content = None - if isinstance(parameters, (IOBase, bytes)): - _content = parameters - else: - _content = json.dumps(parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + cls: ClsType[_models.ManagedClusterUpgradeProfile] = kwargs.pop("cls", None) - _request = build_snapshots_update_tags_request( + _request = build_managed_clusters_get_upgrade_profile_request( resource_group_name=resource_group_name, resource_name=resource_name, subscription_id=self._config.subscription_id, - content_type=content_type, api_version=self._config.api_version, - content=_content, headers=_headers, params=_params, ) @@ -12547,7 +6293,7 @@ def update_tags( if _stream: deserialized = response.iter_bytes() if _decompress else response.iter_raw() else: - deserialized = _deserialize(_models.Snapshot, response.json()) + deserialized = _deserialize(_models.ManagedClusterUpgradeProfile, response.json()) if cls: return cls(pipeline_response, deserialized, {}) # type: ignore @@ -12555,18 +6301,18 @@ def update_tags( return deserialized # type: ignore @distributed_trace - def delete( # pylint: disable=inconsistent-return-statements - self, resource_group_name: str, resource_name: str, **kwargs: Any - ) -> None: - """Deletes a snapshot. + def get_mesh_revision_profile(self, location: str, mode: str, **kwargs: Any) -> _models.MeshRevisionProfile: + """Gets a mesh revision profile for a specified mesh in the specified location. - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param resource_name: The name of the managed cluster resource. Required. - :type resource_name: str - :return: None - :rtype: None + Contains extra metadata on the revision, including supported revisions, cluster compatibility + and available upgrades. + + :param location: The name of the Azure region. Required. + :type location: str + :param mode: The mode of the mesh. Required. + :type mode: str + :return: MeshRevisionProfile. The MeshRevisionProfile is compatible with MutableMapping + :rtype: ~azure.mgmt.containerservice.models.MeshRevisionProfile :raises ~azure.core.exceptions.HttpResponseError: """ error_map: MutableMapping = { @@ -12580,11 +6326,11 @@ def delete( # pylint: disable=inconsistent-return-statements _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - cls: ClsType[None] = kwargs.pop("cls", None) + cls: ClsType[_models.MeshRevisionProfile] = kwargs.pop("cls", None) - _request = build_snapshots_delete_request( - resource_group_name=resource_group_name, - resource_name=resource_name, + _request = build_managed_clusters_get_mesh_revision_profile_request( + location=location, + mode=mode, subscription_id=self._config.subscription_id, api_version=self._config.api_version, headers=_headers, @@ -12595,14 +6341,20 @@ def delete( # pylint: disable=inconsistent-return-statements } _request.url = self._client.format_url(_request.url, **path_format_arguments) - _stream = False + _decompress = kwargs.pop("decompress", True) + _stream = kwargs.pop("stream", False) pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access _request, stream=_stream, **kwargs ) response = pipeline_response.http_response - if response.status_code not in [200, 204]: + if response.status_code not in [200]: + if _stream: + try: + response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass map_error(status_code=response.status_code, response=response, error_map=error_map) error = _failsafe_deserialize( _models.ErrorResponse, @@ -12610,24 +6362,33 @@ def delete( # pylint: disable=inconsistent-return-statements ) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + if _stream: + deserialized = response.iter_bytes() if _decompress else response.iter_raw() + else: + deserialized = _deserialize(_models.MeshRevisionProfile, response.json()) + if cls: - return cls(pipeline_response, None, {}) # type: ignore + return cls(pipeline_response, deserialized, {}) # type: ignore + + return deserialized # type: ignore @distributed_trace - def list_by_resource_group(self, resource_group_name: str, **kwargs: Any) -> ItemPaged["_models.Snapshot"]: - """Lists snapshots in the specified subscription and resource group. + def list_mesh_revision_profiles(self, location: str, **kwargs: Any) -> ItemPaged["_models.MeshRevisionProfile"]: + """Lists mesh revision profiles for all meshes in the specified location. - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :return: An iterator like instance of Snapshot - :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.containerservice.models.Snapshot] + Contains extra metadata on each revision, including supported revisions, cluster compatibility + and available upgrades. + + :param location: The name of the Azure region. Required. + :type location: str + :return: An iterator like instance of MeshRevisionProfile + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.containerservice.models.MeshRevisionProfile] :raises ~azure.core.exceptions.HttpResponseError: """ _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - cls: ClsType[List[_models.Snapshot]] = kwargs.pop("cls", None) + cls: ClsType[List[_models.MeshRevisionProfile]] = kwargs.pop("cls", None) error_map: MutableMapping = { 401: ClientAuthenticationError, @@ -12640,8 +6401,8 @@ def list_by_resource_group(self, resource_group_name: str, **kwargs: Any) -> Ite def prepare_request(next_link=None): if not next_link: - _request = build_snapshots_list_by_resource_group_request( - resource_group_name=resource_group_name, + _request = build_managed_clusters_list_mesh_revision_profiles_request( + location=location, subscription_id=self._config.subscription_id, api_version=self._config.api_version, headers=_headers, @@ -12682,7 +6443,7 @@ def prepare_request(next_link=None): def extract_data(pipeline_response): deserialized = pipeline_response.http_response.json() list_of_elem = _deserialize( - List[_models.Snapshot], + List[_models.MeshRevisionProfile], deserialized.get("value", []), ) if cls: @@ -12711,17 +6472,99 @@ def get_next(next_link=None): return ItemPaged(get_next, extract_data) @distributed_trace - def list(self, **kwargs: Any) -> ItemPaged["_models.Snapshot"]: - """Gets a list of snapshots in the specified subscription. + def get_mesh_upgrade_profile( + self, resource_group_name: str, resource_name: str, mode: str, **kwargs: Any + ) -> _models.MeshUpgradeProfile: + """Gets available upgrades for a service mesh in a cluster. - :return: An iterator like instance of Snapshot - :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.containerservice.models.Snapshot] + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param resource_name: The name of the managed cluster resource. Required. + :type resource_name: str + :param mode: The mode of the mesh. Required. + :type mode: str + :return: MeshUpgradeProfile. The MeshUpgradeProfile is compatible with MutableMapping + :rtype: ~azure.mgmt.containerservice.models.MeshUpgradeProfile :raises ~azure.core.exceptions.HttpResponseError: """ + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - cls: ClsType[List[_models.Snapshot]] = kwargs.pop("cls", None) + cls: ClsType[_models.MeshUpgradeProfile] = kwargs.pop("cls", None) + + _request = build_managed_clusters_get_mesh_upgrade_profile_request( + resource_group_name=resource_group_name, + resource_name=resource_name, + mode=mode, + subscription_id=self._config.subscription_id, + api_version=self._config.api_version, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + _decompress = kwargs.pop("decompress", True) + _stream = kwargs.pop("stream", False) + pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access + _request, stream=_stream, **kwargs + ) + + response = pipeline_response.http_response + + if response.status_code not in [200]: + if _stream: + try: + response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if _stream: + deserialized = response.iter_bytes() if _decompress else response.iter_raw() + else: + deserialized = _deserialize(_models.MeshUpgradeProfile, response.json()) + + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + + return deserialized # type: ignore + + @distributed_trace + def list_mesh_upgrade_profiles( + self, resource_group_name: str, resource_name: str, **kwargs: Any + ) -> ItemPaged["_models.MeshUpgradeProfile"]: + """Lists available upgrades for all service meshes in a specific cluster. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param resource_name: The name of the managed cluster resource. Required. + :type resource_name: str + :return: An iterator like instance of MeshUpgradeProfile + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.containerservice.models.MeshUpgradeProfile] + :raises ~azure.core.exceptions.HttpResponseError: + """ + _headers = kwargs.pop("headers", {}) or {} + _params = kwargs.pop("params", {}) or {} + + cls: ClsType[List[_models.MeshUpgradeProfile]] = kwargs.pop("cls", None) error_map: MutableMapping = { 401: ClientAuthenticationError, @@ -12734,7 +6577,9 @@ def list(self, **kwargs: Any) -> ItemPaged["_models.Snapshot"]: def prepare_request(next_link=None): if not next_link: - _request = build_snapshots_list_request( + _request = build_managed_clusters_list_mesh_upgrade_profiles_request( + resource_group_name=resource_group_name, + resource_name=resource_name, subscription_id=self._config.subscription_id, api_version=self._config.api_version, headers=_headers, @@ -12775,7 +6620,7 @@ def prepare_request(next_link=None): def extract_data(pipeline_response): deserialized = pipeline_response.http_response.json() list_of_elem = _deserialize( - List[_models.Snapshot], + List[_models.MeshUpgradeProfile], deserialized.get("value", []), ) if cls: @@ -12803,42 +6648,18 @@ def get_next(next_link=None): return ItemPaged(get_next, extract_data) - -class ManagedClusterSnapshotsOperations: - """ - .. warning:: - **DO NOT** instantiate this class directly. - - Instead, you should access the following operations through - :class:`~azure.mgmt.containerservice.ContainerServiceClient`'s - :attr:`managed_cluster_snapshots` attribute. - """ - - def __init__(self, *args, **kwargs) -> None: - input_args = list(args) - self._client: PipelineClient = input_args.pop(0) if input_args else kwargs.pop("client") - self._config: ContainerServiceClientConfiguration = input_args.pop(0) if input_args else kwargs.pop("config") - self._serialize: Serializer = input_args.pop(0) if input_args else kwargs.pop("serializer") - self._deserialize: Deserializer = input_args.pop(0) if input_args else kwargs.pop("deserializer") - @distributed_trace - @api_version_validation( - method_added_on="2026-05-02-preview", - params_added_on={ - "2026-05-02-preview": ["api_version", "subscription_id", "resource_group_name", "resource_name", "accept"] - }, - api_versions_list=["2026-05-02-preview"], - ) - def get(self, resource_group_name: str, resource_name: str, **kwargs: Any) -> _models.ManagedClusterSnapshot: - """Gets a managed cluster snapshot. + def list_kubernetes_versions(self, location: str, **kwargs: Any) -> _models.KubernetesVersionListResult: + """Gets a list of supported Kubernetes versions in the specified subscription. - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param resource_name: The name of the managed cluster resource. Required. - :type resource_name: str - :return: ManagedClusterSnapshot. The ManagedClusterSnapshot is compatible with MutableMapping - :rtype: ~azure.mgmt.containerservice.models.ManagedClusterSnapshot + Contains extra metadata on the version, including supported patch versions, capabilities, + available upgrades, and details on preview status of the version. + + :param location: The name of the Azure region. Required. + :type location: str + :return: KubernetesVersionListResult. The KubernetesVersionListResult is compatible with + MutableMapping + :rtype: ~azure.mgmt.containerservice.models.KubernetesVersionListResult :raises ~azure.core.exceptions.HttpResponseError: """ error_map: MutableMapping = { @@ -12852,11 +6673,10 @@ def get(self, resource_group_name: str, resource_name: str, **kwargs: Any) -> _m _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - cls: ClsType[_models.ManagedClusterSnapshot] = kwargs.pop("cls", None) + cls: ClsType[_models.KubernetesVersionListResult] = kwargs.pop("cls", None) - _request = build_managed_cluster_snapshots_get_request( - resource_group_name=resource_group_name, - resource_name=resource_name, + _request = build_managed_clusters_list_kubernetes_versions_request( + location=location, subscription_id=self._config.subscription_id, api_version=self._config.api_version, headers=_headers, @@ -12891,129 +6711,48 @@ def get(self, resource_group_name: str, resource_name: str, **kwargs: Any) -> _m if _stream: deserialized = response.iter_bytes() if _decompress else response.iter_raw() else: - deserialized = _deserialize(_models.ManagedClusterSnapshot, response.json()) + deserialized = _deserialize(_models.KubernetesVersionListResult, response.json()) if cls: return cls(pipeline_response, deserialized, {}) # type: ignore return deserialized # type: ignore - @overload - def create_or_update( - self, - resource_group_name: str, - resource_name: str, - parameters: _models.ManagedClusterSnapshot, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> _models.ManagedClusterSnapshot: - """Creates or updates a managed cluster snapshot. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param resource_name: The name of the managed cluster resource. Required. - :type resource_name: str - :param parameters: The managed cluster snapshot to create or update. Required. - :type parameters: ~azure.mgmt.containerservice.models.ManagedClusterSnapshot - :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. - Default value is "application/json". - :paramtype content_type: str - :return: ManagedClusterSnapshot. The ManagedClusterSnapshot is compatible with MutableMapping - :rtype: ~azure.mgmt.containerservice.models.ManagedClusterSnapshot - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @overload - def create_or_update( - self, - resource_group_name: str, - resource_name: str, - parameters: _types.ManagedClusterSnapshot, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> _models.ManagedClusterSnapshot: - """Creates or updates a managed cluster snapshot. - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param resource_name: The name of the managed cluster resource. Required. - :type resource_name: str - :param parameters: The managed cluster snapshot to create or update. Required. - :type parameters: ~azure.mgmt.containerservice.types.ManagedClusterSnapshot - :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. - Default value is "application/json". - :paramtype content_type: str - :return: ManagedClusterSnapshot. The ManagedClusterSnapshot is compatible with MutableMapping - :rtype: ~azure.mgmt.containerservice.models.ManagedClusterSnapshot - :raises ~azure.core.exceptions.HttpResponseError: - """ +class MaintenanceConfigurationsOperations: # pylint: disable=docstring-missing-param + """ + .. warning:: + **DO NOT** instantiate this class directly. - @overload - def create_or_update( - self, - resource_group_name: str, - resource_name: str, - parameters: IO[bytes], - *, - content_type: str = "application/json", - **kwargs: Any - ) -> _models.ManagedClusterSnapshot: - """Creates or updates a managed cluster snapshot. + Instead, you should access the following operations through + :class:`~azure.mgmt.containerservice.ContainerServiceClient`'s + :attr:`maintenance_configurations` attribute. + """ - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param resource_name: The name of the managed cluster resource. Required. - :type resource_name: str - :param parameters: The managed cluster snapshot to create or update. Required. - :type parameters: IO[bytes] - :keyword content_type: Body Parameter content-type. Content type parameter for binary body. - Default value is "application/json". - :paramtype content_type: str - :return: ManagedClusterSnapshot. The ManagedClusterSnapshot is compatible with MutableMapping - :rtype: ~azure.mgmt.containerservice.models.ManagedClusterSnapshot - :raises ~azure.core.exceptions.HttpResponseError: - """ + def __init__(self, *args, **kwargs) -> None: + input_args = list(args) + self._client: PipelineClient = input_args.pop(0) if input_args else kwargs.pop("client") + self._config: ContainerServiceClientConfiguration = input_args.pop(0) if input_args else kwargs.pop("config") + self._serialize: Serializer = input_args.pop(0) if input_args else kwargs.pop("serializer") + self._deserialize: Deserializer = input_args.pop(0) if input_args else kwargs.pop("deserializer") @distributed_trace - @api_version_validation( - method_added_on="2026-05-02-preview", - params_added_on={ - "2026-05-02-preview": [ - "api_version", - "subscription_id", - "resource_group_name", - "resource_name", - "content_type", - "accept", - ] - }, - api_versions_list=["2026-05-02-preview"], - ) - def create_or_update( - self, - resource_group_name: str, - resource_name: str, - parameters: Union[_models.ManagedClusterSnapshot, _types.ManagedClusterSnapshot, IO[bytes]], - **kwargs: Any - ) -> _models.ManagedClusterSnapshot: - """Creates or updates a managed cluster snapshot. + def get( + self, resource_group_name: str, resource_name: str, config_name: str, **kwargs: Any + ) -> _models.MaintenanceConfiguration: + """Gets the specified maintenance configuration of a managed cluster. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param resource_name: The name of the managed cluster resource. Required. :type resource_name: str - :param parameters: The managed cluster snapshot to create or update. Is either a - ManagedClusterSnapshot type or a IO[bytes] type. Required. - :type parameters: ~azure.mgmt.containerservice.models.ManagedClusterSnapshot or - ~azure.mgmt.containerservice.types.ManagedClusterSnapshot or IO[bytes] - :return: ManagedClusterSnapshot. The ManagedClusterSnapshot is compatible with MutableMapping - :rtype: ~azure.mgmt.containerservice.models.ManagedClusterSnapshot + :param config_name: The name of the maintenance configuration. Supported values are 'default', + 'aksManagedAutoUpgradeSchedule', or 'aksManagedNodeOSUpgradeSchedule'. Required. + :type config_name: str + :return: MaintenanceConfiguration. The MaintenanceConfiguration is compatible with + MutableMapping + :rtype: ~azure.mgmt.containerservice.models.MaintenanceConfiguration :raises ~azure.core.exceptions.HttpResponseError: """ error_map: MutableMapping = { @@ -13024,26 +6763,17 @@ def create_or_update( } error_map.update(kwargs.pop("error_map", {}) or {}) - _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - cls: ClsType[_models.ManagedClusterSnapshot] = kwargs.pop("cls", None) - - content_type = content_type or "application/json" - _content = None - if isinstance(parameters, (IOBase, bytes)): - _content = parameters - else: - _content = json.dumps(parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + cls: ClsType[_models.MaintenanceConfiguration] = kwargs.pop("cls", None) - _request = build_managed_cluster_snapshots_create_or_update_request( + _request = build_maintenance_configurations_get_request( resource_group_name=resource_group_name, resource_name=resource_name, + config_name=config_name, subscription_id=self._config.subscription_id, - content_type=content_type, api_version=self._config.api_version, - content=_content, headers=_headers, params=_params, ) @@ -13060,7 +6790,7 @@ def create_or_update( response = pipeline_response.http_response - if response.status_code not in [200, 201]: + if response.status_code not in [200]: if _stream: try: response.read() # Load the body in memory and close the socket @@ -13076,7 +6806,7 @@ def create_or_update( if _stream: deserialized = response.iter_bytes() if _decompress else response.iter_raw() else: - deserialized = _deserialize(_models.ManagedClusterSnapshot, response.json()) + deserialized = _deserialize(_models.MaintenanceConfiguration, response.json()) if cls: return cls(pipeline_response, deserialized, {}) # type: ignore @@ -13084,124 +6814,127 @@ def create_or_update( return deserialized # type: ignore @overload - def update_tags( + def create_or_update( self, resource_group_name: str, resource_name: str, - parameters: _models.TagsObject, + config_name: str, + parameters: _models.MaintenanceConfiguration, *, content_type: str = "application/json", **kwargs: Any - ) -> _models.ManagedClusterSnapshot: - """Updates tags on a managed cluster snapshot. + ) -> _models.MaintenanceConfiguration: + """Creates or updates a maintenance configuration in the specified managed cluster. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param resource_name: The name of the managed cluster resource. Required. :type resource_name: str - :param parameters: Parameters supplied to the Update managed cluster snapshot Tags operation. - Required. - :type parameters: ~azure.mgmt.containerservice.models.TagsObject + :param config_name: The name of the maintenance configuration. Supported values are 'default', + 'aksManagedAutoUpgradeSchedule', or 'aksManagedNodeOSUpgradeSchedule'. Required. + :type config_name: str + :param parameters: The maintenance configuration to create or update. Required. + :type parameters: ~azure.mgmt.containerservice.models.MaintenanceConfiguration :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str - :return: ManagedClusterSnapshot. The ManagedClusterSnapshot is compatible with MutableMapping - :rtype: ~azure.mgmt.containerservice.models.ManagedClusterSnapshot + :return: MaintenanceConfiguration. The MaintenanceConfiguration is compatible with + MutableMapping + :rtype: ~azure.mgmt.containerservice.models.MaintenanceConfiguration :raises ~azure.core.exceptions.HttpResponseError: """ @overload - def update_tags( + def create_or_update( self, resource_group_name: str, resource_name: str, - parameters: _types.TagsObject, + config_name: str, + parameters: _types.MaintenanceConfiguration, *, content_type: str = "application/json", **kwargs: Any - ) -> _models.ManagedClusterSnapshot: - """Updates tags on a managed cluster snapshot. + ) -> _models.MaintenanceConfiguration: + """Creates or updates a maintenance configuration in the specified managed cluster. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param resource_name: The name of the managed cluster resource. Required. :type resource_name: str - :param parameters: Parameters supplied to the Update managed cluster snapshot Tags operation. - Required. - :type parameters: ~azure.mgmt.containerservice.types.TagsObject + :param config_name: The name of the maintenance configuration. Supported values are 'default', + 'aksManagedAutoUpgradeSchedule', or 'aksManagedNodeOSUpgradeSchedule'. Required. + :type config_name: str + :param parameters: The maintenance configuration to create or update. Required. + :type parameters: ~azure.mgmt.containerservice.types.MaintenanceConfiguration :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str - :return: ManagedClusterSnapshot. The ManagedClusterSnapshot is compatible with MutableMapping - :rtype: ~azure.mgmt.containerservice.models.ManagedClusterSnapshot + :return: MaintenanceConfiguration. The MaintenanceConfiguration is compatible with + MutableMapping + :rtype: ~azure.mgmt.containerservice.models.MaintenanceConfiguration :raises ~azure.core.exceptions.HttpResponseError: """ @overload - def update_tags( + def create_or_update( self, resource_group_name: str, resource_name: str, + config_name: str, parameters: IO[bytes], *, content_type: str = "application/json", **kwargs: Any - ) -> _models.ManagedClusterSnapshot: - """Updates tags on a managed cluster snapshot. + ) -> _models.MaintenanceConfiguration: + """Creates or updates a maintenance configuration in the specified managed cluster. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param resource_name: The name of the managed cluster resource. Required. :type resource_name: str - :param parameters: Parameters supplied to the Update managed cluster snapshot Tags operation. - Required. + :param config_name: The name of the maintenance configuration. Supported values are 'default', + 'aksManagedAutoUpgradeSchedule', or 'aksManagedNodeOSUpgradeSchedule'. Required. + :type config_name: str + :param parameters: The maintenance configuration to create or update. Required. :type parameters: IO[bytes] :keyword content_type: Body Parameter content-type. Content type parameter for binary body. Default value is "application/json". :paramtype content_type: str - :return: ManagedClusterSnapshot. The ManagedClusterSnapshot is compatible with MutableMapping - :rtype: ~azure.mgmt.containerservice.models.ManagedClusterSnapshot + :return: MaintenanceConfiguration. The MaintenanceConfiguration is compatible with + MutableMapping + :rtype: ~azure.mgmt.containerservice.models.MaintenanceConfiguration :raises ~azure.core.exceptions.HttpResponseError: """ @distributed_trace - @api_version_validation( - method_added_on="2026-05-02-preview", - params_added_on={ - "2026-05-02-preview": [ - "api_version", - "subscription_id", - "resource_group_name", - "resource_name", - "content_type", - "accept", - ] - }, - api_versions_list=["2026-05-02-preview"], - ) - def update_tags( + def create_or_update( self, resource_group_name: str, resource_name: str, - parameters: Union[_models.TagsObject, _types.TagsObject, IO[bytes]], + config_name: str, + parameters: Union[_models.MaintenanceConfiguration, _types.MaintenanceConfiguration, IO[bytes]], **kwargs: Any - ) -> _models.ManagedClusterSnapshot: - """Updates tags on a managed cluster snapshot. + ) -> _models.MaintenanceConfiguration: + """Creates or updates a maintenance configuration in the specified managed cluster. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param resource_name: The name of the managed cluster resource. Required. :type resource_name: str - :param parameters: Parameters supplied to the Update managed cluster snapshot Tags operation. - Is either a TagsObject type or a IO[bytes] type. Required. - :type parameters: ~azure.mgmt.containerservice.models.TagsObject or - ~azure.mgmt.containerservice.types.TagsObject or IO[bytes] - :return: ManagedClusterSnapshot. The ManagedClusterSnapshot is compatible with MutableMapping - :rtype: ~azure.mgmt.containerservice.models.ManagedClusterSnapshot + :param config_name: The name of the maintenance configuration. Supported values are 'default', + 'aksManagedAutoUpgradeSchedule', or 'aksManagedNodeOSUpgradeSchedule'. Required. + :type config_name: str + :param parameters: The maintenance configuration to create or update. Is either a + MaintenanceConfiguration type or a IO[bytes] type. Required. + :type parameters: ~azure.mgmt.containerservice.models.MaintenanceConfiguration or + ~azure.mgmt.containerservice.types.MaintenanceConfiguration or IO[bytes] + :return: MaintenanceConfiguration. The MaintenanceConfiguration is compatible with + MutableMapping + :rtype: ~azure.mgmt.containerservice.models.MaintenanceConfiguration :raises ~azure.core.exceptions.HttpResponseError: """ error_map: MutableMapping = { @@ -13216,7 +6949,7 @@ def update_tags( _params = kwargs.pop("params", {}) or {} content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - cls: ClsType[_models.ManagedClusterSnapshot] = kwargs.pop("cls", None) + cls: ClsType[_models.MaintenanceConfiguration] = kwargs.pop("cls", None) content_type = content_type or "application/json" _content = None @@ -13225,9 +6958,10 @@ def update_tags( else: _content = json.dumps(parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore - _request = build_managed_cluster_snapshots_update_tags_request( + _request = build_maintenance_configurations_create_or_update_request( resource_group_name=resource_group_name, resource_name=resource_name, + config_name=config_name, subscription_id=self._config.subscription_id, content_type=content_type, api_version=self._config.api_version, @@ -13248,7 +6982,7 @@ def update_tags( response = pipeline_response.http_response - if response.status_code not in [200]: + if response.status_code not in [200, 201]: if _stream: try: response.read() # Load the body in memory and close the socket @@ -13264,7 +6998,7 @@ def update_tags( if _stream: deserialized = response.iter_bytes() if _decompress else response.iter_raw() else: - deserialized = _deserialize(_models.ManagedClusterSnapshot, response.json()) + deserialized = _deserialize(_models.MaintenanceConfiguration, response.json()) if cls: return cls(pipeline_response, deserialized, {}) # type: ignore @@ -13272,23 +7006,19 @@ def update_tags( return deserialized # type: ignore @distributed_trace - @api_version_validation( - method_added_on="2026-05-02-preview", - params_added_on={ - "2026-05-02-preview": ["api_version", "subscription_id", "resource_group_name", "resource_name"] - }, - api_versions_list=["2026-05-02-preview"], - ) def delete( # pylint: disable=inconsistent-return-statements - self, resource_group_name: str, resource_name: str, **kwargs: Any + self, resource_group_name: str, resource_name: str, config_name: str, **kwargs: Any ) -> None: - """Deletes a managed cluster snapshot. + """Deletes a maintenance configuration. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param resource_name: The name of the managed cluster resource. Required. :type resource_name: str + :param config_name: The name of the maintenance configuration. Supported values are 'default', + 'aksManagedAutoUpgradeSchedule', or 'aksManagedNodeOSUpgradeSchedule'. Required. + :type config_name: str :return: None :rtype: None :raises ~azure.core.exceptions.HttpResponseError: @@ -13306,9 +7036,10 @@ def delete( # pylint: disable=inconsistent-return-statements cls: ClsType[None] = kwargs.pop("cls", None) - _request = build_managed_cluster_snapshots_delete_request( + _request = build_maintenance_configurations_delete_request( resource_group_name=resource_group_name, resource_name=resource_name, + config_name=config_name, subscription_id=self._config.subscription_id, api_version=self._config.api_version, headers=_headers, @@ -13338,128 +7069,25 @@ def delete( # pylint: disable=inconsistent-return-statements return cls(pipeline_response, None, {}) # type: ignore @distributed_trace - @api_version_validation( - method_added_on="2026-05-02-preview", - params_added_on={"2026-05-02-preview": ["api_version", "subscription_id", "resource_group_name", "accept"]}, - api_versions_list=["2026-05-02-preview"], - ) - def list_by_resource_group( - self, resource_group_name: str, **kwargs: Any - ) -> ItemPaged["_models.ManagedClusterSnapshot"]: - """Lists managed cluster snapshots in the specified subscription and resource group. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :return: An iterator like instance of ManagedClusterSnapshot - :rtype: - ~azure.core.paging.ItemPaged[~azure.mgmt.containerservice.models.ManagedClusterSnapshot] - :raises ~azure.core.exceptions.HttpResponseError: - """ - _headers = kwargs.pop("headers", {}) or {} - _params = kwargs.pop("params", {}) or {} - - cls: ClsType[List[_models.ManagedClusterSnapshot]] = kwargs.pop("cls", None) - - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - def prepare_request(next_link=None): - if not next_link: - - _request = build_managed_cluster_snapshots_list_by_resource_group_request( - resource_group_name=resource_group_name, - subscription_id=self._config.subscription_id, - api_version=self._config.api_version, - headers=_headers, - params=_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url( - "self._config.base_url", self._config.base_url, "str", skip_quote=True - ), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - else: - # make call to next link with the client's api-version - _parsed_next_link = urllib.parse.urlparse(next_link) - _next_request_params = case_insensitive_dict( - { - key: [urllib.parse.quote(v) for v in value] - for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items() - } - ) - _next_request_params["api-version"] = self._config.api_version - _request = HttpRequest( - "GET", - urllib.parse.urljoin(next_link, _parsed_next_link.path), - headers=_headers, - params=_next_request_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url( - "self._config.base_url", self._config.base_url, "str", skip_quote=True - ), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - return _request - - def extract_data(pipeline_response): - deserialized = pipeline_response.http_response.json() - list_of_elem = _deserialize( - List[_models.ManagedClusterSnapshot], - deserialized.get("value", []), - ) - if cls: - list_of_elem = cls(list_of_elem) # type: ignore - return deserialized.get("nextLink") or None, iter(list_of_elem) - - def get_next(next_link=None): - _request = prepare_request(next_link) - - _stream = False - pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access - _request, stream=_stream, **kwargs - ) - response = pipeline_response.http_response - - if response.status_code not in [200]: - map_error(status_code=response.status_code, response=response, error_map=error_map) - error = _failsafe_deserialize( - _models.ErrorResponse, - response, - ) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - - return pipeline_response - - return ItemPaged(get_next, extract_data) - - @distributed_trace - @api_version_validation( - method_added_on="2026-05-02-preview", - params_added_on={"2026-05-02-preview": ["api_version", "subscription_id", "accept"]}, - api_versions_list=["2026-05-02-preview"], - ) - def list(self, **kwargs: Any) -> ItemPaged["_models.ManagedClusterSnapshot"]: - """Gets a list of managed cluster snapshots in the specified subscription. + def list_by_managed_cluster( + self, resource_group_name: str, resource_name: str, **kwargs: Any + ) -> ItemPaged["_models.MaintenanceConfiguration"]: + """Gets a list of maintenance configurations in the specified managed cluster. - :return: An iterator like instance of ManagedClusterSnapshot + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param resource_name: The name of the managed cluster resource. Required. + :type resource_name: str + :return: An iterator like instance of MaintenanceConfiguration :rtype: - ~azure.core.paging.ItemPaged[~azure.mgmt.containerservice.models.ManagedClusterSnapshot] + ~azure.core.paging.ItemPaged[~azure.mgmt.containerservice.models.MaintenanceConfiguration] :raises ~azure.core.exceptions.HttpResponseError: """ _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - cls: ClsType[List[_models.ManagedClusterSnapshot]] = kwargs.pop("cls", None) + cls: ClsType[List[_models.MaintenanceConfiguration]] = kwargs.pop("cls", None) error_map: MutableMapping = { 401: ClientAuthenticationError, @@ -13472,7 +7100,9 @@ def list(self, **kwargs: Any) -> ItemPaged["_models.ManagedClusterSnapshot"]: def prepare_request(next_link=None): if not next_link: - _request = build_managed_cluster_snapshots_list_request( + _request = build_maintenance_configurations_list_by_managed_cluster_request( + resource_group_name=resource_group_name, + resource_name=resource_name, subscription_id=self._config.subscription_id, api_version=self._config.api_version, headers=_headers, @@ -13513,7 +7143,7 @@ def prepare_request(next_link=None): def extract_data(pipeline_response): deserialized = pipeline_response.http_response.json() list_of_elem = _deserialize( - List[_models.ManagedClusterSnapshot], + List[_models.MaintenanceConfiguration], deserialized.get("value", []), ) if cls: @@ -13542,14 +7172,14 @@ def get_next(next_link=None): return ItemPaged(get_next, extract_data) -class TrustedAccessRoleBindingsOperations: +class ManagedNamespacesOperations: # pylint: disable=docstring-missing-param """ .. warning:: **DO NOT** instantiate this class directly. Instead, you should access the following operations through :class:`~azure.mgmt.containerservice.ContainerServiceClient`'s - :attr:`trusted_access_role_bindings` attribute. + :attr:`managed_namespaces` attribute. """ def __init__(self, *args, **kwargs) -> None: @@ -13561,20 +7191,19 @@ def __init__(self, *args, **kwargs) -> None: @distributed_trace def get( - self, resource_group_name: str, resource_name: str, trusted_access_role_binding_name: str, **kwargs: Any - ) -> _models.TrustedAccessRoleBinding: - """Get a trusted access role binding. + self, resource_group_name: str, resource_name: str, managed_namespace_name: str, **kwargs: Any + ) -> _models.ManagedNamespace: + """Gets the specified namespace of a managed cluster. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param resource_name: The name of the managed cluster resource. Required. :type resource_name: str - :param trusted_access_role_binding_name: The name of trusted access role binding. Required. - :type trusted_access_role_binding_name: str - :return: TrustedAccessRoleBinding. The TrustedAccessRoleBinding is compatible with - MutableMapping - :rtype: ~azure.mgmt.containerservice.models.TrustedAccessRoleBinding + :param managed_namespace_name: The name of the managed namespace. Required. + :type managed_namespace_name: str + :return: ManagedNamespace. The ManagedNamespace is compatible with MutableMapping + :rtype: ~azure.mgmt.containerservice.models.ManagedNamespace :raises ~azure.core.exceptions.HttpResponseError: """ error_map: MutableMapping = { @@ -13588,12 +7217,12 @@ def get( _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - cls: ClsType[_models.TrustedAccessRoleBinding] = kwargs.pop("cls", None) + cls: ClsType[_models.ManagedNamespace] = kwargs.pop("cls", None) - _request = build_trusted_access_role_bindings_get_request( + _request = build_managed_namespaces_get_request( resource_group_name=resource_group_name, resource_name=resource_name, - trusted_access_role_binding_name=trusted_access_role_binding_name, + managed_namespace_name=managed_namespace_name, subscription_id=self._config.subscription_id, api_version=self._config.api_version, headers=_headers, @@ -13628,7 +7257,7 @@ def get( if _stream: deserialized = response.iter_bytes() if _decompress else response.iter_raw() else: - deserialized = _deserialize(_models.TrustedAccessRoleBinding, response.json()) + deserialized = _deserialize(_models.ManagedNamespace, response.json()) if cls: return cls(pipeline_response, deserialized, {}) # type: ignore @@ -13639,10 +7268,8 @@ def _create_or_update_initial( self, resource_group_name: str, resource_name: str, - trusted_access_role_binding_name: str, - trusted_access_role_binding: Union[ - _models.TrustedAccessRoleBinding, _types.TrustedAccessRoleBinding, IO[bytes] - ], + managed_namespace_name: str, + parameters: Union[_models.ManagedNamespace, _types.ManagedNamespace, IO[bytes]], **kwargs: Any ) -> Iterator[bytes]: error_map: MutableMapping = { @@ -13661,242 +7288,431 @@ def _create_or_update_initial( content_type = content_type or "application/json" _content = None - if isinstance(trusted_access_role_binding, (IOBase, bytes)): - _content = trusted_access_role_binding + if isinstance(parameters, (IOBase, bytes)): + _content = parameters else: - _content = json.dumps(trusted_access_role_binding, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + _content = json.dumps(parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + + _request = build_managed_namespaces_create_or_update_request( + resource_group_name=resource_group_name, + resource_name=resource_name, + managed_namespace_name=managed_namespace_name, + subscription_id=self._config.subscription_id, + content_type=content_type, + api_version=self._config.api_version, + content=_content, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + _decompress = kwargs.pop("decompress", True) + _stream = True + pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access + _request, stream=_stream, **kwargs + ) + + response = pipeline_response.http_response + + if response.status_code not in [200, 201]: + try: + response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + response_headers = {} + if response.status_code == 201: + response_headers["Azure-AsyncOperation"] = self._deserialize( + "str", response.headers.get("Azure-AsyncOperation") + ) + response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) + + deserialized = response.iter_bytes() if _decompress else response.iter_raw() + + if cls: + return cls(pipeline_response, deserialized, response_headers) # type: ignore + + return deserialized # type: ignore + + @overload + def begin_create_or_update( + self, + resource_group_name: str, + resource_name: str, + managed_namespace_name: str, + parameters: _models.ManagedNamespace, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> LROPoller[_models.ManagedNamespace]: + """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. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param resource_name: The name of the managed cluster resource. Required. + :type resource_name: str + :param managed_namespace_name: The name of the managed namespace. Required. + :type managed_namespace_name: str + :param parameters: The namespace to create or update. Required. + :type parameters: ~azure.mgmt.containerservice.models.ManagedNamespace + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of LROPoller that returns ManagedNamespace. The ManagedNamespace is + compatible with MutableMapping + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.containerservice.models.ManagedNamespace] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + def begin_create_or_update( + self, + resource_group_name: str, + resource_name: str, + managed_namespace_name: str, + parameters: _types.ManagedNamespace, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> LROPoller[_models.ManagedNamespace]: + """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. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param resource_name: The name of the managed cluster resource. Required. + :type resource_name: str + :param managed_namespace_name: The name of the managed namespace. Required. + :type managed_namespace_name: str + :param parameters: The namespace to create or update. Required. + :type parameters: ~azure.mgmt.containerservice.types.ManagedNamespace + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of LROPoller that returns ManagedNamespace. The ManagedNamespace is + compatible with MutableMapping + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.containerservice.models.ManagedNamespace] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + def begin_create_or_update( + self, + resource_group_name: str, + resource_name: str, + managed_namespace_name: str, + parameters: IO[bytes], + *, + content_type: str = "application/json", + **kwargs: Any + ) -> LROPoller[_models.ManagedNamespace]: + """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. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param resource_name: The name of the managed cluster resource. Required. + :type resource_name: str + :param managed_namespace_name: The name of the managed namespace. Required. + :type managed_namespace_name: str + :param parameters: The namespace to create or update. Required. + :type parameters: IO[bytes] + :keyword content_type: Body Parameter content-type. Content type parameter for binary body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of LROPoller that returns ManagedNamespace. The ManagedNamespace is + compatible with MutableMapping + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.containerservice.models.ManagedNamespace] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @distributed_trace + def begin_create_or_update( + self, + resource_group_name: str, + resource_name: str, + managed_namespace_name: str, + parameters: Union[_models.ManagedNamespace, _types.ManagedNamespace, IO[bytes]], + **kwargs: Any + ) -> LROPoller[_models.ManagedNamespace]: + """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. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param resource_name: The name of the managed cluster resource. Required. + :type resource_name: str + :param managed_namespace_name: The name of the managed namespace. Required. + :type managed_namespace_name: str + :param parameters: The namespace to create or update. Is either a ManagedNamespace type or a + IO[bytes] type. Required. + :type parameters: ~azure.mgmt.containerservice.models.ManagedNamespace or + ~azure.mgmt.containerservice.types.ManagedNamespace or IO[bytes] + :return: An instance of LROPoller that returns ManagedNamespace. The ManagedNamespace is + compatible with MutableMapping + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.containerservice.models.ManagedNamespace] + :raises ~azure.core.exceptions.HttpResponseError: + """ + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _params = kwargs.pop("params", {}) or {} + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + cls: ClsType[_models.ManagedNamespace] = kwargs.pop("cls", None) + polling: Union[bool, PollingMethod] = kwargs.pop("polling", True) + lro_delay = kwargs.pop("polling_interval", self._config.polling_interval) + cont_token: Optional[str] = kwargs.pop("continuation_token", None) + if cont_token is None: + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + resource_name=resource_name, + managed_namespace_name=managed_namespace_name, + parameters=parameters, + content_type=content_type, + cls=lambda x, y, z: x, + headers=_headers, + params=_params, + **kwargs + ) + raw_result.http_response.read() # type: ignore + kwargs.pop("error_map", None) + + def get_long_running_output(pipeline_response): + response = pipeline_response.http_response + deserialized = _deserialize(_models.ManagedNamespace, response.json()) + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + return deserialized - _request = build_trusted_access_role_bindings_create_or_update_request( - resource_group_name=resource_group_name, - resource_name=resource_name, - trusted_access_role_binding_name=trusted_access_role_binding_name, - subscription_id=self._config.subscription_id, - content_type=content_type, - api_version=self._config.api_version, - content=_content, - headers=_headers, - params=_params, - ) path_format_arguments = { "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - _decompress = kwargs.pop("decompress", True) - _stream = True - pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access - _request, stream=_stream, **kwargs - ) - - response = pipeline_response.http_response - - if response.status_code not in [200, 201]: - try: - response.read() # Load the body in memory and close the socket - except (StreamConsumedError, StreamClosedError): - pass - map_error(status_code=response.status_code, response=response, error_map=error_map) - error = _failsafe_deserialize( - _models.ErrorResponse, - response, + if polling is True: + polling_method: PollingMethod = cast( + PollingMethod, ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) ) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - - response_headers = {} - if response.status_code == 201: - response_headers["Azure-AsyncOperation"] = self._deserialize( - "str", response.headers.get("Azure-AsyncOperation") + elif polling is False: + polling_method = cast(PollingMethod, NoPolling()) + else: + polling_method = polling + if cont_token: + return LROPoller[_models.ManagedNamespace].from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output, ) - response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) - - deserialized = response.iter_bytes() if _decompress else response.iter_raw() - - if cls: - return cls(pipeline_response, deserialized, response_headers) # type: ignore - - return deserialized # type: ignore + return LROPoller[_models.ManagedNamespace]( + self._client, raw_result, get_long_running_output, polling_method # type: ignore + ) @overload - def begin_create_or_update( + def update( self, resource_group_name: str, resource_name: str, - trusted_access_role_binding_name: str, - trusted_access_role_binding: _models.TrustedAccessRoleBinding, + managed_namespace_name: str, + parameters: _models.TagsObject, *, content_type: str = "application/json", **kwargs: Any - ) -> LROPoller[_models.TrustedAccessRoleBinding]: - """Create or update a trusted access role binding. + ) -> _models.ManagedNamespace: + """Updates tags on a managed namespace. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param resource_name: The name of the managed cluster resource. Required. :type resource_name: str - :param trusted_access_role_binding_name: The name of trusted access role binding. Required. - :type trusted_access_role_binding_name: str - :param trusted_access_role_binding: A trusted access role binding. Required. - :type trusted_access_role_binding: ~azure.mgmt.containerservice.models.TrustedAccessRoleBinding + :param managed_namespace_name: The name of the managed namespace. Required. + :type managed_namespace_name: str + :param parameters: Parameters supplied to the patch namespace operation, we only support patch + tags for now. Required. + :type parameters: ~azure.mgmt.containerservice.models.TagsObject :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str - :return: An instance of LROPoller that returns TrustedAccessRoleBinding. The - TrustedAccessRoleBinding is compatible with MutableMapping - :rtype: - ~azure.core.polling.LROPoller[~azure.mgmt.containerservice.models.TrustedAccessRoleBinding] + :return: ManagedNamespace. The ManagedNamespace is compatible with MutableMapping + :rtype: ~azure.mgmt.containerservice.models.ManagedNamespace :raises ~azure.core.exceptions.HttpResponseError: """ @overload - def begin_create_or_update( + def update( self, resource_group_name: str, resource_name: str, - trusted_access_role_binding_name: str, - trusted_access_role_binding: _types.TrustedAccessRoleBinding, + managed_namespace_name: str, + parameters: _types.TagsObject, *, content_type: str = "application/json", **kwargs: Any - ) -> LROPoller[_models.TrustedAccessRoleBinding]: - """Create or update a trusted access role binding. + ) -> _models.ManagedNamespace: + """Updates tags on a managed namespace. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param resource_name: The name of the managed cluster resource. Required. :type resource_name: str - :param trusted_access_role_binding_name: The name of trusted access role binding. Required. - :type trusted_access_role_binding_name: str - :param trusted_access_role_binding: A trusted access role binding. Required. - :type trusted_access_role_binding: ~azure.mgmt.containerservice.types.TrustedAccessRoleBinding + :param managed_namespace_name: The name of the managed namespace. Required. + :type managed_namespace_name: str + :param parameters: Parameters supplied to the patch namespace operation, we only support patch + tags for now. Required. + :type parameters: ~azure.mgmt.containerservice.types.TagsObject :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str - :return: An instance of LROPoller that returns TrustedAccessRoleBinding. The - TrustedAccessRoleBinding is compatible with MutableMapping - :rtype: - ~azure.core.polling.LROPoller[~azure.mgmt.containerservice.models.TrustedAccessRoleBinding] + :return: ManagedNamespace. The ManagedNamespace is compatible with MutableMapping + :rtype: ~azure.mgmt.containerservice.models.ManagedNamespace :raises ~azure.core.exceptions.HttpResponseError: """ @overload - def begin_create_or_update( + def update( self, resource_group_name: str, resource_name: str, - trusted_access_role_binding_name: str, - trusted_access_role_binding: IO[bytes], + managed_namespace_name: str, + parameters: IO[bytes], *, content_type: str = "application/json", **kwargs: Any - ) -> LROPoller[_models.TrustedAccessRoleBinding]: - """Create or update a trusted access role binding. + ) -> _models.ManagedNamespace: + """Updates tags on a managed namespace. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param resource_name: The name of the managed cluster resource. Required. :type resource_name: str - :param trusted_access_role_binding_name: The name of trusted access role binding. Required. - :type trusted_access_role_binding_name: str - :param trusted_access_role_binding: A trusted access role binding. Required. - :type trusted_access_role_binding: IO[bytes] + :param managed_namespace_name: The name of the managed namespace. Required. + :type managed_namespace_name: str + :param parameters: Parameters supplied to the patch namespace operation, we only support patch + tags for now. Required. + :type parameters: IO[bytes] :keyword content_type: Body Parameter content-type. Content type parameter for binary body. Default value is "application/json". :paramtype content_type: str - :return: An instance of LROPoller that returns TrustedAccessRoleBinding. The - TrustedAccessRoleBinding is compatible with MutableMapping - :rtype: - ~azure.core.polling.LROPoller[~azure.mgmt.containerservice.models.TrustedAccessRoleBinding] + :return: ManagedNamespace. The ManagedNamespace is compatible with MutableMapping + :rtype: ~azure.mgmt.containerservice.models.ManagedNamespace :raises ~azure.core.exceptions.HttpResponseError: """ @distributed_trace - def begin_create_or_update( + def update( self, resource_group_name: str, resource_name: str, - trusted_access_role_binding_name: str, - trusted_access_role_binding: Union[ - _models.TrustedAccessRoleBinding, _types.TrustedAccessRoleBinding, IO[bytes] - ], + managed_namespace_name: str, + parameters: Union[_models.TagsObject, _types.TagsObject, IO[bytes]], **kwargs: Any - ) -> LROPoller[_models.TrustedAccessRoleBinding]: - """Create or update a trusted access role binding. + ) -> _models.ManagedNamespace: + """Updates tags on a managed namespace. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param resource_name: The name of the managed cluster resource. Required. :type resource_name: str - :param trusted_access_role_binding_name: The name of trusted access role binding. Required. - :type trusted_access_role_binding_name: str - :param trusted_access_role_binding: A trusted access role binding. Is either a - TrustedAccessRoleBinding type or a IO[bytes] type. Required. - :type trusted_access_role_binding: ~azure.mgmt.containerservice.models.TrustedAccessRoleBinding - or ~azure.mgmt.containerservice.types.TrustedAccessRoleBinding or IO[bytes] - :return: An instance of LROPoller that returns TrustedAccessRoleBinding. The - TrustedAccessRoleBinding is compatible with MutableMapping - :rtype: - ~azure.core.polling.LROPoller[~azure.mgmt.containerservice.models.TrustedAccessRoleBinding] + :param managed_namespace_name: The name of the managed namespace. Required. + :type managed_namespace_name: str + :param parameters: Parameters supplied to the patch namespace operation, we only support patch + tags for now. Is either a TagsObject type or a IO[bytes] type. Required. + :type parameters: ~azure.mgmt.containerservice.models.TagsObject or + ~azure.mgmt.containerservice.types.TagsObject or IO[bytes] + :return: ManagedNamespace. The ManagedNamespace is compatible with MutableMapping + :rtype: ~azure.mgmt.containerservice.models.ManagedNamespace :raises ~azure.core.exceptions.HttpResponseError: """ + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = kwargs.pop("params", {}) or {} content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - cls: ClsType[_models.TrustedAccessRoleBinding] = kwargs.pop("cls", None) - polling: Union[bool, PollingMethod] = kwargs.pop("polling", True) - lro_delay = kwargs.pop("polling_interval", self._config.polling_interval) - cont_token: Optional[str] = kwargs.pop("continuation_token", None) - if cont_token is None: - raw_result = self._create_or_update_initial( - resource_group_name=resource_group_name, - resource_name=resource_name, - trusted_access_role_binding_name=trusted_access_role_binding_name, - trusted_access_role_binding=trusted_access_role_binding, - content_type=content_type, - cls=lambda x, y, z: x, - headers=_headers, - params=_params, - **kwargs - ) - raw_result.http_response.read() # type: ignore - kwargs.pop("error_map", None) + cls: ClsType[_models.ManagedNamespace] = kwargs.pop("cls", None) - def get_long_running_output(pipeline_response): - response = pipeline_response.http_response - deserialized = _deserialize(_models.TrustedAccessRoleBinding, response.json()) - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - return deserialized + content_type = content_type or "application/json" + _content = None + if isinstance(parameters, (IOBase, bytes)): + _content = parameters + else: + _content = json.dumps(parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + _request = build_managed_namespaces_update_request( + resource_group_name=resource_group_name, + resource_name=resource_name, + managed_namespace_name=managed_namespace_name, + subscription_id=self._config.subscription_id, + content_type=content_type, + api_version=self._config.api_version, + content=_content, + headers=_headers, + params=_params, + ) path_format_arguments = { "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), } + _request.url = self._client.format_url(_request.url, **path_format_arguments) - if polling is True: - polling_method: PollingMethod = cast( - PollingMethod, ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) - ) - elif polling is False: - polling_method = cast(PollingMethod, NoPolling()) - else: - polling_method = polling - if cont_token: - return LROPoller[_models.TrustedAccessRoleBinding].from_continuation_token( - polling_method=polling_method, - continuation_token=cont_token, - client=self._client, - deserialization_callback=get_long_running_output, - ) - return LROPoller[_models.TrustedAccessRoleBinding]( - self._client, raw_result, get_long_running_output, polling_method # type: ignore + _decompress = kwargs.pop("decompress", True) + _stream = kwargs.pop("stream", False) + pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access + _request, stream=_stream, **kwargs ) + response = pipeline_response.http_response + + if response.status_code not in [200]: + if _stream: + try: + response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if _stream: + deserialized = response.iter_bytes() if _decompress else response.iter_raw() + else: + deserialized = _deserialize(_models.ManagedNamespace, response.json()) + + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + + return deserialized # type: ignore + def _delete_initial( - self, resource_group_name: str, resource_name: str, trusted_access_role_binding_name: str, **kwargs: Any + self, resource_group_name: str, resource_name: str, managed_namespace_name: str, **kwargs: Any ) -> Iterator[bytes]: error_map: MutableMapping = { 401: ClientAuthenticationError, @@ -13911,10 +7727,10 @@ def _delete_initial( cls: ClsType[Iterator[bytes]] = kwargs.pop("cls", None) - _request = build_trusted_access_role_bindings_delete_request( + _request = build_managed_namespaces_delete_request( resource_group_name=resource_group_name, resource_name=resource_name, - trusted_access_role_binding_name=trusted_access_role_binding_name, + managed_namespace_name=managed_namespace_name, subscription_id=self._config.subscription_id, api_version=self._config.api_version, headers=_headers, @@ -13962,17 +7778,17 @@ def _delete_initial( @distributed_trace def begin_delete( - self, resource_group_name: str, resource_name: str, trusted_access_role_binding_name: str, **kwargs: Any + self, resource_group_name: str, resource_name: str, managed_namespace_name: str, **kwargs: Any ) -> LROPoller[None]: - """Delete a trusted access role binding. + """Deletes a namespace. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param resource_name: The name of the managed cluster resource. Required. :type resource_name: str - :param trusted_access_role_binding_name: The name of trusted access role binding. Required. - :type trusted_access_role_binding_name: str + :param managed_namespace_name: The name of the managed namespace. Required. + :type managed_namespace_name: str :return: An instance of LROPoller that returns None :rtype: ~azure.core.polling.LROPoller[None] :raises ~azure.core.exceptions.HttpResponseError: @@ -13988,7 +7804,7 @@ def begin_delete( raw_result = self._delete_initial( resource_group_name=resource_group_name, resource_name=resource_name, - trusted_access_role_binding_name=trusted_access_role_binding_name, + managed_namespace_name=managed_namespace_name, cls=lambda x, y, z: x, headers=_headers, params=_params, @@ -14023,25 +7839,24 @@ def get_long_running_output(pipeline_response): # pylint: disable=inconsistent- return LROPoller[None](self._client, raw_result, get_long_running_output, polling_method) # type: ignore @distributed_trace - def list( + def list_by_managed_cluster( self, resource_group_name: str, resource_name: str, **kwargs: Any - ) -> ItemPaged["_models.TrustedAccessRoleBinding"]: - """List trusted access role bindings. + ) -> ItemPaged["_models.ManagedNamespace"]: + """Gets a list of managed namespaces in the specified managed cluster. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param resource_name: The name of the managed cluster resource. Required. :type resource_name: str - :return: An iterator like instance of TrustedAccessRoleBinding - :rtype: - ~azure.core.paging.ItemPaged[~azure.mgmt.containerservice.models.TrustedAccessRoleBinding] + :return: An iterator like instance of ManagedNamespace + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.containerservice.models.ManagedNamespace] :raises ~azure.core.exceptions.HttpResponseError: """ _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - cls: ClsType[List[_models.TrustedAccessRoleBinding]] = kwargs.pop("cls", None) + cls: ClsType[List[_models.ManagedNamespace]] = kwargs.pop("cls", None) error_map: MutableMapping = { 401: ClientAuthenticationError, @@ -14054,7 +7869,7 @@ def list( def prepare_request(next_link=None): if not next_link: - _request = build_trusted_access_role_bindings_list_request( + _request = build_managed_namespaces_list_by_managed_cluster_request( resource_group_name=resource_group_name, resource_name=resource_name, subscription_id=self._config.subscription_id, @@ -14097,7 +7912,7 @@ def prepare_request(next_link=None): def extract_data(pipeline_response): deserialized = pipeline_response.http_response.json() list_of_elem = _deserialize( - List[_models.TrustedAccessRoleBinding], + List[_models.ManagedNamespace], deserialized.get("value", []), ) if cls: @@ -14125,53 +7940,21 @@ def get_next(next_link=None): return ItemPaged(get_next, extract_data) - -class LoadBalancersOperations: - """ - .. warning:: - **DO NOT** instantiate this class directly. - - Instead, you should access the following operations through - :class:`~azure.mgmt.containerservice.ContainerServiceClient`'s - :attr:`load_balancers` attribute. - """ - - def __init__(self, *args, **kwargs) -> None: - input_args = list(args) - self._client: PipelineClient = input_args.pop(0) if input_args else kwargs.pop("client") - self._config: ContainerServiceClientConfiguration = input_args.pop(0) if input_args else kwargs.pop("config") - self._serialize: Serializer = input_args.pop(0) if input_args else kwargs.pop("serializer") - self._deserialize: Deserializer = input_args.pop(0) if input_args else kwargs.pop("deserializer") - @distributed_trace - @api_version_validation( - method_added_on="2026-05-02-preview", - params_added_on={ - "2026-05-02-preview": [ - "api_version", - "subscription_id", - "resource_group_name", - "resource_name", - "load_balancer_name", - "accept", - ] - }, - api_versions_list=["2026-05-02-preview"], - ) - def get( - self, resource_group_name: str, resource_name: str, load_balancer_name: str, **kwargs: Any - ) -> _models.LoadBalancer: - """Gets the specified load balancer. + def list_credential( + self, resource_group_name: str, resource_name: str, managed_namespace_name: str, **kwargs: Any + ) -> _models.CredentialResults: + """Lists the credentials of a namespace. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param resource_name: The name of the managed cluster resource. Required. :type resource_name: str - :param load_balancer_name: The name of the load balancer. Required. - :type load_balancer_name: str - :return: LoadBalancer. The LoadBalancer is compatible with MutableMapping - :rtype: ~azure.mgmt.containerservice.models.LoadBalancer + :param managed_namespace_name: The name of the managed namespace. Required. + :type managed_namespace_name: str + :return: CredentialResults. The CredentialResults is compatible with MutableMapping + :rtype: ~azure.mgmt.containerservice.models.CredentialResults :raises ~azure.core.exceptions.HttpResponseError: """ error_map: MutableMapping = { @@ -14185,12 +7968,12 @@ def get( _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - cls: ClsType[_models.LoadBalancer] = kwargs.pop("cls", None) + cls: ClsType[_models.CredentialResults] = kwargs.pop("cls", None) - _request = build_load_balancers_get_request( + _request = build_managed_namespaces_list_credential_request( resource_group_name=resource_group_name, resource_name=resource_name, - load_balancer_name=load_balancer_name, + managed_namespace_name=managed_namespace_name, subscription_id=self._config.subscription_id, api_version=self._config.api_version, headers=_headers, @@ -14225,228 +8008,50 @@ def get( if _stream: deserialized = response.iter_bytes() if _decompress else response.iter_raw() else: - deserialized = _deserialize(_models.LoadBalancer, response.json()) + deserialized = _deserialize(_models.CredentialResults, response.json()) if cls: return cls(pipeline_response, deserialized, {}) # type: ignore return deserialized # type: ignore - @overload - def create_or_update( - self, - resource_group_name: str, - resource_name: str, - load_balancer_name: str, - parameters: _models.LoadBalancer, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> _models.LoadBalancer: - """Creates or updates a load balancer in the specified managed cluster. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param resource_name: The name of the managed cluster resource. Required. - :type resource_name: str - :param load_balancer_name: The name of the load balancer. Required. - :type load_balancer_name: str - :param parameters: The load balancer to create or update. Required. - :type parameters: ~azure.mgmt.containerservice.models.LoadBalancer - :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. - Default value is "application/json". - :paramtype content_type: str - :return: LoadBalancer. The LoadBalancer is compatible with MutableMapping - :rtype: ~azure.mgmt.containerservice.models.LoadBalancer - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @overload - def create_or_update( - self, - resource_group_name: str, - resource_name: str, - load_balancer_name: str, - parameters: _types.LoadBalancer, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> _models.LoadBalancer: - """Creates or updates a load balancer in the specified managed cluster. - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param resource_name: The name of the managed cluster resource. Required. - :type resource_name: str - :param load_balancer_name: The name of the load balancer. Required. - :type load_balancer_name: str - :param parameters: The load balancer to create or update. Required. - :type parameters: ~azure.mgmt.containerservice.types.LoadBalancer - :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. - Default value is "application/json". - :paramtype content_type: str - :return: LoadBalancer. The LoadBalancer is compatible with MutableMapping - :rtype: ~azure.mgmt.containerservice.models.LoadBalancer - :raises ~azure.core.exceptions.HttpResponseError: - """ +class MachinesOperations: # pylint: disable=docstring-missing-param + """ + .. warning:: + **DO NOT** instantiate this class directly. - @overload - def create_or_update( - self, - resource_group_name: str, - resource_name: str, - load_balancer_name: str, - parameters: IO[bytes], - *, - content_type: str = "application/json", - **kwargs: Any - ) -> _models.LoadBalancer: - """Creates or updates a load balancer in the specified managed cluster. + Instead, you should access the following operations through + :class:`~azure.mgmt.containerservice.ContainerServiceClient`'s + :attr:`machines` attribute. + """ - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param resource_name: The name of the managed cluster resource. Required. - :type resource_name: str - :param load_balancer_name: The name of the load balancer. Required. - :type load_balancer_name: str - :param parameters: The load balancer to create or update. Required. - :type parameters: IO[bytes] - :keyword content_type: Body Parameter content-type. Content type parameter for binary body. - Default value is "application/json". - :paramtype content_type: str - :return: LoadBalancer. The LoadBalancer is compatible with MutableMapping - :rtype: ~azure.mgmt.containerservice.models.LoadBalancer - :raises ~azure.core.exceptions.HttpResponseError: - """ + def __init__(self, *args, **kwargs) -> None: + input_args = list(args) + self._client: PipelineClient = input_args.pop(0) if input_args else kwargs.pop("client") + self._config: ContainerServiceClientConfiguration = input_args.pop(0) if input_args else kwargs.pop("config") + self._serialize: Serializer = input_args.pop(0) if input_args else kwargs.pop("serializer") + self._deserialize: Deserializer = input_args.pop(0) if input_args else kwargs.pop("deserializer") @distributed_trace - @api_version_validation( - method_added_on="2026-05-02-preview", - params_added_on={ - "2026-05-02-preview": [ - "api_version", - "subscription_id", - "resource_group_name", - "resource_name", - "load_balancer_name", - "content_type", - "accept", - ] - }, - api_versions_list=["2026-05-02-preview"], - ) - def create_or_update( - self, - resource_group_name: str, - resource_name: str, - load_balancer_name: str, - parameters: Union[_models.LoadBalancer, _types.LoadBalancer, IO[bytes]], - **kwargs: Any - ) -> _models.LoadBalancer: - """Creates or updates a load balancer in the specified managed cluster. + def get( + self, resource_group_name: str, resource_name: str, agent_pool_name: str, machine_name: str, **kwargs: Any + ) -> _models.Machine: + """Get a specific machine in the specified agent pool. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param resource_name: The name of the managed cluster resource. Required. :type resource_name: str - :param load_balancer_name: The name of the load balancer. Required. - :type load_balancer_name: str - :param parameters: The load balancer to create or update. Is either a LoadBalancer type or a - IO[bytes] type. Required. - :type parameters: ~azure.mgmt.containerservice.models.LoadBalancer or - ~azure.mgmt.containerservice.types.LoadBalancer or IO[bytes] - :return: LoadBalancer. The LoadBalancer is compatible with MutableMapping - :rtype: ~azure.mgmt.containerservice.models.LoadBalancer - :raises ~azure.core.exceptions.HttpResponseError: - """ - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - _params = kwargs.pop("params", {}) or {} - - content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - cls: ClsType[_models.LoadBalancer] = kwargs.pop("cls", None) - - content_type = content_type or "application/json" - _content = None - if isinstance(parameters, (IOBase, bytes)): - _content = parameters - else: - _content = json.dumps(parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore - - _request = build_load_balancers_create_or_update_request( - resource_group_name=resource_group_name, - resource_name=resource_name, - load_balancer_name=load_balancer_name, - subscription_id=self._config.subscription_id, - content_type=content_type, - api_version=self._config.api_version, - content=_content, - headers=_headers, - params=_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - _decompress = kwargs.pop("decompress", True) - _stream = kwargs.pop("stream", False) - pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access - _request, stream=_stream, **kwargs - ) - - response = pipeline_response.http_response - - if response.status_code not in [200, 201]: - if _stream: - try: - response.read() # Load the body in memory and close the socket - except (StreamConsumedError, StreamClosedError): - pass - map_error(status_code=response.status_code, response=response, error_map=error_map) - error = _failsafe_deserialize( - _models.ErrorResponse, - response, - ) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - - if _stream: - deserialized = response.iter_bytes() if _decompress else response.iter_raw() - else: - deserialized = _deserialize(_models.LoadBalancer, response.json()) - - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - - return deserialized # type: ignore - - @api_version_validation( - method_added_on="2026-05-02-preview", - params_added_on={ - "2026-05-02-preview": [ - "api_version", - "subscription_id", - "resource_group_name", - "resource_name", - "load_balancer_name", - ] - }, - api_versions_list=["2026-05-02-preview"], - ) - def _delete_initial( - self, resource_group_name: str, resource_name: str, load_balancer_name: str, **kwargs: Any - ) -> Iterator[bytes]: + :param agent_pool_name: The name of the agent pool. Required. + :type agent_pool_name: str + :param machine_name: Host name of the machine. Required. + :type machine_name: str + :return: Machine. The Machine is compatible with MutableMapping + :rtype: ~azure.mgmt.containerservice.models.Machine + :raises ~azure.core.exceptions.HttpResponseError: + """ error_map: MutableMapping = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, @@ -14458,12 +8063,13 @@ def _delete_initial( _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - cls: ClsType[Iterator[bytes]] = kwargs.pop("cls", None) + cls: ClsType[_models.Machine] = kwargs.pop("cls", None) - _request = build_load_balancers_delete_request( + _request = build_machines_get_request( resource_group_name=resource_group_name, resource_name=resource_name, - load_balancer_name=load_balancer_name, + agent_pool_name=agent_pool_name, + machine_name=machine_name, subscription_id=self._config.subscription_id, api_version=self._config.api_version, headers=_headers, @@ -14475,18 +8081,19 @@ def _delete_initial( _request.url = self._client.format_url(_request.url, **path_format_arguments) _decompress = kwargs.pop("decompress", True) - _stream = True + _stream = kwargs.pop("stream", False) pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access _request, stream=_stream, **kwargs ) response = pipeline_response.http_response - if response.status_code not in [202, 204]: - try: - response.read() # Load the body in memory and close the socket - except (StreamConsumedError, StreamClosedError): - pass + if response.status_code not in [200]: + if _stream: + try: + response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass map_error(status_code=response.status_code, response=response, error_map=error_map) error = _failsafe_deserialize( _models.ErrorResponse, @@ -14494,122 +8101,37 @@ def _delete_initial( ) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - response_headers = {} - if response.status_code == 202: - response_headers["Azure-AsyncOperation"] = self._deserialize( - "str", response.headers.get("Azure-AsyncOperation") - ) - response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) - response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) - - deserialized = response.iter_bytes() if _decompress else response.iter_raw() + if _stream: + deserialized = response.iter_bytes() if _decompress else response.iter_raw() + else: + deserialized = _deserialize(_models.Machine, response.json()) if cls: - return cls(pipeline_response, deserialized, response_headers) # type: ignore + return cls(pipeline_response, deserialized, {}) # type: ignore return deserialized # type: ignore @distributed_trace - @api_version_validation( - method_added_on="2026-05-02-preview", - params_added_on={ - "2026-05-02-preview": [ - "api_version", - "subscription_id", - "resource_group_name", - "resource_name", - "load_balancer_name", - ] - }, - api_versions_list=["2026-05-02-preview"], - ) - def begin_delete( - self, resource_group_name: str, resource_name: str, load_balancer_name: str, **kwargs: Any - ) -> LROPoller[None]: - """Deletes a load balancer in the specified managed cluster. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param resource_name: The name of the managed cluster resource. Required. - :type resource_name: str - :param load_balancer_name: The name of the load balancer. Required. - :type load_balancer_name: str - :return: An instance of LROPoller that returns None - :rtype: ~azure.core.polling.LROPoller[None] - :raises ~azure.core.exceptions.HttpResponseError: - """ - _headers = kwargs.pop("headers", {}) or {} - _params = kwargs.pop("params", {}) or {} - - cls: ClsType[None] = kwargs.pop("cls", None) - polling: Union[bool, PollingMethod] = kwargs.pop("polling", True) - lro_delay = kwargs.pop("polling_interval", self._config.polling_interval) - cont_token: Optional[str] = kwargs.pop("continuation_token", None) - if cont_token is None: - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - resource_name=resource_name, - load_balancer_name=load_balancer_name, - cls=lambda x, y, z: x, - headers=_headers, - params=_params, - **kwargs - ) - raw_result.http_response.read() # type: ignore - kwargs.pop("error_map", None) - - def get_long_running_output(pipeline_response): # pylint: disable=inconsistent-return-statements - if cls: - return cls(pipeline_response, None, {}) # type: ignore - - path_format_arguments = { - "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), - } - - if polling is True: - polling_method: PollingMethod = cast( - PollingMethod, ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) - ) - elif polling is False: - polling_method = cast(PollingMethod, NoPolling()) - else: - polling_method = polling - if cont_token: - return LROPoller[None].from_continuation_token( - polling_method=polling_method, - continuation_token=cont_token, - client=self._client, - deserialization_callback=get_long_running_output, - ) - return LROPoller[None](self._client, raw_result, get_long_running_output, polling_method) # type: ignore - - @distributed_trace - @api_version_validation( - method_added_on="2026-05-02-preview", - params_added_on={ - "2026-05-02-preview": ["api_version", "subscription_id", "resource_group_name", "resource_name", "accept"] - }, - api_versions_list=["2026-05-02-preview"], - ) - def list_by_managed_cluster( - self, resource_group_name: str, resource_name: str, **kwargs: Any - ) -> ItemPaged["_models.LoadBalancer"]: - """Gets a list of load balancers in the specified managed cluster. + def list( + self, resource_group_name: str, resource_name: str, agent_pool_name: str, **kwargs: Any + ) -> ItemPaged["_models.Machine"]: + """Gets a list of machines in the specified agent pool. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param resource_name: The name of the managed cluster resource. Required. :type resource_name: str - :return: An iterator like instance of LoadBalancer - :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.containerservice.models.LoadBalancer] + :param agent_pool_name: The name of the agent pool. Required. + :type agent_pool_name: str + :return: An iterator like instance of Machine + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.containerservice.models.Machine] :raises ~azure.core.exceptions.HttpResponseError: """ _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - cls: ClsType[List[_models.LoadBalancer]] = kwargs.pop("cls", None) + cls: ClsType[List[_models.Machine]] = kwargs.pop("cls", None) error_map: MutableMapping = { 401: ClientAuthenticationError, @@ -14622,9 +8144,10 @@ def list_by_managed_cluster( def prepare_request(next_link=None): if not next_link: - _request = build_load_balancers_list_by_managed_cluster_request( + _request = build_machines_list_request( resource_group_name=resource_group_name, resource_name=resource_name, + agent_pool_name=agent_pool_name, subscription_id=self._config.subscription_id, api_version=self._config.api_version, headers=_headers, @@ -14665,7 +8188,7 @@ def prepare_request(next_link=None): def extract_data(pipeline_response): deserialized = pipeline_response.http_response.json() list_of_elem = _deserialize( - List[_models.LoadBalancer], + List[_models.Machine], deserialized.get("value", []), ) if cls: @@ -14694,14 +8217,14 @@ def get_next(next_link=None): return ItemPaged(get_next, extract_data) -class IdentityBindingsOperations: +class PrivateEndpointConnectionsOperations: # pylint: disable=docstring-missing-param """ .. warning:: **DO NOT** instantiate this class directly. Instead, you should access the following operations through :class:`~azure.mgmt.containerservice.ContainerServiceClient`'s - :attr:`identity_bindings` attribute. + :attr:`private_endpoint_connections` attribute. """ def __init__(self, *args, **kwargs) -> None: @@ -14712,34 +8235,25 @@ def __init__(self, *args, **kwargs) -> None: self._deserialize: Deserializer = input_args.pop(0) if input_args else kwargs.pop("deserializer") @distributed_trace - @api_version_validation( - method_added_on="2026-04-01", - params_added_on={ - "2026-04-01": [ - "api_version", - "subscription_id", - "resource_group_name", - "resource_name", - "identity_binding_name", - "accept", - ] - }, - api_versions_list=["2026-04-01", "2026-05-01", "2026-05-02-preview"], - ) def get( - self, resource_group_name: str, resource_name: str, identity_binding_name: str, **kwargs: Any - ) -> _models.IdentityBinding: - """Gets the specified Identity Binding. + self, resource_group_name: str, resource_name: str, private_endpoint_connection_name: str, **kwargs: Any + ) -> _models.PrivateEndpointConnection: + """Gets the specified private endpoint connection. + + To learn more about private clusters, see: + `https://docs.microsoft.com/azure/aks/private-clusters + `_. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param resource_name: The name of the managed cluster resource. Required. :type resource_name: str - :param identity_binding_name: The name of the identity binding. Required. - :type identity_binding_name: str - :return: IdentityBinding. The IdentityBinding is compatible with MutableMapping - :rtype: ~azure.mgmt.containerservice.models.IdentityBinding + :param private_endpoint_connection_name: The name of the private endpoint connection. Required. + :type private_endpoint_connection_name: str + :return: PrivateEndpointConnection. The PrivateEndpointConnection is compatible with + MutableMapping + :rtype: ~azure.mgmt.containerservice.models.PrivateEndpointConnection :raises ~azure.core.exceptions.HttpResponseError: """ error_map: MutableMapping = { @@ -14753,12 +8267,12 @@ def get( _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - cls: ClsType[_models.IdentityBinding] = kwargs.pop("cls", None) + cls: ClsType[_models.PrivateEndpointConnection] = kwargs.pop("cls", None) - _request = build_identity_bindings_get_request( + _request = build_private_endpoint_connections_get_request( resource_group_name=resource_group_name, resource_name=resource_name, - identity_binding_name=identity_binding_name, + private_endpoint_connection_name=private_endpoint_connection_name, subscription_id=self._config.subscription_id, api_version=self._config.api_version, headers=_headers, @@ -14793,311 +8307,203 @@ def get( if _stream: deserialized = response.iter_bytes() if _decompress else response.iter_raw() else: - deserialized = _deserialize(_models.IdentityBinding, response.json()) + deserialized = _deserialize(_models.PrivateEndpointConnection, response.json()) if cls: return cls(pipeline_response, deserialized, {}) # type: ignore return deserialized # type: ignore - @api_version_validation( - method_added_on="2026-04-01", - params_added_on={ - "2026-04-01": [ - "api_version", - "subscription_id", - "resource_group_name", - "resource_name", - "identity_binding_name", - "content_type", - "accept", - ] - }, - api_versions_list=["2026-04-01", "2026-05-01", "2026-05-02-preview"], - ) - def _create_or_update_initial( - self, - resource_group_name: str, - resource_name: str, - identity_binding_name: str, - parameters: Union[_models.IdentityBinding, _types.IdentityBinding, IO[bytes]], - **kwargs: Any - ) -> Iterator[bytes]: - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - _params = kwargs.pop("params", {}) or {} - - content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - cls: ClsType[Iterator[bytes]] = kwargs.pop("cls", None) - - content_type = content_type or "application/json" - _content = None - if isinstance(parameters, (IOBase, bytes)): - _content = parameters - else: - _content = json.dumps(parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore - - _request = build_identity_bindings_create_or_update_request( - resource_group_name=resource_group_name, - resource_name=resource_name, - identity_binding_name=identity_binding_name, - subscription_id=self._config.subscription_id, - content_type=content_type, - api_version=self._config.api_version, - content=_content, - headers=_headers, - params=_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - _decompress = kwargs.pop("decompress", True) - _stream = True - pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access - _request, stream=_stream, **kwargs - ) - - response = pipeline_response.http_response - - if response.status_code not in [200, 201]: - try: - response.read() # Load the body in memory and close the socket - except (StreamConsumedError, StreamClosedError): - pass - map_error(status_code=response.status_code, response=response, error_map=error_map) - error = _failsafe_deserialize( - _models.ErrorResponse, - response, - ) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - - response_headers = {} - if response.status_code == 201: - response_headers["Azure-AsyncOperation"] = self._deserialize( - "str", response.headers.get("Azure-AsyncOperation") - ) - response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) - response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) - - deserialized = response.iter_bytes() if _decompress else response.iter_raw() - - if cls: - return cls(pipeline_response, deserialized, response_headers) # type: ignore - - return deserialized # type: ignore - @overload - def begin_create_or_update( + def update( self, resource_group_name: str, resource_name: str, - identity_binding_name: str, - parameters: _models.IdentityBinding, + private_endpoint_connection_name: str, + parameters: _models.PrivateEndpointConnection, *, content_type: str = "application/json", **kwargs: Any - ) -> LROPoller[_models.IdentityBinding]: - """Creates or updates an identity binding in the specified managed cluster. + ) -> _models.PrivateEndpointConnection: + """Updates a private endpoint connection. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param resource_name: The name of the managed cluster resource. Required. :type resource_name: str - :param identity_binding_name: The name of the identity binding. Required. - :type identity_binding_name: str - :param parameters: The identity binding to create or update. Required. - :type parameters: ~azure.mgmt.containerservice.models.IdentityBinding + :param private_endpoint_connection_name: The name of the private endpoint connection. Required. + :type private_endpoint_connection_name: str + :param parameters: The updated private endpoint connection. Required. + :type parameters: ~azure.mgmt.containerservice.models.PrivateEndpointConnection :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str - :return: An instance of LROPoller that returns IdentityBinding. The IdentityBinding is - compatible with MutableMapping - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.containerservice.models.IdentityBinding] + :return: PrivateEndpointConnection. The PrivateEndpointConnection is compatible with + MutableMapping + :rtype: ~azure.mgmt.containerservice.models.PrivateEndpointConnection :raises ~azure.core.exceptions.HttpResponseError: """ @overload - def begin_create_or_update( + def update( self, resource_group_name: str, resource_name: str, - identity_binding_name: str, - parameters: _types.IdentityBinding, + private_endpoint_connection_name: str, + parameters: _types.PrivateEndpointConnection, *, content_type: str = "application/json", **kwargs: Any - ) -> LROPoller[_models.IdentityBinding]: - """Creates or updates an identity binding in the specified managed cluster. + ) -> _models.PrivateEndpointConnection: + """Updates a private endpoint connection. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param resource_name: The name of the managed cluster resource. Required. :type resource_name: str - :param identity_binding_name: The name of the identity binding. Required. - :type identity_binding_name: str - :param parameters: The identity binding to create or update. Required. - :type parameters: ~azure.mgmt.containerservice.types.IdentityBinding + :param private_endpoint_connection_name: The name of the private endpoint connection. Required. + :type private_endpoint_connection_name: str + :param parameters: The updated private endpoint connection. Required. + :type parameters: ~azure.mgmt.containerservice.types.PrivateEndpointConnection :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str - :return: An instance of LROPoller that returns IdentityBinding. The IdentityBinding is - compatible with MutableMapping - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.containerservice.models.IdentityBinding] + :return: PrivateEndpointConnection. The PrivateEndpointConnection is compatible with + MutableMapping + :rtype: ~azure.mgmt.containerservice.models.PrivateEndpointConnection :raises ~azure.core.exceptions.HttpResponseError: """ @overload - def begin_create_or_update( + def update( self, resource_group_name: str, resource_name: str, - identity_binding_name: str, + private_endpoint_connection_name: str, parameters: IO[bytes], *, content_type: str = "application/json", **kwargs: Any - ) -> LROPoller[_models.IdentityBinding]: - """Creates or updates an identity binding in the specified managed cluster. + ) -> _models.PrivateEndpointConnection: + """Updates a private endpoint connection. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param resource_name: The name of the managed cluster resource. Required. :type resource_name: str - :param identity_binding_name: The name of the identity binding. Required. - :type identity_binding_name: str - :param parameters: The identity binding to create or update. Required. + :param private_endpoint_connection_name: The name of the private endpoint connection. Required. + :type private_endpoint_connection_name: str + :param parameters: The updated private endpoint connection. Required. :type parameters: IO[bytes] :keyword content_type: Body Parameter content-type. Content type parameter for binary body. Default value is "application/json". :paramtype content_type: str - :return: An instance of LROPoller that returns IdentityBinding. The IdentityBinding is - compatible with MutableMapping - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.containerservice.models.IdentityBinding] + :return: PrivateEndpointConnection. The PrivateEndpointConnection is compatible with + MutableMapping + :rtype: ~azure.mgmt.containerservice.models.PrivateEndpointConnection :raises ~azure.core.exceptions.HttpResponseError: """ @distributed_trace - @api_version_validation( - method_added_on="2026-04-01", - params_added_on={ - "2026-04-01": [ - "api_version", - "subscription_id", - "resource_group_name", - "resource_name", - "identity_binding_name", - "content_type", - "accept", - ] - }, - api_versions_list=["2026-04-01", "2026-05-01", "2026-05-02-preview"], - ) - def begin_create_or_update( + def update( self, resource_group_name: str, resource_name: str, - identity_binding_name: str, - parameters: Union[_models.IdentityBinding, _types.IdentityBinding, IO[bytes]], + private_endpoint_connection_name: str, + parameters: Union[_models.PrivateEndpointConnection, _types.PrivateEndpointConnection, IO[bytes]], **kwargs: Any - ) -> LROPoller[_models.IdentityBinding]: - """Creates or updates an identity binding in the specified managed cluster. + ) -> _models.PrivateEndpointConnection: + """Updates a private endpoint connection. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param resource_name: The name of the managed cluster resource. Required. :type resource_name: str - :param identity_binding_name: The name of the identity binding. Required. - :type identity_binding_name: str - :param parameters: The identity binding to create or update. Is either a IdentityBinding type - or a IO[bytes] type. Required. - :type parameters: ~azure.mgmt.containerservice.models.IdentityBinding or - ~azure.mgmt.containerservice.types.IdentityBinding or IO[bytes] - :return: An instance of LROPoller that returns IdentityBinding. The IdentityBinding is - compatible with MutableMapping - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.containerservice.models.IdentityBinding] + :param private_endpoint_connection_name: The name of the private endpoint connection. Required. + :type private_endpoint_connection_name: str + :param parameters: The updated private endpoint connection. Is either a + PrivateEndpointConnection type or a IO[bytes] type. Required. + :type parameters: ~azure.mgmt.containerservice.models.PrivateEndpointConnection or + ~azure.mgmt.containerservice.types.PrivateEndpointConnection or IO[bytes] + :return: PrivateEndpointConnection. The PrivateEndpointConnection is compatible with + MutableMapping + :rtype: ~azure.mgmt.containerservice.models.PrivateEndpointConnection :raises ~azure.core.exceptions.HttpResponseError: """ + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = kwargs.pop("params", {}) or {} content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - cls: ClsType[_models.IdentityBinding] = kwargs.pop("cls", None) - polling: Union[bool, PollingMethod] = kwargs.pop("polling", True) - lro_delay = kwargs.pop("polling_interval", self._config.polling_interval) - cont_token: Optional[str] = kwargs.pop("continuation_token", None) - if cont_token is None: - raw_result = self._create_or_update_initial( - resource_group_name=resource_group_name, - resource_name=resource_name, - identity_binding_name=identity_binding_name, - parameters=parameters, - content_type=content_type, - cls=lambda x, y, z: x, - headers=_headers, - params=_params, - **kwargs - ) - raw_result.http_response.read() # type: ignore - kwargs.pop("error_map", None) + cls: ClsType[_models.PrivateEndpointConnection] = kwargs.pop("cls", None) - def get_long_running_output(pipeline_response): - response = pipeline_response.http_response - deserialized = _deserialize(_models.IdentityBinding, response.json()) - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - return deserialized + content_type = content_type or "application/json" + _content = None + if isinstance(parameters, (IOBase, bytes)): + _content = parameters + else: + _content = json.dumps(parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + _request = build_private_endpoint_connections_update_request( + resource_group_name=resource_group_name, + resource_name=resource_name, + private_endpoint_connection_name=private_endpoint_connection_name, + subscription_id=self._config.subscription_id, + content_type=content_type, + api_version=self._config.api_version, + content=_content, + headers=_headers, + params=_params, + ) path_format_arguments = { "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), } + _request.url = self._client.format_url(_request.url, **path_format_arguments) - if polling is True: - polling_method: PollingMethod = cast( - PollingMethod, ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + _decompress = kwargs.pop("decompress", True) + _stream = kwargs.pop("stream", False) + pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access + _request, stream=_stream, **kwargs + ) + + response = pipeline_response.http_response + + if response.status_code not in [200, 201]: + if _stream: + try: + response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = _failsafe_deserialize( + _models.ErrorResponse, + response, ) - elif polling is False: - polling_method = cast(PollingMethod, NoPolling()) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if _stream: + deserialized = response.iter_bytes() if _decompress else response.iter_raw() else: - polling_method = polling - if cont_token: - return LROPoller[_models.IdentityBinding].from_continuation_token( - polling_method=polling_method, - continuation_token=cont_token, - client=self._client, - deserialization_callback=get_long_running_output, - ) - return LROPoller[_models.IdentityBinding]( - self._client, raw_result, get_long_running_output, polling_method # type: ignore - ) + deserialized = _deserialize(_models.PrivateEndpointConnection, response.json()) + + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + + return deserialized # type: ignore - @api_version_validation( - method_added_on="2026-04-01", - params_added_on={ - "2026-04-01": [ - "api_version", - "subscription_id", - "resource_group_name", - "resource_name", - "identity_binding_name", - ] - }, - api_versions_list=["2026-04-01", "2026-05-01", "2026-05-02-preview"], - ) def _delete_initial( - self, resource_group_name: str, resource_name: str, identity_binding_name: str, **kwargs: Any + self, resource_group_name: str, resource_name: str, private_endpoint_connection_name: str, **kwargs: Any ) -> Iterator[bytes]: error_map: MutableMapping = { 401: ClientAuthenticationError, @@ -15112,10 +8518,10 @@ def _delete_initial( cls: ClsType[Iterator[bytes]] = kwargs.pop("cls", None) - _request = build_identity_bindings_delete_request( + _request = build_private_endpoint_connections_delete_request( resource_group_name=resource_group_name, resource_name=resource_name, - identity_binding_name=identity_binding_name, + private_endpoint_connection_name=private_endpoint_connection_name, subscription_id=self._config.subscription_id, api_version=self._config.api_version, headers=_headers, @@ -15134,7 +8540,7 @@ def _delete_initial( response = pipeline_response.http_response - if response.status_code not in [202, 204]: + if response.status_code not in [200, 204]: try: response.read() # Load the body in memory and close the socket except (StreamConsumedError, StreamClosedError): @@ -15147,11 +8553,10 @@ def _delete_initial( raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) response_headers = {} - if response.status_code == 202: + if response.status_code == 200: response_headers["Azure-AsyncOperation"] = self._deserialize( "str", response.headers.get("Azure-AsyncOperation") ) - response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) deserialized = response.iter_bytes() if _decompress else response.iter_raw() @@ -15162,31 +8567,18 @@ def _delete_initial( return deserialized # type: ignore @distributed_trace - @api_version_validation( - method_added_on="2026-04-01", - params_added_on={ - "2026-04-01": [ - "api_version", - "subscription_id", - "resource_group_name", - "resource_name", - "identity_binding_name", - ] - }, - api_versions_list=["2026-04-01", "2026-05-01", "2026-05-02-preview"], - ) def begin_delete( - self, resource_group_name: str, resource_name: str, identity_binding_name: str, **kwargs: Any + self, resource_group_name: str, resource_name: str, private_endpoint_connection_name: str, **kwargs: Any ) -> LROPoller[None]: - """Deletes an identity binding in the specified managed cluster. + """Deletes a private endpoint connection. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param resource_name: The name of the managed cluster resource. Required. :type resource_name: str - :param identity_binding_name: The name of the identity binding. Required. - :type identity_binding_name: str + :param private_endpoint_connection_name: The name of the private endpoint connection. Required. + :type private_endpoint_connection_name: str :return: An instance of LROPoller that returns None :rtype: ~azure.core.polling.LROPoller[None] :raises ~azure.core.exceptions.HttpResponseError: @@ -15202,7 +8594,7 @@ def begin_delete( raw_result = self._delete_initial( resource_group_name=resource_group_name, resource_name=resource_name, - identity_binding_name=identity_binding_name, + private_endpoint_connection_name=private_endpoint_connection_name, cls=lambda x, y, z: x, headers=_headers, params=_params, @@ -15237,32 +8629,25 @@ def get_long_running_output(pipeline_response): # pylint: disable=inconsistent- return LROPoller[None](self._client, raw_result, get_long_running_output, polling_method) # type: ignore @distributed_trace - @api_version_validation( - method_added_on="2026-04-01", - params_added_on={ - "2026-04-01": ["api_version", "subscription_id", "resource_group_name", "resource_name", "accept"] - }, - api_versions_list=["2026-04-01", "2026-05-01", "2026-05-02-preview"], - ) - def list_by_managed_cluster( + def list( self, resource_group_name: str, resource_name: str, **kwargs: Any - ) -> ItemPaged["_models.IdentityBinding"]: - """Gets a list of identity bindings in the specified managed cluster. + ) -> _models.PrivateEndpointConnectionListResult: + """Gets a list of private endpoint connections in the specified managed cluster. + + To learn more about private clusters, see: + `https://docs.microsoft.com/azure/aks/private-clusters + `_. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param resource_name: The name of the managed cluster resource. Required. :type resource_name: str - :return: An iterator like instance of IdentityBinding - :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.containerservice.models.IdentityBinding] + :return: PrivateEndpointConnectionListResult. The PrivateEndpointConnectionListResult is + compatible with MutableMapping + :rtype: ~azure.mgmt.containerservice.models.PrivateEndpointConnectionListResult :raises ~azure.core.exceptions.HttpResponseError: """ - _headers = kwargs.pop("headers", {}) or {} - _params = kwargs.pop("params", {}) or {} - - cls: ClsType[List[_models.IdentityBinding]] = kwargs.pop("cls", None) - error_map: MutableMapping = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, @@ -15271,89 +8656,64 @@ def list_by_managed_cluster( } error_map.update(kwargs.pop("error_map", {}) or {}) - def prepare_request(next_link=None): - if not next_link: - - _request = build_identity_bindings_list_by_managed_cluster_request( - resource_group_name=resource_group_name, - resource_name=resource_name, - subscription_id=self._config.subscription_id, - api_version=self._config.api_version, - headers=_headers, - params=_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url( - "self._config.base_url", self._config.base_url, "str", skip_quote=True - ), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) + _headers = kwargs.pop("headers", {}) or {} + _params = kwargs.pop("params", {}) or {} - else: - # make call to next link with the client's api-version - _parsed_next_link = urllib.parse.urlparse(next_link) - _next_request_params = case_insensitive_dict( - { - key: [urllib.parse.quote(v) for v in value] - for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items() - } - ) - _next_request_params["api-version"] = self._config.api_version - _request = HttpRequest( - "GET", - urllib.parse.urljoin(next_link, _parsed_next_link.path), - headers=_headers, - params=_next_request_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url( - "self._config.base_url", self._config.base_url, "str", skip_quote=True - ), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) + cls: ClsType[_models.PrivateEndpointConnectionListResult] = kwargs.pop("cls", None) - return _request + _request = build_private_endpoint_connections_list_request( + resource_group_name=resource_group_name, + resource_name=resource_name, + subscription_id=self._config.subscription_id, + api_version=self._config.api_version, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) - def extract_data(pipeline_response): - deserialized = pipeline_response.http_response.json() - list_of_elem = _deserialize( - List[_models.IdentityBinding], - deserialized.get("value", []), - ) - if cls: - list_of_elem = cls(list_of_elem) # type: ignore - return deserialized.get("nextLink") or None, iter(list_of_elem) + _decompress = kwargs.pop("decompress", True) + _stream = kwargs.pop("stream", False) + pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access + _request, stream=_stream, **kwargs + ) - def get_next(next_link=None): - _request = prepare_request(next_link) + response = pipeline_response.http_response - _stream = False - pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access - _request, stream=_stream, **kwargs + if response.status_code not in [200]: + if _stream: + try: + response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = _failsafe_deserialize( + _models.ErrorResponse, + response, ) - response = pipeline_response.http_response + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - if response.status_code not in [200]: - map_error(status_code=response.status_code, response=response, error_map=error_map) - error = _failsafe_deserialize( - _models.ErrorResponse, - response, - ) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + if _stream: + deserialized = response.iter_bytes() if _decompress else response.iter_raw() + else: + deserialized = _deserialize(_models.PrivateEndpointConnectionListResult, response.json()) - return pipeline_response + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore - return ItemPaged(get_next, extract_data) + return deserialized # type: ignore -class JWTAuthenticatorsOperations: +class SnapshotsOperations: # pylint: disable=docstring-missing-param """ .. warning:: **DO NOT** instantiate this class directly. Instead, you should access the following operations through :class:`~azure.mgmt.containerservice.ContainerServiceClient`'s - :attr:`jwt_authenticators` attribute. + :attr:`snapshots` attribute. """ def __init__(self, *args, **kwargs) -> None: @@ -15364,117 +8724,179 @@ def __init__(self, *args, **kwargs) -> None: self._deserialize: Deserializer = input_args.pop(0) if input_args else kwargs.pop("deserializer") @distributed_trace - @api_version_validation( - method_added_on="2026-05-02-preview", - params_added_on={ - "2026-05-02-preview": [ - "api_version", - "subscription_id", - "resource_group_name", - "resource_name", - "jwt_authenticator_name", - "accept", - ] - }, - api_versions_list=["2026-05-02-preview"], - ) - def get( - self, resource_group_name: str, resource_name: str, jwt_authenticator_name: str, **kwargs: Any - ) -> _models.JWTAuthenticator: - """Gets the specified JWT authenticator of a managed cluster. + def get(self, resource_group_name: str, resource_name: str, **kwargs: Any) -> _models.Snapshot: + """Gets a snapshot. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param resource_name: The name of the managed cluster resource. Required. + :type resource_name: str + :return: Snapshot. The Snapshot is compatible with MutableMapping + :rtype: ~azure.mgmt.containerservice.models.Snapshot + :raises ~azure.core.exceptions.HttpResponseError: + """ + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + _headers = kwargs.pop("headers", {}) or {} + _params = kwargs.pop("params", {}) or {} + + cls: ClsType[_models.Snapshot] = kwargs.pop("cls", None) + + _request = build_snapshots_get_request( + resource_group_name=resource_group_name, + resource_name=resource_name, + subscription_id=self._config.subscription_id, + api_version=self._config.api_version, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + _decompress = kwargs.pop("decompress", True) + _stream = kwargs.pop("stream", False) + pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access + _request, stream=_stream, **kwargs + ) + + response = pipeline_response.http_response + + if response.status_code not in [200]: + if _stream: + try: + response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if _stream: + deserialized = response.iter_bytes() if _decompress else response.iter_raw() + else: + deserialized = _deserialize(_models.Snapshot, response.json()) + + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + + return deserialized # type: ignore + + @overload + def create_or_update( + self, + resource_group_name: str, + resource_name: str, + parameters: _models.Snapshot, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> _models.Snapshot: + """Creates or updates a snapshot. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param resource_name: The name of the managed cluster resource. Required. + :type resource_name: str + :param parameters: The snapshot to create or update. Required. + :type parameters: ~azure.mgmt.containerservice.models.Snapshot + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: Snapshot. The Snapshot is compatible with MutableMapping + :rtype: ~azure.mgmt.containerservice.models.Snapshot + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + def create_or_update( + self, + resource_group_name: str, + resource_name: str, + parameters: _types.Snapshot, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> _models.Snapshot: + """Creates or updates a snapshot. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param resource_name: The name of the managed cluster resource. Required. + :type resource_name: str + :param parameters: The snapshot to create or update. Required. + :type parameters: ~azure.mgmt.containerservice.types.Snapshot + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: Snapshot. The Snapshot is compatible with MutableMapping + :rtype: ~azure.mgmt.containerservice.models.Snapshot + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + def create_or_update( + self, + resource_group_name: str, + resource_name: str, + parameters: IO[bytes], + *, + content_type: str = "application/json", + **kwargs: Any + ) -> _models.Snapshot: + """Creates or updates a snapshot. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param resource_name: The name of the managed cluster resource. Required. :type resource_name: str - :param jwt_authenticator_name: The name of the JWT authenticator. Required. - :type jwt_authenticator_name: str - :return: JWTAuthenticator. The JWTAuthenticator is compatible with MutableMapping - :rtype: ~azure.mgmt.containerservice.models.JWTAuthenticator + :param parameters: The snapshot to create or update. Required. + :type parameters: IO[bytes] + :keyword content_type: Body Parameter content-type. Content type parameter for binary body. + Default value is "application/json". + :paramtype content_type: str + :return: Snapshot. The Snapshot is compatible with MutableMapping + :rtype: ~azure.mgmt.containerservice.models.Snapshot :raises ~azure.core.exceptions.HttpResponseError: """ - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - _headers = kwargs.pop("headers", {}) or {} - _params = kwargs.pop("params", {}) or {} - - cls: ClsType[_models.JWTAuthenticator] = kwargs.pop("cls", None) - - _request = build_jwt_authenticators_get_request( - resource_group_name=resource_group_name, - resource_name=resource_name, - jwt_authenticator_name=jwt_authenticator_name, - subscription_id=self._config.subscription_id, - api_version=self._config.api_version, - headers=_headers, - params=_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - _decompress = kwargs.pop("decompress", True) - _stream = kwargs.pop("stream", False) - pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access - _request, stream=_stream, **kwargs - ) - - response = pipeline_response.http_response - - if response.status_code not in [200]: - if _stream: - try: - response.read() # Load the body in memory and close the socket - except (StreamConsumedError, StreamClosedError): - pass - map_error(status_code=response.status_code, response=response, error_map=error_map) - error = _failsafe_deserialize( - _models.ErrorResponse, - response, - ) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - - if _stream: - deserialized = response.iter_bytes() if _decompress else response.iter_raw() - else: - deserialized = _deserialize(_models.JWTAuthenticator, response.json()) - - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - - return deserialized # type: ignore - @api_version_validation( - method_added_on="2026-05-02-preview", - params_added_on={ - "2026-05-02-preview": [ - "api_version", - "subscription_id", - "resource_group_name", - "resource_name", - "jwt_authenticator_name", - "content_type", - "accept", - ] - }, - api_versions_list=["2026-05-02-preview"], - ) - def _create_or_update_initial( + @distributed_trace + def create_or_update( self, resource_group_name: str, resource_name: str, - jwt_authenticator_name: str, - parameters: Union[_models.JWTAuthenticator, _types.JWTAuthenticator, IO[bytes]], + parameters: Union[_models.Snapshot, _types.Snapshot, IO[bytes]], **kwargs: Any - ) -> Iterator[bytes]: + ) -> _models.Snapshot: + """Creates or updates a snapshot. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param resource_name: The name of the managed cluster resource. Required. + :type resource_name: str + :param parameters: The snapshot to create or update. Is either a Snapshot type or a IO[bytes] + type. Required. + :type parameters: ~azure.mgmt.containerservice.models.Snapshot or + ~azure.mgmt.containerservice.types.Snapshot or IO[bytes] + :return: Snapshot. The Snapshot is compatible with MutableMapping + :rtype: ~azure.mgmt.containerservice.models.Snapshot + :raises ~azure.core.exceptions.HttpResponseError: + """ error_map: MutableMapping = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, @@ -15487,7 +8909,7 @@ def _create_or_update_initial( _params = kwargs.pop("params", {}) or {} content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - cls: ClsType[Iterator[bytes]] = kwargs.pop("cls", None) + cls: ClsType[_models.Snapshot] = kwargs.pop("cls", None) content_type = content_type or "application/json" _content = None @@ -15496,10 +8918,9 @@ def _create_or_update_initial( else: _content = json.dumps(parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore - _request = build_jwt_authenticators_create_or_update_request( + _request = build_snapshots_create_or_update_request( resource_group_name=resource_group_name, resource_name=resource_name, - jwt_authenticator_name=jwt_authenticator_name, subscription_id=self._config.subscription_id, content_type=content_type, api_version=self._config.api_version, @@ -15513,7 +8934,7 @@ def _create_or_update_initial( _request.url = self._client.format_url(_request.url, **path_format_arguments) _decompress = kwargs.pop("decompress", True) - _stream = True + _stream = kwargs.pop("stream", False) pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access _request, stream=_stream, **kwargs ) @@ -15521,10 +8942,11 @@ def _create_or_update_initial( response = pipeline_response.http_response if response.status_code not in [200, 201]: - try: - response.read() # Load the body in memory and close the socket - except (StreamConsumedError, StreamClosedError): - pass + if _stream: + try: + response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass map_error(status_code=response.status_code, response=response, error_map=error_map) error = _failsafe_deserialize( _models.ErrorResponse, @@ -15532,226 +8954,202 @@ def _create_or_update_initial( ) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - response_headers = {} - if response.status_code == 201: - response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) - response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) - - deserialized = response.iter_bytes() if _decompress else response.iter_raw() + if _stream: + deserialized = response.iter_bytes() if _decompress else response.iter_raw() + else: + deserialized = _deserialize(_models.Snapshot, response.json()) if cls: - return cls(pipeline_response, deserialized, response_headers) # type: ignore + return cls(pipeline_response, deserialized, {}) # type: ignore return deserialized # type: ignore @overload - def begin_create_or_update( + def update_tags( self, resource_group_name: str, resource_name: str, - jwt_authenticator_name: str, - parameters: _models.JWTAuthenticator, + parameters: _models.TagsObject, *, content_type: str = "application/json", **kwargs: Any - ) -> LROPoller[_models.JWTAuthenticator]: - """Creates or updates JWT authenticator in the managed cluster and updates the managed cluster to - apply the settings. + ) -> _models.Snapshot: + """Updates tags on a snapshot. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param resource_name: The name of the managed cluster resource. Required. :type resource_name: str - :param jwt_authenticator_name: The name of the JWT authenticator. Required. - :type jwt_authenticator_name: str - :param parameters: The JWT authenticator to create or update. Required. - :type parameters: ~azure.mgmt.containerservice.models.JWTAuthenticator + :param parameters: Parameters supplied to the Update snapshot Tags operation. Required. + :type parameters: ~azure.mgmt.containerservice.models.TagsObject :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str - :return: An instance of LROPoller that returns JWTAuthenticator. The JWTAuthenticator is - compatible with MutableMapping - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.containerservice.models.JWTAuthenticator] + :return: Snapshot. The Snapshot is compatible with MutableMapping + :rtype: ~azure.mgmt.containerservice.models.Snapshot :raises ~azure.core.exceptions.HttpResponseError: """ @overload - def begin_create_or_update( + def update_tags( self, resource_group_name: str, resource_name: str, - jwt_authenticator_name: str, - parameters: _types.JWTAuthenticator, + parameters: _types.TagsObject, *, content_type: str = "application/json", **kwargs: Any - ) -> LROPoller[_models.JWTAuthenticator]: - """Creates or updates JWT authenticator in the managed cluster and updates the managed cluster to - apply the settings. + ) -> _models.Snapshot: + """Updates tags on a snapshot. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param resource_name: The name of the managed cluster resource. Required. :type resource_name: str - :param jwt_authenticator_name: The name of the JWT authenticator. Required. - :type jwt_authenticator_name: str - :param parameters: The JWT authenticator to create or update. Required. - :type parameters: ~azure.mgmt.containerservice.types.JWTAuthenticator + :param parameters: Parameters supplied to the Update snapshot Tags operation. Required. + :type parameters: ~azure.mgmt.containerservice.types.TagsObject :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str - :return: An instance of LROPoller that returns JWTAuthenticator. The JWTAuthenticator is - compatible with MutableMapping - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.containerservice.models.JWTAuthenticator] + :return: Snapshot. The Snapshot is compatible with MutableMapping + :rtype: ~azure.mgmt.containerservice.models.Snapshot :raises ~azure.core.exceptions.HttpResponseError: """ @overload - def begin_create_or_update( + def update_tags( self, resource_group_name: str, resource_name: str, - jwt_authenticator_name: str, parameters: IO[bytes], *, content_type: str = "application/json", **kwargs: Any - ) -> LROPoller[_models.JWTAuthenticator]: - """Creates or updates JWT authenticator in the managed cluster and updates the managed cluster to - apply the settings. + ) -> _models.Snapshot: + """Updates tags on a snapshot. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param resource_name: The name of the managed cluster resource. Required. :type resource_name: str - :param jwt_authenticator_name: The name of the JWT authenticator. Required. - :type jwt_authenticator_name: str - :param parameters: The JWT authenticator to create or update. Required. + :param parameters: Parameters supplied to the Update snapshot Tags operation. Required. :type parameters: IO[bytes] :keyword content_type: Body Parameter content-type. Content type parameter for binary body. Default value is "application/json". :paramtype content_type: str - :return: An instance of LROPoller that returns JWTAuthenticator. The JWTAuthenticator is - compatible with MutableMapping - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.containerservice.models.JWTAuthenticator] + :return: Snapshot. The Snapshot is compatible with MutableMapping + :rtype: ~azure.mgmt.containerservice.models.Snapshot :raises ~azure.core.exceptions.HttpResponseError: """ @distributed_trace - @api_version_validation( - method_added_on="2026-05-02-preview", - params_added_on={ - "2026-05-02-preview": [ - "api_version", - "subscription_id", - "resource_group_name", - "resource_name", - "jwt_authenticator_name", - "content_type", - "accept", - ] - }, - api_versions_list=["2026-05-02-preview"], - ) - def begin_create_or_update( + def update_tags( self, resource_group_name: str, resource_name: str, - jwt_authenticator_name: str, - parameters: Union[_models.JWTAuthenticator, _types.JWTAuthenticator, IO[bytes]], + parameters: Union[_models.TagsObject, _types.TagsObject, IO[bytes]], **kwargs: Any - ) -> LROPoller[_models.JWTAuthenticator]: - """Creates or updates JWT authenticator in the managed cluster and updates the managed cluster to - apply the settings. + ) -> _models.Snapshot: + """Updates tags on a snapshot. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param resource_name: The name of the managed cluster resource. Required. :type resource_name: str - :param jwt_authenticator_name: The name of the JWT authenticator. Required. - :type jwt_authenticator_name: str - :param parameters: The JWT authenticator to create or update. Is either a JWTAuthenticator type - or a IO[bytes] type. Required. - :type parameters: ~azure.mgmt.containerservice.models.JWTAuthenticator or - ~azure.mgmt.containerservice.types.JWTAuthenticator or IO[bytes] - :return: An instance of LROPoller that returns JWTAuthenticator. The JWTAuthenticator is - compatible with MutableMapping - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.containerservice.models.JWTAuthenticator] + :param parameters: Parameters supplied to the Update snapshot Tags operation. Is either a + TagsObject type or a IO[bytes] type. Required. + :type parameters: ~azure.mgmt.containerservice.models.TagsObject or + ~azure.mgmt.containerservice.types.TagsObject or IO[bytes] + :return: Snapshot. The Snapshot is compatible with MutableMapping + :rtype: ~azure.mgmt.containerservice.models.Snapshot :raises ~azure.core.exceptions.HttpResponseError: """ + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = kwargs.pop("params", {}) or {} content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - cls: ClsType[_models.JWTAuthenticator] = kwargs.pop("cls", None) - polling: Union[bool, PollingMethod] = kwargs.pop("polling", True) - lro_delay = kwargs.pop("polling_interval", self._config.polling_interval) - cont_token: Optional[str] = kwargs.pop("continuation_token", None) - if cont_token is None: - raw_result = self._create_or_update_initial( - resource_group_name=resource_group_name, - resource_name=resource_name, - jwt_authenticator_name=jwt_authenticator_name, - parameters=parameters, - content_type=content_type, - cls=lambda x, y, z: x, - headers=_headers, - params=_params, - **kwargs - ) - raw_result.http_response.read() # type: ignore - kwargs.pop("error_map", None) + cls: ClsType[_models.Snapshot] = kwargs.pop("cls", None) - def get_long_running_output(pipeline_response): - response = pipeline_response.http_response - deserialized = _deserialize(_models.JWTAuthenticator, response.json()) - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - return deserialized + content_type = content_type or "application/json" + _content = None + if isinstance(parameters, (IOBase, bytes)): + _content = parameters + else: + _content = json.dumps(parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + _request = build_snapshots_update_tags_request( + resource_group_name=resource_group_name, + resource_name=resource_name, + subscription_id=self._config.subscription_id, + content_type=content_type, + api_version=self._config.api_version, + content=_content, + headers=_headers, + params=_params, + ) path_format_arguments = { "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), } + _request.url = self._client.format_url(_request.url, **path_format_arguments) - if polling is True: - polling_method: PollingMethod = cast( - PollingMethod, ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) - ) - elif polling is False: - polling_method = cast(PollingMethod, NoPolling()) - else: - polling_method = polling - if cont_token: - return LROPoller[_models.JWTAuthenticator].from_continuation_token( - polling_method=polling_method, - continuation_token=cont_token, - client=self._client, - deserialization_callback=get_long_running_output, + _decompress = kwargs.pop("decompress", True) + _stream = kwargs.pop("stream", False) + pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access + _request, stream=_stream, **kwargs + ) + + response = pipeline_response.http_response + + if response.status_code not in [200]: + if _stream: + try: + response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = _failsafe_deserialize( + _models.ErrorResponse, + response, ) - return LROPoller[_models.JWTAuthenticator]( - self._client, raw_result, get_long_running_output, polling_method # type: ignore - ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - @api_version_validation( - method_added_on="2026-05-02-preview", - params_added_on={ - "2026-05-02-preview": [ - "api_version", - "subscription_id", - "resource_group_name", - "resource_name", - "jwt_authenticator_name", - ] - }, - api_versions_list=["2026-05-02-preview"], - ) - def _delete_initial( - self, resource_group_name: str, resource_name: str, jwt_authenticator_name: str, **kwargs: Any - ) -> Iterator[bytes]: + if _stream: + deserialized = response.iter_bytes() if _decompress else response.iter_raw() + else: + deserialized = _deserialize(_models.Snapshot, response.json()) + + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + + return deserialized # type: ignore + + @distributed_trace + def delete( # pylint: disable=inconsistent-return-statements + self, resource_group_name: str, resource_name: str, **kwargs: Any + ) -> None: + """Deletes a snapshot. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param resource_name: The name of the managed cluster resource. Required. + :type resource_name: str + :return: None + :rtype: None + :raises ~azure.core.exceptions.HttpResponseError: + """ error_map: MutableMapping = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, @@ -15763,12 +9161,11 @@ def _delete_initial( _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - cls: ClsType[Iterator[bytes]] = kwargs.pop("cls", None) + cls: ClsType[None] = kwargs.pop("cls", None) - _request = build_jwt_authenticators_delete_request( + _request = build_snapshots_delete_request( resource_group_name=resource_group_name, resource_name=resource_name, - jwt_authenticator_name=jwt_authenticator_name, subscription_id=self._config.subscription_id, api_version=self._config.api_version, headers=_headers, @@ -15779,19 +9176,14 @@ def _delete_initial( } _request.url = self._client.format_url(_request.url, **path_format_arguments) - _decompress = kwargs.pop("decompress", True) - _stream = True + _stream = False pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access _request, stream=_stream, **kwargs ) response = pipeline_response.http_response - if response.status_code not in [202, 204]: - try: - response.read() # Load the body in memory and close the socket - except (StreamConsumedError, StreamClosedError): - pass + if response.status_code not in [200, 204]: map_error(status_code=response.status_code, response=response, error_map=error_map) error = _failsafe_deserialize( _models.ErrorResponse, @@ -15799,122 +9191,118 @@ def _delete_initial( ) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - response_headers = {} - if response.status_code == 202: - response_headers["Azure-AsyncOperation"] = self._deserialize( - "str", response.headers.get("Azure-AsyncOperation") - ) - response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) - response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) - - deserialized = response.iter_bytes() if _decompress else response.iter_raw() - if cls: - return cls(pipeline_response, deserialized, response_headers) # type: ignore - - return deserialized # type: ignore + return cls(pipeline_response, None, {}) # type: ignore @distributed_trace - @api_version_validation( - method_added_on="2026-05-02-preview", - params_added_on={ - "2026-05-02-preview": [ - "api_version", - "subscription_id", - "resource_group_name", - "resource_name", - "jwt_authenticator_name", - ] - }, - api_versions_list=["2026-05-02-preview"], - ) - def begin_delete( - self, resource_group_name: str, resource_name: str, jwt_authenticator_name: str, **kwargs: Any - ) -> LROPoller[None]: - """Deletes a JWT authenticator and updates the managed cluster to apply the settings. + def list_by_resource_group(self, resource_group_name: str, **kwargs: Any) -> ItemPaged["_models.Snapshot"]: + """Lists snapshots in the specified subscription and resource group. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str - :param resource_name: The name of the managed cluster resource. Required. - :type resource_name: str - :param jwt_authenticator_name: The name of the JWT authenticator. Required. - :type jwt_authenticator_name: str - :return: An instance of LROPoller that returns None - :rtype: ~azure.core.polling.LROPoller[None] + :return: An iterator like instance of Snapshot + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.containerservice.models.Snapshot] :raises ~azure.core.exceptions.HttpResponseError: """ _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - cls: ClsType[None] = kwargs.pop("cls", None) - polling: Union[bool, PollingMethod] = kwargs.pop("polling", True) - lro_delay = kwargs.pop("polling_interval", self._config.polling_interval) - cont_token: Optional[str] = kwargs.pop("continuation_token", None) - if cont_token is None: - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - resource_name=resource_name, - jwt_authenticator_name=jwt_authenticator_name, - cls=lambda x, y, z: x, - headers=_headers, - params=_params, - **kwargs - ) - raw_result.http_response.read() # type: ignore - kwargs.pop("error_map", None) - - def get_long_running_output(pipeline_response): # pylint: disable=inconsistent-return-statements - if cls: - return cls(pipeline_response, None, {}) # type: ignore + cls: ClsType[List[_models.Snapshot]] = kwargs.pop("cls", None) - path_format_arguments = { - "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, } + error_map.update(kwargs.pop("error_map", {}) or {}) - if polling is True: - polling_method: PollingMethod = cast( - PollingMethod, ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + def prepare_request(next_link=None): + if not next_link: + + _request = build_snapshots_list_by_resource_group_request( + resource_group_name=resource_group_name, + subscription_id=self._config.subscription_id, + api_version=self._config.api_version, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url( + "self._config.base_url", self._config.base_url, "str", skip_quote=True + ), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + else: + # make call to next link with the client's api-version + _parsed_next_link = urllib.parse.urlparse(next_link) + _next_request_params = case_insensitive_dict( + { + key: [urllib.parse.quote(v) for v in value] + for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items() + } + ) + _next_request_params["api-version"] = self._config.api_version + _request = HttpRequest( + "GET", + urllib.parse.urljoin(next_link, _parsed_next_link.path), + headers=_headers, + params=_next_request_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url( + "self._config.base_url", self._config.base_url, "str", skip_quote=True + ), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + return _request + + def extract_data(pipeline_response): + deserialized = pipeline_response.http_response.json() + list_of_elem = _deserialize( + List[_models.Snapshot], + deserialized.get("value", []), ) - elif polling is False: - polling_method = cast(PollingMethod, NoPolling()) - else: - polling_method = polling - if cont_token: - return LROPoller[None].from_continuation_token( - polling_method=polling_method, - continuation_token=cont_token, - client=self._client, - deserialization_callback=get_long_running_output, + if cls: + list_of_elem = cls(list_of_elem) # type: ignore + return deserialized.get("nextLink") or None, iter(list_of_elem) + + def get_next(next_link=None): + _request = prepare_request(next_link) + + _stream = False + pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access + _request, stream=_stream, **kwargs ) - return LROPoller[None](self._client, raw_result, get_long_running_output, polling_method) # type: ignore + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + return ItemPaged(get_next, extract_data) @distributed_trace - @api_version_validation( - method_added_on="2026-05-02-preview", - params_added_on={ - "2026-05-02-preview": ["api_version", "subscription_id", "resource_group_name", "resource_name", "accept"] - }, - api_versions_list=["2026-05-02-preview"], - ) - def list_by_managed_cluster( - self, resource_group_name: str, resource_name: str, **kwargs: Any - ) -> ItemPaged["_models.JWTAuthenticator"]: - """Gets a list of JWT authenticators in the specified managed cluster. + def list(self, **kwargs: Any) -> ItemPaged["_models.Snapshot"]: + """Gets a list of snapshots in the specified subscription. - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param resource_name: The name of the managed cluster resource. Required. - :type resource_name: str - :return: An iterator like instance of JWTAuthenticator - :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.containerservice.models.JWTAuthenticator] + :return: An iterator like instance of Snapshot + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.containerservice.models.Snapshot] :raises ~azure.core.exceptions.HttpResponseError: """ _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - cls: ClsType[List[_models.JWTAuthenticator]] = kwargs.pop("cls", None) + cls: ClsType[List[_models.Snapshot]] = kwargs.pop("cls", None) error_map: MutableMapping = { 401: ClientAuthenticationError, @@ -15927,9 +9315,7 @@ def list_by_managed_cluster( def prepare_request(next_link=None): if not next_link: - _request = build_jwt_authenticators_list_by_managed_cluster_request( - resource_group_name=resource_group_name, - resource_name=resource_name, + _request = build_snapshots_list_request( subscription_id=self._config.subscription_id, api_version=self._config.api_version, headers=_headers, @@ -15970,7 +9356,7 @@ def prepare_request(next_link=None): def extract_data(pipeline_response): deserialized = pipeline_response.http_response.json() list_of_elem = _deserialize( - List[_models.JWTAuthenticator], + List[_models.Snapshot], deserialized.get("value", []), ) if cls: @@ -15999,14 +9385,14 @@ def get_next(next_link=None): return ItemPaged(get_next, extract_data) -class MeshMembershipsOperations: +class TrustedAccessRoleBindingsOperations: # pylint: disable=docstring-missing-param """ .. warning:: **DO NOT** instantiate this class directly. Instead, you should access the following operations through :class:`~azure.mgmt.containerservice.ContainerServiceClient`'s - :attr:`mesh_memberships` attribute. + :attr:`trusted_access_role_bindings` attribute. """ def __init__(self, *args, **kwargs) -> None: @@ -16017,34 +9403,21 @@ def __init__(self, *args, **kwargs) -> None: self._deserialize: Deserializer = input_args.pop(0) if input_args else kwargs.pop("deserializer") @distributed_trace - @api_version_validation( - method_added_on="2026-05-02-preview", - params_added_on={ - "2026-05-02-preview": [ - "api_version", - "subscription_id", - "resource_group_name", - "resource_name", - "mesh_membership_name", - "accept", - ] - }, - api_versions_list=["2026-05-02-preview"], - ) def get( - self, resource_group_name: str, resource_name: str, mesh_membership_name: str, **kwargs: Any - ) -> _models.MeshMembership: - """Gets the mesh membership of a managed cluster. + self, resource_group_name: str, resource_name: str, trusted_access_role_binding_name: str, **kwargs: Any + ) -> _models.TrustedAccessRoleBinding: + """Get a trusted access role binding. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param resource_name: The name of the managed cluster resource. Required. :type resource_name: str - :param mesh_membership_name: The name of the mesh membership. Required. - :type mesh_membership_name: str - :return: MeshMembership. The MeshMembership is compatible with MutableMapping - :rtype: ~azure.mgmt.containerservice.models.MeshMembership + :param trusted_access_role_binding_name: The name of trusted access role binding. Required. + :type trusted_access_role_binding_name: str + :return: TrustedAccessRoleBinding. The TrustedAccessRoleBinding is compatible with + MutableMapping + :rtype: ~azure.mgmt.containerservice.models.TrustedAccessRoleBinding :raises ~azure.core.exceptions.HttpResponseError: """ error_map: MutableMapping = { @@ -16058,12 +9431,12 @@ def get( _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - cls: ClsType[_models.MeshMembership] = kwargs.pop("cls", None) + cls: ClsType[_models.TrustedAccessRoleBinding] = kwargs.pop("cls", None) - _request = build_mesh_memberships_get_request( + _request = build_trusted_access_role_bindings_get_request( resource_group_name=resource_group_name, resource_name=resource_name, - mesh_membership_name=mesh_membership_name, + trusted_access_role_binding_name=trusted_access_role_binding_name, subscription_id=self._config.subscription_id, api_version=self._config.api_version, headers=_headers, @@ -16098,34 +9471,21 @@ def get( if _stream: deserialized = response.iter_bytes() if _decompress else response.iter_raw() else: - deserialized = _deserialize(_models.MeshMembership, response.json()) + deserialized = _deserialize(_models.TrustedAccessRoleBinding, response.json()) if cls: return cls(pipeline_response, deserialized, {}) # type: ignore return deserialized # type: ignore - @api_version_validation( - method_added_on="2026-05-02-preview", - params_added_on={ - "2026-05-02-preview": [ - "api_version", - "subscription_id", - "resource_group_name", - "resource_name", - "mesh_membership_name", - "content_type", - "accept", - ] - }, - api_versions_list=["2026-05-02-preview"], - ) def _create_or_update_initial( self, resource_group_name: str, resource_name: str, - mesh_membership_name: str, - parameters: Union[_models.MeshMembership, _types.MeshMembership, IO[bytes]], + trusted_access_role_binding_name: str, + trusted_access_role_binding: Union[ + _models.TrustedAccessRoleBinding, _types.TrustedAccessRoleBinding, IO[bytes] + ], **kwargs: Any ) -> Iterator[bytes]: error_map: MutableMapping = { @@ -16144,15 +9504,15 @@ def _create_or_update_initial( content_type = content_type or "application/json" _content = None - if isinstance(parameters, (IOBase, bytes)): - _content = parameters + if isinstance(trusted_access_role_binding, (IOBase, bytes)): + _content = trusted_access_role_binding else: - _content = json.dumps(parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + _content = json.dumps(trusted_access_role_binding, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore - _request = build_mesh_memberships_create_or_update_request( + _request = build_trusted_access_role_bindings_create_or_update_request( resource_group_name=resource_group_name, resource_name=resource_name, - mesh_membership_name=mesh_membership_name, + trusted_access_role_binding_name=trusted_access_role_binding_name, subscription_id=self._config.subscription_id, content_type=content_type, api_version=self._config.api_version, @@ -16204,29 +9564,30 @@ def begin_create_or_update( self, resource_group_name: str, resource_name: str, - mesh_membership_name: str, - parameters: _models.MeshMembership, + trusted_access_role_binding_name: str, + trusted_access_role_binding: _models.TrustedAccessRoleBinding, *, content_type: str = "application/json", **kwargs: Any - ) -> LROPoller[_models.MeshMembership]: - """Creates or updates the mesh membership of a managed cluster. + ) -> LROPoller[_models.TrustedAccessRoleBinding]: + """Create or update a trusted access role binding. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param resource_name: The name of the managed cluster resource. Required. :type resource_name: str - :param mesh_membership_name: The name of the mesh membership. Required. - :type mesh_membership_name: str - :param parameters: The mesh membership to create or update. Required. - :type parameters: ~azure.mgmt.containerservice.models.MeshMembership + :param trusted_access_role_binding_name: The name of trusted access role binding. Required. + :type trusted_access_role_binding_name: str + :param trusted_access_role_binding: A trusted access role binding. Required. + :type trusted_access_role_binding: ~azure.mgmt.containerservice.models.TrustedAccessRoleBinding :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str - :return: An instance of LROPoller that returns MeshMembership. The MeshMembership is compatible - with MutableMapping - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.containerservice.models.MeshMembership] + :return: An instance of LROPoller that returns TrustedAccessRoleBinding. The + TrustedAccessRoleBinding is compatible with MutableMapping + :rtype: + ~azure.core.polling.LROPoller[~azure.mgmt.containerservice.models.TrustedAccessRoleBinding] :raises ~azure.core.exceptions.HttpResponseError: """ @@ -16235,29 +9596,30 @@ def begin_create_or_update( self, resource_group_name: str, resource_name: str, - mesh_membership_name: str, - parameters: _types.MeshMembership, + trusted_access_role_binding_name: str, + trusted_access_role_binding: _types.TrustedAccessRoleBinding, *, content_type: str = "application/json", **kwargs: Any - ) -> LROPoller[_models.MeshMembership]: - """Creates or updates the mesh membership of a managed cluster. + ) -> LROPoller[_models.TrustedAccessRoleBinding]: + """Create or update a trusted access role binding. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param resource_name: The name of the managed cluster resource. Required. :type resource_name: str - :param mesh_membership_name: The name of the mesh membership. Required. - :type mesh_membership_name: str - :param parameters: The mesh membership to create or update. Required. - :type parameters: ~azure.mgmt.containerservice.types.MeshMembership + :param trusted_access_role_binding_name: The name of trusted access role binding. Required. + :type trusted_access_role_binding_name: str + :param trusted_access_role_binding: A trusted access role binding. Required. + :type trusted_access_role_binding: ~azure.mgmt.containerservice.types.TrustedAccessRoleBinding :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str - :return: An instance of LROPoller that returns MeshMembership. The MeshMembership is compatible - with MutableMapping - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.containerservice.models.MeshMembership] + :return: An instance of LROPoller that returns TrustedAccessRoleBinding. The + TrustedAccessRoleBinding is compatible with MutableMapping + :rtype: + ~azure.core.polling.LROPoller[~azure.mgmt.containerservice.models.TrustedAccessRoleBinding] :raises ~azure.core.exceptions.HttpResponseError: """ @@ -16266,79 +9628,68 @@ def begin_create_or_update( self, resource_group_name: str, resource_name: str, - mesh_membership_name: str, - parameters: IO[bytes], + trusted_access_role_binding_name: str, + trusted_access_role_binding: IO[bytes], *, content_type: str = "application/json", **kwargs: Any - ) -> LROPoller[_models.MeshMembership]: - """Creates or updates the mesh membership of a managed cluster. + ) -> LROPoller[_models.TrustedAccessRoleBinding]: + """Create or update a trusted access role binding. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param resource_name: The name of the managed cluster resource. Required. :type resource_name: str - :param mesh_membership_name: The name of the mesh membership. Required. - :type mesh_membership_name: str - :param parameters: The mesh membership to create or update. Required. - :type parameters: IO[bytes] + :param trusted_access_role_binding_name: The name of trusted access role binding. Required. + :type trusted_access_role_binding_name: str + :param trusted_access_role_binding: A trusted access role binding. Required. + :type trusted_access_role_binding: IO[bytes] :keyword content_type: Body Parameter content-type. Content type parameter for binary body. Default value is "application/json". :paramtype content_type: str - :return: An instance of LROPoller that returns MeshMembership. The MeshMembership is compatible - with MutableMapping - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.containerservice.models.MeshMembership] + :return: An instance of LROPoller that returns TrustedAccessRoleBinding. The + TrustedAccessRoleBinding is compatible with MutableMapping + :rtype: + ~azure.core.polling.LROPoller[~azure.mgmt.containerservice.models.TrustedAccessRoleBinding] :raises ~azure.core.exceptions.HttpResponseError: """ @distributed_trace - @api_version_validation( - method_added_on="2026-05-02-preview", - params_added_on={ - "2026-05-02-preview": [ - "api_version", - "subscription_id", - "resource_group_name", - "resource_name", - "mesh_membership_name", - "content_type", - "accept", - ] - }, - api_versions_list=["2026-05-02-preview"], - ) def begin_create_or_update( self, resource_group_name: str, resource_name: str, - mesh_membership_name: str, - parameters: Union[_models.MeshMembership, _types.MeshMembership, IO[bytes]], + trusted_access_role_binding_name: str, + trusted_access_role_binding: Union[ + _models.TrustedAccessRoleBinding, _types.TrustedAccessRoleBinding, IO[bytes] + ], **kwargs: Any - ) -> LROPoller[_models.MeshMembership]: - """Creates or updates the mesh membership of a managed cluster. + ) -> LROPoller[_models.TrustedAccessRoleBinding]: + """Create or update a trusted access role binding. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param resource_name: The name of the managed cluster resource. Required. :type resource_name: str - :param mesh_membership_name: The name of the mesh membership. Required. - :type mesh_membership_name: str - :param parameters: The mesh membership to create or update. Is either a MeshMembership type or - a IO[bytes] type. Required. - :type parameters: ~azure.mgmt.containerservice.models.MeshMembership or - ~azure.mgmt.containerservice.types.MeshMembership or IO[bytes] - :return: An instance of LROPoller that returns MeshMembership. The MeshMembership is compatible - with MutableMapping - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.containerservice.models.MeshMembership] + :param trusted_access_role_binding_name: The name of trusted access role binding. Required. + :type trusted_access_role_binding_name: str + :param trusted_access_role_binding: A trusted access role binding. Is either a + TrustedAccessRoleBinding type or a IO[bytes] type. Required. + :type trusted_access_role_binding: ~azure.mgmt.containerservice.models.TrustedAccessRoleBinding + or ~azure.mgmt.containerservice.types.TrustedAccessRoleBinding or IO[bytes] + :return: An instance of LROPoller that returns TrustedAccessRoleBinding. The + TrustedAccessRoleBinding is compatible with MutableMapping + :rtype: + ~azure.core.polling.LROPoller[~azure.mgmt.containerservice.models.TrustedAccessRoleBinding] :raises ~azure.core.exceptions.HttpResponseError: """ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = kwargs.pop("params", {}) or {} content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - cls: ClsType[_models.MeshMembership] = kwargs.pop("cls", None) + cls: ClsType[_models.TrustedAccessRoleBinding] = kwargs.pop("cls", None) polling: Union[bool, PollingMethod] = kwargs.pop("polling", True) lro_delay = kwargs.pop("polling_interval", self._config.polling_interval) cont_token: Optional[str] = kwargs.pop("continuation_token", None) @@ -16346,8 +9697,8 @@ def begin_create_or_update( raw_result = self._create_or_update_initial( resource_group_name=resource_group_name, resource_name=resource_name, - mesh_membership_name=mesh_membership_name, - parameters=parameters, + trusted_access_role_binding_name=trusted_access_role_binding_name, + trusted_access_role_binding=trusted_access_role_binding, content_type=content_type, cls=lambda x, y, z: x, headers=_headers, @@ -16359,7 +9710,7 @@ def begin_create_or_update( def get_long_running_output(pipeline_response): response = pipeline_response.http_response - deserialized = _deserialize(_models.MeshMembership, response.json()) + deserialized = _deserialize(_models.TrustedAccessRoleBinding, response.json()) if cls: return cls(pipeline_response, deserialized, {}) # type: ignore return deserialized @@ -16377,31 +9728,18 @@ def get_long_running_output(pipeline_response): else: polling_method = polling if cont_token: - return LROPoller[_models.MeshMembership].from_continuation_token( + return LROPoller[_models.TrustedAccessRoleBinding].from_continuation_token( polling_method=polling_method, continuation_token=cont_token, client=self._client, deserialization_callback=get_long_running_output, ) - return LROPoller[_models.MeshMembership]( + return LROPoller[_models.TrustedAccessRoleBinding]( self._client, raw_result, get_long_running_output, polling_method # type: ignore ) - @api_version_validation( - method_added_on="2026-05-02-preview", - params_added_on={ - "2026-05-02-preview": [ - "api_version", - "subscription_id", - "resource_group_name", - "resource_name", - "mesh_membership_name", - ] - }, - api_versions_list=["2026-05-02-preview"], - ) def _delete_initial( - self, resource_group_name: str, resource_name: str, mesh_membership_name: str, **kwargs: Any + self, resource_group_name: str, resource_name: str, trusted_access_role_binding_name: str, **kwargs: Any ) -> Iterator[bytes]: error_map: MutableMapping = { 401: ClientAuthenticationError, @@ -16416,10 +9754,10 @@ def _delete_initial( cls: ClsType[Iterator[bytes]] = kwargs.pop("cls", None) - _request = build_mesh_memberships_delete_request( + _request = build_trusted_access_role_bindings_delete_request( resource_group_name=resource_group_name, resource_name=resource_name, - mesh_membership_name=mesh_membership_name, + trusted_access_role_binding_name=trusted_access_role_binding_name, subscription_id=self._config.subscription_id, api_version=self._config.api_version, headers=_headers, @@ -16466,31 +9804,18 @@ def _delete_initial( return deserialized # type: ignore @distributed_trace - @api_version_validation( - method_added_on="2026-05-02-preview", - params_added_on={ - "2026-05-02-preview": [ - "api_version", - "subscription_id", - "resource_group_name", - "resource_name", - "mesh_membership_name", - ] - }, - api_versions_list=["2026-05-02-preview"], - ) def begin_delete( - self, resource_group_name: str, resource_name: str, mesh_membership_name: str, **kwargs: Any + self, resource_group_name: str, resource_name: str, trusted_access_role_binding_name: str, **kwargs: Any ) -> LROPoller[None]: - """Deletes the mesh membership of a managed cluster. + """Delete a trusted access role binding. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param resource_name: The name of the managed cluster resource. Required. :type resource_name: str - :param mesh_membership_name: The name of the mesh membership. Required. - :type mesh_membership_name: str + :param trusted_access_role_binding_name: The name of trusted access role binding. Required. + :type trusted_access_role_binding_name: str :return: An instance of LROPoller that returns None :rtype: ~azure.core.polling.LROPoller[None] :raises ~azure.core.exceptions.HttpResponseError: @@ -16506,7 +9831,7 @@ def begin_delete( raw_result = self._delete_initial( resource_group_name=resource_group_name, resource_name=resource_name, - mesh_membership_name=mesh_membership_name, + trusted_access_role_binding_name=trusted_access_role_binding_name, cls=lambda x, y, z: x, headers=_headers, params=_params, @@ -16541,31 +9866,25 @@ def get_long_running_output(pipeline_response): # pylint: disable=inconsistent- return LROPoller[None](self._client, raw_result, get_long_running_output, polling_method) # type: ignore @distributed_trace - @api_version_validation( - method_added_on="2026-05-02-preview", - params_added_on={ - "2026-05-02-preview": ["api_version", "subscription_id", "resource_group_name", "resource_name", "accept"] - }, - api_versions_list=["2026-05-02-preview"], - ) - def list_by_managed_cluster( + def list( self, resource_group_name: str, resource_name: str, **kwargs: Any - ) -> ItemPaged["_models.MeshMembership"]: - """Lists mesh memberships in a managed cluster. + ) -> ItemPaged["_models.TrustedAccessRoleBinding"]: + """List trusted access role bindings. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param resource_name: The name of the managed cluster resource. Required. :type resource_name: str - :return: An iterator like instance of MeshMembership - :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.containerservice.models.MeshMembership] + :return: An iterator like instance of TrustedAccessRoleBinding + :rtype: + ~azure.core.paging.ItemPaged[~azure.mgmt.containerservice.models.TrustedAccessRoleBinding] :raises ~azure.core.exceptions.HttpResponseError: """ _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - cls: ClsType[List[_models.MeshMembership]] = kwargs.pop("cls", None) + cls: ClsType[List[_models.TrustedAccessRoleBinding]] = kwargs.pop("cls", None) error_map: MutableMapping = { 401: ClientAuthenticationError, @@ -16578,7 +9897,7 @@ def list_by_managed_cluster( def prepare_request(next_link=None): if not next_link: - _request = build_mesh_memberships_list_by_managed_cluster_request( + _request = build_trusted_access_role_bindings_list_request( resource_group_name=resource_group_name, resource_name=resource_name, subscription_id=self._config.subscription_id, @@ -16621,117 +9940,7 @@ def prepare_request(next_link=None): def extract_data(pipeline_response): deserialized = pipeline_response.http_response.json() list_of_elem = _deserialize( - List[_models.MeshMembership], - deserialized.get("value", []), - ) - if cls: - list_of_elem = cls(list_of_elem) # type: ignore - return deserialized.get("nextLink") or None, iter(list_of_elem) - - def get_next(next_link=None): - _request = prepare_request(next_link) - - _stream = False - pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access - _request, stream=_stream, **kwargs - ) - response = pipeline_response.http_response - - if response.status_code not in [200]: - map_error(status_code=response.status_code, response=response, error_map=error_map) - error = _failsafe_deserialize( - _models.ErrorResponse, - response, - ) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - - return pipeline_response - - return ItemPaged(get_next, extract_data) - - -class Operations: - """ - .. warning:: - **DO NOT** instantiate this class directly. - - Instead, you should access the following operations through - :class:`~azure.mgmt.containerservice.ContainerServiceClient`'s - :attr:`operations` attribute. - """ - - def __init__(self, *args, **kwargs) -> None: - input_args = list(args) - self._client: PipelineClient = input_args.pop(0) if input_args else kwargs.pop("client") - self._config: ContainerServiceClientConfiguration = input_args.pop(0) if input_args else kwargs.pop("config") - self._serialize: Serializer = input_args.pop(0) if input_args else kwargs.pop("serializer") - self._deserialize: Deserializer = input_args.pop(0) if input_args else kwargs.pop("deserializer") - - @distributed_trace - def list(self, **kwargs: Any) -> ItemPaged["_models.OperationValue"]: - """Gets a list of operations. - - :return: An iterator like instance of OperationValue - :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.containerservice.models.OperationValue] - :raises ~azure.core.exceptions.HttpResponseError: - """ - _headers = kwargs.pop("headers", {}) or {} - _params = kwargs.pop("params", {}) or {} - - cls: ClsType[List[_models.OperationValue]] = kwargs.pop("cls", None) - - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - def prepare_request(next_link=None): - if not next_link: - - _request = build_operations_list_request( - api_version=self._config.api_version, - headers=_headers, - params=_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url( - "self._config.base_url", self._config.base_url, "str", skip_quote=True - ), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - else: - # make call to next link with the client's api-version - _parsed_next_link = urllib.parse.urlparse(next_link) - _next_request_params = case_insensitive_dict( - { - key: [urllib.parse.quote(v) for v in value] - for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items() - } - ) - _next_request_params["api-version"] = self._config.api_version - _request = HttpRequest( - "GET", - urllib.parse.urljoin(next_link, _parsed_next_link.path), - headers=_headers, - params=_next_request_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url( - "self._config.base_url", self._config.base_url, "str", skip_quote=True - ), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - return _request - - def extract_data(pipeline_response): - deserialized = pipeline_response.http_response.json() - list_of_elem = _deserialize( - List[_models.OperationValue], + List[_models.TrustedAccessRoleBinding], deserialized.get("value", []), ) if cls: @@ -16760,14 +9969,14 @@ def get_next(next_link=None): return ItemPaged(get_next, extract_data) -class AlertConfigurationsOperations: +class IdentityBindingsOperations: # pylint: disable=docstring-missing-param """ .. warning:: **DO NOT** instantiate this class directly. Instead, you should access the following operations through :class:`~azure.mgmt.containerservice.ContainerServiceClient`'s - :attr:`alert_configurations` attribute. + :attr:`identity_bindings` attribute. """ def __init__(self, *args, **kwargs) -> None: @@ -16779,33 +9988,33 @@ def __init__(self, *args, **kwargs) -> None: @distributed_trace @api_version_validation( - method_added_on="2026-05-02-preview", + method_added_on="2026-04-01", params_added_on={ - "2026-05-02-preview": [ + "2026-04-01": [ "api_version", "subscription_id", "resource_group_name", "resource_name", - "configuration_name", + "identity_binding_name", "accept", ] }, - api_versions_list=["2026-05-02-preview"], + api_versions_list=["2026-04-01", "2026-05-01"], ) def get( - self, resource_group_name: str, resource_name: str, configuration_name: str, **kwargs: Any - ) -> _models.AlertConfiguration: - """Gets the specified alert configuration of a managed cluster. + self, resource_group_name: str, resource_name: str, identity_binding_name: str, **kwargs: Any + ) -> _models.IdentityBinding: + """Gets the specified Identity Binding. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param resource_name: The name of the managed cluster resource. Required. :type resource_name: str - :param configuration_name: The name of the alert configuration. Required. - :type configuration_name: str - :return: AlertConfiguration. The AlertConfiguration is compatible with MutableMapping - :rtype: ~azure.mgmt.containerservice.models.AlertConfiguration + :param identity_binding_name: The name of the identity binding. Required. + :type identity_binding_name: str + :return: IdentityBinding. The IdentityBinding is compatible with MutableMapping + :rtype: ~azure.mgmt.containerservice.models.IdentityBinding :raises ~azure.core.exceptions.HttpResponseError: """ error_map: MutableMapping = { @@ -16819,12 +10028,12 @@ def get( _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - cls: ClsType[_models.AlertConfiguration] = kwargs.pop("cls", None) + cls: ClsType[_models.IdentityBinding] = kwargs.pop("cls", None) - _request = build_alert_configurations_get_request( + _request = build_identity_bindings_get_request( resource_group_name=resource_group_name, resource_name=resource_name, - configuration_name=configuration_name, + identity_binding_name=identity_binding_name, subscription_id=self._config.subscription_id, api_version=self._config.api_version, headers=_headers, @@ -16859,7 +10068,7 @@ def get( if _stream: deserialized = response.iter_bytes() if _decompress else response.iter_raw() else: - deserialized = _deserialize(_models.AlertConfiguration, response.json()) + deserialized = _deserialize(_models.IdentityBinding, response.json()) if cls: return cls(pipeline_response, deserialized, {}) # type: ignore @@ -16867,26 +10076,26 @@ def get( return deserialized # type: ignore @api_version_validation( - method_added_on="2026-05-02-preview", + method_added_on="2026-04-01", params_added_on={ - "2026-05-02-preview": [ + "2026-04-01": [ "api_version", "subscription_id", "resource_group_name", "resource_name", - "configuration_name", + "identity_binding_name", "content_type", "accept", ] }, - api_versions_list=["2026-05-02-preview"], + api_versions_list=["2026-04-01", "2026-05-01"], ) def _create_or_update_initial( self, resource_group_name: str, resource_name: str, - configuration_name: str, - resource: Union[_models.AlertConfiguration, _types.AlertConfiguration, IO[bytes]], + identity_binding_name: str, + parameters: Union[_models.IdentityBinding, _types.IdentityBinding, IO[bytes]], **kwargs: Any ) -> Iterator[bytes]: error_map: MutableMapping = { @@ -16905,15 +10114,15 @@ def _create_or_update_initial( content_type = content_type or "application/json" _content = None - if isinstance(resource, (IOBase, bytes)): - _content = resource + if isinstance(parameters, (IOBase, bytes)): + _content = parameters else: - _content = json.dumps(resource, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + _content = json.dumps(parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore - _request = build_alert_configurations_create_or_update_request( + _request = build_identity_bindings_create_or_update_request( resource_group_name=resource_group_name, resource_name=resource_name, - configuration_name=configuration_name, + identity_binding_name=identity_binding_name, subscription_id=self._config.subscription_id, content_type=content_type, api_version=self._config.api_version, @@ -16966,29 +10175,29 @@ def begin_create_or_update( self, resource_group_name: str, resource_name: str, - configuration_name: str, - resource: _models.AlertConfiguration, + identity_binding_name: str, + parameters: _models.IdentityBinding, *, content_type: str = "application/json", **kwargs: Any - ) -> LROPoller[_models.AlertConfiguration]: - """Creates or updates an alert configuration in the specified managed cluster. + ) -> LROPoller[_models.IdentityBinding]: + """Creates or updates an identity binding in the specified managed cluster. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param resource_name: The name of the managed cluster resource. Required. :type resource_name: str - :param configuration_name: The name of the alert configuration. Required. - :type configuration_name: str - :param resource: The alert configuration to create or update. Required. - :type resource: ~azure.mgmt.containerservice.models.AlertConfiguration + :param identity_binding_name: The name of the identity binding. Required. + :type identity_binding_name: str + :param parameters: The identity binding to create or update. Required. + :type parameters: ~azure.mgmt.containerservice.models.IdentityBinding :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str - :return: An instance of LROPoller that returns AlertConfiguration. The AlertConfiguration is + :return: An instance of LROPoller that returns IdentityBinding. The IdentityBinding is compatible with MutableMapping - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.containerservice.models.AlertConfiguration] + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.containerservice.models.IdentityBinding] :raises ~azure.core.exceptions.HttpResponseError: """ @@ -16997,29 +10206,29 @@ def begin_create_or_update( self, resource_group_name: str, resource_name: str, - configuration_name: str, - resource: _types.AlertConfiguration, + identity_binding_name: str, + parameters: _types.IdentityBinding, *, content_type: str = "application/json", **kwargs: Any - ) -> LROPoller[_models.AlertConfiguration]: - """Creates or updates an alert configuration in the specified managed cluster. + ) -> LROPoller[_models.IdentityBinding]: + """Creates or updates an identity binding in the specified managed cluster. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param resource_name: The name of the managed cluster resource. Required. :type resource_name: str - :param configuration_name: The name of the alert configuration. Required. - :type configuration_name: str - :param resource: The alert configuration to create or update. Required. - :type resource: ~azure.mgmt.containerservice.types.AlertConfiguration + :param identity_binding_name: The name of the identity binding. Required. + :type identity_binding_name: str + :param parameters: The identity binding to create or update. Required. + :type parameters: ~azure.mgmt.containerservice.types.IdentityBinding :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str - :return: An instance of LROPoller that returns AlertConfiguration. The AlertConfiguration is + :return: An instance of LROPoller that returns IdentityBinding. The IdentityBinding is compatible with MutableMapping - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.containerservice.models.AlertConfiguration] + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.containerservice.models.IdentityBinding] :raises ~azure.core.exceptions.HttpResponseError: """ @@ -17028,79 +10237,79 @@ def begin_create_or_update( self, resource_group_name: str, resource_name: str, - configuration_name: str, - resource: IO[bytes], + identity_binding_name: str, + parameters: IO[bytes], *, content_type: str = "application/json", **kwargs: Any - ) -> LROPoller[_models.AlertConfiguration]: - """Creates or updates an alert configuration in the specified managed cluster. + ) -> LROPoller[_models.IdentityBinding]: + """Creates or updates an identity binding in the specified managed cluster. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param resource_name: The name of the managed cluster resource. Required. :type resource_name: str - :param configuration_name: The name of the alert configuration. Required. - :type configuration_name: str - :param resource: The alert configuration to create or update. Required. - :type resource: IO[bytes] + :param identity_binding_name: The name of the identity binding. Required. + :type identity_binding_name: str + :param parameters: The identity binding to create or update. Required. + :type parameters: IO[bytes] :keyword content_type: Body Parameter content-type. Content type parameter for binary body. Default value is "application/json". :paramtype content_type: str - :return: An instance of LROPoller that returns AlertConfiguration. The AlertConfiguration is + :return: An instance of LROPoller that returns IdentityBinding. The IdentityBinding is compatible with MutableMapping - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.containerservice.models.AlertConfiguration] + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.containerservice.models.IdentityBinding] :raises ~azure.core.exceptions.HttpResponseError: """ @distributed_trace @api_version_validation( - method_added_on="2026-05-02-preview", + method_added_on="2026-04-01", params_added_on={ - "2026-05-02-preview": [ + "2026-04-01": [ "api_version", "subscription_id", "resource_group_name", "resource_name", - "configuration_name", + "identity_binding_name", "content_type", "accept", ] }, - api_versions_list=["2026-05-02-preview"], + api_versions_list=["2026-04-01", "2026-05-01"], ) def begin_create_or_update( self, resource_group_name: str, resource_name: str, - configuration_name: str, - resource: Union[_models.AlertConfiguration, _types.AlertConfiguration, IO[bytes]], + identity_binding_name: str, + parameters: Union[_models.IdentityBinding, _types.IdentityBinding, IO[bytes]], **kwargs: Any - ) -> LROPoller[_models.AlertConfiguration]: - """Creates or updates an alert configuration in the specified managed cluster. + ) -> LROPoller[_models.IdentityBinding]: + """Creates or updates an identity binding in the specified managed cluster. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param resource_name: The name of the managed cluster resource. Required. :type resource_name: str - :param configuration_name: The name of the alert configuration. Required. - :type configuration_name: str - :param resource: The alert configuration to create or update. Is either a AlertConfiguration - type or a IO[bytes] type. Required. - :type resource: ~azure.mgmt.containerservice.models.AlertConfiguration or - ~azure.mgmt.containerservice.types.AlertConfiguration or IO[bytes] - :return: An instance of LROPoller that returns AlertConfiguration. The AlertConfiguration is + :param identity_binding_name: The name of the identity binding. Required. + :type identity_binding_name: str + :param parameters: The identity binding to create or update. Is either a IdentityBinding type + or a IO[bytes] type. Required. + :type parameters: ~azure.mgmt.containerservice.models.IdentityBinding or + ~azure.mgmt.containerservice.types.IdentityBinding or IO[bytes] + :return: An instance of LROPoller that returns IdentityBinding. The IdentityBinding is compatible with MutableMapping - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.containerservice.models.AlertConfiguration] + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.containerservice.models.IdentityBinding] :raises ~azure.core.exceptions.HttpResponseError: """ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = kwargs.pop("params", {}) or {} content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - cls: ClsType[_models.AlertConfiguration] = kwargs.pop("cls", None) + cls: ClsType[_models.IdentityBinding] = kwargs.pop("cls", None) polling: Union[bool, PollingMethod] = kwargs.pop("polling", True) lro_delay = kwargs.pop("polling_interval", self._config.polling_interval) cont_token: Optional[str] = kwargs.pop("continuation_token", None) @@ -17108,8 +10317,8 @@ def begin_create_or_update( raw_result = self._create_or_update_initial( resource_group_name=resource_group_name, resource_name=resource_name, - configuration_name=configuration_name, - resource=resource, + identity_binding_name=identity_binding_name, + parameters=parameters, content_type=content_type, cls=lambda x, y, z: x, headers=_headers, @@ -17121,7 +10330,7 @@ def begin_create_or_update( def get_long_running_output(pipeline_response): response = pipeline_response.http_response - deserialized = _deserialize(_models.AlertConfiguration, response.json()) + deserialized = _deserialize(_models.IdentityBinding, response.json()) if cls: return cls(pipeline_response, deserialized, {}) # type: ignore return deserialized @@ -17139,31 +10348,31 @@ def get_long_running_output(pipeline_response): else: polling_method = polling if cont_token: - return LROPoller[_models.AlertConfiguration].from_continuation_token( + return LROPoller[_models.IdentityBinding].from_continuation_token( polling_method=polling_method, continuation_token=cont_token, client=self._client, deserialization_callback=get_long_running_output, ) - return LROPoller[_models.AlertConfiguration]( + return LROPoller[_models.IdentityBinding]( self._client, raw_result, get_long_running_output, polling_method # type: ignore ) @api_version_validation( - method_added_on="2026-05-02-preview", + method_added_on="2026-04-01", params_added_on={ - "2026-05-02-preview": [ + "2026-04-01": [ "api_version", "subscription_id", "resource_group_name", "resource_name", - "configuration_name", + "identity_binding_name", ] }, - api_versions_list=["2026-05-02-preview"], + api_versions_list=["2026-04-01", "2026-05-01"], ) def _delete_initial( - self, resource_group_name: str, resource_name: str, configuration_name: str, **kwargs: Any + self, resource_group_name: str, resource_name: str, identity_binding_name: str, **kwargs: Any ) -> Iterator[bytes]: error_map: MutableMapping = { 401: ClientAuthenticationError, @@ -17178,10 +10387,10 @@ def _delete_initial( cls: ClsType[Iterator[bytes]] = kwargs.pop("cls", None) - _request = build_alert_configurations_delete_request( + _request = build_identity_bindings_delete_request( resource_group_name=resource_group_name, resource_name=resource_name, - configuration_name=configuration_name, + identity_binding_name=identity_binding_name, subscription_id=self._config.subscription_id, api_version=self._config.api_version, headers=_headers, @@ -17229,30 +10438,30 @@ def _delete_initial( @distributed_trace @api_version_validation( - method_added_on="2026-05-02-preview", + method_added_on="2026-04-01", params_added_on={ - "2026-05-02-preview": [ + "2026-04-01": [ "api_version", "subscription_id", "resource_group_name", "resource_name", - "configuration_name", + "identity_binding_name", ] }, - api_versions_list=["2026-05-02-preview"], + api_versions_list=["2026-04-01", "2026-05-01"], ) def begin_delete( - self, resource_group_name: str, resource_name: str, configuration_name: str, **kwargs: Any + self, resource_group_name: str, resource_name: str, identity_binding_name: str, **kwargs: Any ) -> LROPoller[None]: - """Deletes an alert configuration. + """Deletes an identity binding in the specified managed cluster. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param resource_name: The name of the managed cluster resource. Required. :type resource_name: str - :param configuration_name: The name of the alert configuration. Required. - :type configuration_name: str + :param identity_binding_name: The name of the identity binding. Required. + :type identity_binding_name: str :return: An instance of LROPoller that returns None :rtype: ~azure.core.polling.LROPoller[None] :raises ~azure.core.exceptions.HttpResponseError: @@ -17268,7 +10477,7 @@ def begin_delete( raw_result = self._delete_initial( resource_group_name=resource_group_name, resource_name=resource_name, - configuration_name=configuration_name, + identity_binding_name=identity_binding_name, cls=lambda x, y, z: x, headers=_headers, params=_params, @@ -17304,30 +10513,30 @@ def get_long_running_output(pipeline_response): # pylint: disable=inconsistent- @distributed_trace @api_version_validation( - method_added_on="2026-05-02-preview", + method_added_on="2026-04-01", params_added_on={ - "2026-05-02-preview": ["api_version", "subscription_id", "resource_group_name", "resource_name", "accept"] + "2026-04-01": ["api_version", "subscription_id", "resource_group_name", "resource_name", "accept"] }, - api_versions_list=["2026-05-02-preview"], + api_versions_list=["2026-04-01", "2026-05-01"], ) def list_by_managed_cluster( self, resource_group_name: str, resource_name: str, **kwargs: Any - ) -> ItemPaged["_models.AlertConfiguration"]: - """Gets a list of alert configurations in the specified managed cluster. + ) -> ItemPaged["_models.IdentityBinding"]: + """Gets a list of identity bindings in the specified managed cluster. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param resource_name: The name of the managed cluster resource. Required. :type resource_name: str - :return: An iterator like instance of AlertConfiguration - :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.containerservice.models.AlertConfiguration] + :return: An iterator like instance of IdentityBinding + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.containerservice.models.IdentityBinding] :raises ~azure.core.exceptions.HttpResponseError: """ _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - cls: ClsType[List[_models.AlertConfiguration]] = kwargs.pop("cls", None) + cls: ClsType[List[_models.IdentityBinding]] = kwargs.pop("cls", None) error_map: MutableMapping = { 401: ClientAuthenticationError, @@ -17340,7 +10549,7 @@ def list_by_managed_cluster( def prepare_request(next_link=None): if not next_link: - _request = build_alert_configurations_list_by_managed_cluster_request( + _request = build_identity_bindings_list_by_managed_cluster_request( resource_group_name=resource_group_name, resource_name=resource_name, subscription_id=self._config.subscription_id, @@ -17383,7 +10592,7 @@ def prepare_request(next_link=None): def extract_data(pipeline_response): deserialized = pipeline_response.http_response.json() list_of_elem = _deserialize( - List[_models.AlertConfiguration], + List[_models.IdentityBinding], deserialized.get("value", []), ) if cls: @@ -17412,14 +10621,14 @@ def get_next(next_link=None): return ItemPaged(get_next, extract_data) -class OperationStatusResultOperations: +class Operations: # pylint: disable=docstring-missing-param """ .. warning:: **DO NOT** instantiate this class directly. Instead, you should access the following operations through :class:`~azure.mgmt.containerservice.ContainerServiceClient`'s - :attr:`operation_status_result` attribute. + :attr:`operations` attribute. """ def __init__(self, *args, **kwargs) -> None: @@ -17430,124 +10639,17 @@ def __init__(self, *args, **kwargs) -> None: self._deserialize: Deserializer = input_args.pop(0) if input_args else kwargs.pop("deserializer") @distributed_trace - @api_version_validation( - method_added_on="2026-05-02-preview", - params_added_on={ - "2026-05-02-preview": [ - "api_version", - "subscription_id", - "resource_group_name", - "resource_name", - "agent_pool_name", - "operation_id", - "accept", - ] - }, - api_versions_list=["2026-05-02-preview"], - ) - def get_by_agent_pool( - self, resource_group_name: str, resource_name: str, agent_pool_name: str, operation_id: str, **kwargs: Any - ) -> _models.OperationStatusResult: - """Get the status of a specific operation in the specified agent pool. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param resource_name: The name of the managed cluster resource. Required. - :type resource_name: str - :param agent_pool_name: The name of the agent pool. Required. - :type agent_pool_name: str - :param operation_id: The ID of an ongoing async operation. Required. - :type operation_id: str - :return: OperationStatusResult. The OperationStatusResult is compatible with MutableMapping - :rtype: ~azure.mgmt.containerservice.models.OperationStatusResult - :raises ~azure.core.exceptions.HttpResponseError: - """ - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - _headers = kwargs.pop("headers", {}) or {} - _params = kwargs.pop("params", {}) or {} - - cls: ClsType[_models.OperationStatusResult] = kwargs.pop("cls", None) - - _request = build_operation_status_result_get_by_agent_pool_request( - resource_group_name=resource_group_name, - resource_name=resource_name, - agent_pool_name=agent_pool_name, - operation_id=operation_id, - subscription_id=self._config.subscription_id, - api_version=self._config.api_version, - headers=_headers, - params=_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - _decompress = kwargs.pop("decompress", True) - _stream = kwargs.pop("stream", False) - pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access - _request, stream=_stream, **kwargs - ) - - response = pipeline_response.http_response - - if response.status_code not in [200]: - if _stream: - try: - response.read() # Load the body in memory and close the socket - except (StreamConsumedError, StreamClosedError): - pass - map_error(status_code=response.status_code, response=response, error_map=error_map) - error = _failsafe_deserialize( - _models.ErrorResponse, - response, - ) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - - if _stream: - deserialized = response.iter_bytes() if _decompress else response.iter_raw() - else: - deserialized = _deserialize(_models.OperationStatusResult, response.json()) - - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - - return deserialized # type: ignore - - @distributed_trace - @api_version_validation( - method_added_on="2026-05-02-preview", - params_added_on={ - "2026-05-02-preview": ["api_version", "subscription_id", "resource_group_name", "resource_name", "accept"] - }, - api_versions_list=["2026-05-02-preview"], - ) - def list( - self, resource_group_name: str, resource_name: str, **kwargs: Any - ) -> ItemPaged["_models.OperationStatusResult"]: - """Gets a list of operations in the specified managedCluster. + def list(self, **kwargs: Any) -> ItemPaged["_models.OperationValue"]: + """Gets a list of operations. - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param resource_name: The name of the managed cluster resource. Required. - :type resource_name: str - :return: An iterator like instance of OperationStatusResult - :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.containerservice.models.OperationStatusResult] + :return: An iterator like instance of OperationValue + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.containerservice.models.OperationValue] :raises ~azure.core.exceptions.HttpResponseError: """ _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - cls: ClsType[List[_models.OperationStatusResult]] = kwargs.pop("cls", None) + cls: ClsType[List[_models.OperationValue]] = kwargs.pop("cls", None) error_map: MutableMapping = { 401: ClientAuthenticationError, @@ -17560,10 +10662,7 @@ def list( def prepare_request(next_link=None): if not next_link: - _request = build_operation_status_result_list_request( - resource_group_name=resource_group_name, - resource_name=resource_name, - subscription_id=self._config.subscription_id, + _request = build_operations_list_request( api_version=self._config.api_version, headers=_headers, params=_params, @@ -17600,128 +10699,39 @@ def prepare_request(next_link=None): return _request - def extract_data(pipeline_response): - deserialized = pipeline_response.http_response.json() - list_of_elem = _deserialize( - List[_models.OperationStatusResult], - deserialized.get("value", []), - ) - if cls: - list_of_elem = cls(list_of_elem) # type: ignore - return deserialized.get("nextLink") or None, iter(list_of_elem) - - def get_next(next_link=None): - _request = prepare_request(next_link) - - _stream = False - pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access - _request, stream=_stream, **kwargs - ) - response = pipeline_response.http_response - - if response.status_code not in [200]: - map_error(status_code=response.status_code, response=response, error_map=error_map) - error = _failsafe_deserialize( - _models.ErrorResponse, - response, - ) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - - return pipeline_response - - return ItemPaged(get_next, extract_data) - - @distributed_trace - @api_version_validation( - method_added_on="2026-05-02-preview", - params_added_on={ - "2026-05-02-preview": [ - "api_version", - "subscription_id", - "resource_group_name", - "resource_name", - "operation_id", - "accept", - ] - }, - api_versions_list=["2026-05-02-preview"], - ) - def get( - self, resource_group_name: str, resource_name: str, operation_id: str, **kwargs: Any - ) -> _models.OperationStatusResult: - """Get the status of a specific operation in the specified managed cluster. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param resource_name: The name of the managed cluster resource. Required. - :type resource_name: str - :param operation_id: The ID of an ongoing async operation. Required. - :type operation_id: str - :return: OperationStatusResult. The OperationStatusResult is compatible with MutableMapping - :rtype: ~azure.mgmt.containerservice.models.OperationStatusResult - :raises ~azure.core.exceptions.HttpResponseError: - """ - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - _headers = kwargs.pop("headers", {}) or {} - _params = kwargs.pop("params", {}) or {} - - cls: ClsType[_models.OperationStatusResult] = kwargs.pop("cls", None) - - _request = build_operation_status_result_get_request( - resource_group_name=resource_group_name, - resource_name=resource_name, - operation_id=operation_id, - subscription_id=self._config.subscription_id, - api_version=self._config.api_version, - headers=_headers, - params=_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - _decompress = kwargs.pop("decompress", True) - _stream = kwargs.pop("stream", False) - pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access - _request, stream=_stream, **kwargs - ) - - response = pipeline_response.http_response + def extract_data(pipeline_response): + deserialized = pipeline_response.http_response.json() + list_of_elem = _deserialize( + List[_models.OperationValue], + deserialized.get("value", []), + ) + if cls: + list_of_elem = cls(list_of_elem) # type: ignore + return deserialized.get("nextLink") or None, iter(list_of_elem) - if response.status_code not in [200]: - if _stream: - try: - response.read() # Load the body in memory and close the socket - except (StreamConsumedError, StreamClosedError): - pass - map_error(status_code=response.status_code, response=response, error_map=error_map) - error = _failsafe_deserialize( - _models.ErrorResponse, - response, + def get_next(next_link=None): + _request = prepare_request(next_link) + + _stream = False + pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access + _request, stream=_stream, **kwargs ) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + response = pipeline_response.http_response - if _stream: - deserialized = response.iter_bytes() if _decompress else response.iter_raw() - else: - deserialized = _deserialize(_models.OperationStatusResult, response.json()) + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore + return pipeline_response - return deserialized # type: ignore + return ItemPaged(get_next, extract_data) -class PrivateLinkResourcesOperations: +class PrivateLinkResourcesOperations: # pylint: disable=docstring-missing-param """ .. warning:: **DO NOT** instantiate this class directly. @@ -17816,7 +10826,7 @@ def list( return deserialized # type: ignore -class ResolvePrivateLinkServiceIdOperations: +class ResolvePrivateLinkServiceIdOperations: # pylint: disable=docstring-missing-param """ .. warning:: **DO NOT** instantiate this class directly. @@ -18005,7 +11015,7 @@ def post( return deserialized # type: ignore -class TrustedAccessRolesOperations: +class TrustedAccessRolesOperations: # pylint: disable=docstring-missing-param """ .. warning:: **DO NOT** instantiate this class directly. @@ -18117,245 +11127,3 @@ def get_next(next_link=None): return pipeline_response return ItemPaged(get_next, extract_data) - - -class ContainerServiceOperations: - """ - .. warning:: - **DO NOT** instantiate this class directly. - - Instead, you should access the following operations through - :class:`~azure.mgmt.containerservice.ContainerServiceClient`'s - :attr:`container_service` attribute. - """ - - def __init__(self, *args, **kwargs) -> None: - input_args = list(args) - self._client: PipelineClient = input_args.pop(0) if input_args else kwargs.pop("client") - self._config: ContainerServiceClientConfiguration = input_args.pop(0) if input_args else kwargs.pop("config") - self._serialize: Serializer = input_args.pop(0) if input_args else kwargs.pop("serializer") - self._deserialize: Deserializer = input_args.pop(0) if input_args else kwargs.pop("deserializer") - - @distributed_trace - def list_node_image_versions(self, location: str, **kwargs: Any) -> ItemPaged["_models.NodeImageVersion"]: - """Gets a list of supported NodeImage versions in the specified subscription. - - Only returns the latest version of each node image. For example there may be an - AKSUbuntu-1804gen2containerd-2024.01.26, but only AKSUbuntu-1804gen2containerd-2024.02.02 is - visible in this list. - - :param location: The name of the Azure region. Required. - :type location: str - :return: An iterator like instance of NodeImageVersion - :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.containerservice.models.NodeImageVersion] - :raises ~azure.core.exceptions.HttpResponseError: - """ - _headers = kwargs.pop("headers", {}) or {} - _params = kwargs.pop("params", {}) or {} - - cls: ClsType[List[_models.NodeImageVersion]] = kwargs.pop("cls", None) - - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - def prepare_request(next_link=None): - if not next_link: - - _request = build_container_service_list_node_image_versions_request( - location=location, - subscription_id=self._config.subscription_id, - api_version=self._config.api_version, - headers=_headers, - params=_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url( - "self._config.base_url", self._config.base_url, "str", skip_quote=True - ), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - else: - # make call to next link with the client's api-version - _parsed_next_link = urllib.parse.urlparse(next_link) - _next_request_params = case_insensitive_dict( - { - key: [urllib.parse.quote(v) for v in value] - for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items() - } - ) - _next_request_params["api-version"] = self._config.api_version - _request = HttpRequest( - "GET", - urllib.parse.urljoin(next_link, _parsed_next_link.path), - headers=_headers, - params=_next_request_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url( - "self._config.base_url", self._config.base_url, "str", skip_quote=True - ), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - return _request - - def extract_data(pipeline_response): - deserialized = pipeline_response.http_response.json() - list_of_elem = _deserialize( - List[_models.NodeImageVersion], - deserialized.get("value", []), - ) - if cls: - list_of_elem = cls(list_of_elem) # type: ignore - return deserialized.get("nextLink") or None, iter(list_of_elem) - - def get_next(next_link=None): - _request = prepare_request(next_link) - - _stream = False - pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access - _request, stream=_stream, **kwargs - ) - response = pipeline_response.http_response - - if response.status_code not in [200]: - map_error(status_code=response.status_code, response=response, error_map=error_map) - error = _failsafe_deserialize( - _models.ErrorResponse, - response, - ) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - - return pipeline_response - - return ItemPaged(get_next, extract_data) - - -class VmSkusOperations: - """ - .. warning:: - **DO NOT** instantiate this class directly. - - Instead, you should access the following operations through - :class:`~azure.mgmt.containerservice.ContainerServiceClient`'s - :attr:`vm_skus` attribute. - """ - - def __init__(self, *args, **kwargs) -> None: - input_args = list(args) - self._client: PipelineClient = input_args.pop(0) if input_args else kwargs.pop("client") - self._config: ContainerServiceClientConfiguration = input_args.pop(0) if input_args else kwargs.pop("config") - self._serialize: Serializer = input_args.pop(0) if input_args else kwargs.pop("serializer") - self._deserialize: Deserializer = input_args.pop(0) if input_args else kwargs.pop("deserializer") - - @distributed_trace - def list( - self, location: str, *, include_extended_locations: Optional[bool] = None, **kwargs: Any - ) -> ItemPaged["_models.ResourceSku"]: - """Gets the list of VM SKUs accepted by AKS. - - Gets the list of VM SKUs accepted by AKS when creating node pools in a specified location. AKS - will perform a best effort approach to provision the requested VM SKUs, but availability is not - guaranteed. - - :param location: The name of the Azure region. Required. - :type location: str - :keyword include_extended_locations: To Include Extended Locations information or not in the - response. Default value is None. - :paramtype include_extended_locations: bool - :return: An iterator like instance of ResourceSku - :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.containerservice.models.ResourceSku] - :raises ~azure.core.exceptions.HttpResponseError: - """ - _headers = kwargs.pop("headers", {}) or {} - _params = kwargs.pop("params", {}) or {} - - cls: ClsType[List[_models.ResourceSku]] = kwargs.pop("cls", None) - - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - def prepare_request(next_link=None): - if not next_link: - - _request = build_vm_skus_list_request( - location=location, - subscription_id=self._config.subscription_id, - include_extended_locations=include_extended_locations, - api_version=self._config.api_version, - headers=_headers, - params=_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url( - "self._config.base_url", self._config.base_url, "str", skip_quote=True - ), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - else: - # make call to next link with the client's api-version - _parsed_next_link = urllib.parse.urlparse(next_link) - _next_request_params = case_insensitive_dict( - { - key: [urllib.parse.quote(v) for v in value] - for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items() - } - ) - _next_request_params["api-version"] = self._config.api_version - _request = HttpRequest( - "GET", - urllib.parse.urljoin(next_link, _parsed_next_link.path), - headers=_headers, - params=_next_request_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url( - "self._config.base_url", self._config.base_url, "str", skip_quote=True - ), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - return _request - - def extract_data(pipeline_response): - deserialized = pipeline_response.http_response.json() - list_of_elem = _deserialize( - List[_models.ResourceSku], - deserialized.get("value", []), - ) - if cls: - list_of_elem = cls(list_of_elem) # type: ignore - return deserialized.get("nextLink") or None, iter(list_of_elem) - - def get_next(next_link=None): - _request = prepare_request(next_link) - - _stream = False - pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access - _request, stream=_stream, **kwargs - ) - response = pipeline_response.http_response - - if response.status_code not in [200]: - map_error(status_code=response.status_code, response=response, error_map=error_map) - error = _failsafe_deserialize( - _models.ErrorResponse, - response, - ) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - - return pipeline_response - - return ItemPaged(get_next, extract_data) diff --git a/sdk/containerservice/azure-mgmt-containerservice/azure/mgmt/containerservice/types.py b/sdk/containerservice/azure-mgmt-containerservice/azure/mgmt/containerservice/types.py index c83466d95d67..34cdbb2a1a71 100644 --- a/sdk/containerservice/azure-mgmt-containerservice/azure/mgmt/containerservice/types.py +++ b/sdk/containerservice/azure-mgmt-containerservice/azure/mgmt/containerservice/types.py @@ -13,27 +13,17 @@ if TYPE_CHECKING: from .models import ( AccelerationMode, - AddonAutoscaling, AdoptionPolicy, AdvancedNetworkPolicies, AgentPoolMode, - AgentPoolNetworkInterfaceType, AgentPoolSSHAccess, AgentPoolType, - AlertConfigurationMode, - AlertConfigurationProvisioningState, ArtifactSource, BackendPoolType, - BastionSku, - ClusterServiceLoadBalancerHealthProbeMode, Code, ConnectionStatus, - ContainerNetworkLogs, - ControlPlaneScalingSize, CreatedByType, DeletePolicy, - DriftAction, - DriverType, Expander, ExtendedLocationTypes, GPUDriver, @@ -41,10 +31,7 @@ GatewayAPIIstioEnabled, IPFamily, IdentityBindingProvisioningState, - InfrastructureEncryption, - IpvsScheduler, IstioIngressGatewayMode, - JWTAuthenticatorProvisioningState, KeyVaultNetworkAccessTypes, KubeletDiskType, KubernetesSupportPlan, @@ -61,10 +48,6 @@ ManagedClusterSKUName, ManagedClusterSKUTier, ManagedGatewayType, - ManagementMode, - MeshMembershipProvisioningState, - MigStrategy, - Mode, NamespaceProvisioningState, NetworkDataplane, NetworkMode, @@ -72,30 +55,25 @@ NetworkPluginMode, NetworkPolicy, NginxIngressControllerType, - NodeDisruptionPolicy, NodeOSUpgradeChannel, NodeProvisioningDefaultNodePools, NodeProvisioningMode, OSDiskType, OSSKU, OSType, - Operator, OutboundType, PodIPAllocationMode, - PodLinkLocalAccess, PolicyRule, PrivateEndpointConnectionProvisioningState, Protocol, ProxyRedirectionMechanism, PublicNetworkAccess, ResourceIdentityType, - ResourceProvisioningState, RestrictionLevel, ScaleDownMode, ScaleSetEvictionPolicy, ScaleSetPriority, SchedulerConfigMode, - SeccompDefault, ServiceMeshMode, SnapshotType, TransitEncryptionType, @@ -103,8 +81,6 @@ Type, UndrainableNodeBehavior, UpgradeChannel, - UpgradeStrategy, - VmState, WeekDay, WorkloadRuntime, ) @@ -113,11 +89,10 @@ class AbsoluteMonthlySchedule(TypedDict, total=False): """For schedules like: 'recur every month on the 15th' or 'recur every 3 months on the 20th'. - :ivar interval_months: Specifies the number of months between each set of occurrences. - Required. - :vartype interval_months: int - :ivar day_of_month: The date of the month. Required. - :vartype day_of_month: int + :ivar intervalMonths: Specifies the number of months between each set of occurrences. Required. + :vartype intervalMonths: int + :ivar dayOfMonth: The date of the month. Required. + :vartype dayOfMonth: int """ intervalMonths: Required[int] @@ -175,13 +150,13 @@ class AdvancedNetworkingPerformance(TypedDict, total=False): """Profile to enable performance-enhancing features on clusters that use Azure CNI powered by Cilium. - :ivar acceleration_mode: Enable advanced network acceleration options. This allows users to + :ivar accelerationMode: 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. Known values are: "BpfVeth" and "None". - :vartype acceleration_mode: Union[str, "AccelerationMode"] + :vartype accelerationMode: Union[str, "AccelerationMode"] """ accelerationMode: Union[str, "AccelerationMode"] @@ -198,17 +173,17 @@ class AdvancedNetworkingSecurity(TypedDict, total=False): :ivar enabled: 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. :vartype enabled: bool - :ivar advanced_network_policies: 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 + :ivar advancedNetworkPolicies: 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. Known values are: "L7", "FQDN", and "None". - :vartype advanced_network_policies: Union[str, "AdvancedNetworkPolicies"] - :ivar transit_encryption: Encryption configuration for Cilium-based clusters. Once enabled all + :vartype advancedNetworkPolicies: Union[str, "AdvancedNetworkPolicies"] + :ivar transitEncryption: Encryption configuration for Cilium-based clusters. Once enabled all traffic between Cilium managed pods will be encrypted when it leaves the node boundary. - :vartype transit_encryption: "AdvancedNetworkingSecurityTransitEncryption" + :vartype transitEncryption: "AdvancedNetworkingSecurityTransitEncryption" """ enabled: bool @@ -231,14 +206,14 @@ class AdvancedNetworkingSecurityTransitEncryption(TypedDict, total=False): # py managed pods will be encrypted when it leaves the node boundary. :ivar type: Configures pod-to-pod encryption. This can be enabled only on Cilium-based - clusters. If not specified, the default value is None. Known values are: "WireGuard", "mTLS", - and "None". + clusters. If not specified, the default value is None. Known values are: "WireGuard" and + "None". :vartype type: Union[str, "TransitEncryptionType"] """ type: Union[str, "TransitEncryptionType"] """Configures pod-to-pod encryption. This can be enabled only on Cilium-based clusters. If not - specified, the default value is None. Known values are: \"WireGuard\", \"mTLS\", and \"None\".""" + specified, the default value is None. Known values are: \"WireGuard\" and \"None\".""" class Resource(TypedDict, total=False): @@ -252,9 +227,9 @@ class Resource(TypedDict, total=False): :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts". :vartype type: str - :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy + :ivar systemData: Azure Resource Manager metadata containing createdBy and modifiedBy information. - :vartype system_data: "SystemData" + :vartype systemData: "SystemData" """ id: str @@ -280,9 +255,9 @@ class ProxyResource(Resource): :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts". :vartype type: str - :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy + :ivar systemData: Azure Resource Manager metadata containing createdBy and modifiedBy information. - :vartype system_data: "SystemData" + :vartype systemData: "SystemData" """ @@ -298,9 +273,9 @@ class AgentPool(ProxyResource): :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts". :vartype type: str - :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy + :ivar systemData: Azure Resource Manager metadata containing createdBy and modifiedBy information. - :vartype system_data: "SystemData" + :vartype systemData: "SystemData" :ivar properties: The resource-specific properties for this resource. :vartype properties: "AgentPoolManagedClusterAgentPoolProfileProperties" """ @@ -324,60 +299,11 @@ class AgentPoolArtifactStreamingProfile(TypedDict, total=False): not specified, the default is false.""" -class AgentPoolBlueGreenUpgradeSettings(TypedDict, total=False): - """Settings for blue-green upgrade on an agentpool. - - :ivar drain_batch_size: 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 - `_. - :vartype drain_batch_size: str - :ivar drain_timeout_in_minutes: 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. - :vartype drain_timeout_in_minutes: int - :ivar batch_soak_duration_in_minutes: 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. - :vartype batch_soak_duration_in_minutes: int - :ivar final_soak_duration_in_minutes: 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. - :vartype final_soak_duration_in_minutes: int - """ - - drainBatchSize: str - """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 - `_.""" - drainTimeoutInMinutes: int - """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.""" - batchSoakDurationInMinutes: int - """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.""" - finalSoakDurationInMinutes: int - """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.""" - - class AgentPoolDeleteMachinesParameter(TypedDict, total=False): """Specifies a list of machine names from the agent pool to be deleted. - :ivar machine_names: The agent pool machine names. Required. - :vartype machine_names: list[str] + :ivar machineNames: The agent pool machine names. Required. + :vartype machineNames: list[str] """ machineNames: Required[list[str]] @@ -387,13 +313,13 @@ class AgentPoolDeleteMachinesParameter(TypedDict, total=False): class AgentPoolGatewayProfile(TypedDict, total=False): """Profile of the managed cluster gateway agent pool. - :ivar public_ip_prefix_size: 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. - :vartype public_ip_prefix_size: int + :ivar publicIPPrefixSize: 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. + :vartype publicIPPrefixSize: int """ publicIPPrefixSize: int @@ -408,88 +334,88 @@ class AgentPoolGatewayProfile(TypedDict, total=False): class AgentPoolManagedClusterAgentPoolProfileProperties(TypedDict, total=False): # pylint: disable=name-too-long """Properties for the container service agent pool profile. - :ivar e_tag: Unique read-only string used to implement optimistic concurrency. The eTag value + :ivar eTag: 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. - :vartype e_tag: str + :vartype eTag: str :ivar count: 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. :vartype count: int - :ivar vm_size: The size of the agent pool VMs. VM size availability varies by region. If a node + :ivar vmSize: 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 `_. - :vartype vm_size: str - :ivar os_disk_size_gb: 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. - :vartype os_disk_size_gb: int - :ivar os_disk_type: The OS disk type to be used for machines in the agent pool. The default is + :vartype vmSize: str + :ivar osDiskSizeGB: 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. + :vartype osDiskSizeGB: int + :ivar osDiskType: 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 `_. Known values are: "Managed" and "Ephemeral". - :vartype os_disk_type: Union[str, "OSDiskType"] - :ivar kubelet_disk_type: Determines the placement of emptyDir volumes, container runtime data + :vartype osDiskType: Union[str, "OSDiskType"] + :ivar kubeletDiskType: Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral storage. Known values are: "OS" and "Temporary". - :vartype kubelet_disk_type: Union[str, "KubeletDiskType"] - :ivar workload_runtime: Determines the type of workload a node can run. Known values are: - "OCIContainer", "WasmWasi", "KataMshvVmIsolation", and "KataVmIsolation". - :vartype workload_runtime: Union[str, "WorkloadRuntime"] - :ivar message_of_the_day: Message of the day for Linux nodes, base64-encoded. A base64-encoded + :vartype kubeletDiskType: Union[str, "KubeletDiskType"] + :ivar workloadRuntime: Determines the type of workload a node can run. Known values are: + "OCIContainer", "WasmWasi", and "KataVmIsolation". + :vartype workloadRuntime: Union[str, "WorkloadRuntime"] + :ivar messageOfTheDay: 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). - :vartype message_of_the_day: str - :ivar vnet_subnet_id: The ID of the subnet which agent pool nodes and optionally pods will join + :vartype messageOfTheDay: str + :ivar vnetSubnetID: 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}. - :vartype vnet_subnet_id: str - :ivar pod_subnet_id: 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: + :vartype vnetSubnetID: str + :ivar podSubnetID: 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}. - :vartype pod_subnet_id: str - :ivar pod_ip_allocation_mode: Pod IP Allocation Mode. The IP allocation mode for pods in the - agent pool. Must be used with podSubnetId. The default is 'DynamicIndividual'. Known values - are: "DynamicIndividual" and "StaticBlock". - :vartype pod_ip_allocation_mode: Union[str, "PodIPAllocationMode"] - :ivar max_pods: The maximum number of pods that can run on a node. - :vartype max_pods: int - :ivar os_type: The operating system type. The default is Linux. Known values are: "Linux" and + :vartype podSubnetID: str + :ivar podIPAllocationMode: Pod IP Allocation Mode. The IP allocation mode for pods in the agent + pool. Must be used with podSubnetId. The default is 'DynamicIndividual'. Known values are: + "DynamicIndividual" and "StaticBlock". + :vartype podIPAllocationMode: Union[str, "PodIPAllocationMode"] + :ivar maxPods: The maximum number of pods that can run on a node. + :vartype maxPods: int + :ivar osType: The operating system type. The default is Linux. Known values are: "Linux" and "Windows". - :vartype os_type: Union[str, "OSType"] - :ivar os_sku: Specifies the OS SKU used by the agent pool. The default is Ubuntu if OSType is + :vartype osType: Union[str, "OSType"] + :ivar osSKU: 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. Known values are: "Ubuntu", "AzureLinux", "AzureLinux3", "Mariner", - "Flatcar", "CBLMariner", "Windows2019", "Windows2022", "Ubuntu2204", "Windows2025", - "WindowsAnnual", "Ubuntu2404", and "AzureContainerLinux". - :vartype os_sku: Union[str, "OSSKU"] - :ivar max_count: The maximum number of nodes for auto-scaling. - :vartype max_count: int - :ivar min_count: The minimum number of nodes for auto-scaling. - :vartype min_count: int - :ivar enable_auto_scaling: Whether to enable auto-scaler. - :vartype enable_auto_scaling: bool - :ivar scale_down_mode: 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. Known values - are: "Delete" and "Deallocate". - :vartype scale_down_mode: Union[str, "ScaleDownMode"] - :ivar type_properties_type: The type of Agent Pool. Known values are: - "VirtualMachineScaleSets", "AvailabilitySet", "VirtualMachines", and "FlexNodes". - :vartype type_properties_type: Union[str, "AgentPoolType"] + 1.25 if OSType is Windows. Known values are: "Ubuntu", "AzureLinux", "AzureLinux3", + "CBLMariner", "Windows2019", "Windows2022", "Ubuntu2204", "Windows2025", "Ubuntu2404", and + "AzureContainerLinux". + :vartype osSKU: Union[str, "OSSKU"] + :ivar maxCount: The maximum number of nodes for auto-scaling. + :vartype maxCount: int + :ivar minCount: The minimum number of nodes for auto-scaling. + :vartype minCount: int + :ivar enableAutoScaling: Whether to enable auto-scaler. + :vartype enableAutoScaling: bool + :ivar scaleDownMode: 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. Known values are: + "Delete" and "Deallocate". + :vartype scaleDownMode: Union[str, "ScaleDownMode"] + :ivar type: The type of Agent Pool. Known values are: "VirtualMachineScaleSets", + "AvailabilitySet", and "VirtualMachines". + :vartype type: Union[str, "AgentPoolType"] :ivar mode: 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 `_. Known values are: "System", "User", - "Gateway", "ManagedSystem", and "Machines". + and "Gateway". :vartype mode: Union[str, "AgentPoolMode"] - :ivar orchestrator_version: The version of Kubernetes specified by the user. Both patch version + :ivar orchestratorVersion: 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) @@ -499,142 +425,121 @@ class AgentPoolManagedClusterAgentPoolProfileProperties(TypedDict, total=False): 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 `_. - :vartype orchestrator_version: str - :ivar current_orchestrator_version: The version of Kubernetes the Agent Pool is running. If + :vartype orchestratorVersion: str + :ivar currentOrchestratorVersion: 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. - :vartype current_orchestrator_version: str - :ivar node_image_version: The version of the node image. Setting this value triggers an - agentPool rollback. Only values from ``recentlyUsedVersions`` are allowed. - :vartype node_image_version: str - :ivar upgrade_strategy: Defines the upgrade strategy for the agent pool. The default is - Rolling. Known values are: "Rolling" and "BlueGreen". - :vartype upgrade_strategy: Union[str, "UpgradeStrategy"] - :ivar enable_os_disk_full_caching: Whether to enable the full-cache ephemeral OS disk feature. - When this feature is enabled, the entire operating system will be locally cached on the - ephemeral OS disk, preventing E17 events caused by network failures. - :vartype enable_os_disk_full_caching: bool - :ivar upgrade_settings: Settings for upgrading the agentpool. - :vartype upgrade_settings: "AgentPoolUpgradeSettings" - :ivar upgrade_settings_blue_green: Settings for Blue-Green upgrade on the agentpool. Applies - when upgrade strategy is set to BlueGreen. - :vartype upgrade_settings_blue_green: "AgentPoolBlueGreenUpgradeSettings" - :ivar provisioning_state: The current deployment or provisioning state. - :vartype provisioning_state: str - :ivar power_state: Whether the Agent Pool is running or stopped. When an Agent Pool is first + :vartype currentOrchestratorVersion: str + :ivar nodeImageVersion: The version of the node image. Setting this value triggers an agentPool + rollback. Only values from ``recentlyUsedVersions`` are allowed. + :vartype nodeImageVersion: str + :ivar upgradeSettings: Settings for upgrading the agentpool. + :vartype upgradeSettings: "AgentPoolUpgradeSettings" + :ivar provisioningState: The current deployment or provisioning state. + :vartype provisioningState: str + :ivar powerState: 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. - :vartype power_state: "PowerState" - :ivar availability_zones: The list of Availability zones to use for nodes. This can only be + :vartype powerState: "PowerState" + :ivar availabilityZones: The list of Availability zones to use for nodes. This can only be specified if the AgentPoolType property is 'VirtualMachineScaleSets'. - :vartype availability_zones: list[str] - :ivar enable_node_public_ip: 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 + :vartype availabilityZones: list[str] + :ivar enableNodePublicIP: 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 `_. The default is false. - :vartype enable_node_public_ip: bool - :ivar node_public_ip_prefix_id: The public IP prefix ID which VM nodes should use IPs from. - This is of the form: + :vartype enableNodePublicIP: bool + :ivar nodePublicIPPrefixID: 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}. - :vartype node_public_ip_prefix_id: str - :ivar scale_set_priority: The Virtual Machine Scale Set priority. Known values are: "Spot" and + :vartype nodePublicIPPrefixID: str + :ivar scaleSetPriority: The Virtual Machine Scale Set priority. Known values are: "Spot" and "Regular". - :vartype scale_set_priority: Union[str, "ScaleSetPriority"] - :ivar scale_set_eviction_policy: The Virtual Machine Scale Set eviction policy. The eviction + :vartype scaleSetPriority: Union[str, "ScaleSetPriority"] + :ivar scaleSetEvictionPolicy: 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 `_. Known values are: "Delete" and "Deallocate". - :vartype scale_set_eviction_policy: Union[str, "ScaleSetEvictionPolicy"] - :ivar spot_max_price: The max price (in US Dollars) you are willing to pay for spot instances. + :vartype scaleSetEvictionPolicy: Union[str, "ScaleSetEvictionPolicy"] + :ivar spotMaxPrice: 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 `_. - :vartype spot_max_price: float + :vartype spotMaxPrice: float :ivar tags: The tags to be persisted on the agent pool virtual machine scale set. :vartype tags: dict[str, str] - :ivar node_labels: The node labels to be persisted across all nodes in agent pool. - :vartype node_labels: dict[str, str] - :ivar node_taints: The taints added to new nodes during node pool create and scale. For - example, key=value:NoSchedule. - :vartype node_taints: list[str] - :ivar node_initialization_taints: 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-``. - :vartype node_initialization_taints: list[str] - :ivar proximity_placement_group_id: The ID for Proximity Placement Group. - :vartype proximity_placement_group_id: str - :ivar kubelet_config: The Kubelet configuration on the agent pool nodes. - :vartype kubelet_config: "KubeletConfig" - :ivar linux_os_config: The OS configuration of Linux agent nodes. - :vartype linux_os_config: "LinuxOSConfig" - :ivar enable_encryption_at_host: 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 + :ivar nodeLabels: The node labels to be persisted across all nodes in agent pool. + :vartype nodeLabels: dict[str, str] + :ivar nodeTaints: The taints added to new nodes during node pool create and scale. For example, + key=value:NoSchedule. + :vartype nodeTaints: list[str] + :ivar proximityPlacementGroupID: The ID for Proximity Placement Group. + :vartype proximityPlacementGroupID: str + :ivar kubeletConfig: The Kubelet configuration on the agent pool nodes. + :vartype kubeletConfig: "KubeletConfig" + :ivar linuxOSConfig: The OS configuration of Linux agent nodes. + :vartype linuxOSConfig: "LinuxOSConfig" + :ivar enableEncryptionAtHost: 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 `_. - :vartype enable_encryption_at_host: bool - :ivar enable_ultra_ssd: Whether to enable UltraSSD. - :vartype enable_ultra_ssd: bool - :ivar enable_fips: Whether to use a FIPS-enabled OS. See `Add a FIPS-enabled node pool + :vartype enableEncryptionAtHost: bool + :ivar enableUltraSSD: Whether to enable UltraSSD. + :vartype enableUltraSSD: bool + :ivar enableFIPS: Whether to use a FIPS-enabled OS. See `Add a FIPS-enabled node pool `_ for more details. - :vartype enable_fips: bool - :ivar gpu_instance_profile: GPUInstanceProfile to be used to specify GPU MIG instance profile - for supported GPU VM SKU. Known values are: "MIG1g", "MIG2g", "MIG3g", "MIG4g", and "MIG7g". - :vartype gpu_instance_profile: Union[str, "GPUInstanceProfile"] - :ivar creation_data: CreationData to be used to specify the source Snapshot ID if the node pool + :vartype enableFIPS: bool + :ivar gpuInstanceProfile: GPUInstanceProfile to be used to specify GPU MIG instance profile for + supported GPU VM SKU. Known values are: "MIG1g", "MIG2g", "MIG3g", "MIG4g", and "MIG7g". + :vartype gpuInstanceProfile: Union[str, "GPUInstanceProfile"] + :ivar creationData: CreationData to be used to specify the source Snapshot ID if the node pool will be created/upgraded using a snapshot. - :vartype creation_data: "CreationData" - :ivar capacity_reservation_group_id: 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: + :vartype creationData: "CreationData" + :ivar capacityReservationGroupID: 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 `_. - :vartype capacity_reservation_group_id: str - :ivar host_group_id: The fully qualified resource ID of the Dedicated Host Group to provision + :vartype capacityReservationGroupID: str + :ivar hostGroupID: 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 `_. - :vartype host_group_id: str - :ivar network_profile: Network-related settings of an agent pool. - :vartype network_profile: "AgentPoolNetworkProfile" - :ivar windows_profile: The Windows agent pool's specific profile. - :vartype windows_profile: "AgentPoolWindowsProfile" - :ivar security_profile: The security settings of an agent pool. - :vartype security_profile: "AgentPoolSecurityProfile" - :ivar gpu_profile: GPU settings for the Agent Pool. - :vartype gpu_profile: "GPUProfile" - :ivar gateway_profile: Profile specific to a managed agent pool in Gateway mode. This field + :vartype hostGroupID: str + :ivar networkProfile: Network-related settings of an agent pool. + :vartype networkProfile: "AgentPoolNetworkProfile" + :ivar windowsProfile: The Windows agent pool's specific profile. + :vartype windowsProfile: "AgentPoolWindowsProfile" + :ivar securityProfile: The security settings of an agent pool. + :vartype securityProfile: "AgentPoolSecurityProfile" + :ivar gpuProfile: GPU settings for the Agent Pool. + :vartype gpuProfile: "GPUProfile" + :ivar gatewayProfile: Profile specific to a managed agent pool in Gateway mode. This field cannot be set if agent pool mode is not Gateway. - :vartype gateway_profile: "AgentPoolGatewayProfile" - :ivar artifact_streaming_profile: Configuration for using artifact streaming on AKS. - :vartype artifact_streaming_profile: "AgentPoolArtifactStreamingProfile" - :ivar virtual_machines_profile: Specifications on VirtualMachines agent pool. - :vartype virtual_machines_profile: "VirtualMachinesProfile" - :ivar virtual_machine_nodes_status: The status of nodes in a VirtualMachines agent pool. - :vartype virtual_machine_nodes_status: list["VirtualMachineNodes"] + :vartype gatewayProfile: "AgentPoolGatewayProfile" + :ivar artifactStreamingProfile: Configuration for using artifact streaming on AKS. + :vartype artifactStreamingProfile: "AgentPoolArtifactStreamingProfile" + :ivar virtualMachinesProfile: Specifications on VirtualMachines agent pool. + :vartype virtualMachinesProfile: "VirtualMachinesProfile" + :ivar virtualMachineNodesStatus: The status of nodes in a VirtualMachines agent pool. + :vartype virtualMachineNodesStatus: list["VirtualMachineNodes"] :ivar status: Contains read-only information about the Agent Pool. :vartype status: "AgentPoolStatus" - :ivar local_dns_profile: Configures the per-node local DNS, with VnetDNS and KubeDNS overrides. + :ivar localDNSProfile: 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. - :vartype local_dns_profile: "LocalDNSProfile" - :ivar prepared_image_specification_profile: Settings to determine the prepared image - specification used to provision nodes in a pool. - :vartype prepared_image_specification_profile: "PreparedImageSpecificationProfile" + :vartype localDNSProfile: "LocalDNSProfile" """ eTag: str @@ -665,7 +570,7 @@ class AgentPoolManagedClusterAgentPoolProfileProperties(TypedDict, total=False): ephemeral storage. Known values are: \"OS\" and \"Temporary\".""" workloadRuntime: Union[str, "WorkloadRuntime"] """Determines the type of workload a node can run. Known values are: \"OCIContainer\", - \"WasmWasi\", \"KataMshvVmIsolation\", and \"KataVmIsolation\".""" + \"WasmWasi\", and \"KataVmIsolation\".""" messageOfTheDay: str """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 @@ -691,9 +596,9 @@ class AgentPoolManagedClusterAgentPoolProfileProperties(TypedDict, total=False): osSKU: Union[str, "OSSKU"] """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. Known values are: \"Ubuntu\", \"AzureLinux\", \"AzureLinux3\", \"Mariner\", - \"Flatcar\", \"CBLMariner\", \"Windows2019\", \"Windows2022\", \"Ubuntu2204\", \"Windows2025\", - \"WindowsAnnual\", \"Ubuntu2404\", and \"AzureContainerLinux\".""" + is Windows. Known values are: \"Ubuntu\", \"AzureLinux\", \"AzureLinux3\", \"CBLMariner\", + \"Windows2019\", \"Windows2022\", \"Ubuntu2204\", \"Windows2025\", \"Ubuntu2404\", and + \"AzureContainerLinux\".""" maxCount: int """The maximum number of nodes for auto-scaling.""" minCount: int @@ -705,14 +610,14 @@ class AgentPoolManagedClusterAgentPoolProfileProperties(TypedDict, total=False): autoscaler behavior. If not specified, it defaults to Delete. Known values are: \"Delete\" and \"Deallocate\".""" type: Union[str, "AgentPoolType"] - """The type of Agent Pool. Known values are: \"VirtualMachineScaleSets\", \"AvailabilitySet\", - \"VirtualMachines\", and \"FlexNodes\".""" + """The type of Agent Pool. Known values are: \"VirtualMachineScaleSets\", \"AvailabilitySet\", and + \"VirtualMachines\".""" mode: Union[str, "AgentPoolMode"] """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 `_. Known values are: \"System\", - \"User\", \"Gateway\", \"ManagedSystem\", and \"Machines\".""" + \"User\", and \"Gateway\".""" orchestratorVersion: str """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 @@ -732,18 +637,8 @@ class AgentPoolManagedClusterAgentPoolProfileProperties(TypedDict, total=False): nodeImageVersion: str """The version of the node image. Setting this value triggers an agentPool rollback. Only values from ``recentlyUsedVersions`` are allowed.""" - upgradeStrategy: Union[str, "UpgradeStrategy"] - """Defines the upgrade strategy for the agent pool. The default is Rolling. Known values are: - \"Rolling\" and \"BlueGreen\".""" - enableOSDiskFullCaching: bool - """Whether to enable the full-cache ephemeral OS disk feature. When this feature is enabled, the - entire operating system will be locally cached on the ephemeral OS disk, preventing E17 events - caused by network failures.""" upgradeSettings: "AgentPoolUpgradeSettings" """Settings for upgrading the agentpool.""" - upgradeSettingsBlueGreen: "AgentPoolBlueGreenUpgradeSettings" - """Settings for Blue-Green upgrade on the agentpool. Applies when upgrade strategy is set to - BlueGreen.""" provisioningState: str """The current deployment or provisioning state.""" powerState: "PowerState" @@ -784,14 +679,6 @@ class AgentPoolManagedClusterAgentPoolProfileProperties(TypedDict, total=False): nodeTaints: list[str] """The taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule.""" - nodeInitializationTaints: list[str] - """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: str """The ID for Proximity Placement Group.""" kubeletConfig: "KubeletConfig" @@ -851,108 +738,43 @@ class AgentPoolManagedClusterAgentPoolProfileProperties(TypedDict, total=False): """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.""" - preparedImageSpecificationProfile: "PreparedImageSpecificationProfile" - """Settings to determine the prepared image specification used to provision nodes in a pool.""" - - -class AgentPoolNetworkInterface(TypedDict, total=False): - """Configuration of a secondary network interface provisioned on each VM instance in the agent - pool. For more information, see `https://aka.ms/aks/multi-nic `_. - - :ivar type: Type of NIC to be provisioned on the VM. Known values are: "Standard" and - "Dynamic". - :vartype type: Union[str, "AgentPoolNetworkInterfaceType"] - :ivar vnet_subnet_id: The resource ID of the subnet which will be attached to the secondary - network interface. Required when ``type`` is ``Standard``; must be an empty string (``""``) or - omitted when ``type`` is ``Dynamic``. - :vartype vnet_subnet_id: str - :ivar enable_accelerated_networking: Whether accelerated networking is enabled on this - secondary NIC. If omitted, this defaults to true only when the agent pool VM SKU supports - accelerated networking. Validation will fail if it is enabled on an unsupported SKU or NIC - configuration. - :vartype enable_accelerated_networking: bool - """ - - type: Union[str, "AgentPoolNetworkInterfaceType"] - """Type of NIC to be provisioned on the VM. Known values are: \"Standard\" and \"Dynamic\".""" - vnetSubnetId: str - """The resource ID of the subnet which will be attached to the secondary network interface. - Required when ``type`` is ``Standard``; must be an empty string (``\"\"``) or omitted when - ``type`` is ``Dynamic``.""" - enableAcceleratedNetworking: bool - """Whether accelerated networking is enabled on this secondary NIC. If omitted, this defaults to - true only when the agent pool VM SKU supports accelerated networking. Validation will fail if - it is enabled on an unsupported SKU or NIC configuration.""" class AgentPoolNetworkProfile(TypedDict, total=False): """Network settings of an agent pool. - :ivar node_public_ip_tags: IPTags of instance-level public IPs. - :vartype node_public_ip_tags: list["IPTag"] - :ivar node_public_ip_prefix_i_ds: The resource IDs of public IP prefixes for node public IPs. - At most one IPv4 and one IPv6 prefix may be specified. Order does not matter; the RP determines - IP version from the referenced resource's publicIPAddressVersion. Requires enableNodePublicIP - to be true on the agent pool. Mutually exclusive with the top-level nodePublicIPPrefixID - property. Immutable after node pool creation. To change prefixes, delete and recreate the node - pool. For more information, see `https://aka.ms/aks/ipv6-ilpip - `_. - :vartype node_public_ip_prefix_i_ds: list[str] - :ivar allowed_host_ports: The port ranges that are allowed to access. The specified ranges are + :ivar nodePublicIPTags: IPTags of instance-level public IPs. + :vartype nodePublicIPTags: list["IPTag"] + :ivar allowedHostPorts: The port ranges that are allowed to access. The specified ranges are allowed to overlap. - :vartype allowed_host_ports: list["PortRange"] - :ivar application_security_groups: The IDs of the application security groups which agent pool + :vartype allowedHostPorts: list["PortRange"] + :ivar applicationSecurityGroups: The IDs of the application security groups which agent pool will associate when created. - :vartype application_security_groups: list[str] - :ivar secondary_network_interfaces: Secondary network interface configurations for each VM in - the agent pool. Each entry is a template: one physical NIC per entry is provisioned on every VM - instance. These interfaces are created at agent pool creation time and are immutable. The - length of the list must be less than the NIC capacity minus 1 for the VM size of the agent pool - (AKS manages the primary NIC). For example, a Standard_D8a_v4 VM supports up to 4 NICs, so the - maximum number of secondary interfaces allowed is 3. For mixed-SKU VM pools the effective - capacity is the minimum across all SKUs: count(secondaryNetworkInterfaces) + 1 <= min(maxNICs). - For more information, see `https://aka.ms/aks/multi-nic `_. - :vartype secondary_network_interfaces: list["AgentPoolNetworkInterface"] + :vartype applicationSecurityGroups: list[str] """ nodePublicIPTags: list["IPTag"] """IPTags of instance-level public IPs.""" - nodePublicIPPrefixIDs: list[str] - """The resource IDs of public IP prefixes for node public IPs. At most one IPv4 and one IPv6 - prefix may be specified. Order does not matter; the RP determines IP version from the - referenced resource's publicIPAddressVersion. Requires enableNodePublicIP to be true on the - agent pool. Mutually exclusive with the top-level nodePublicIPPrefixID property. Immutable - after node pool creation. To change prefixes, delete and recreate the node pool. For more - information, see `https://aka.ms/aks/ipv6-ilpip `_.""" allowedHostPorts: list["PortRange"] """The port ranges that are allowed to access. The specified ranges are allowed to overlap.""" applicationSecurityGroups: list[str] """The IDs of the application security groups which agent pool will associate when created.""" - secondaryNetworkInterfaces: list["AgentPoolNetworkInterface"] - """Secondary network interface configurations for each VM in the agent pool. Each entry is a - template: one physical NIC per entry is provisioned on every VM instance. These interfaces are - created at agent pool creation time and are immutable. The length of the list must be less than - the NIC capacity minus 1 for the VM size of the agent pool (AKS manages the primary NIC). For - example, a Standard_D8a_v4 VM supports up to 4 NICs, so the maximum number of secondary - interfaces allowed is 3. For mixed-SKU VM pools the effective capacity is the minimum across - all SKUs: count(secondaryNetworkInterfaces) + 1 <= min(maxNICs). For more information, see - `https://aka.ms/aks/multi-nic `_.""" class AgentPoolSecurityProfile(TypedDict, total=False): """The security settings of an agent pool. - :ivar enable_vtpm: 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. - :vartype enable_vtpm: bool - :ivar enable_secure_boot: Secure Boot is a feature of Trusted Launch which ensures that only + :ivar enableVTPM: 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. + :vartype enableVTPM: bool + :ivar enableSecureBoot: 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. - :vartype enable_secure_boot: bool - :ivar ssh_access: SSH access method of an agent pool. Known values are: "LocalUser", - "Disabled", and "EntraId". - :vartype ssh_access: Union[str, "AgentPoolSSHAccess"] + :vartype enableSecureBoot: bool + :ivar sshAccess: SSH access method of an agent pool. Known values are: "LocalUser" and + "Disabled". + :vartype sshAccess: Union[str, "AgentPoolSSHAccess"] """ enableVTPM: bool @@ -964,16 +786,15 @@ class AgentPoolSecurityProfile(TypedDict, total=False): drivers can boot. For more details, see aka.ms/aks/trustedlaunch. If not specified, the default is false.""" sshAccess: Union[str, "AgentPoolSSHAccess"] - """SSH access method of an agent pool. Known values are: \"LocalUser\", \"Disabled\", and - \"EntraId\".""" + """SSH access method of an agent pool. Known values are: \"LocalUser\" and \"Disabled\".""" class AgentPoolStatus(TypedDict, total=False): """Contains read-only information about the Agent Pool. - :ivar provisioning_error: The error detail information of the agent pool. Preserves the - detailed info of failure. If there was no error, this field is omitted. - :vartype provisioning_error: "ErrorDetail" + :ivar provisioningError: The error detail information of the agent pool. Preserves the detailed + info of failure. If there was no error, this field is omitted. + :vartype provisioningError: "ErrorDetail" """ provisioningError: "ErrorDetail" @@ -984,46 +805,37 @@ class AgentPoolStatus(TypedDict, total=False): class AgentPoolUpgradeSettings(TypedDict, total=False): """Settings for upgrading an agentpool. - :ivar max_surge: The maximum number or percentage of nodes that are surged during upgrade. This + :ivar maxSurge: 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 `_. - :vartype max_surge: str - :ivar max_unavailable: The maximum number or percentage of nodes that can be simultaneously + :vartype maxSurge: str + :ivar maxUnavailable: 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 `_. - :vartype max_unavailable: str - :ivar max_blocked_nodes: 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 - `_. - :vartype max_blocked_nodes: str - :ivar drain_timeout_in_minutes: 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 + :vartype maxUnavailable: str + :ivar drainTimeoutInMinutes: 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. - :vartype drain_timeout_in_minutes: int - :ivar node_soak_duration_in_minutes: 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. - :vartype node_soak_duration_in_minutes: int - :ivar undrainable_node_behavior: Defines the behavior for undrainable nodes during upgrade. The + :vartype drainTimeoutInMinutes: int + :ivar nodeSoakDurationInMinutes: 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. + :vartype nodeSoakDurationInMinutes: int + :ivar undrainableNodeBehavior: 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. Known values are: "Cordon" and "Schedule". - :vartype undrainable_node_behavior: Union[str, "UndrainableNodeBehavior"] + :vartype undrainableNodeBehavior: Union[str, "UndrainableNodeBehavior"] """ maxSurge: str @@ -1041,15 +853,6 @@ class AgentPoolUpgradeSettings(TypedDict, total=False): For more information, including best practices, see: `https://learn.microsoft.com/en-us/azure/aks/upgrade-cluster `_.""" - maxBlockedNodes: str - """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 - `_.""" drainTimeoutInMinutes: int """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 @@ -1068,10 +871,10 @@ class AgentPoolUpgradeSettings(TypedDict, total=False): class AgentPoolWindowsProfile(TypedDict, total=False): """The Windows agent pool's specific profile. - :ivar disable_outbound_nat: 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 + :ivar disableOutboundNat: 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. - :vartype disable_outbound_nat: bool + :vartype disableOutboundNat: bool """ disableOutboundNat: bool @@ -1080,102 +883,16 @@ class AgentPoolWindowsProfile(TypedDict, total=False): have node public IP enabled.""" -class AlertConfiguration(ProxyResource): - """Alert configuration for a managed cluster. Allows configuring AKS-managed alerts that notify - users of important cluster events and conditions. - - :ivar id: Fully qualified resource ID for the resource. Ex - - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - :vartype id: str - :ivar name: The name of the resource. - :vartype name: str - :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or - "Microsoft.Storage/storageAccounts". - :vartype type: str - :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy - information. - :vartype system_data: "SystemData" - :ivar properties: The resource-specific properties for this resource. - :vartype properties: "AlertConfigurationProperties" - """ - - properties: "AlertConfigurationProperties" - """The resource-specific properties for this resource.""" - - -class AlertConfigurationProperties(TypedDict, total=False): - """Properties of the alert configuration. - - :ivar mode: The mode of the alert configuration. Specifies how AKS manages the alerts. - Required. Known values are: "Disabled" and "Managed". - :vartype mode: Union[str, "AlertConfigurationMode"] - :ivar notification: Notification settings for the alert configuration. Required. - :vartype notification: "AlertNotification" - :ivar provisioning_state: The current provisioning state of the alert configuration. Known - values are: "Succeeded", "Failed", "Canceled", "Creating", "Updating", and "Deleting". - :vartype provisioning_state: Union[str, "AlertConfigurationProvisioningState"] - """ - - mode: Required[Union[str, "AlertConfigurationMode"]] - """The mode of the alert configuration. Specifies how AKS manages the alerts. Required. Known - values are: \"Disabled\" and \"Managed\".""" - notification: Required["AlertNotification"] - """Notification settings for the alert configuration. Required.""" - provisioningState: Union[str, "AlertConfigurationProvisioningState"] - """The current provisioning state of the alert configuration. Known values are: \"Succeeded\", - \"Failed\", \"Canceled\", \"Creating\", \"Updating\", and \"Deleting\".""" - - -class AlertNotification(TypedDict, total=False): - """Notification settings for the alert configuration. - - :ivar action_group_id: The resource ID of the Azure Monitor action group to send notifications - to. Required. - :vartype action_group_id: str - """ - - actionGroupId: Required[str] - """The resource ID of the Azure Monitor action group to send notifications to. Required.""" - - -class AllowedSubject(TypedDict, total=False): - """A subject authorized to use the identity binding for token exchange. The namespace selector is - required and must be non-empty. The service account selector is optional; when omitted, all - service accounts in matching namespaces are authorized. Selectors within a single - AllowedSubject are AND'd; multiple AllowedSubjects on an IdentityBinding are OR'd. - - :ivar namespace_selector: Label selector matching the namespaces in which this identity may be - used. Must be non-empty: an empty selector would match every namespace and is rejected to - prevent overly permissive bindings. Use the built-in ``kubernetes.io/metadata.name`` label to - target specific namespaces by name. Required. - :vartype namespace_selector: "LabelSelector" - :ivar service_account_selector: Optional label selector matching the service accounts (within - the namespaces matched by ``namespaceSelector``) that may use this identity. When omitted, all - service accounts in matching namespaces are authorized. When provided, it must be non-empty. - :vartype service_account_selector: "LabelSelector" - """ - - namespaceSelector: Required["LabelSelector"] - """Label selector matching the namespaces in which this identity may be used. Must be non-empty: - an empty selector would match every namespace and is rejected to prevent overly permissive - bindings. Use the built-in ``kubernetes.io/metadata.name`` label to target specific namespaces - by name. Required.""" - serviceAccountSelector: "LabelSelector" - """Optional label selector matching the service accounts (within the namespaces matched by - ``namespaceSelector``) that may use this identity. When omitted, all service accounts in - matching namespaces are authorized. When provided, it must be non-empty.""" - - class AutoScaleProfile(TypedDict, total=False): """Specifications on auto-scaling. :ivar size: VM size that AKS will use when creating and scaling e.g. 'Standard_E4s_v3', 'Standard_E16s_v3' or 'Standard_D16s_v5'. :vartype size: str - :ivar min_count: The minimum number of nodes of the specified sizes. - :vartype min_count: int - :ivar max_count: The maximum number of nodes of the specified sizes. - :vartype max_count: int + :ivar minCount: The minimum number of nodes of the specified sizes. + :vartype minCount: int + :ivar maxCount: The maximum number of nodes of the specified sizes. + :vartype maxCount: int """ size: str @@ -1192,22 +909,21 @@ class AzureKeyVaultKms(TypedDict, total=False): :ivar enabled: Whether to enable Azure Key Vault key management service. The default is false. :vartype enabled: bool - :ivar key_id: Identifier of Azure Key Vault key. See `key identifier format + :ivar keyId: Identifier of Azure Key Vault key. See `key identifier format `_ 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. - :vartype key_id: str - :ivar key_vault_network_access: 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``. Known values are: "Public" and - "Private". - :vartype key_vault_network_access: Union[str, "KeyVaultNetworkAccessTypes"] - :ivar key_vault_resource_id: 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. - :vartype key_vault_resource_id: str + :vartype keyId: str + :ivar keyVaultNetworkAccess: 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``. Known values are: "Public" and "Private". + :vartype keyVaultNetworkAccess: Union[str, "KeyVaultNetworkAccessTypes"] + :ivar keyVaultResourceId: 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. + :vartype keyVaultResourceId: str """ enabled: bool @@ -1228,75 +944,11 @@ class AzureKeyVaultKms(TypedDict, total=False): must be a valid resource ID. When keyVaultNetworkAccess is ``Public``, leave the field empty.""" -class BastionProfile(TypedDict, total=False): - """Profile to enable managed Azure Bastion or reference to an existing Bastion for the managed - cluster. See `https://aka.ms/aks/BastionConnect `_ for more - details. - - :ivar enabled: Indicates whether managed bastion is enabled. - :vartype enabled: bool - :ivar bastion_id: The resource ID of the managed bastion associated with the managed cluster. - :vartype bastion_id: str - :ivar sku: The SKU of the managed bastion. - - Only Standard and Premium SKUs are supported. - SKU downgrading is not allowed. To downgrade SKU, please disable then re-enable the managed - bastion with new SKU. - - See `https://aka.ms/aks/BastionSKUs `_ for more details. Known - values are: "Standard" and "Premium". - :vartype sku: Union[str, "BastionSku"] - :ivar scale_units: The scale units of the managed bastion. Default value is 2. - :vartype scale_units: int - :ivar public_ip_address_id: The resource ID of the public IP address associated with the - managed bastion. - - When provided during creation, the managed bastion will reference this existing public IP - address instead of creating a new one. - The referenced public IP address must be in the same subscription and region as the managed - cluster. - - When not provided during creation, AKS will automatically create a new public IP address. - - This field cannot be updated. To change IP address after creation, please disable and re-enable - the managed bastion with the new public IP address. - :vartype public_ip_address_id: str - """ - - enabled: bool - """Indicates whether managed bastion is enabled.""" - bastionId: str - """The resource ID of the managed bastion associated with the managed cluster.""" - sku: Union[str, "BastionSku"] - """The SKU of the managed bastion. - - Only Standard and Premium SKUs are supported. - SKU downgrading is not allowed. To downgrade SKU, please disable then re-enable the managed - bastion with new SKU. - - See `https://aka.ms/aks/BastionSKUs `_ for more details. Known - values are: \"Standard\" and \"Premium\".""" - scaleUnits: int - """The scale units of the managed bastion. Default value is 2.""" - publicIpAddressId: str - """The resource ID of the public IP address associated with the managed bastion. - - When provided during creation, the managed bastion will reference this existing public IP - address instead of creating a new one. - The referenced public IP address must be in the same subscription and region as the managed - cluster. - - When not provided during creation, AKS will automatically create a new public IP address. - - This field cannot be updated. To change IP address after creation, please disable and re-enable - the managed bastion with the new public IP address.""" - - class ClusterUpgradeSettings(TypedDict, total=False): """Settings for upgrading a cluster. - :ivar override_settings: Settings for overrides. - :vartype override_settings: "UpgradeOverrideSettings" + :ivar overrideSettings: Settings for overrides. + :vartype overrideSettings: "UpgradeOverrideSettings" """ overrideSettings: "UpgradeOverrideSettings" @@ -1306,8 +958,8 @@ class ClusterUpgradeSettings(TypedDict, total=False): class ContainerServiceLinuxProfile(TypedDict, total=False): """Profile for Linux VMs in the container service cluster. - :ivar admin_username: The administrator username to use for Linux VMs. Required. - :vartype admin_username: str + :ivar adminUsername: The administrator username to use for Linux VMs. Required. + :vartype adminUsername: str :ivar ssh: The SSH configuration for Linux-based VMs running on Azure. Required. :vartype ssh: "ContainerServiceSshConfiguration" """ @@ -1321,83 +973,62 @@ class ContainerServiceLinuxProfile(TypedDict, total=False): class ContainerServiceNetworkProfile(TypedDict, total=False): """Profile of network configuration. - :ivar network_plugin: Network plugin used for building the Kubernetes network. Known values - are: "azure", "kubenet", and "none". - :vartype network_plugin: Union[str, "NetworkPlugin"] - :ivar network_plugin_mode: The mode the network plugin should use. "overlay" - :vartype network_plugin_mode: Union[str, "NetworkPluginMode"] - :ivar network_policy: Network policy used for building the Kubernetes network. Known values - are: "none", "calico", "azure", and "cilium". - :vartype network_policy: Union[str, "NetworkPolicy"] - :ivar network_mode: The network mode Azure CNI is configured with. This cannot be specified if + :ivar networkPlugin: Network plugin used for building the Kubernetes network. Known values are: + "azure", "kubenet", and "none". + :vartype networkPlugin: Union[str, "NetworkPlugin"] + :ivar networkPluginMode: The mode the network plugin should use. "overlay" + :vartype networkPluginMode: Union[str, "NetworkPluginMode"] + :ivar networkPolicy: Network policy used for building the Kubernetes network. Known values are: + "none", "calico", "azure", and "cilium". + :vartype networkPolicy: Union[str, "NetworkPolicy"] + :ivar networkMode: The network mode Azure CNI is configured with. This cannot be specified if networkPlugin is anything other than 'azure'. Known values are: "transparent" and "bridge". - :vartype network_mode: Union[str, "NetworkMode"] - :ivar network_dataplane: Network dataplane used in the Kubernetes cluster. Known values are: + :vartype networkMode: Union[str, "NetworkMode"] + :ivar networkDataplane: Network dataplane used in the Kubernetes cluster. Known values are: "azure" and "cilium". - :vartype network_dataplane: Union[str, "NetworkDataplane"] - :ivar advanced_networking: Advanced Networking profile for enabling observability and security + :vartype networkDataplane: Union[str, "NetworkDataplane"] + :ivar advancedNetworking: Advanced Networking profile for enabling observability and security feature suite on a cluster. For more information see aka.ms/aksadvancednetworking. - :vartype advanced_networking: "AdvancedNetworking" - :ivar pod_cidr: A CIDR notation IP range from which to assign pod IPs when kubenet is used. - :vartype pod_cidr: str - :ivar service_cidr: A CIDR notation IP range from which to assign service cluster IPs. It must + :vartype advancedNetworking: "AdvancedNetworking" + :ivar podCidr: A CIDR notation IP range from which to assign pod IPs when kubenet is used. + :vartype podCidr: str + :ivar serviceCidr: A CIDR notation IP range from which to assign service cluster IPs. It must not overlap with any Subnet IP ranges. - :vartype service_cidr: str - :ivar dns_service_ip: An IP address assigned to the Kubernetes DNS service. It must be within - the Kubernetes service address range specified in serviceCidr. - :vartype dns_service_ip: str - :ivar outbound_type: The outbound (egress) routing method. This can only be set at cluster + :vartype serviceCidr: str + :ivar dnsServiceIP: An IP address assigned to the Kubernetes DNS service. It must be within the + Kubernetes service address range specified in serviceCidr. + :vartype dnsServiceIP: str + :ivar outboundType: 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 `_. Known values are: "loadBalancer", - "userDefinedRouting", "managedNATGateway", "managedNATGatewayV2", "userAssignedNATGateway", and - "none". - :vartype outbound_type: Union[str, "OutboundType"] - :ivar load_balancer_sku: The load balancer sku for the managed cluster. The default is + "userDefinedRouting", "managedNATGateway", "userAssignedNATGateway", and "none". + :vartype outboundType: Union[str, "OutboundType"] + :ivar loadBalancerSku: The load balancer sku for the managed cluster. The default is 'standard'. See `Azure Load Balancer SKUs `_ for more information about the - differences between load balancer SKUs. Known values are: "service", "standard", and "basic". - :vartype load_balancer_sku: Union[str, "LoadBalancerSku"] - :ivar load_balancer_profile: Profile of the cluster load balancer. - :vartype load_balancer_profile: "ManagedClusterLoadBalancerProfile" - :ivar bastion_profile: Profile of the Bastion Host associated with the managed cluster. See - `https://aka.ms/aks/BastionConnect `_ for more details. - :vartype bastion_profile: "BastionProfile" - :ivar nat_gateway_profile: Profile of the cluster NAT gateway. - :vartype nat_gateway_profile: "ManagedClusterNATGatewayProfile" - :ivar nat_gateway_id: The Azure resource ID of the NAT gateway to use for egress at cluster - startup when outboundType is 'userAssignedNATGateway' using StandardV2 Public IP, backend pool - type is podIP, and load balancer type is service SKU. This is of the form: - '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/natGateways/{natGatewayName}'. - When using managed NATGateway this field is auto populated. For more information, see - `https://aka.ms/aks/container-native-slb `_. - :vartype nat_gateway_id: str - :ivar static_egress_gateway_profile: The profile for Static Egress Gateway addon. For more - details about Static Egress Gateway, see `https://aka.ms/aks/static-egress-gateway + differences between load balancer SKUs. Known values are: "standard" and "basic". + :vartype loadBalancerSku: Union[str, "LoadBalancerSku"] + :ivar loadBalancerProfile: Profile of the cluster load balancer. + :vartype loadBalancerProfile: "ManagedClusterLoadBalancerProfile" + :ivar natGatewayProfile: Profile of the cluster NAT gateway. + :vartype natGatewayProfile: "ManagedClusterNATGatewayProfile" + :ivar staticEgressGatewayProfile: The profile for Static Egress Gateway addon. For more details + about Static Egress Gateway, see `https://aka.ms/aks/static-egress-gateway `_. - :vartype static_egress_gateway_profile: "ManagedClusterStaticEgressGatewayProfile" - :ivar pod_cidrs: The CIDR notation IP ranges from which to assign pod IPs. One IPv4 CIDR is + :vartype staticEgressGatewayProfile: "ManagedClusterStaticEgressGatewayProfile" + :ivar podCidrs: 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. - :vartype pod_cidrs: list[str] - :ivar service_cidrs: The CIDR notation IP ranges from which to assign service cluster IPs. One + :vartype podCidrs: list[str] + :ivar serviceCidrs: 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. - :vartype service_cidrs: list[str] - :ivar ip_families: The IP families used to specify IP versions available to the cluster. IP + :vartype serviceCidrs: list[str] + :ivar ipFamilies: 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. - :vartype ip_families: list[Union[str, "IPFamily"]] - :ivar pod_link_local_access: 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'. Known values are: "IMDS" and "None". - :vartype pod_link_local_access: Union[str, "PodLinkLocalAccess"] - :ivar kube_proxy_config: 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'. - :vartype kube_proxy_config: "ContainerServiceNetworkProfileKubeProxyConfig" + :vartype ipFamilies: list[Union[str, "IPFamily"]] """ networkPlugin: Union[str, "NetworkPlugin"] @@ -1428,27 +1059,16 @@ class ContainerServiceNetworkProfile(TypedDict, total=False): """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 `_. Known values are: - \"loadBalancer\", \"userDefinedRouting\", \"managedNATGateway\", \"managedNATGatewayV2\", - \"userAssignedNATGateway\", and \"none\".""" + \"loadBalancer\", \"userDefinedRouting\", \"managedNATGateway\", \"userAssignedNATGateway\", + and \"none\".""" loadBalancerSku: Union[str, "LoadBalancerSku"] """The load balancer sku for the managed cluster. The default is 'standard'. See `Azure Load Balancer SKUs `_ for more information - about the differences between load balancer SKUs. Known values are: \"service\", \"standard\", - and \"basic\".""" + about the differences between load balancer SKUs. Known values are: \"standard\" and \"basic\".""" loadBalancerProfile: "ManagedClusterLoadBalancerProfile" """Profile of the cluster load balancer.""" - bastionProfile: "BastionProfile" - """Profile of the Bastion Host associated with the managed cluster. See - `https://aka.ms/aks/BastionConnect `_ for more details.""" natGatewayProfile: "ManagedClusterNATGatewayProfile" """Profile of the cluster NAT gateway.""" - natGatewayId: str - """The Azure resource ID of the NAT gateway to use for egress at cluster startup when outboundType - is 'userAssignedNATGateway' using StandardV2 Public IP, backend pool type is podIP, and load - balancer type is service SKU. This is of the form: - '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/natGateways/{natGatewayName}'. - When using managed NATGateway this field is auto populated. For more information, see - `https://aka.ms/aks/container-native-slb `_.""" staticEgressGatewayProfile: "ManagedClusterStaticEgressGatewayProfile" """The profile for Static Egress Gateway addon. For more details about Static Egress Gateway, see `https://aka.ms/aks/static-egress-gateway `_.""" @@ -1464,85 +1084,14 @@ class ContainerServiceNetworkProfile(TypedDict, total=False): """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: Union[str, "PodLinkLocalAccess"] - """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'. Known values are: - \"IMDS\" and \"None\".""" - kubeProxyConfig: "ContainerServiceNetworkProfileKubeProxyConfig" - """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'.""" - - -class ContainerServiceNetworkProfileKubeProxyConfig(TypedDict, total=False): # pylint: disable=name-too-long - """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'. - - :ivar enabled: Whether to enable on kube-proxy on the cluster (if no 'kubeProxyConfig' exists, - kube-proxy is enabled in AKS by default without these customizations). - :vartype enabled: bool - :ivar mode: Specify which proxy mode to use ('IPTABLES', 'IPVS' or 'NFTABLES'). Known values - are: "IPTABLES", "IPVS", and "NFTABLES". - :vartype mode: Union[str, "Mode"] - :ivar ipvs_config: Holds configuration customizations for IPVS. May only be specified if 'mode' - is set to 'IPVS'. - :vartype ipvs_config: "ContainerServiceNetworkProfileKubeProxyConfigIpvsConfig" - """ - - enabled: bool - """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: Union[str, "Mode"] - """Specify which proxy mode to use ('IPTABLES', 'IPVS' or 'NFTABLES'). Known values are: - \"IPTABLES\", \"IPVS\", and \"NFTABLES\".""" - ipvsConfig: "ContainerServiceNetworkProfileKubeProxyConfigIpvsConfig" - """Holds configuration customizations for IPVS. May only be specified if 'mode' is set to 'IPVS'.""" - - -class ContainerServiceNetworkProfileKubeProxyConfigIpvsConfig(TypedDict, total=False): # pylint: disable=name-too-long - """Holds configuration customizations for IPVS. May only be specified if 'mode' is set to 'IPVS'. - - :ivar scheduler: IPVS scheduler, for more information please see - `http://www.linuxvirtualserver.org/docs/scheduling.html - `_. Known values are: "RoundRobin" and - "LeastConnection". - :vartype scheduler: Union[str, "IpvsScheduler"] - :ivar tcp_timeout_seconds: The timeout value used for idle IPVS TCP sessions in seconds. Must - be a positive integer value. - :vartype tcp_timeout_seconds: int - :ivar tcp_fin_timeout_seconds: The timeout value used for IPVS TCP sessions after receiving a - FIN in seconds. Must be a positive integer value. - :vartype tcp_fin_timeout_seconds: int - :ivar udp_timeout_seconds: The timeout value used for IPVS UDP packets in seconds. Must be a - positive integer value. - :vartype udp_timeout_seconds: int - """ - - scheduler: Union[str, "IpvsScheduler"] - """IPVS scheduler, for more information please see - `http://www.linuxvirtualserver.org/docs/scheduling.html - `_. Known values are: \"RoundRobin\" - and \"LeastConnection\".""" - tcpTimeoutSeconds: int - """The timeout value used for idle IPVS TCP sessions in seconds. Must be a positive integer value.""" - tcpFinTimeoutSeconds: int - """The timeout value used for IPVS TCP sessions after receiving a FIN in seconds. Must be a - positive integer value.""" - udpTimeoutSeconds: int - """The timeout value used for IPVS UDP packets in seconds. Must be a positive integer value.""" class ContainerServiceSshConfiguration(TypedDict, total=False): """SSH configuration for Linux-based VMs running on Azure. - :ivar public_keys: The list of SSH public keys used to authenticate with Linux-based VMs. A + :ivar publicKeys: The list of SSH public keys used to authenticate with Linux-based VMs. A maximum of 1 key may be specified. Required. - :vartype public_keys: list["ContainerServiceSshPublicKey"] + :vartype publicKeys: list["ContainerServiceSshPublicKey"] """ publicKeys: Required[list["ContainerServiceSshPublicKey"]] @@ -1553,9 +1102,9 @@ class ContainerServiceSshConfiguration(TypedDict, total=False): class ContainerServiceSshPublicKey(TypedDict, total=False): """Contains information about SSH certificate public key data. - :ivar key_data: Certificate public key used to authenticate with VMs through SSH. The + :ivar keyData: Certificate public key used to authenticate with VMs through SSH. The certificate must be in PEM format with or without headers. Required. - :vartype key_data: str + :vartype keyData: str """ keyData: Required[str] @@ -1566,9 +1115,9 @@ class ContainerServiceSshPublicKey(TypedDict, total=False): class CreationData(TypedDict, total=False): """Data used when creating a target resource from a source resource. - :ivar source_resource_id: This is the ARM ID of the source object to be used to create the - target object. - :vartype source_resource_id: str + :ivar sourceResourceId: This is the ARM ID of the source object to be used to create the target + object. + :vartype sourceResourceId: str """ sourceResourceId: str @@ -1578,8 +1127,8 @@ class CreationData(TypedDict, total=False): class DailySchedule(TypedDict, total=False): """For schedules like: 'recur every day' or 'recur every 3 days'. - :ivar interval_days: Specifies the number of days between each set of occurrences. Required. - :vartype interval_days: int + :ivar intervalDays: Specifies the number of days between each set of occurrences. Required. + :vartype intervalDays: int """ intervalDays: Required[int] @@ -1604,13 +1153,13 @@ class DateSpan(TypedDict, total=False): class DelegatedResource(TypedDict, total=False): """Delegated resource properties - internal use only. - :ivar resource_id: The ARM resource id of the delegated resource - internal use only. - :vartype resource_id: str - :ivar tenant_id: The tenant id of the delegated resource - internal use only. - :vartype tenant_id: str - :ivar referral_resource: The delegation id of the referral delegation (optional) - internal use + :ivar resourceId: The ARM resource id of the delegated resource - internal use only. + :vartype resourceId: str + :ivar tenantId: The tenant id of the delegated resource - internal use only. + :vartype tenantId: str + :ivar referralResource: The delegation id of the referral delegation (optional) - internal use only. - :vartype referral_resource: str + :vartype referralResource: str :ivar location: The source resource location - internal use only. :vartype location: str """ @@ -1651,8 +1200,8 @@ class ErrorDetail(TypedDict, total=False): :vartype target: str :ivar details: The error details. :vartype details: list["ErrorDetail"] - :ivar additional_info: The error additional info. - :vartype additional_info: list["ErrorAdditionalInfo"] + :ivar additionalInfo: The error additional info. + :vartype additionalInfo: list["ErrorAdditionalInfo"] """ code: str @@ -1688,61 +1237,11 @@ class GPUProfile(TypedDict, total=False): :ivar driver: Whether to install GPU drivers. When it's not specified, default is Install. Known values are: "Install" and "None". :vartype driver: Union[str, "GPUDriver"] - :ivar driver_type: 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. Known values are: "GRID" and - "CUDA". - :vartype driver_type: Union[str, "DriverType"] - :ivar nvidia: NVIDIA-specific GPU settings. - :vartype nvidia: "NvidiaGPUProfile" """ driver: Union[str, "GPUDriver"] """Whether to install GPU drivers. When it's not specified, default is Install. Known values are: \"Install\" and \"None\".""" - driverType: Union[str, "DriverType"] - """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. Known values are: \"GRID\" and \"CUDA\".""" - nvidia: "NvidiaGPUProfile" - """NVIDIA-specific GPU settings.""" - - -class HardEvictionThreshold(TypedDict, total=False): - """Hard eviction thresholds for kubelet. These thresholds trigger pod eviction when node resources - drop below the specified values. Values must be greater than or equal to the documented - minimums for each signal. Supported formats are Ki, Mi, Gi, or percentages using %. - - :ivar memory_available: The threshold for available memory below which pod eviction is - triggered. Accepts absolute values (e.g. '500Mi') or percentage values (e.g. '5%'). Absolute - values must be greater than or equal to 100Mi. Percentage values must be greater than or equal - to 2%. - :vartype memory_available: str - :ivar node_fs_available: The threshold for available node filesystem space below which pod - eviction is triggered. Accepts absolute values (e.g. '1Gi') or percentage values (e.g. '10%'). - Must be greater than or equal to the system default of 10%. - :vartype node_fs_available: str - :ivar node_fs_inodes_free: The threshold for available inodes on the node filesystem below - which pod eviction is triggered. Accepts absolute inode counts (e.g. '100000') or percentage - values (e.g. '5%'). Percentage values must be greater than or equal to the system default of - 5%. - :vartype node_fs_inodes_free: str - """ - - memoryAvailable: str - """The threshold for available memory below which pod eviction is triggered. Accepts absolute - values (e.g. '500Mi') or percentage values (e.g. '5%'). Absolute values must be greater than or - equal to 100Mi. Percentage values must be greater than or equal to 2%.""" - nodeFsAvailable: str - """The threshold for available node filesystem space below which pod eviction is triggered. - Accepts absolute values (e.g. '1Gi') or percentage values (e.g. '10%'). Must be greater than or - equal to the system default of 10%.""" - nodeFsInodesFree: str - """The threshold for available inodes on the node filesystem below which pod eviction is - triggered. Accepts absolute inode counts (e.g. '100000') or percentage values (e.g. '5%'). - Percentage values must be greater than or equal to the system default of 5%.""" class IdentityBinding(ProxyResource): @@ -1756,16 +1255,16 @@ class IdentityBinding(ProxyResource): :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts". :vartype type: str - :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy + :ivar systemData: Azure Resource Manager metadata containing createdBy and modifiedBy information. - :vartype system_data: "SystemData" + :vartype systemData: "SystemData" :ivar properties: The resource-specific properties for this resource. :vartype properties: "IdentityBindingProperties" - :ivar e_tag: If eTag is provided in the response body, it may also be provided as a header per + :ivar eTag: 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. - :vartype e_tag: str + :vartype eTag: str """ properties: "IdentityBindingProperties" @@ -1780,14 +1279,14 @@ class IdentityBinding(ProxyResource): class IdentityBindingManagedIdentityProfile(TypedDict, total=False): """Managed identity profile for the identity binding. - :ivar resource_id: The resource ID of the managed identity. Required. - :vartype resource_id: str - :ivar object_id: The object ID of the managed identity. - :vartype object_id: str - :ivar client_id: The client ID of the managed identity. - :vartype client_id: str - :ivar tenant_id: The tenant ID of the managed identity. - :vartype tenant_id: str + :ivar resourceId: The resource ID of the managed identity. Required. + :vartype resourceId: str + :ivar objectId: The object ID of the managed identity. + :vartype objectId: str + :ivar clientId: The client ID of the managed identity. + :vartype clientId: str + :ivar tenantId: The tenant ID of the managed identity. + :vartype tenantId: str """ resourceId: Required[str] @@ -1803,8 +1302,8 @@ class IdentityBindingManagedIdentityProfile(TypedDict, total=False): class IdentityBindingOidcIssuerProfile(TypedDict, total=False): """IdentityBinding OIDC issuer profile. - :ivar oidc_issuer_url: The OIDC issuer URL of the IdentityBinding. - :vartype oidc_issuer_url: str + :ivar oidcIssuerUrl: The OIDC issuer URL of the IdentityBinding. + :vartype oidcIssuerUrl: str """ oidcIssuerUrl: str @@ -1814,19 +1313,13 @@ class IdentityBindingOidcIssuerProfile(TypedDict, total=False): class IdentityBindingProperties(TypedDict, total=False): """IdentityBinding properties. - :ivar managed_identity: Managed identity profile for the identity binding. Required. - :vartype managed_identity: "IdentityBindingManagedIdentityProfile" - :ivar oidc_issuer: The OIDC issuer URL of the IdentityBinding. - :vartype oidc_issuer: "IdentityBindingOidcIssuerProfile" - :ivar provisioning_state: The status of the last operation. Known values are: "Succeeded", + :ivar managedIdentity: Managed identity profile for the identity binding. Required. + :vartype managedIdentity: "IdentityBindingManagedIdentityProfile" + :ivar oidcIssuer: The OIDC issuer URL of the IdentityBinding. + :vartype oidcIssuer: "IdentityBindingOidcIssuerProfile" + :ivar provisioningState: The status of the last operation. Known values are: "Succeeded", "Failed", "Canceled", "Creating", "Updating", and "Deleting". - :vartype provisioning_state: Union[str, "IdentityBindingProvisioningState"] - :ivar allowed_subjects: Optional list of subjects authorized to use this identity binding for - token exchange. Each entry pairs a required namespace label selector with an optional service - account label selector; selectors within an entry are AND'd, and multiple entries are OR'd. - When omitted or empty, authorization falls back exclusively to ClusterRole/ClusterRoleBinding - evaluation. Maximum 100 entries. - :vartype allowed_subjects: list["AllowedSubject"] + :vartype provisioningState: Union[str, "IdentityBindingProvisioningState"] """ managedIdentity: Required["IdentityBindingManagedIdentityProfile"] @@ -1836,19 +1329,13 @@ class IdentityBindingProperties(TypedDict, total=False): provisioningState: Union[str, "IdentityBindingProvisioningState"] """The status of the last operation. Known values are: \"Succeeded\", \"Failed\", \"Canceled\", \"Creating\", \"Updating\", and \"Deleting\".""" - allowedSubjects: list["AllowedSubject"] - """Optional list of subjects authorized to use this identity binding for token exchange. Each - entry pairs a required namespace label selector with an optional service account label - selector; selectors within an entry are AND'd, and multiple entries are OR'd. When omitted or - empty, authorization falls back exclusively to ClusterRole/ClusterRoleBinding evaluation. - Maximum 100 entries.""" class IPTag(TypedDict, total=False): """Contains the IPTag associated with the object. - :ivar ip_tag_type: The IP tag type. Example: RoutingPreference. - :vartype ip_tag_type: str + :ivar ipTagType: The IP tag type. Example: RoutingPreference. + :vartype ipTagType: str :ivar tag: The value of the IP tag associated with the public IP. Example: Internet. :vartype tag: str """ @@ -1874,13 +1361,13 @@ class IstioCertificateAuthority(TypedDict, total=False): class IstioComponents(TypedDict, total=False): """Istio components configuration. - :ivar ingress_gateways: Istio ingress gateways. - :vartype ingress_gateways: list["IstioIngressGateway"] - :ivar egress_gateways: Istio egress gateways. - :vartype egress_gateways: list["IstioEgressGateway"] - :ivar proxy_redirection_mechanism: Mode of traffic redirection. Known values are: + :ivar ingressGateways: Istio ingress gateways. + :vartype ingressGateways: list["IstioIngressGateway"] + :ivar egressGateways: Istio egress gateways. + :vartype egressGateways: list["IstioEgressGateway"] + :ivar proxyRedirectionMechanism: Mode of traffic redirection. Known values are: "InitContainers" and "CNIChaining". - :vartype proxy_redirection_mechanism: Union[str, "ProxyRedirectionMechanism"] + :vartype proxyRedirectionMechanism: Union[str, "ProxyRedirectionMechanism"] """ ingressGateways: list["IstioIngressGateway"] @@ -1901,10 +1388,10 @@ class IstioEgressGateway(TypedDict, total=False): :ivar namespace: Namespace that the Istio add-on egress gateway should be deployed in. If unspecified, the default is aks-istio-egress. :vartype namespace: str - :ivar gateway_configuration_name: 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 + :ivar gatewayConfigurationName: 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. - :vartype gateway_configuration_name: str + :vartype gatewayConfigurationName: str """ enabled: Required[bool] @@ -1940,16 +1427,16 @@ class IstioIngressGateway(TypedDict, total=False): class IstioPluginCertificateAuthority(TypedDict, total=False): """Plugin certificates information for Service Mesh. - :ivar key_vault_id: The resource ID of the Key Vault. - :vartype key_vault_id: str - :ivar cert_object_name: Intermediate certificate object name in Azure Key Vault. - :vartype cert_object_name: str - :ivar key_object_name: Intermediate certificate private key object name in Azure Key Vault. - :vartype key_object_name: str - :ivar root_cert_object_name: Root certificate object name in Azure Key Vault. - :vartype root_cert_object_name: str - :ivar cert_chain_object_name: Certificate chain object name in Azure Key Vault. - :vartype cert_chain_object_name: str + :ivar keyVaultId: The resource ID of the Key Vault. + :vartype keyVaultId: str + :ivar certObjectName: Intermediate certificate object name in Azure Key Vault. + :vartype certObjectName: str + :ivar keyObjectName: Intermediate certificate private key object name in Azure Key Vault. + :vartype keyObjectName: str + :ivar rootCertObjectName: Root certificate object name in Azure Key Vault. + :vartype rootCertObjectName: str + :ivar certChainObjectName: Certificate chain object name in Azure Key Vault. + :vartype certChainObjectName: str """ keyVaultId: str @@ -1969,10 +1456,10 @@ class IstioServiceMesh(TypedDict, total=False): :ivar components: Istio components configuration. :vartype components: "IstioComponents" - :ivar certificate_authority: Istio Service Mesh Certificate Authority (CA) configuration. For + :ivar certificateAuthority: Istio Service Mesh Certificate Authority (CA) configuration. For now, we only support plugin certificates as described here `https://aka.ms/asm-plugin-ca `_. - :vartype certificate_authority: "IstioCertificateAuthority" + :vartype certificateAuthority: "IstioCertificateAuthority" :ivar revisions: 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: @@ -1993,228 +1480,47 @@ class IstioServiceMesh(TypedDict, total=False): `_.""" -class JWTAuthenticator(ProxyResource): - """Configuration for JWT authenticator in the managed cluster. - - :ivar id: Fully qualified resource ID for the resource. Ex - - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - :vartype id: str - :ivar name: The name of the resource. - :vartype name: str - :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or - "Microsoft.Storage/storageAccounts". - :vartype type: str - :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy - information. - :vartype system_data: "SystemData" - :ivar 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 - `_. Required. - :vartype properties: "JWTAuthenticatorProperties" - """ - - properties: Required["JWTAuthenticatorProperties"] - """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.""" - - -class JWTAuthenticatorClaimMappingExpression(TypedDict, total=False): - """The claim mapping expression for JWTAuthenticator. - - :ivar expression: The CEL expression used to access token claims. Required. - :vartype expression: str - """ - - expression: Required[str] - """The CEL expression used to access token claims. Required.""" - - -class JWTAuthenticatorClaimMappings(TypedDict, total=False): - """The claim mappings for JWTAuthenticator. - - :ivar username: The expression to extract username attribute from the token claims. Required. - :vartype username: "JWTAuthenticatorClaimMappingExpression" - :ivar groups: The expression to extract groups attribute from the token claims. When not - provided, no groups are extracted from the token claims. - :vartype groups: "JWTAuthenticatorClaimMappingExpression" - :ivar uid: The expression to extract uid attribute from the token claims. When not provided, no - uid is extracted from the token claims. - :vartype uid: "JWTAuthenticatorClaimMappingExpression" - :ivar extra: The expression to extract extra attribute from the token claims. When not - provided, no extra attributes are extracted from the token claims. - :vartype extra: list["JWTAuthenticatorExtraClaimMappingExpression"] - """ - - username: Required["JWTAuthenticatorClaimMappingExpression"] - """The expression to extract username attribute from the token claims. Required.""" - groups: "JWTAuthenticatorClaimMappingExpression" - """The expression to extract groups attribute from the token claims. When not provided, no groups - are extracted from the token claims.""" - uid: "JWTAuthenticatorClaimMappingExpression" - """The expression to extract uid attribute from the token claims. When not provided, no uid is - extracted from the token claims.""" - extra: list["JWTAuthenticatorExtraClaimMappingExpression"] - """The expression to extract extra attribute from the token claims. When not provided, no extra - attributes are extracted from the token claims.""" - - -class JWTAuthenticatorExtraClaimMappingExpression(TypedDict, total=False): # pylint: disable=name-too-long - """The extra claim mapping expression for JWTAuthenticator. - - :ivar key: The key of the extra attribute. Required. - :vartype key: str - :ivar value_expression: The CEL expression used to extract the value of the extra attribute. - Required. - :vartype value_expression: str - """ - - key: Required[str] - """The key of the extra attribute. Required.""" - valueExpression: Required[str] - """The CEL expression used to extract the value of the extra attribute. Required.""" - - -class JWTAuthenticatorIssuer(TypedDict, total=False): - """The OIDC issuer details for JWTAuthenticator. - - :ivar url: 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. Required. - :vartype url: str - :ivar audiences: 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. - Required. - :vartype audiences: list[str] - """ - - url: Required[str] - """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. Required.""" - audiences: Required[list[str]] - """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. Required.""" - - -class JWTAuthenticatorProperties(TypedDict, total=False): - """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 - `_. - - :ivar provisioning_state: The current provisioning state of the JWT authenticator. Known values - are: "Succeeded", "Failed", "Canceled", "Creating", "Updating", and "Deleting". - :vartype provisioning_state: Union[str, "JWTAuthenticatorProvisioningState"] - :ivar issuer: The JWT OIDC issuer details. Required. - :vartype issuer: "JWTAuthenticatorIssuer" - :ivar claim_validation_rules: The rules that are applied to validate token claims to - authenticate users. All the expressions must evaluate to true for validation to succeed. - :vartype claim_validation_rules: list["JWTAuthenticatorValidationRule"] - :ivar claim_mappings: The mappings that define how user attributes are extracted from the token - claims. Required. - :vartype claim_mappings: "JWTAuthenticatorClaimMappings" - :ivar user_validation_rules: The rules that are applied to the mapped user before completing - authentication. All the expressions must evaluate to true for validation to succeed. - :vartype user_validation_rules: list["JWTAuthenticatorValidationRule"] - """ - - provisioningState: Union[str, "JWTAuthenticatorProvisioningState"] - """The current provisioning state of the JWT authenticator. Known values are: \"Succeeded\", - \"Failed\", \"Canceled\", \"Creating\", \"Updating\", and \"Deleting\".""" - issuer: Required["JWTAuthenticatorIssuer"] - """The JWT OIDC issuer details. Required.""" - claimValidationRules: list["JWTAuthenticatorValidationRule"] - """The rules that are applied to validate token claims to authenticate users. All the expressions - must evaluate to true for validation to succeed.""" - claimMappings: Required["JWTAuthenticatorClaimMappings"] - """The mappings that define how user attributes are extracted from the token claims. Required.""" - userValidationRules: list["JWTAuthenticatorValidationRule"] - """The rules that are applied to the mapped user before completing authentication. All the - expressions must evaluate to true for validation to succeed.""" - - -class JWTAuthenticatorValidationRule(TypedDict, total=False): - """The validation rule for JWTAuthenticator. - - :ivar expression: The CEL expression used to validate the claim or attribute. Required. - :vartype expression: str - :ivar message: The validation error message. - :vartype message: str - """ - - expression: Required[str] - """The CEL expression used to validate the claim or attribute. Required.""" - message: str - """The validation error message.""" - - class KubeletConfig(TypedDict, total=False): """Kubelet configurations of agent nodes. See `AKS custom node configuration `_ for more details. - :ivar cpu_manager_policy: The CPU Manager policy to use. The default is 'none'. See `Kubernetes + :ivar cpuManagerPolicy: The CPU Manager policy to use. The default is 'none'. See `Kubernetes CPU management policies `_ for more information. Allowed values are 'none' and 'static'. - :vartype cpu_manager_policy: str - :ivar cpu_cfs_quota: If CPU CFS quota enforcement is enabled for containers that specify CPU + :vartype cpuManagerPolicy: str + :ivar cpuCfsQuota: If CPU CFS quota enforcement is enabled for containers that specify CPU limits. The default is true. - :vartype cpu_cfs_quota: bool - :ivar cpu_cfs_quota_period: 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'. - :vartype cpu_cfs_quota_period: str - :ivar image_gc_high_threshold: 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%. - :vartype image_gc_high_threshold: int - :ivar image_gc_low_threshold: The percent of disk usage before which image garbage collection - is never run. This cannot be set higher than imageGcHighThreshold. The default is 80%. - :vartype image_gc_low_threshold: int - :ivar topology_manager_policy: The Topology Manager policy to use. For more information see + :vartype cpuCfsQuota: bool + :ivar cpuCfsQuotaPeriod: 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'. + :vartype cpuCfsQuotaPeriod: str + :ivar imageGcHighThreshold: 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%. + :vartype imageGcHighThreshold: int + :ivar imageGcLowThreshold: The percent of disk usage before which image garbage collection is + never run. This cannot be set higher than imageGcHighThreshold. The default is 80%. + :vartype imageGcLowThreshold: int + :ivar topologyManagerPolicy: The Topology Manager policy to use. For more information see `Kubernetes Topology Manager `_. The default is 'none'. Allowed values are 'none', 'best-effort', 'restricted', and 'single-numa-node'. - :vartype topology_manager_policy: str - :ivar allowed_unsafe_sysctls: Allowed list of unsafe sysctls or unsafe sysctl patterns (ending - in ``*``). - :vartype allowed_unsafe_sysctls: list[str] - :ivar fail_swap_on: If set to true it will make the Kubelet fail to start if swap is enabled on + :vartype topologyManagerPolicy: str + :ivar allowedUnsafeSysctls: Allowed list of unsafe sysctls or unsafe sysctl patterns (ending in + ``*``). + :vartype allowedUnsafeSysctls: list[str] + :ivar failSwapOn: If set to true it will make the Kubelet fail to start if swap is enabled on the node. - :vartype fail_swap_on: bool - :ivar container_log_max_size_mb: The maximum size (e.g. 10Mi) of container log file before it - is rotated. - :vartype container_log_max_size_mb: int - :ivar container_log_max_files: The maximum number of container log files that can be present - for a container. The number must be ≥ 2. - :vartype container_log_max_files: int - :ivar pod_max_pids: The maximum number of processes per pod. - :vartype pod_max_pids: int - :ivar seccomp_default: Specifies the default seccomp profile applied to all workloads. If not - specified, 'Unconfined' will be used by default. Known values are: "Unconfined" and - "RuntimeDefault". - :vartype seccomp_default: Union[str, "SeccompDefault"] - :ivar kube_reserved: Kube-reserved values for kubelet. When a value is not set, the - system-computed default based on VM size is used. See `AKS node resource reservations - `_ for details on computed defaults. Only applicable for - Linux nodepools. - :vartype kube_reserved: "KubeReserved" - :ivar hard_eviction_threshold: Hard eviction thresholds for kubelet. When a threshold is not - set, the system default is used. See `AKS node resource reservations - `_ for details on computed defaults. Only applicable for - Linux nodepools. - :vartype hard_eviction_threshold: "HardEvictionThreshold" + :vartype failSwapOn: bool + :ivar containerLogMaxSizeMB: The maximum size (e.g. 10Mi) of container log file before it is + rotated. + :vartype containerLogMaxSizeMB: int + :ivar containerLogMaxFiles: The maximum number of container log files that can be present for a + container. The number must be ≥ 2. + :vartype containerLogMaxFiles: int + :ivar podMaxPids: The maximum number of processes per pod. + :vartype podMaxPids: int """ cpuManagerPolicy: str @@ -2249,104 +1555,6 @@ class KubeletConfig(TypedDict, total=False): be ≥ 2.""" podMaxPids: int """The maximum number of processes per pod.""" - seccompDefault: Union[str, "SeccompDefault"] - """Specifies the default seccomp profile applied to all workloads. If not specified, 'Unconfined' - will be used by default. Known values are: \"Unconfined\" and \"RuntimeDefault\".""" - kubeReserved: "KubeReserved" - """Kube-reserved values for kubelet. When a value is not set, the system-computed default based on - VM size is used. See `AKS node resource reservations `_ - for details on computed defaults. Only applicable for Linux nodepools.""" - hardEvictionThreshold: "HardEvictionThreshold" - """Hard eviction thresholds for kubelet. When a threshold is not set, the system default is used. - See `AKS node resource reservations `_ for details on - computed defaults. Only applicable for Linux nodepools.""" - - -class KubeReserved(TypedDict, total=False): - """Kube-reserved values for kubelet. When a value is not set, the system-computed default based on - VM size is used. See `AKS node resource reservations `_ - for details on computed defaults. Only applicable for Linux nodepools. - - :ivar cpu_millicores: The amount of CPU reserved for Kubernetes system daemons, in millicores. - Must be greater than or equal to 140. For example, a value of 200 means 200m (0.2 CPU cores). - :vartype cpu_millicores: int - :ivar memory_mb: The amount of memory reserved for Kubernetes system daemons, in MiB. Must be - greater than or equal to 750. - :vartype memory_mb: int - """ - - cpuMillicores: int - """The amount of CPU reserved for Kubernetes system daemons, in millicores. Must be greater than - or equal to 140. For example, a value of 200 means 200m (0.2 CPU cores).""" - memoryMB: int - """The amount of memory reserved for Kubernetes system daemons, in MiB. Must be greater than or - equal to 750.""" - - -class KubernetesResourceObjectEncryptionProfile(TypedDict, total=False): # pylint: disable=name-too-long - """Encryption at rest of Kubernetes resource objects using service-managed keys. More information - on this can be found under `https://aka.ms/aks/kubernetesResourceObjectEncryption - `_. - - :ivar infrastructure_encryption: 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 - `_. Known values are: "Enabled" and - "Disabled". - :vartype infrastructure_encryption: Union[str, "InfrastructureEncryption"] - """ - - infrastructureEncryption: Union[str, "InfrastructureEncryption"] - """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 - `_. Known values are: \"Enabled\" and - \"Disabled\".""" - - -class LabelSelector(TypedDict, total=False): - """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. - - :ivar match_labels: 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. - :vartype match_labels: list[str] - :ivar match_expressions: matchExpressions is a list of label selector requirements. The - requirements are ANDed. - :vartype match_expressions: list["LabelSelectorRequirement"] - """ - - matchLabels: list[str] - """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.""" - matchExpressions: list["LabelSelectorRequirement"] - """matchExpressions is a list of label selector requirements. The requirements are ANDed.""" - - -class LabelSelectorRequirement(TypedDict, total=False): - """A label selector requirement is a selector that contains values, a key, and an operator that - relates the key and values. - - :ivar key: key is the label key that the selector applies to. - :vartype key: str - :ivar operator: operator represents a key's relationship to a set of values. Valid operators - are In and NotIn. Known values are: "In", "NotIn", "Exists", and "DoesNotExist". - :vartype operator: Union[str, "Operator"] - :ivar values_property: values is an array of string values, the values array must be non-empty. - :vartype values_property: list[str] - """ - - key: str - """key is the label key that the selector applies to.""" - operator: Union[str, "Operator"] - """operator represents a key's relationship to a set of values. Valid operators are In and NotIn. - Known values are: \"In\", \"NotIn\", \"Exists\", and \"DoesNotExist\".""" - values: list[str] - """values is an array of string values, the values array must be non-empty.""" class LinuxOSConfig(TypedDict, total=False): @@ -2355,19 +1563,19 @@ class LinuxOSConfig(TypedDict, total=False): :ivar sysctls: Sysctl settings for Linux agent nodes. :vartype sysctls: "SysctlConfig" - :ivar transparent_huge_page_enabled: Whether transparent hugepages are enabled. Valid values - are 'always', 'madvise', and 'never'. The default is 'always'. For more information see + :ivar transparentHugePageEnabled: Whether transparent hugepages are enabled. Valid values are + 'always', 'madvise', and 'never'. The default is 'always'. For more information see `Transparent Hugepages `_. - :vartype transparent_huge_page_enabled: str - :ivar transparent_huge_page_defrag: Whether the kernel should make aggressive use of memory + :vartype transparentHugePageEnabled: str + :ivar transparentHugePageDefrag: 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 `_. - :vartype transparent_huge_page_defrag: str - :ivar swap_file_size_mb: The size in MB of a swap file that will be created on each node. - :vartype swap_file_size_mb: int + :vartype transparentHugePageDefrag: str + :ivar swapFileSizeMB: The size in MB of a swap file that will be created on each node. + :vartype swapFileSizeMB: int """ sysctls: "SysctlConfig" @@ -2385,111 +1593,34 @@ class LinuxOSConfig(TypedDict, total=False): """The size in MB of a swap file that will be created on each node.""" -class ListBootstrapDataRequest(TypedDict, total=False): - """Empty request body for listing FlexNode bootstrap data.""" - - -class LoadBalancer(ProxyResource): - """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. - - :ivar id: Fully qualified resource ID for the resource. Ex - - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - :vartype id: str - :ivar name: The name of the resource. - :vartype name: str - :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or - "Microsoft.Storage/storageAccounts". - :vartype type: str - :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy - information. - :vartype system_data: "SystemData" - :ivar properties: The properties of the load balancer. - :vartype properties: "LoadBalancerProperties" - """ - - properties: "LoadBalancerProperties" - """The properties of the load balancer.""" - - -class LoadBalancerProperties(TypedDict, total=False): - """Properties for a load balancer resource. - - :ivar primary_agent_pool_name: 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. Required. - :vartype primary_agent_pool_name: str - :ivar allow_service_placement: 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. - :vartype allow_service_placement: bool - :ivar service_label_selector: Only services that must match this selector can be placed on this - load balancer. - :vartype service_label_selector: "LabelSelector" - :ivar service_namespace_selector: Services created in namespaces that match the selector can be - placed on this load balancer. - :vartype service_namespace_selector: "LabelSelector" - :ivar node_selector: Nodes that match this selector will be possible members of this load - balancer. - :vartype node_selector: "LabelSelector" - :ivar provisioning_state: The current provisioning state. - :vartype provisioning_state: str - """ - - primaryAgentPoolName: Required[str] - """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. Required.""" - allowServicePlacement: bool - """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.""" - serviceLabelSelector: "LabelSelector" - """Only services that must match this selector can be placed on this load balancer.""" - serviceNamespaceSelector: "LabelSelector" - """Services created in namespaces that match the selector can be placed on this load balancer.""" - nodeSelector: "LabelSelector" - """Nodes that match this selector will be possible members of this load balancer.""" - provisioningState: str - """The current provisioning state.""" - - class LocalDNSOverride(TypedDict, total=False): """Overrides for localDNS profile. - :ivar query_logging: Log level for DNS queries in localDNS. Known values are: "Error" and - "Log". - :vartype query_logging: Union[str, "LocalDNSQueryLogging"] + :ivar queryLogging: Log level for DNS queries in localDNS. Known values are: "Error" and "Log". + :vartype queryLogging: Union[str, "LocalDNSQueryLogging"] :ivar protocol: Enforce TCP or prefer UDP protocol for connections from localDNS to upstream DNS server. Known values are: "PreferUDP" and "ForceTCP". :vartype protocol: Union[str, "LocalDNSProtocol"] - :ivar forward_destination: Destination server for DNS queries to be forwarded from localDNS. + :ivar forwardDestination: Destination server for DNS queries to be forwarded from localDNS. Known values are: "ClusterCoreDNS" and "VnetDNS". - :vartype forward_destination: Union[str, "LocalDNSForwardDestination"] - :ivar forward_policy: Forward policy for selecting upstream DNS server. See `forward plugin + :vartype forwardDestination: Union[str, "LocalDNSForwardDestination"] + :ivar forwardPolicy: Forward policy for selecting upstream DNS server. See `forward plugin `_ for more information. Known values are: "Sequential", "RoundRobin", and "Random". - :vartype forward_policy: Union[str, "LocalDNSForwardPolicy"] - :ivar max_concurrent: Maximum number of concurrent queries. See `forward plugin + :vartype forwardPolicy: Union[str, "LocalDNSForwardPolicy"] + :ivar maxConcurrent: Maximum number of concurrent queries. See `forward plugin `_ for more information. - :vartype max_concurrent: int - :ivar cache_duration_in_seconds: Cache max TTL in seconds. See `cache plugin + :vartype maxConcurrent: int + :ivar cacheDurationInSeconds: Cache max TTL in seconds. See `cache plugin `_ for more information. - :vartype cache_duration_in_seconds: int - :ivar serve_stale_duration_in_seconds: Serve stale duration in seconds. See `cache plugin + :vartype cacheDurationInSeconds: int + :ivar serveStaleDurationInSeconds: Serve stale duration in seconds. See `cache plugin `_ for more information. - :vartype serve_stale_duration_in_seconds: int - :ivar serve_stale: Policy for serving stale data. See `cache plugin + :vartype serveStaleDurationInSeconds: int + :ivar serveStale: Policy for serving stale data. See `cache plugin `_ for more information. Known values are: "Verify", "Immediate", and "Disable". - :vartype serve_stale: Union[str, "LocalDNSServeStale"] + :vartype serveStale: Union[str, "LocalDNSServeStale"] """ queryLogging: Union[str, "LocalDNSQueryLogging"] @@ -2528,12 +1659,12 @@ class LocalDNSProfile(TypedDict, total=False): :vartype mode: Union[str, "LocalDNSMode"] :ivar state: System-generated state of localDNS. Known values are: "Enabled" and "Disabled". :vartype state: Union[str, "LocalDNSState"] - :ivar vnet_dns_overrides: VnetDNS overrides apply to DNS traffic from pods with - dnsPolicy:default or kubelet (referred to as VnetDNS traffic). - :vartype vnet_dns_overrides: dict[str, "LocalDNSOverride"] - :ivar kube_dns_overrides: KubeDNS overrides apply to DNS traffic from pods with + :ivar vnetDNSOverrides: VnetDNS overrides apply to DNS traffic from pods with dnsPolicy:default + or kubelet (referred to as VnetDNS traffic). + :vartype vnetDNSOverrides: dict[str, "LocalDNSOverride"] + :ivar kubeDNSOverrides: KubeDNS overrides apply to DNS traffic from pods with dnsPolicy:ClusterFirst (referred to as KubeDNS traffic). - :vartype kube_dns_overrides: dict[str, "LocalDNSOverride"] + :vartype kubeDNSOverrides: dict[str, "LocalDNSOverride"] """ mode: Union[str, "LocalDNSMode"] @@ -2542,470 +1673,11 @@ class LocalDNSProfile(TypedDict, total=False): state: Union[str, "LocalDNSState"] """System-generated state of localDNS. Known values are: \"Enabled\" and \"Disabled\".""" vnetDNSOverrides: dict[str, "LocalDNSOverride"] - """VnetDNS overrides apply to DNS traffic from pods with dnsPolicy:default or kubelet (referred to - as VnetDNS traffic).""" - kubeDNSOverrides: dict[str, "LocalDNSOverride"] - """KubeDNS overrides apply to DNS traffic from pods with dnsPolicy:ClusterFirst (referred to as - KubeDNS traffic).""" - - -class Machine(ProxyResource): - """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. - - :ivar id: Fully qualified resource ID for the resource. Ex - - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - :vartype id: str - :ivar name: The name of the resource. - :vartype name: str - :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or - "Microsoft.Storage/storageAccounts". - :vartype type: str - :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy - information. - :vartype system_data: "SystemData" - :ivar properties: The properties of the machine. - :vartype properties: "MachineProperties" - :ivar zones: The Availability zone in which machine is located. - :vartype zones: list[str] - """ - - properties: "MachineProperties" - """The properties of the machine.""" - zones: list[str] - """The Availability zone in which machine is located.""" - - -class MachineBillingProfile(TypedDict, total=False): - """The properties having to do with machine billing. - - :ivar spot_max_price: 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. For more details on spot pricing, see `spot VMs pricing - `_. - :vartype spot_max_price: float - """ - - spotMaxPrice: float - """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. - For more details on spot pricing, see `spot VMs pricing - `_.""" - - -class MachineHardwareProfile(TypedDict, total=False): - """The hardware and GPU settings of the machine. - - :ivar vm_size: 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 - `_. - :vartype vm_size: str - :ivar gpu_instance_profile: GPUInstanceProfile to be used to specify GPU MIG instance profile - for supported GPU VM SKU. Known values are: "MIG1g", "MIG2g", "MIG3g", "MIG4g", and "MIG7g". - :vartype gpu_instance_profile: Union[str, "GPUInstanceProfile"] - :ivar gpu_profile: The GPU settings of the machine. - :vartype gpu_profile: "GPUProfile" - :ivar ultra_ssd_enabled: Whether to enable UltraSSD. - :vartype ultra_ssd_enabled: bool - """ - - vmSize: str - """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: Union[str, "GPUInstanceProfile"] - """GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU. - Known values are: \"MIG1g\", \"MIG2g\", \"MIG3g\", \"MIG4g\", and \"MIG7g\".""" - gpuProfile: "GPUProfile" - """The GPU settings of the machine.""" - ultraSsdEnabled: bool - """Whether to enable UltraSSD.""" - - -class MachineIpAddress(TypedDict, total=False): - """The machine IP address details. - - :ivar family: To determine if address belongs IPv4 or IPv6 family. Known values are: "IPv4" and - "IPv6". - :vartype family: Union[str, "IPFamily"] - :ivar ip: IPv4 or IPv6 address of the machine. - :vartype ip: str - """ - - family: Union[str, "IPFamily"] - """To determine if address belongs IPv4 or IPv6 family. Known values are: \"IPv4\" and \"IPv6\".""" - ip: str - """IPv4 or IPv6 address of the machine.""" - - -class MachineKubernetesProfile(TypedDict, total=False): - """The Kubernetes configurations used by the machine. - - :ivar node_labels: The node labels on the machine. - :vartype node_labels: dict[str, str] - :ivar orchestrator_version: 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. - :vartype orchestrator_version: str - :ivar current_orchestrator_version: 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. - :vartype current_orchestrator_version: str - :ivar kubelet_disk_type: Determines the placement of emptyDir volumes, container runtime data - root, and Kubelet ephemeral storage. Known values are: "OS" and "Temporary". - :vartype kubelet_disk_type: Union[str, "KubeletDiskType"] - :ivar kubelet_config: The Kubelet configuration on the machine. - :vartype kubelet_config: "KubeletConfig" - :ivar node_initialization_taints: 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-``. - :vartype node_initialization_taints: list[str] - :ivar node_taints: The taints added to new node during machine create. For example, - key=value:NoSchedule. - :vartype node_taints: list[str] - :ivar max_pods: The maximum number of pods that can run on a node. - :vartype max_pods: int - :ivar node_name: The node name in the Kubernetes cluster. - :vartype node_name: str - :ivar workload_runtime: Determines the type of workload a node can run. Known values are: - "OCIContainer", "WasmWasi", "KataMshvVmIsolation", and "KataVmIsolation". - :vartype workload_runtime: Union[str, "WorkloadRuntime"] - :ivar artifact_streaming_profile: Configuration for using artifact streaming on AKS. - :vartype artifact_streaming_profile: "AgentPoolArtifactStreamingProfile" - """ - - nodeLabels: dict[str, str] - """The node labels on the machine.""" - orchestratorVersion: str - """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: str - """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: Union[str, "KubeletDiskType"] - """Determines the placement of emptyDir volumes, container runtime data root, and Kubelet - ephemeral storage. Known values are: \"OS\" and \"Temporary\".""" - kubeletConfig: "KubeletConfig" - """The Kubelet configuration on the machine.""" - nodeInitializationTaints: list[str] - """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: list[str] - """The taints added to new node during machine create. For example, key=value:NoSchedule.""" - maxPods: int - """The maximum number of pods that can run on a node.""" - nodeName: str - """The node name in the Kubernetes cluster.""" - workloadRuntime: Union[str, "WorkloadRuntime"] - """Determines the type of workload a node can run. Known values are: \"OCIContainer\", - \"WasmWasi\", \"KataMshvVmIsolation\", and \"KataVmIsolation\".""" - artifactStreamingProfile: "AgentPoolArtifactStreamingProfile" - """Configuration for using artifact streaming on AKS.""" - - -class MachineNetworkProperties(TypedDict, total=False): - """network properties of the machine. - - :ivar ip_addresses: IPv4, IPv6 addresses of the machine. - :vartype ip_addresses: list["MachineIpAddress"] - :ivar vnet_subnet_id: 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}. - :vartype vnet_subnet_id: str - :ivar pod_subnet_id: 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}. - :vartype pod_subnet_id: str - :ivar enable_node_public_ip: 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. - :vartype enable_node_public_ip: bool - :ivar node_public_ip_prefix_id: 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}. - :vartype node_public_ip_prefix_id: str - :ivar node_public_ip_tags: IPTags of instance-level public IPs. - :vartype node_public_ip_tags: list["IPTag"] - """ - - ipAddresses: list["MachineIpAddress"] - """IPv4, IPv6 addresses of the machine.""" - vnetSubnetID: str - """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: str - """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: bool - """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: str - """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: list["IPTag"] - """IPTags of instance-level public IPs.""" - - -class MachineOSProfile(TypedDict, total=False): - """The operating system and disk used by the machine. - - :ivar os_type: The operating system type. The default is Linux. Known values are: "Linux" and - "Windows". - :vartype os_type: Union[str, "OSType"] - :ivar os_sku: 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. Known values are: "Ubuntu", - "AzureLinux", "AzureLinux3", "Mariner", "Flatcar", "CBLMariner", "Windows2019", "Windows2022", - "Ubuntu2204", "Windows2025", "WindowsAnnual", "Ubuntu2404", and "AzureContainerLinux". - :vartype os_sku: Union[str, "OSSKU"] - :ivar os_disk_size_gb: 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. - :vartype os_disk_size_gb: int - :ivar os_disk_type: 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 `_. - Known values are: "Managed" and "Ephemeral". - :vartype os_disk_type: Union[str, "OSDiskType"] - :ivar enable_fips: Whether to use a FIPS-enabled OS. - :vartype enable_fips: bool - :ivar linux_profile: The Linux machine's specific profile. - :vartype linux_profile: "MachineOSProfileLinuxProfile" - :ivar windows_profile: The Windows machine's specific profile. - :vartype windows_profile: "AgentPoolWindowsProfile" - """ - - osType: Union[str, "OSType"] - """The operating system type. The default is Linux. Known values are: \"Linux\" and \"Windows\".""" - osSKU: Union[str, "OSSKU"] - """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. Known values are: \"Ubuntu\", \"AzureLinux\", - \"AzureLinux3\", \"Mariner\", \"Flatcar\", \"CBLMariner\", \"Windows2019\", \"Windows2022\", - \"Ubuntu2204\", \"Windows2025\", \"WindowsAnnual\", \"Ubuntu2404\", and - \"AzureContainerLinux\".""" - osDiskSizeGB: int - """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.""" - osDiskType: Union[str, "OSDiskType"] - """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 - `_. Known values are: - \"Managed\" and \"Ephemeral\".""" - enableFIPS: bool - """Whether to use a FIPS-enabled OS.""" - linuxProfile: "MachineOSProfileLinuxProfile" - """The Linux machine's specific profile.""" - windowsProfile: "AgentPoolWindowsProfile" - """The Windows machine's specific profile.""" - - -class MachineOSProfileLinuxProfile(TypedDict, total=False): - """The Linux machine's specific profile. - - :ivar linux_os_config: The OS configuration of Linux machine. - :vartype linux_os_config: "LinuxOSConfig" - :ivar message_of_the_day: 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). - :vartype message_of_the_day: str - """ - - linuxOSConfig: "LinuxOSConfig" - """The OS configuration of Linux machine.""" - messageOfTheDay: str - """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).""" - - -class MachineProperties(TypedDict, total=False): - """The properties of the machine. - - :ivar network: network properties of the machine. - :vartype network: "MachineNetworkProperties" - :ivar resource_id: Azure resource id of the machine. It can be used to GET underlying VM - Instance. - :vartype resource_id: str - :ivar hardware: The hardware and GPU settings of the machine. - :vartype hardware: "MachineHardwareProfile" - :ivar operating_system: The operating system and disk used by the machine. - :vartype operating_system: "MachineOSProfile" - :ivar kubernetes: The Kubernetes configurations used by the machine. - :vartype kubernetes: "MachineKubernetesProfile" - :ivar mode: Machine only allows 'System' and 'User' mode. Known values are: "System", "User", - "Gateway", "ManagedSystem", and "Machines". - :vartype mode: Union[str, "AgentPoolMode"] - :ivar security: The security settings of the machine. - :vartype security: "MachineSecurityProfile" - :ivar priority: The priority for the machine. If not specified, the default is 'Regular'. Known - values are: "Spot" and "Regular". - :vartype priority: Union[str, "ScaleSetPriority"] - :ivar eviction_policy: The eviction policy for machine. This cannot be specified unless the - priority is 'Spot'. If not specified, the default is 'Delete'. Known values are: "Delete" and - "Deallocate". - :vartype eviction_policy: Union[str, "ScaleSetEvictionPolicy"] - :ivar billing: The properties having to do with machine billing. - :vartype billing: "MachineBillingProfile" - :ivar node_image_version: The version of node image. - :vartype node_image_version: str - :ivar provisioning_state: The current deployment or provisioning state. - :vartype provisioning_state: str - :ivar tags: The tags to be persisted on the machine. - :vartype tags: dict[str, str] - :ivar e_tag: 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. - :vartype e_tag: str - :ivar status: Contains read-only information about the machine. - :vartype status: "MachineStatus" - :ivar local_dns_profile: 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. - :vartype local_dns_profile: "LocalDNSProfile" - """ - - network: "MachineNetworkProperties" - """network properties of the machine.""" - resourceId: str - """Azure resource id of the machine. It can be used to GET underlying VM Instance.""" - hardware: "MachineHardwareProfile" - """The hardware and GPU settings of the machine.""" - operatingSystem: "MachineOSProfile" - """The operating system and disk used by the machine.""" - kubernetes: "MachineKubernetesProfile" - """The Kubernetes configurations used by the machine.""" - mode: Union[str, "AgentPoolMode"] - """Machine only allows 'System' and 'User' mode. Known values are: \"System\", \"User\", - \"Gateway\", \"ManagedSystem\", and \"Machines\".""" - security: "MachineSecurityProfile" - """The security settings of the machine.""" - priority: Union[str, "ScaleSetPriority"] - """The priority for the machine. If not specified, the default is 'Regular'. Known values are: - \"Spot\" and \"Regular\".""" - evictionPolicy: Union[str, "ScaleSetEvictionPolicy"] - """The eviction policy for machine. This cannot be specified unless the priority is 'Spot'. If not - specified, the default is 'Delete'. Known values are: \"Delete\" and \"Deallocate\".""" - billing: "MachineBillingProfile" - """The properties having to do with machine billing.""" - nodeImageVersion: str - """The version of node image.""" - provisioningState: str - """The current deployment or provisioning state.""" - tags: dict[str, str] - """The tags to be persisted on the machine.""" - eTag: str - """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.""" - status: "MachineStatus" - """Contains read-only information about the machine.""" - localDNSProfile: "LocalDNSProfile" - """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.""" - - -class MachineSecurityProfile(TypedDict, total=False): - """The security settings of the machine. - - :ivar enable_vtpm: 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. - :vartype enable_vtpm: bool - :ivar enable_secure_boot: 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. - :vartype enable_secure_boot: bool - :ivar ssh_access: SSH access method of an agent pool. Known values are: "LocalUser", - "Disabled", and "EntraId". - :vartype ssh_access: Union[str, "AgentPoolSSHAccess"] - :ivar enable_encryption_at_host: 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 - `_. - :vartype enable_encryption_at_host: bool - """ - - enableVTPM: bool - """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.""" - enableSecureBoot: bool - """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: Union[str, "AgentPoolSSHAccess"] - """SSH access method of an agent pool. Known values are: \"LocalUser\", \"Disabled\", and - \"EntraId\".""" - enableEncryptionAtHost: bool - """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 - `_.""" - - -class MachineStatus(TypedDict, total=False): - """Contains read-only information about the machine. - - :ivar provisioning_error: The error details information of the machine. Preserves the detailed - info of failure. If there was no error, this field is omitted. - :vartype provisioning_error: "ErrorDetail" - :ivar creation_timestamp: Specifies the time at which the machine was created. - :vartype creation_timestamp: str - :ivar drift_action: 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. Known values are: "Synced" and "Recreate". - :vartype drift_action: Union[str, "DriftAction"] - :ivar drift_reason: Reason for machine drift. Provides detailed information on why the machine - has drifted. This field is omitted if the machine is up to date. - :vartype drift_reason: str - :ivar vm_state: Virtual machine state. Indicates the current state of the underlying virtual - machine. Known values are: "Running" and "Deleted". - :vartype vm_state: Union[str, "VmState"] - """ - - provisioningError: "ErrorDetail" - """The error details information of the machine. Preserves the detailed info of failure. If there - was no error, this field is omitted.""" - creationTimestamp: str - """Specifies the time at which the machine was created.""" - driftAction: Union[str, "DriftAction"] - """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. Known values - are: \"Synced\" and \"Recreate\".""" - driftReason: str - """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: Union[str, "VmState"] - """Virtual machine state. Indicates the current state of the underlying virtual machine. Known - values are: \"Running\" and \"Deleted\".""" + """VnetDNS overrides apply to DNS traffic from pods with dnsPolicy:default or kubelet (referred to + as VnetDNS traffic).""" + kubeDNSOverrides: dict[str, "LocalDNSOverride"] + """KubeDNS overrides apply to DNS traffic from pods with dnsPolicy:ClusterFirst (referred to as + KubeDNS traffic).""" class MaintenanceConfiguration(ProxyResource): @@ -3021,9 +1693,9 @@ class MaintenanceConfiguration(ProxyResource): :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts". :vartype type: str - :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy + :ivar systemData: Azure Resource Manager metadata containing createdBy and modifiedBy information. - :vartype system_data: "SystemData" + :vartype systemData: "SystemData" :ivar properties: Properties of a default maintenance configuration. :vartype properties: "MaintenanceConfigurationProperties" """ @@ -3035,20 +1707,14 @@ class MaintenanceConfiguration(ProxyResource): class MaintenanceConfigurationProperties(TypedDict, total=False): """Properties used to configure planned maintenance for a Managed Cluster. - :ivar time_in_week: 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. - :vartype time_in_week: list["TimeInWeek"] - :ivar not_allowed_time: Time slots on which upgrade is not allowed. - :vartype not_allowed_time: list["TimeSpan"] - :ivar maintenance_window_id: The fully qualified resource ID of the maintenance window that - this maintenance configuration is linked to. When set, the schedule is derived read-only from - the linked maintenance window — maintenanceWindow becomes a computed field. When absent (the - default), the schedule is defined inline via the maintenanceWindow property. The caller must - have read access to the target maintenance window. - :vartype maintenance_window_id: str - :ivar maintenance_window: Maintenance window for the maintenance configuration. - :vartype maintenance_window: "MaintenanceWindow" + :ivar timeInWeek: 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. + :vartype timeInWeek: list["TimeInWeek"] + :ivar notAllowedTime: Time slots on which upgrade is not allowed. + :vartype notAllowedTime: list["TimeSpan"] + :ivar maintenanceWindow: Maintenance window for the maintenance configuration. + :vartype maintenanceWindow: "MaintenanceWindow" """ timeInWeek: list["TimeInWeek"] @@ -3057,12 +1723,6 @@ class MaintenanceConfigurationProperties(TypedDict, total=False): entries.""" notAllowedTime: list["TimeSpan"] """Time slots on which upgrade is not allowed.""" - maintenanceWindowId: str - """The fully qualified resource ID of the maintenance window that this maintenance configuration - is linked to. When set, the schedule is derived read-only from the linked maintenance window — - maintenanceWindow becomes a computed field. When absent (the default), the schedule is defined - inline via the maintenanceWindow property. The caller must have read access to the target - maintenance window.""" maintenanceWindow: "MaintenanceWindow" """Maintenance window for the maintenance configuration.""" @@ -3072,24 +1732,23 @@ class MaintenanceWindow(TypedDict, total=False): :ivar schedule: Recurrence schedule for the maintenance window. Required. :vartype schedule: "Schedule" - :ivar duration_hours: Length of maintenance window range from 4 to 24 hours. Required. - :vartype duration_hours: int - :ivar utc_offset: The UTC offset in format +/-HH:mm. For example, '+05:30' for IST and '-07:00' + :ivar durationHours: Length of maintenance window range from 4 to 24 hours. Required. + :vartype durationHours: int + :ivar utcOffset: 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'. - :vartype utc_offset: str - :ivar start_date: The date the maintenance window activates. If the current date is before this + :vartype utcOffset: str + :ivar startDate: 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. - :vartype start_date: str - :ivar start_time: The start time of the maintenance window. Accepted values are from '00:00' to + :vartype startDate: str + :ivar startTime: 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'. Required. - :vartype start_time: str - :ivar not_allowed_dates: 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. - :vartype not_allowed_dates: list["DateSpan"] + :vartype startTime: str + :ivar notAllowedDates: 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. + :vartype notAllowedDates: list["DateSpan"] """ schedule: Required["Schedule"] @@ -3124,9 +1783,9 @@ class TrackedResource(Resource): :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts". :vartype type: str - :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy + :ivar systemData: Azure Resource Manager metadata containing createdBy and modifiedBy information. - :vartype system_data: "SystemData" + :vartype systemData: "SystemData" :ivar tags: Resource tags. :vartype tags: dict[str, str] :ivar location: The geo-location where the resource lives. Required. @@ -3139,97 +1798,6 @@ class TrackedResource(Resource): """The geo-location where the resource lives. Required.""" -class MaintenanceWindowResource(TrackedResource): - """A maintenance window is a resource-group-scoped resource that defines a reusable maintenance - schedule which can be linked to maintenance configurations on one or more managed clusters. For - more information, see `https://aka.ms/aks/maintenance-windows - `_. - - :ivar id: Fully qualified resource ID for the resource. Ex - - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - :vartype id: str - :ivar name: The name of the resource. - :vartype name: str - :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or - "Microsoft.Storage/storageAccounts". - :vartype type: str - :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy - information. - :vartype system_data: "SystemData" - :ivar tags: Resource tags. - :vartype tags: dict[str, str] - :ivar location: The geo-location where the resource lives. Required. - :vartype location: str - :ivar properties: Properties of a maintenance window. - :vartype properties: "MaintenanceWindowResourceProperties" - """ - - properties: "MaintenanceWindowResourceProperties" - """Properties of a maintenance window.""" - - -class MaintenanceWindowResourceProperties(TypedDict, total=False): - """Properties of a maintenance window. For more information, see - `https://aka.ms/aks/maintenance-windows `_. - - :ivar provisioning_state: The provisioning state of the maintenance window. Known values are: - "Succeeded", "Failed", and "Canceled". - :vartype provisioning_state: Union[str, "ResourceProvisioningState"] - :ivar schedule: Recurrence schedule for the maintenance window. One and only one of the - schedule types should be specified: 'daily', 'weekly', 'absoluteMonthly', or 'relativeMonthly'. - Required. - :vartype schedule: "Schedule" - :ivar start_date: The date the maintenance window activates. If the current date is before this - date, the maintenance window is inactive and will not be used. If not specified, the - maintenance window will be active right away. - :vartype start_date: str - :ivar start_time: 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'. Required. - :vartype start_time: str - :ivar duration_hours: Length of the maintenance window in hours. Required. - :vartype duration_hours: int - :ivar utc_offset: 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'. Note: this is a static offset and does not - adjust for Daylight Saving Time. Customers in DST-observing regions should pick the offset that - matches their preferred wall-clock time year-round; the maintenance window will shift by one - hour relative to local time when DST starts or ends. - :vartype utc_offset: str - :ivar not_allowed_dates: Date ranges during which maintenance is not allowed. 'utcOffset' - applies to these dates. For example, with 'utcOffset: +02:00' and a date span of '2026-12-23' - to '2027-01-03', maintenance will be blocked from '2026-12-22 22:00' to '2027-01-03 22:00' in - UTC time. - :vartype not_allowed_dates: list["DateSpan"] - """ - - provisioningState: Union[str, "ResourceProvisioningState"] - """The provisioning state of the maintenance window. Known values are: \"Succeeded\", \"Failed\", - and \"Canceled\".""" - schedule: Required["Schedule"] - """Recurrence schedule for the maintenance window. One and only one of the schedule types should - be specified: 'daily', 'weekly', 'absoluteMonthly', or 'relativeMonthly'. Required.""" - startDate: str - """The date the maintenance window activates. If the current date is before this date, the - maintenance window is inactive and will not be used. If not specified, the maintenance window - will be active right away.""" - startTime: Required[str] - """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'. Required.""" - durationHours: Required[int] - """Length of the maintenance window in hours. Required.""" - utcOffset: str - """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'. Note: this is a static offset and does not adjust for - Daylight Saving Time. Customers in DST-observing regions should pick the offset that matches - their preferred wall-clock time year-round; the maintenance window will shift by one hour - relative to local time when DST starts or ends.""" - notAllowedDates: list["DateSpan"] - """Date ranges during which maintenance is not allowed. 'utcOffset' applies to these dates. For - example, with 'utcOffset: +02:00' and a date span of '2026-12-23' to '2027-01-03', maintenance - will be blocked from '2026-12-22 22:00' to '2027-01-03 22:00' in UTC time.""" - - class ManagedCluster(TrackedResource): """Managed cluster. @@ -3241,24 +1809,24 @@ class ManagedCluster(TrackedResource): :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts". :vartype type: str - :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy + :ivar systemData: Azure Resource Manager metadata containing createdBy and modifiedBy information. - :vartype system_data: "SystemData" + :vartype systemData: "SystemData" :ivar tags: Resource tags. :vartype tags: dict[str, str] :ivar location: The geo-location where the resource lives. Required. :vartype location: str :ivar properties: Properties of a managed cluster. :vartype properties: "ManagedClusterProperties" - :ivar e_tag: If eTag is provided in the response body, it may also be provided as a header per + :ivar eTag: 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. - :vartype e_tag: str + :vartype eTag: str :ivar sku: The managed cluster SKU. :vartype sku: "ManagedClusterSKU" - :ivar extended_location: The extended location of the Virtual Machine. - :vartype extended_location: "ExtendedLocation" + :ivar extendedLocation: The extended location of the Virtual Machine. + :vartype extendedLocation: "ExtendedLocation" :ivar identity: The identity of the managed cluster, if configured. :vartype identity: "ManagedClusterIdentity" :ivar kind: This is primarily used to expose different UI experiences in the portal for @@ -3289,23 +1857,23 @@ class ManagedClusterAADProfile(TypedDict, total=False): :ivar managed: Whether to enable managed AAD. :vartype managed: bool - :ivar enable_azure_rbac: Whether to enable Azure RBAC for Kubernetes authorization. - :vartype enable_azure_rbac: bool - :ivar admin_group_object_i_ds: The list of AAD group object IDs that will have admin role of - the cluster. - :vartype admin_group_object_i_ds: list[str] - :ivar client_app_id: (DEPRECATED) The client AAD application ID. Learn more at + :ivar enableAzureRBAC: Whether to enable Azure RBAC for Kubernetes authorization. + :vartype enableAzureRBAC: bool + :ivar adminGroupObjectIDs: The list of AAD group object IDs that will have admin role of the + cluster. + :vartype adminGroupObjectIDs: list[str] + :ivar clientAppID: (DEPRECATED) The client AAD application ID. Learn more at `https://aka.ms/aks/aad-legacy `_. - :vartype client_app_id: str - :ivar server_app_id: (DEPRECATED) The server AAD application ID. Learn more at + :vartype clientAppID: str + :ivar serverAppID: (DEPRECATED) The server AAD application ID. Learn more at `https://aka.ms/aks/aad-legacy `_. - :vartype server_app_id: str - :ivar server_app_secret: (DEPRECATED) The server AAD application secret. Learn more at + :vartype serverAppID: str + :ivar serverAppSecret: (DEPRECATED) The server AAD application secret. Learn more at `https://aka.ms/aks/aad-legacy `_. - :vartype server_app_secret: str - :ivar tenant_id: The AAD tenant ID to use for authentication. If not specified, will use the + :vartype serverAppSecret: str + :ivar tenantID: The AAD tenant ID to use for authentication. If not specified, will use the tenant of the deployment subscription. - :vartype tenant_id: str + :vartype tenantID: str """ managed: bool @@ -3350,12 +1918,12 @@ class ManagedClusterAddonProfile(TypedDict, total=False): class UserAssignedIdentity(TypedDict, total=False): """Details about a user assigned identity. - :ivar resource_id: The resource ID of the user assigned identity. - :vartype resource_id: str - :ivar client_id: The client ID of the user assigned identity. - :vartype client_id: str - :ivar object_id: The object ID of the user assigned identity. - :vartype object_id: str + :ivar resourceId: The resource ID of the user assigned identity. + :vartype resourceId: str + :ivar clientId: The client ID of the user assigned identity. + :vartype clientId: str + :ivar objectId: The object ID of the user assigned identity. + :vartype objectId: str """ resourceId: str @@ -3369,100 +1937,100 @@ class UserAssignedIdentity(TypedDict, total=False): class ManagedClusterAddonProfileIdentity(UserAssignedIdentity): """Information of user assigned identity used by this add-on. - :ivar resource_id: The resource ID of the user assigned identity. - :vartype resource_id: str - :ivar client_id: The client ID of the user assigned identity. - :vartype client_id: str - :ivar object_id: The object ID of the user assigned identity. - :vartype object_id: str + :ivar resourceId: The resource ID of the user assigned identity. + :vartype resourceId: str + :ivar clientId: The client ID of the user assigned identity. + :vartype clientId: str + :ivar objectId: The object ID of the user assigned identity. + :vartype objectId: str """ class ManagedClusterAgentPoolProfileProperties(TypedDict, total=False): """Properties for the container service agent pool profile. - :ivar e_tag: Unique read-only string used to implement optimistic concurrency. The eTag value + :ivar eTag: 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. - :vartype e_tag: str + :vartype eTag: str :ivar count: 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. :vartype count: int - :ivar vm_size: The size of the agent pool VMs. VM size availability varies by region. If a node + :ivar vmSize: 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 `_. - :vartype vm_size: str - :ivar os_disk_size_gb: 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. - :vartype os_disk_size_gb: int - :ivar os_disk_type: The OS disk type to be used for machines in the agent pool. The default is + :vartype vmSize: str + :ivar osDiskSizeGB: 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. + :vartype osDiskSizeGB: int + :ivar osDiskType: 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 `_. Known values are: "Managed" and "Ephemeral". - :vartype os_disk_type: Union[str, "OSDiskType"] - :ivar kubelet_disk_type: Determines the placement of emptyDir volumes, container runtime data + :vartype osDiskType: Union[str, "OSDiskType"] + :ivar kubeletDiskType: Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral storage. Known values are: "OS" and "Temporary". - :vartype kubelet_disk_type: Union[str, "KubeletDiskType"] - :ivar workload_runtime: Determines the type of workload a node can run. Known values are: - "OCIContainer", "WasmWasi", "KataMshvVmIsolation", and "KataVmIsolation". - :vartype workload_runtime: Union[str, "WorkloadRuntime"] - :ivar message_of_the_day: Message of the day for Linux nodes, base64-encoded. A base64-encoded + :vartype kubeletDiskType: Union[str, "KubeletDiskType"] + :ivar workloadRuntime: Determines the type of workload a node can run. Known values are: + "OCIContainer", "WasmWasi", and "KataVmIsolation". + :vartype workloadRuntime: Union[str, "WorkloadRuntime"] + :ivar messageOfTheDay: 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). - :vartype message_of_the_day: str - :ivar vnet_subnet_id: The ID of the subnet which agent pool nodes and optionally pods will join + :vartype messageOfTheDay: str + :ivar vnetSubnetID: 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}. - :vartype vnet_subnet_id: str - :ivar pod_subnet_id: 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: + :vartype vnetSubnetID: str + :ivar podSubnetID: 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}. - :vartype pod_subnet_id: str - :ivar pod_ip_allocation_mode: Pod IP Allocation Mode. The IP allocation mode for pods in the - agent pool. Must be used with podSubnetId. The default is 'DynamicIndividual'. Known values - are: "DynamicIndividual" and "StaticBlock". - :vartype pod_ip_allocation_mode: Union[str, "PodIPAllocationMode"] - :ivar max_pods: The maximum number of pods that can run on a node. - :vartype max_pods: int - :ivar os_type: The operating system type. The default is Linux. Known values are: "Linux" and + :vartype podSubnetID: str + :ivar podIPAllocationMode: Pod IP Allocation Mode. The IP allocation mode for pods in the agent + pool. Must be used with podSubnetId. The default is 'DynamicIndividual'. Known values are: + "DynamicIndividual" and "StaticBlock". + :vartype podIPAllocationMode: Union[str, "PodIPAllocationMode"] + :ivar maxPods: The maximum number of pods that can run on a node. + :vartype maxPods: int + :ivar osType: The operating system type. The default is Linux. Known values are: "Linux" and "Windows". - :vartype os_type: Union[str, "OSType"] - :ivar os_sku: Specifies the OS SKU used by the agent pool. The default is Ubuntu if OSType is + :vartype osType: Union[str, "OSType"] + :ivar osSKU: 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. Known values are: "Ubuntu", "AzureLinux", "AzureLinux3", "Mariner", - "Flatcar", "CBLMariner", "Windows2019", "Windows2022", "Ubuntu2204", "Windows2025", - "WindowsAnnual", "Ubuntu2404", and "AzureContainerLinux". - :vartype os_sku: Union[str, "OSSKU"] - :ivar max_count: The maximum number of nodes for auto-scaling. - :vartype max_count: int - :ivar min_count: The minimum number of nodes for auto-scaling. - :vartype min_count: int - :ivar enable_auto_scaling: Whether to enable auto-scaler. - :vartype enable_auto_scaling: bool - :ivar scale_down_mode: 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. Known values - are: "Delete" and "Deallocate". - :vartype scale_down_mode: Union[str, "ScaleDownMode"] + 1.25 if OSType is Windows. Known values are: "Ubuntu", "AzureLinux", "AzureLinux3", + "CBLMariner", "Windows2019", "Windows2022", "Ubuntu2204", "Windows2025", "Ubuntu2404", and + "AzureContainerLinux". + :vartype osSKU: Union[str, "OSSKU"] + :ivar maxCount: The maximum number of nodes for auto-scaling. + :vartype maxCount: int + :ivar minCount: The minimum number of nodes for auto-scaling. + :vartype minCount: int + :ivar enableAutoScaling: Whether to enable auto-scaler. + :vartype enableAutoScaling: bool + :ivar scaleDownMode: 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. Known values are: + "Delete" and "Deallocate". + :vartype scaleDownMode: Union[str, "ScaleDownMode"] :ivar type: The type of Agent Pool. Known values are: "VirtualMachineScaleSets", - "AvailabilitySet", "VirtualMachines", and "FlexNodes". + "AvailabilitySet", and "VirtualMachines". :vartype type: Union[str, "AgentPoolType"] :ivar mode: 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 `_. Known values are: "System", "User", - "Gateway", "ManagedSystem", and "Machines". + and "Gateway". :vartype mode: Union[str, "AgentPoolMode"] - :ivar orchestrator_version: The version of Kubernetes specified by the user. Both patch version + :ivar orchestratorVersion: 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) @@ -3472,142 +2040,121 @@ class ManagedClusterAgentPoolProfileProperties(TypedDict, total=False): 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 `_. - :vartype orchestrator_version: str - :ivar current_orchestrator_version: The version of Kubernetes the Agent Pool is running. If + :vartype orchestratorVersion: str + :ivar currentOrchestratorVersion: 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. - :vartype current_orchestrator_version: str - :ivar node_image_version: The version of the node image. Setting this value triggers an - agentPool rollback. Only values from ``recentlyUsedVersions`` are allowed. - :vartype node_image_version: str - :ivar upgrade_strategy: Defines the upgrade strategy for the agent pool. The default is - Rolling. Known values are: "Rolling" and "BlueGreen". - :vartype upgrade_strategy: Union[str, "UpgradeStrategy"] - :ivar enable_os_disk_full_caching: Whether to enable the full-cache ephemeral OS disk feature. - When this feature is enabled, the entire operating system will be locally cached on the - ephemeral OS disk, preventing E17 events caused by network failures. - :vartype enable_os_disk_full_caching: bool - :ivar upgrade_settings: Settings for upgrading the agentpool. - :vartype upgrade_settings: "AgentPoolUpgradeSettings" - :ivar upgrade_settings_blue_green: Settings for Blue-Green upgrade on the agentpool. Applies - when upgrade strategy is set to BlueGreen. - :vartype upgrade_settings_blue_green: "AgentPoolBlueGreenUpgradeSettings" - :ivar provisioning_state: The current deployment or provisioning state. - :vartype provisioning_state: str - :ivar power_state: Whether the Agent Pool is running or stopped. When an Agent Pool is first + :vartype currentOrchestratorVersion: str + :ivar nodeImageVersion: The version of the node image. Setting this value triggers an agentPool + rollback. Only values from ``recentlyUsedVersions`` are allowed. + :vartype nodeImageVersion: str + :ivar upgradeSettings: Settings for upgrading the agentpool. + :vartype upgradeSettings: "AgentPoolUpgradeSettings" + :ivar provisioningState: The current deployment or provisioning state. + :vartype provisioningState: str + :ivar powerState: 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. - :vartype power_state: "PowerState" - :ivar availability_zones: The list of Availability zones to use for nodes. This can only be + :vartype powerState: "PowerState" + :ivar availabilityZones: The list of Availability zones to use for nodes. This can only be specified if the AgentPoolType property is 'VirtualMachineScaleSets'. - :vartype availability_zones: list[str] - :ivar enable_node_public_ip: 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 + :vartype availabilityZones: list[str] + :ivar enableNodePublicIP: 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 `_. The default is false. - :vartype enable_node_public_ip: bool - :ivar node_public_ip_prefix_id: The public IP prefix ID which VM nodes should use IPs from. - This is of the form: + :vartype enableNodePublicIP: bool + :ivar nodePublicIPPrefixID: 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}. - :vartype node_public_ip_prefix_id: str - :ivar scale_set_priority: The Virtual Machine Scale Set priority. Known values are: "Spot" and + :vartype nodePublicIPPrefixID: str + :ivar scaleSetPriority: The Virtual Machine Scale Set priority. Known values are: "Spot" and "Regular". - :vartype scale_set_priority: Union[str, "ScaleSetPriority"] - :ivar scale_set_eviction_policy: The Virtual Machine Scale Set eviction policy. The eviction + :vartype scaleSetPriority: Union[str, "ScaleSetPriority"] + :ivar scaleSetEvictionPolicy: 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 `_. Known values are: "Delete" and "Deallocate". - :vartype scale_set_eviction_policy: Union[str, "ScaleSetEvictionPolicy"] - :ivar spot_max_price: The max price (in US Dollars) you are willing to pay for spot instances. + :vartype scaleSetEvictionPolicy: Union[str, "ScaleSetEvictionPolicy"] + :ivar spotMaxPrice: 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 `_. - :vartype spot_max_price: float + :vartype spotMaxPrice: float :ivar tags: The tags to be persisted on the agent pool virtual machine scale set. :vartype tags: dict[str, str] - :ivar node_labels: The node labels to be persisted across all nodes in agent pool. - :vartype node_labels: dict[str, str] - :ivar node_taints: The taints added to new nodes during node pool create and scale. For - example, key=value:NoSchedule. - :vartype node_taints: list[str] - :ivar node_initialization_taints: 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-``. - :vartype node_initialization_taints: list[str] - :ivar proximity_placement_group_id: The ID for Proximity Placement Group. - :vartype proximity_placement_group_id: str - :ivar kubelet_config: The Kubelet configuration on the agent pool nodes. - :vartype kubelet_config: "KubeletConfig" - :ivar linux_os_config: The OS configuration of Linux agent nodes. - :vartype linux_os_config: "LinuxOSConfig" - :ivar enable_encryption_at_host: 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 + :ivar nodeLabels: The node labels to be persisted across all nodes in agent pool. + :vartype nodeLabels: dict[str, str] + :ivar nodeTaints: The taints added to new nodes during node pool create and scale. For example, + key=value:NoSchedule. + :vartype nodeTaints: list[str] + :ivar proximityPlacementGroupID: The ID for Proximity Placement Group. + :vartype proximityPlacementGroupID: str + :ivar kubeletConfig: The Kubelet configuration on the agent pool nodes. + :vartype kubeletConfig: "KubeletConfig" + :ivar linuxOSConfig: The OS configuration of Linux agent nodes. + :vartype linuxOSConfig: "LinuxOSConfig" + :ivar enableEncryptionAtHost: 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 `_. - :vartype enable_encryption_at_host: bool - :ivar enable_ultra_ssd: Whether to enable UltraSSD. - :vartype enable_ultra_ssd: bool - :ivar enable_fips: Whether to use a FIPS-enabled OS. See `Add a FIPS-enabled node pool + :vartype enableEncryptionAtHost: bool + :ivar enableUltraSSD: Whether to enable UltraSSD. + :vartype enableUltraSSD: bool + :ivar enableFIPS: Whether to use a FIPS-enabled OS. See `Add a FIPS-enabled node pool `_ for more details. - :vartype enable_fips: bool - :ivar gpu_instance_profile: GPUInstanceProfile to be used to specify GPU MIG instance profile - for supported GPU VM SKU. Known values are: "MIG1g", "MIG2g", "MIG3g", "MIG4g", and "MIG7g". - :vartype gpu_instance_profile: Union[str, "GPUInstanceProfile"] - :ivar creation_data: CreationData to be used to specify the source Snapshot ID if the node pool + :vartype enableFIPS: bool + :ivar gpuInstanceProfile: GPUInstanceProfile to be used to specify GPU MIG instance profile for + supported GPU VM SKU. Known values are: "MIG1g", "MIG2g", "MIG3g", "MIG4g", and "MIG7g". + :vartype gpuInstanceProfile: Union[str, "GPUInstanceProfile"] + :ivar creationData: CreationData to be used to specify the source Snapshot ID if the node pool will be created/upgraded using a snapshot. - :vartype creation_data: "CreationData" - :ivar capacity_reservation_group_id: 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: + :vartype creationData: "CreationData" + :ivar capacityReservationGroupID: 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 `_. - :vartype capacity_reservation_group_id: str - :ivar host_group_id: The fully qualified resource ID of the Dedicated Host Group to provision + :vartype capacityReservationGroupID: str + :ivar hostGroupID: 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 `_. - :vartype host_group_id: str - :ivar network_profile: Network-related settings of an agent pool. - :vartype network_profile: "AgentPoolNetworkProfile" - :ivar windows_profile: The Windows agent pool's specific profile. - :vartype windows_profile: "AgentPoolWindowsProfile" - :ivar security_profile: The security settings of an agent pool. - :vartype security_profile: "AgentPoolSecurityProfile" - :ivar gpu_profile: GPU settings for the Agent Pool. - :vartype gpu_profile: "GPUProfile" - :ivar gateway_profile: Profile specific to a managed agent pool in Gateway mode. This field + :vartype hostGroupID: str + :ivar networkProfile: Network-related settings of an agent pool. + :vartype networkProfile: "AgentPoolNetworkProfile" + :ivar windowsProfile: The Windows agent pool's specific profile. + :vartype windowsProfile: "AgentPoolWindowsProfile" + :ivar securityProfile: The security settings of an agent pool. + :vartype securityProfile: "AgentPoolSecurityProfile" + :ivar gpuProfile: GPU settings for the Agent Pool. + :vartype gpuProfile: "GPUProfile" + :ivar gatewayProfile: Profile specific to a managed agent pool in Gateway mode. This field cannot be set if agent pool mode is not Gateway. - :vartype gateway_profile: "AgentPoolGatewayProfile" - :ivar artifact_streaming_profile: Configuration for using artifact streaming on AKS. - :vartype artifact_streaming_profile: "AgentPoolArtifactStreamingProfile" - :ivar virtual_machines_profile: Specifications on VirtualMachines agent pool. - :vartype virtual_machines_profile: "VirtualMachinesProfile" - :ivar virtual_machine_nodes_status: The status of nodes in a VirtualMachines agent pool. - :vartype virtual_machine_nodes_status: list["VirtualMachineNodes"] + :vartype gatewayProfile: "AgentPoolGatewayProfile" + :ivar artifactStreamingProfile: Configuration for using artifact streaming on AKS. + :vartype artifactStreamingProfile: "AgentPoolArtifactStreamingProfile" + :ivar virtualMachinesProfile: Specifications on VirtualMachines agent pool. + :vartype virtualMachinesProfile: "VirtualMachinesProfile" + :ivar virtualMachineNodesStatus: The status of nodes in a VirtualMachines agent pool. + :vartype virtualMachineNodesStatus: list["VirtualMachineNodes"] :ivar status: Contains read-only information about the Agent Pool. :vartype status: "AgentPoolStatus" - :ivar local_dns_profile: Configures the per-node local DNS, with VnetDNS and KubeDNS overrides. + :ivar localDNSProfile: 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. - :vartype local_dns_profile: "LocalDNSProfile" - :ivar prepared_image_specification_profile: Settings to determine the prepared image - specification used to provision nodes in a pool. - :vartype prepared_image_specification_profile: "PreparedImageSpecificationProfile" + :vartype localDNSProfile: "LocalDNSProfile" """ eTag: str @@ -3638,7 +2185,7 @@ class ManagedClusterAgentPoolProfileProperties(TypedDict, total=False): ephemeral storage. Known values are: \"OS\" and \"Temporary\".""" workloadRuntime: Union[str, "WorkloadRuntime"] """Determines the type of workload a node can run. Known values are: \"OCIContainer\", - \"WasmWasi\", \"KataMshvVmIsolation\", and \"KataVmIsolation\".""" + \"WasmWasi\", and \"KataVmIsolation\".""" messageOfTheDay: str """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 @@ -3664,9 +2211,9 @@ class ManagedClusterAgentPoolProfileProperties(TypedDict, total=False): osSKU: Union[str, "OSSKU"] """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. Known values are: \"Ubuntu\", \"AzureLinux\", \"AzureLinux3\", \"Mariner\", - \"Flatcar\", \"CBLMariner\", \"Windows2019\", \"Windows2022\", \"Ubuntu2204\", \"Windows2025\", - \"WindowsAnnual\", \"Ubuntu2404\", and \"AzureContainerLinux\".""" + is Windows. Known values are: \"Ubuntu\", \"AzureLinux\", \"AzureLinux3\", \"CBLMariner\", + \"Windows2019\", \"Windows2022\", \"Ubuntu2204\", \"Windows2025\", \"Ubuntu2404\", and + \"AzureContainerLinux\".""" maxCount: int """The maximum number of nodes for auto-scaling.""" minCount: int @@ -3678,14 +2225,14 @@ class ManagedClusterAgentPoolProfileProperties(TypedDict, total=False): autoscaler behavior. If not specified, it defaults to Delete. Known values are: \"Delete\" and \"Deallocate\".""" type: Union[str, "AgentPoolType"] - """The type of Agent Pool. Known values are: \"VirtualMachineScaleSets\", \"AvailabilitySet\", - \"VirtualMachines\", and \"FlexNodes\".""" + """The type of Agent Pool. Known values are: \"VirtualMachineScaleSets\", \"AvailabilitySet\", and + \"VirtualMachines\".""" mode: Union[str, "AgentPoolMode"] """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 `_. Known values are: \"System\", - \"User\", \"Gateway\", \"ManagedSystem\", and \"Machines\".""" + \"User\", and \"Gateway\".""" orchestratorVersion: str """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 @@ -3705,18 +2252,8 @@ class ManagedClusterAgentPoolProfileProperties(TypedDict, total=False): nodeImageVersion: str """The version of the node image. Setting this value triggers an agentPool rollback. Only values from ``recentlyUsedVersions`` are allowed.""" - upgradeStrategy: Union[str, "UpgradeStrategy"] - """Defines the upgrade strategy for the agent pool. The default is Rolling. Known values are: - \"Rolling\" and \"BlueGreen\".""" - enableOSDiskFullCaching: bool - """Whether to enable the full-cache ephemeral OS disk feature. When this feature is enabled, the - entire operating system will be locally cached on the ephemeral OS disk, preventing E17 events - caused by network failures.""" upgradeSettings: "AgentPoolUpgradeSettings" """Settings for upgrading the agentpool.""" - upgradeSettingsBlueGreen: "AgentPoolBlueGreenUpgradeSettings" - """Settings for Blue-Green upgrade on the agentpool. Applies when upgrade strategy is set to - BlueGreen.""" provisioningState: str """The current deployment or provisioning state.""" powerState: "PowerState" @@ -3757,14 +2294,6 @@ class ManagedClusterAgentPoolProfileProperties(TypedDict, total=False): nodeTaints: list[str] """The taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule.""" - nodeInitializationTaints: list[str] - """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: str """The ID for Proximity Placement Group.""" kubeletConfig: "KubeletConfig" @@ -3824,95 +2353,93 @@ class ManagedClusterAgentPoolProfileProperties(TypedDict, total=False): """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.""" - preparedImageSpecificationProfile: "PreparedImageSpecificationProfile" - """Settings to determine the prepared image specification used to provision nodes in a pool.""" class ManagedClusterAgentPoolProfile(ManagedClusterAgentPoolProfileProperties): """Profile for the container service agent pool. - :ivar e_tag: Unique read-only string used to implement optimistic concurrency. The eTag value + :ivar eTag: 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. - :vartype e_tag: str + :vartype eTag: str :ivar count: 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. :vartype count: int - :ivar vm_size: The size of the agent pool VMs. VM size availability varies by region. If a node + :ivar vmSize: 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 `_. - :vartype vm_size: str - :ivar os_disk_size_gb: 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. - :vartype os_disk_size_gb: int - :ivar os_disk_type: The OS disk type to be used for machines in the agent pool. The default is + :vartype vmSize: str + :ivar osDiskSizeGB: 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. + :vartype osDiskSizeGB: int + :ivar osDiskType: 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 `_. Known values are: "Managed" and "Ephemeral". - :vartype os_disk_type: Union[str, "OSDiskType"] - :ivar kubelet_disk_type: Determines the placement of emptyDir volumes, container runtime data + :vartype osDiskType: Union[str, "OSDiskType"] + :ivar kubeletDiskType: Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral storage. Known values are: "OS" and "Temporary". - :vartype kubelet_disk_type: Union[str, "KubeletDiskType"] - :ivar workload_runtime: Determines the type of workload a node can run. Known values are: - "OCIContainer", "WasmWasi", "KataMshvVmIsolation", and "KataVmIsolation". - :vartype workload_runtime: Union[str, "WorkloadRuntime"] - :ivar message_of_the_day: Message of the day for Linux nodes, base64-encoded. A base64-encoded + :vartype kubeletDiskType: Union[str, "KubeletDiskType"] + :ivar workloadRuntime: Determines the type of workload a node can run. Known values are: + "OCIContainer", "WasmWasi", and "KataVmIsolation". + :vartype workloadRuntime: Union[str, "WorkloadRuntime"] + :ivar messageOfTheDay: 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). - :vartype message_of_the_day: str - :ivar vnet_subnet_id: The ID of the subnet which agent pool nodes and optionally pods will join + :vartype messageOfTheDay: str + :ivar vnetSubnetID: 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}. - :vartype vnet_subnet_id: str - :ivar pod_subnet_id: 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: + :vartype vnetSubnetID: str + :ivar podSubnetID: 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}. - :vartype pod_subnet_id: str - :ivar pod_ip_allocation_mode: Pod IP Allocation Mode. The IP allocation mode for pods in the - agent pool. Must be used with podSubnetId. The default is 'DynamicIndividual'. Known values - are: "DynamicIndividual" and "StaticBlock". - :vartype pod_ip_allocation_mode: Union[str, "PodIPAllocationMode"] - :ivar max_pods: The maximum number of pods that can run on a node. - :vartype max_pods: int - :ivar os_type: The operating system type. The default is Linux. Known values are: "Linux" and + :vartype podSubnetID: str + :ivar podIPAllocationMode: Pod IP Allocation Mode. The IP allocation mode for pods in the agent + pool. Must be used with podSubnetId. The default is 'DynamicIndividual'. Known values are: + "DynamicIndividual" and "StaticBlock". + :vartype podIPAllocationMode: Union[str, "PodIPAllocationMode"] + :ivar maxPods: The maximum number of pods that can run on a node. + :vartype maxPods: int + :ivar osType: The operating system type. The default is Linux. Known values are: "Linux" and "Windows". - :vartype os_type: Union[str, "OSType"] - :ivar os_sku: Specifies the OS SKU used by the agent pool. The default is Ubuntu if OSType is + :vartype osType: Union[str, "OSType"] + :ivar osSKU: 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. Known values are: "Ubuntu", "AzureLinux", "AzureLinux3", "Mariner", - "Flatcar", "CBLMariner", "Windows2019", "Windows2022", "Ubuntu2204", "Windows2025", - "WindowsAnnual", "Ubuntu2404", and "AzureContainerLinux". - :vartype os_sku: Union[str, "OSSKU"] - :ivar max_count: The maximum number of nodes for auto-scaling. - :vartype max_count: int - :ivar min_count: The minimum number of nodes for auto-scaling. - :vartype min_count: int - :ivar enable_auto_scaling: Whether to enable auto-scaler. - :vartype enable_auto_scaling: bool - :ivar scale_down_mode: 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. Known values - are: "Delete" and "Deallocate". - :vartype scale_down_mode: Union[str, "ScaleDownMode"] + 1.25 if OSType is Windows. Known values are: "Ubuntu", "AzureLinux", "AzureLinux3", + "CBLMariner", "Windows2019", "Windows2022", "Ubuntu2204", "Windows2025", "Ubuntu2404", and + "AzureContainerLinux". + :vartype osSKU: Union[str, "OSSKU"] + :ivar maxCount: The maximum number of nodes for auto-scaling. + :vartype maxCount: int + :ivar minCount: The minimum number of nodes for auto-scaling. + :vartype minCount: int + :ivar enableAutoScaling: Whether to enable auto-scaler. + :vartype enableAutoScaling: bool + :ivar scaleDownMode: 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. Known values are: + "Delete" and "Deallocate". + :vartype scaleDownMode: Union[str, "ScaleDownMode"] :ivar type: The type of Agent Pool. Known values are: "VirtualMachineScaleSets", - "AvailabilitySet", "VirtualMachines", and "FlexNodes". + "AvailabilitySet", and "VirtualMachines". :vartype type: Union[str, "AgentPoolType"] :ivar mode: 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 `_. Known values are: "System", "User", - "Gateway", "ManagedSystem", and "Machines". + and "Gateway". :vartype mode: Union[str, "AgentPoolMode"] - :ivar orchestrator_version: The version of Kubernetes specified by the user. Both patch version + :ivar orchestratorVersion: 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) @@ -3922,142 +2449,121 @@ class ManagedClusterAgentPoolProfile(ManagedClusterAgentPoolProfileProperties): 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 `_. - :vartype orchestrator_version: str - :ivar current_orchestrator_version: The version of Kubernetes the Agent Pool is running. If + :vartype orchestratorVersion: str + :ivar currentOrchestratorVersion: 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. - :vartype current_orchestrator_version: str - :ivar node_image_version: The version of the node image. Setting this value triggers an - agentPool rollback. Only values from ``recentlyUsedVersions`` are allowed. - :vartype node_image_version: str - :ivar upgrade_strategy: Defines the upgrade strategy for the agent pool. The default is - Rolling. Known values are: "Rolling" and "BlueGreen". - :vartype upgrade_strategy: Union[str, "UpgradeStrategy"] - :ivar enable_os_disk_full_caching: Whether to enable the full-cache ephemeral OS disk feature. - When this feature is enabled, the entire operating system will be locally cached on the - ephemeral OS disk, preventing E17 events caused by network failures. - :vartype enable_os_disk_full_caching: bool - :ivar upgrade_settings: Settings for upgrading the agentpool. - :vartype upgrade_settings: "AgentPoolUpgradeSettings" - :ivar upgrade_settings_blue_green: Settings for Blue-Green upgrade on the agentpool. Applies - when upgrade strategy is set to BlueGreen. - :vartype upgrade_settings_blue_green: "AgentPoolBlueGreenUpgradeSettings" - :ivar provisioning_state: The current deployment or provisioning state. - :vartype provisioning_state: str - :ivar power_state: Whether the Agent Pool is running or stopped. When an Agent Pool is first + :vartype currentOrchestratorVersion: str + :ivar nodeImageVersion: The version of the node image. Setting this value triggers an agentPool + rollback. Only values from ``recentlyUsedVersions`` are allowed. + :vartype nodeImageVersion: str + :ivar upgradeSettings: Settings for upgrading the agentpool. + :vartype upgradeSettings: "AgentPoolUpgradeSettings" + :ivar provisioningState: The current deployment or provisioning state. + :vartype provisioningState: str + :ivar powerState: 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. - :vartype power_state: "PowerState" - :ivar availability_zones: The list of Availability zones to use for nodes. This can only be + :vartype powerState: "PowerState" + :ivar availabilityZones: The list of Availability zones to use for nodes. This can only be specified if the AgentPoolType property is 'VirtualMachineScaleSets'. - :vartype availability_zones: list[str] - :ivar enable_node_public_ip: 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 + :vartype availabilityZones: list[str] + :ivar enableNodePublicIP: 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 `_. The default is false. - :vartype enable_node_public_ip: bool - :ivar node_public_ip_prefix_id: The public IP prefix ID which VM nodes should use IPs from. - This is of the form: + :vartype enableNodePublicIP: bool + :ivar nodePublicIPPrefixID: 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}. - :vartype node_public_ip_prefix_id: str - :ivar scale_set_priority: The Virtual Machine Scale Set priority. Known values are: "Spot" and + :vartype nodePublicIPPrefixID: str + :ivar scaleSetPriority: The Virtual Machine Scale Set priority. Known values are: "Spot" and "Regular". - :vartype scale_set_priority: Union[str, "ScaleSetPriority"] - :ivar scale_set_eviction_policy: The Virtual Machine Scale Set eviction policy. The eviction + :vartype scaleSetPriority: Union[str, "ScaleSetPriority"] + :ivar scaleSetEvictionPolicy: 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 `_. Known values are: "Delete" and "Deallocate". - :vartype scale_set_eviction_policy: Union[str, "ScaleSetEvictionPolicy"] - :ivar spot_max_price: The max price (in US Dollars) you are willing to pay for spot instances. + :vartype scaleSetEvictionPolicy: Union[str, "ScaleSetEvictionPolicy"] + :ivar spotMaxPrice: 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 `_. - :vartype spot_max_price: float + :vartype spotMaxPrice: float :ivar tags: The tags to be persisted on the agent pool virtual machine scale set. :vartype tags: dict[str, str] - :ivar node_labels: The node labels to be persisted across all nodes in agent pool. - :vartype node_labels: dict[str, str] - :ivar node_taints: The taints added to new nodes during node pool create and scale. For - example, key=value:NoSchedule. - :vartype node_taints: list[str] - :ivar node_initialization_taints: 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-``. - :vartype node_initialization_taints: list[str] - :ivar proximity_placement_group_id: The ID for Proximity Placement Group. - :vartype proximity_placement_group_id: str - :ivar kubelet_config: The Kubelet configuration on the agent pool nodes. - :vartype kubelet_config: "KubeletConfig" - :ivar linux_os_config: The OS configuration of Linux agent nodes. - :vartype linux_os_config: "LinuxOSConfig" - :ivar enable_encryption_at_host: 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 + :ivar nodeLabels: The node labels to be persisted across all nodes in agent pool. + :vartype nodeLabels: dict[str, str] + :ivar nodeTaints: The taints added to new nodes during node pool create and scale. For example, + key=value:NoSchedule. + :vartype nodeTaints: list[str] + :ivar proximityPlacementGroupID: The ID for Proximity Placement Group. + :vartype proximityPlacementGroupID: str + :ivar kubeletConfig: The Kubelet configuration on the agent pool nodes. + :vartype kubeletConfig: "KubeletConfig" + :ivar linuxOSConfig: The OS configuration of Linux agent nodes. + :vartype linuxOSConfig: "LinuxOSConfig" + :ivar enableEncryptionAtHost: 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 `_. - :vartype enable_encryption_at_host: bool - :ivar enable_ultra_ssd: Whether to enable UltraSSD. - :vartype enable_ultra_ssd: bool - :ivar enable_fips: Whether to use a FIPS-enabled OS. See `Add a FIPS-enabled node pool + :vartype enableEncryptionAtHost: bool + :ivar enableUltraSSD: Whether to enable UltraSSD. + :vartype enableUltraSSD: bool + :ivar enableFIPS: Whether to use a FIPS-enabled OS. See `Add a FIPS-enabled node pool `_ for more details. - :vartype enable_fips: bool - :ivar gpu_instance_profile: GPUInstanceProfile to be used to specify GPU MIG instance profile - for supported GPU VM SKU. Known values are: "MIG1g", "MIG2g", "MIG3g", "MIG4g", and "MIG7g". - :vartype gpu_instance_profile: Union[str, "GPUInstanceProfile"] - :ivar creation_data: CreationData to be used to specify the source Snapshot ID if the node pool + :vartype enableFIPS: bool + :ivar gpuInstanceProfile: GPUInstanceProfile to be used to specify GPU MIG instance profile for + supported GPU VM SKU. Known values are: "MIG1g", "MIG2g", "MIG3g", "MIG4g", and "MIG7g". + :vartype gpuInstanceProfile: Union[str, "GPUInstanceProfile"] + :ivar creationData: CreationData to be used to specify the source Snapshot ID if the node pool will be created/upgraded using a snapshot. - :vartype creation_data: "CreationData" - :ivar capacity_reservation_group_id: 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: + :vartype creationData: "CreationData" + :ivar capacityReservationGroupID: 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 `_. - :vartype capacity_reservation_group_id: str - :ivar host_group_id: The fully qualified resource ID of the Dedicated Host Group to provision + :vartype capacityReservationGroupID: str + :ivar hostGroupID: 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 `_. - :vartype host_group_id: str - :ivar network_profile: Network-related settings of an agent pool. - :vartype network_profile: "AgentPoolNetworkProfile" - :ivar windows_profile: The Windows agent pool's specific profile. - :vartype windows_profile: "AgentPoolWindowsProfile" - :ivar security_profile: The security settings of an agent pool. - :vartype security_profile: "AgentPoolSecurityProfile" - :ivar gpu_profile: GPU settings for the Agent Pool. - :vartype gpu_profile: "GPUProfile" - :ivar gateway_profile: Profile specific to a managed agent pool in Gateway mode. This field + :vartype hostGroupID: str + :ivar networkProfile: Network-related settings of an agent pool. + :vartype networkProfile: "AgentPoolNetworkProfile" + :ivar windowsProfile: The Windows agent pool's specific profile. + :vartype windowsProfile: "AgentPoolWindowsProfile" + :ivar securityProfile: The security settings of an agent pool. + :vartype securityProfile: "AgentPoolSecurityProfile" + :ivar gpuProfile: GPU settings for the Agent Pool. + :vartype gpuProfile: "GPUProfile" + :ivar gatewayProfile: Profile specific to a managed agent pool in Gateway mode. This field cannot be set if agent pool mode is not Gateway. - :vartype gateway_profile: "AgentPoolGatewayProfile" - :ivar artifact_streaming_profile: Configuration for using artifact streaming on AKS. - :vartype artifact_streaming_profile: "AgentPoolArtifactStreamingProfile" - :ivar virtual_machines_profile: Specifications on VirtualMachines agent pool. - :vartype virtual_machines_profile: "VirtualMachinesProfile" - :ivar virtual_machine_nodes_status: The status of nodes in a VirtualMachines agent pool. - :vartype virtual_machine_nodes_status: list["VirtualMachineNodes"] + :vartype gatewayProfile: "AgentPoolGatewayProfile" + :ivar artifactStreamingProfile: Configuration for using artifact streaming on AKS. + :vartype artifactStreamingProfile: "AgentPoolArtifactStreamingProfile" + :ivar virtualMachinesProfile: Specifications on VirtualMachines agent pool. + :vartype virtualMachinesProfile: "VirtualMachinesProfile" + :ivar virtualMachineNodesStatus: The status of nodes in a VirtualMachines agent pool. + :vartype virtualMachineNodesStatus: list["VirtualMachineNodes"] :ivar status: Contains read-only information about the Agent Pool. :vartype status: "AgentPoolStatus" - :ivar local_dns_profile: Configures the per-node local DNS, with VnetDNS and KubeDNS overrides. + :ivar localDNSProfile: 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. - :vartype local_dns_profile: "LocalDNSProfile" - :ivar prepared_image_specification_profile: Settings to determine the prepared image - specification used to provision nodes in a pool. - :vartype prepared_image_specification_profile: "PreparedImageSpecificationProfile" + :vartype localDNSProfile: "LocalDNSProfile" :ivar name: 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. Required. :vartype name: str @@ -4086,33 +2592,33 @@ class ManagedClusterAIToolchainOperatorProfile(TypedDict, total=False): class ManagedClusterAPIServerAccessProfile(TypedDict, total=False): """Access profile for managed cluster API server. - :ivar authorized_ip_ranges: The IP ranges authorized to access the Kubernetes API server. IP + :ivar authorizedIPRanges: 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 `_. - :vartype authorized_ip_ranges: list[str] - :ivar enable_private_cluster: Whether to create the cluster as a private cluster or not. For - more details, see `Creating a private AKS cluster + :vartype authorizedIPRanges: list[str] + :ivar enablePrivateCluster: Whether to create the cluster as a private cluster or not. For more + details, see `Creating a private AKS cluster `_. - :vartype enable_private_cluster: bool - :ivar private_dns_zone: The private DNS zone mode for the cluster. The default is System. For + :vartype enablePrivateCluster: bool + :ivar privateDNSZone: The private DNS zone mode for the cluster. The default is System. For more details see `configure private DNS zone `_. Allowed values are 'system' and 'none'. - :vartype private_dns_zone: str - :ivar enable_private_cluster_public_fqdn: Whether to create additional public FQDN for private + :vartype privateDNSZone: str + :ivar enablePrivateClusterPublicFQDN: Whether to create additional public FQDN for private cluster or not. - :vartype enable_private_cluster_public_fqdn: bool - :ivar disable_run_command: Whether to disable run command for the cluster or not. - :vartype disable_run_command: bool - :ivar enable_vnet_integration: Whether to enable apiserver vnet integration for the cluster or + :vartype enablePrivateClusterPublicFQDN: bool + :ivar disableRunCommand: Whether to disable run command for the cluster or not. + :vartype disableRunCommand: bool + :ivar enableVnetIntegration: Whether to enable apiserver vnet integration for the cluster or not. See aka.ms/AksVnetIntegration for more details. - :vartype enable_vnet_integration: bool - :ivar subnet_id: The subnet to be used when apiserver vnet integration is enabled. It is + :vartype enableVnetIntegration: bool + :ivar subnetId: 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. - :vartype subnet_id: str + :vartype subnetId: str """ authorizedIPRanges: list[str] @@ -4160,15 +2666,15 @@ class ManagedClusterAppRoutingIstio(TypedDict, total=False): class ManagedClusterAutoUpgradeProfile(TypedDict, total=False): """Auto upgrade profile for a managed cluster. - :ivar upgrade_channel: The upgrade channel for auto upgrade. The default is 'none'. For more + :ivar upgradeChannel: The upgrade channel for auto upgrade. The default is 'none'. For more information see `setting the AKS cluster auto-upgrade channel `_. Known values are: "rapid", "stable", "patch", "node-image", and "none". - :vartype upgrade_channel: Union[str, "UpgradeChannel"] - :ivar node_os_upgrade_channel: Node OS Upgrade Channel. Manner in which the OS on your nodes is + :vartype upgradeChannel: Union[str, "UpgradeChannel"] + :ivar nodeOSUpgradeChannel: Node OS Upgrade Channel. Manner in which the OS on your nodes is updated. The default is NodeImage. Known values are: "None", "Unmanaged", "NodeImage", and "SecurityPatch". - :vartype node_os_upgrade_channel: Union[str, "NodeOSUpgradeChannel"] + :vartype nodeOSUpgradeChannel: Union[str, "NodeOSUpgradeChannel"] """ upgradeChannel: Union[str, "UpgradeChannel"] @@ -4189,15 +2695,11 @@ class ManagedClusterAzureMonitorProfile(TypedDict, total=False): and configure additional scraping for custom targets. See aka.ms/AzureManagedPrometheus for an overview. :vartype metrics: "ManagedClusterAzureMonitorProfileMetrics" - :ivar container_insights: Azure Monitor Container Insights Profile for Kubernetes Events, - Inventory and Container stdout & stderr logs etc. See aka.ms/AzureMonitorContainerInsights for - an overview. - :vartype container_insights: "ManagedClusterAzureMonitorProfileContainerInsights" - :ivar app_monitoring: Application Monitoring Profile for Kubernetes Application Container. + :ivar appMonitoring: 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. - :vartype app_monitoring: "ManagedClusterAzureMonitorProfileAppMonitoring" + :vartype appMonitoring: "ManagedClusterAzureMonitorProfileAppMonitoring" """ metrics: "ManagedClusterAzureMonitorProfileMetrics" @@ -4205,9 +2707,6 @@ class ManagedClusterAzureMonitorProfile(TypedDict, total=False): 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: "ManagedClusterAzureMonitorProfileContainerInsights" - """Azure Monitor Container Insights Profile for Kubernetes Events, Inventory and Container stdout - & stderr logs etc. See aka.ms/AzureMonitorContainerInsights for an overview.""" appMonitoring: "ManagedClusterAzureMonitorProfileAppMonitoring" """Application Monitoring Profile for Kubernetes Application Container. Collects application logs, metrics and traces through auto-instrumentation of the application using Azure Monitor @@ -4217,27 +2716,13 @@ class ManagedClusterAzureMonitorProfile(TypedDict, total=False): class ManagedClusterAzureMonitorProfileAppMonitoring(TypedDict, total=False): # pylint: disable=name-too-long """Application Monitoring profile for AKS. - :ivar auto_instrumentation: Application Monitoring auto-instrumentation for AKS. Deploys a + :ivar autoInstrumentation: Application Monitoring auto-instrumentation for AKS. Deploys a webhook that auto-instruments workloads with Microsoft OpenTelemetry Distros to collect OpenTelemetry metrics, logs, and traces. See `https://aka.ms/AKSAppMonitoringDocs `_ and `https://aka.ms/AzureMonitorApplicationMonitoring `_ for an overview. - :vartype auto_instrumentation: + :vartype autoInstrumentation: "ManagedClusterAzureMonitorProfileAppMonitoringAutoInstrumentation" - :ivar open_telemetry_metrics: Application Monitoring Open Telemetry Metrics Profile for AKS. - Collects OpenTelemetry metrics of the application using Azure Monitor OpenTelemetry based SDKs. - See `https://aka.ms/AKSAppMonitoringDocs `_ and - `https://aka.ms/AzureMonitorApplicationMonitoring - `_ for an overview. - :vartype open_telemetry_metrics: - "ManagedClusterAzureMonitorProfileAppMonitoringOpenTelemetryMetrics" - :ivar open_telemetry_logs_and_traces: Application Monitoring Open Telemetry Logs and Traces - Profile for AKS. Collects OpenTelemetry logs and traces of the application using Azure Monitor - OpenTelemetry based SDKs. See `https://aka.ms/AKSAppMonitoringDocs - `_ and `https://aka.ms/AzureMonitorApplicationMonitoring - `_ for an overview. - :vartype open_telemetry_logs_and_traces: - "ManagedClusterAzureMonitorProfileAppMonitoringOpenTelemetryLogsAndTraces" """ autoInstrumentation: "ManagedClusterAzureMonitorProfileAppMonitoringAutoInstrumentation" @@ -4246,18 +2731,6 @@ class ManagedClusterAzureMonitorProfileAppMonitoring(TypedDict, total=False): # traces. See `https://aka.ms/AKSAppMonitoringDocs `_ and `https://aka.ms/AzureMonitorApplicationMonitoring `_ for an overview.""" - openTelemetryMetrics: "ManagedClusterAzureMonitorProfileAppMonitoringOpenTelemetryMetrics" - """Application Monitoring Open Telemetry Metrics Profile for AKS. Collects OpenTelemetry metrics - of the application using Azure Monitor OpenTelemetry based SDKs. See - `https://aka.ms/AKSAppMonitoringDocs `_ and - `https://aka.ms/AzureMonitorApplicationMonitoring - `_ for an overview.""" - openTelemetryLogsAndTraces: "ManagedClusterAzureMonitorProfileAppMonitoringOpenTelemetryLogsAndTraces" - """Application Monitoring Open Telemetry Logs and Traces Profile for AKS. Collects OpenTelemetry - logs and traces of the application using Azure Monitor OpenTelemetry based SDKs. See - `https://aka.ms/AKSAppMonitoringDocs `_ and - `https://aka.ms/AzureMonitorApplicationMonitoring - `_ for an overview.""" class ManagedClusterAzureMonitorProfileAppMonitoringAutoInstrumentation( @@ -4277,133 +2750,21 @@ class ManagedClusterAzureMonitorProfileAppMonitoringAutoInstrumentation( """Indicates if Application Monitoring Auto-instrumentation is enabled or not.""" -class ManagedClusterAzureMonitorProfileAppMonitoringOpenTelemetryLogsAndTraces( - TypedDict, total=False -): # pylint: disable=name-too-long - """Application Monitoring Open Telemetry Logs and Traces Profile for AKS. Collects OpenTelemetry - logs and traces of the application using Azure Monitor OpenTelemetry based SDKs. See - `https://aka.ms/AKSAppMonitoringDocs `_ and - `https://aka.ms/AzureMonitorApplicationMonitoring - `_ for an overview. - - :ivar enabled: Indicates if Application Monitoring Open Telemetry Logs and traces is enabled or - not. - :vartype enabled: bool - :ivar http_port: The host port for Open Telemetry HTTP/PROTOBUF logs and traces. If not - specified, the default port is 28331. - :vartype http_port: int - :ivar grpc_port: The host port for Open Telemetry GRPC logs and traces. If not specified, the - default port is 28332. - :vartype grpc_port: int - """ - - enabled: bool - """Indicates if Application Monitoring Open Telemetry Logs and traces is enabled or not.""" - httpPort: int - """The host port for Open Telemetry HTTP/PROTOBUF logs and traces. If not specified, the default - port is 28331.""" - grpcPort: int - """The host port for Open Telemetry GRPC logs and traces. If not specified, the default port is - 28332.""" - - -class ManagedClusterAzureMonitorProfileAppMonitoringOpenTelemetryMetrics( - TypedDict, total=False -): # pylint: disable=name-too-long - """Application Monitoring Open Telemetry Metrics Profile for AKS. Collects OpenTelemetry metrics - of the application using Azure Monitor OpenTelemetry based SDKs. See - `https://aka.ms/AKSAppMonitoringDocs `_ and - `https://aka.ms/AzureMonitorApplicationMonitoring - `_ for an overview. - - :ivar enabled: Indicates if Application Monitoring Open Telemetry Metrics is enabled or not. - :vartype enabled: bool - :ivar http_port: The host port for Open Telemetry HTTP/PROTOBUF metrics. If not specified, the - default port is 28333. - :vartype http_port: int - :ivar grpc_port: The host port for Open Telemetry GRPC metrics. If not specified, the default - port is 28334. - :vartype grpc_port: int - """ - - enabled: bool - """Indicates if Application Monitoring Open Telemetry Metrics is enabled or not.""" - httpPort: int - """The host port for Open Telemetry HTTP/PROTOBUF metrics. If not specified, the default port is - 28333.""" - grpcPort: int - """The host port for Open Telemetry GRPC metrics. If not specified, the default port is 28334.""" - - -class ManagedClusterAzureMonitorProfileContainerInsights(TypedDict, total=False): # pylint: disable=name-too-long - """Azure Monitor Container Insights Profile for Kubernetes Events, Inventory and Container stdout - & stderr logs etc. See aka.ms/AzureMonitorContainerInsights for an overview. - - :ivar enabled: Indicates if Azure Monitor Container Insights Logs Addon is enabled or not. - :vartype enabled: bool - :ivar log_analytics_workspace_resource_id: Fully Qualified ARM Resource Id of Azure Log - Analytics Workspace for storing Azure Monitor Container Insights Logs. - :vartype log_analytics_workspace_resource_id: str - :ivar syslog_port: The syslog host port. If not specified, the default port is 28330. - :vartype syslog_port: int - :ivar disable_custom_metrics: 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. - :vartype disable_custom_metrics: bool - :ivar disable_prometheus_metrics_scraping: 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. - :vartype disable_prometheus_metrics_scraping: bool - :ivar container_network_logs: Configures container network logs ingestion with Azure Monitor. - Which network logs to ingest is controlled by the CRD found in the following links. No network - logs are ingested by default. More information on container network logs can be found at - `https://aka.ms/ContainerNetworkLogsDoc `_. More - information on configuring container network log can be found at - `https://aka.ms/acns/howtoenablecnl `_. If not specified, - the default is Disabled. Known values are: "Disabled" and "Enabled". - :vartype container_network_logs: Union[str, "ContainerNetworkLogs"] - """ - - enabled: bool - """Indicates if Azure Monitor Container Insights Logs Addon is enabled or not.""" - logAnalyticsWorkspaceResourceId: str - """Fully Qualified ARM Resource Id of Azure Log Analytics Workspace for storing Azure Monitor - Container Insights Logs.""" - syslogPort: int - """The syslog host port. If not specified, the default port is 28330.""" - disableCustomMetrics: bool - """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: bool - """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.""" - containerNetworkLogs: Union[str, "ContainerNetworkLogs"] - """Configures container network logs ingestion with Azure Monitor. Which network logs to ingest is - controlled by the CRD found in the following links. No network logs are ingested by default. - More information on container network logs can be found at - `https://aka.ms/ContainerNetworkLogsDoc `_. More - information on configuring container network log can be found at - `https://aka.ms/acns/howtoenablecnl `_. If not specified, - the default is Disabled. Known values are: \"Disabled\" and \"Enabled\".""" - - class ManagedClusterAzureMonitorProfileKubeStateMetrics(TypedDict, total=False): # pylint: disable=name-too-long """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. - :ivar metric_labels_allowlist: Comma-separated list of additional Kubernetes label keys that - will be used in the resource's labels metric (Example: + :ivar metricLabelsAllowlist: 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. - :vartype metric_labels_allowlist: str - :ivar metric_annotations_allow_list: Comma-separated list of Kubernetes annotation keys that - will be used in the resource's labels metric (Example: + :vartype metricLabelsAllowlist: str + :ivar metricAnnotationsAllowList: 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. - :vartype metric_annotations_allow_list: str + :vartype metricAnnotationsAllowList: str """ metricLabelsAllowlist: str @@ -4426,14 +2787,14 @@ class ManagedClusterAzureMonitorProfileMetrics(TypedDict, total=False): monitoring. See aka.ms/AzureManagedPrometheus-aks-enable for details on enabling and disabling. Required. :vartype enabled: bool - :ivar kube_state_metrics: Kube State Metrics profile for the Azure Managed Prometheus addon. + :ivar kubeStateMetrics: 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. - :vartype kube_state_metrics: "ManagedClusterAzureMonitorProfileKubeStateMetrics" - :ivar control_plane: Control plane metrics collection profile for the Azure Managed Prometheus + :vartype kubeStateMetrics: "ManagedClusterAzureMonitorProfileKubeStateMetrics" + :ivar controlPlane: Control plane metrics collection profile for the Azure Managed Prometheus addon. Configures collection of operational runtime metrics from managed control plane components (kube-apiserver, etcd, etc). See aka.ms/aks/controlplane-metrics for an overview. - :vartype control_plane: "ManagedClusterAzureMonitorProfileMetricsControlPlane" + :vartype controlPlane: "ManagedClusterAzureMonitorProfileMetricsControlPlane" """ enabled: Required[bool] @@ -4468,12 +2829,12 @@ class ManagedClusterAzureMonitorProfileMetricsControlPlane(TypedDict, total=Fals class ManagedClusterBootstrapProfile(TypedDict, total=False): """The bootstrap profile. - :ivar artifact_source: The artifact source. The source where the artifacts are downloaded from. + :ivar artifactSource: The artifact source. The source where the artifacts are downloaded from. Known values are: "Cache" and "Direct". - :vartype artifact_source: Union[str, "ArtifactSource"] - :ivar container_registry_id: The resource Id of Azure Container Registry. The registry must - have private network access, premium SKU and zone redundancy. - :vartype container_registry_id: str + :vartype artifactSource: Union[str, "ArtifactSource"] + :ivar containerRegistryId: The resource Id of Azure Container Registry. The registry must have + private network access, premium SKU and zone redundancy. + :vartype containerRegistryId: str """ artifactSource: Union[str, "ArtifactSource"] @@ -4484,26 +2845,6 @@ class ManagedClusterBootstrapProfile(TypedDict, total=False): premium SKU and zone redundancy.""" -class ManagedClusterControlPlaneScalingProfile(TypedDict, total=False): - """Profile for providing scaled and performance guaranteed control plane capacity to deliver - consistent performance under high workload. Requires Kubernetes version 1.33.0 or later. - - :ivar scaling_size: The scaling size of the control plane. Scaling sizes offer guaranteed - capacity and predictable Kubernetes performance beyond standard tier defaults. Higher H sizes - provide increased performance guarantees. See `https://aka.ms/aks/hyperscale - `_ for performance metrics details for each size. Required. - Known values are: "H2", "H4", and "H8". - :vartype scaling_size: Union[str, "ControlPlaneScalingSize"] - """ - - scalingSize: Required[Union[str, "ControlPlaneScalingSize"]] - """The scaling size of the control plane. Scaling sizes offer guaranteed capacity and predictable - Kubernetes performance beyond standard tier defaults. Higher H sizes provide increased - performance guarantees. See `https://aka.ms/aks/hyperscale `_ - for performance metrics details for each size. Required. Known values are: \"H2\", \"H4\", and - \"H8\".""" - - class ManagedClusterCostAnalysis(TypedDict, total=False): """The cost analysis configuration for the cluster. @@ -4521,39 +2862,23 @@ class ManagedClusterCostAnalysis(TypedDict, total=False): For more information see aka.ms/aks/docs/cost-analysis.""" -class ManagedClusterHealthMonitorProfile(TypedDict, total=False): - """Health monitor profile for the managed cluster. - - :ivar enable_continuous_control_plane_and_addon_monitor: Whether to enable continuous control - plane and addon monitor. - :vartype enable_continuous_control_plane_and_addon_monitor: bool - :ivar enable_on_demand_monitor: Whether to enable on-demand monitor. - :vartype enable_on_demand_monitor: bool - """ - - enableContinuousControlPlaneAndAddonMonitor: bool - """Whether to enable continuous control plane and addon monitor.""" - enableOnDemandMonitor: bool - """Whether to enable on-demand monitor.""" - - class ManagedClusterHostedSystemProfile(TypedDict, total=False): """Settings for hosted system addons. :ivar enabled: Whether to enable hosted system addons for the cluster. :vartype enabled: bool - :ivar system_node_subnet_id: The ID of the subnet that will be joined by system nodes managed - and hosted by AKS for running critical system addons. This ID must be provided together with + :ivar systemNodeSubnetID: The ID of the subnet that will be joined by system nodes managed and + hosted by AKS for running critical system addons. This ID must be provided together with ``nodeSubnetID`` and ``apiserverAccessProfile.subnetId``, and all three subnet IDs must belong to the same VNet. If you don’t specify it, AKS will create a subnet in the managed resource group using a default /26 CIDR. - :vartype system_node_subnet_id: str - :ivar node_subnet_id: The ID of the subnet that will be joined by worker nodes managed by node + :vartype systemNodeSubnetID: str + :ivar nodeSubnetID: The ID of the subnet that will be joined by worker nodes managed by node auto provisioner for running workload pods in your tenant. This must be provided together with ``systemNodeSubnetID`` and ``apiserverAccessProfile.subnetId``, and all three subnet IDs must be in the same VNet. If you don’t specify it, AKS will create a subnet in the managed resource group using a default /16 CIDR. - :vartype node_subnet_id: str + :vartype nodeSubnetID: str """ enabled: bool @@ -4575,17 +2900,14 @@ class ManagedClusterHostedSystemProfile(TypedDict, total=False): class ManagedClusterHTTPProxyConfig(TypedDict, total=False): """Cluster HTTP proxy configuration. - :ivar http_proxy: The HTTP proxy server endpoint to use. - :vartype http_proxy: str - :ivar https_proxy: The HTTPS proxy server endpoint to use. - :vartype https_proxy: str - :ivar no_proxy: The endpoints that should not go through proxy. - :vartype no_proxy: list[str] - :ivar effective_no_proxy: 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. - :vartype effective_no_proxy: list[str] - :ivar trusted_ca: Alternative CA cert to use for connecting to proxy servers. - :vartype trusted_ca: str + :ivar httpProxy: The HTTP proxy server endpoint to use. + :vartype httpProxy: str + :ivar httpsProxy: The HTTPS proxy server endpoint to use. + :vartype httpsProxy: str + :ivar noProxy: The endpoints that should not go through proxy. + :vartype noProxy: list[str] + :ivar trustedCa: Alternative CA cert to use for connecting to proxy servers. + :vartype trustedCa: str :ivar enabled: Whether to enable HTTP proxy. If disabled, the specified proxy configuration will be not be set on pods and nodes. If not specified, the default is true. :vartype enabled: bool @@ -4597,9 +2919,6 @@ class ManagedClusterHTTPProxyConfig(TypedDict, total=False): """The HTTPS proxy server endpoint to use.""" noProxy: list[str] """The endpoints that should not go through proxy.""" - effectiveNoProxy: list[str] - """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.""" trustedCa: str """Alternative CA cert to use for connecting to proxy servers.""" enabled: bool @@ -4610,26 +2929,25 @@ class ManagedClusterHTTPProxyConfig(TypedDict, total=False): class ManagedClusterIdentity(TypedDict, total=False): """Identity for the managed cluster. - :ivar principal_id: The principal id of the system assigned identity which is used by master + :ivar principalId: The principal id of the system assigned identity which is used by master components. - :vartype principal_id: str - :ivar tenant_id: The tenant id of the system assigned identity which is used by master + :vartype principalId: str + :ivar tenantId: The tenant id of the system assigned identity which is used by master components. - :vartype tenant_id: str + :vartype tenantId: str :ivar type: The type of identity used for the managed cluster. For more information see `use managed identities in AKS `_. Known values are: "SystemAssigned", "UserAssigned", and "None". :vartype type: Union[str, "ResourceIdentityType"] - :ivar delegated_resources: The delegated identity resources assigned to this managed cluster. + :ivar delegatedResources: 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. - :vartype delegated_resources: dict[str, "DelegatedResource"] - :ivar user_assigned_identities: The user identity associated with the managed cluster. This + :vartype delegatedResources: dict[str, "DelegatedResource"] + :ivar userAssignedIdentities: 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}'. - :vartype user_assigned_identities: dict[str, - "ManagedServiceIdentityUserAssignedIdentitiesValue"] + :vartype userAssignedIdentities: dict[str, "ManagedServiceIdentityUserAssignedIdentitiesValue"] """ principalId: str @@ -4651,36 +2969,16 @@ class ManagedClusterIdentity(TypedDict, total=False): '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'.""" -class ManagedClusterIngressDefaultDomainProfile(TypedDict, total=False): # pylint: disable=name-too-long - """Default domain profile for the managed cluster ingress profile. - - :ivar enabled: Whether to enable Default Domain. - :vartype enabled: bool - :ivar domain_name: The unique fully qualified domain name assigned to the cluster. This will - not change even if disabled then reenabled. - :vartype domain_name: str - """ - - enabled: bool - """Whether to enable Default Domain.""" - domainName: str - """The unique fully qualified domain name assigned to the cluster. This will not change even if - disabled then reenabled.""" - - class ManagedClusterIngressProfile(TypedDict, total=False): """Ingress profile for the container service cluster. - :ivar web_app_routing: App Routing settings for the ingress profile. You can find an overview - and onboarding guide for this feature at + :ivar webAppRouting: 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 `_. - :vartype web_app_routing: "ManagedClusterIngressProfileWebAppRouting" - :ivar gateway_api: Settings for the managed Gateway API installation. - :vartype gateway_api: "ManagedClusterIngressProfileGatewayConfiguration" - :ivar application_load_balancer: Settings for the managed Application Load Balancer - installation. - :vartype application_load_balancer: "ManagedClusterIngressProfileApplicationLoadBalancer" + :vartype webAppRouting: "ManagedClusterIngressProfileWebAppRouting" + :ivar gatewayAPI: Settings for the managed Gateway API installation. + :vartype gatewayAPI: "ManagedClusterIngressProfileGatewayConfiguration" """ webAppRouting: "ManagedClusterIngressProfileWebAppRouting" @@ -4690,26 +2988,6 @@ class ManagedClusterIngressProfile(TypedDict, total=False): `_.""" gatewayAPI: "ManagedClusterIngressProfileGatewayConfiguration" """Settings for the managed Gateway API installation.""" - applicationLoadBalancer: "ManagedClusterIngressProfileApplicationLoadBalancer" - """Settings for the managed Application Load Balancer installation.""" - - -class ManagedClusterIngressProfileApplicationLoadBalancer(TypedDict, total=False): # pylint: disable=name-too-long - """Application Load Balancer settings for the ingress profile. - - :ivar enabled: Whether to enable Application Load Balancer. - :vartype enabled: bool - :ivar identity: 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. - :vartype identity: "UserAssignedIdentity" - """ - - enabled: bool - """Whether to enable Application Load Balancer.""" - identity: "UserAssignedIdentity" - """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.""" class ManagedClusterIngressProfileGatewayConfiguration(TypedDict, total=False): # pylint: disable=name-too-long @@ -4732,9 +3010,9 @@ class ManagedClusterIngressProfileGatewayConfiguration(TypedDict, total=False): class ManagedClusterIngressProfileNginx(TypedDict, total=False): """Nginx ingress controller configuration for the managed cluster ingress profile. - :ivar default_ingress_controller_type: Ingress type for the default NginxIngressController - custom resource. Known values are: "AnnotationControlled", "External", "Internal", and "None". - :vartype default_ingress_controller_type: Union[str, "NginxIngressControllerType"] + :ivar defaultIngressControllerType: Ingress type for the default NginxIngressController custom + resource. Known values are: "AnnotationControlled", "External", "Internal", and "None". + :vartype defaultIngressControllerType: Union[str, "NginxIngressControllerType"] """ defaultIngressControllerType: Union[str, "NginxIngressControllerType"] @@ -4747,15 +3025,15 @@ class ManagedClusterIngressProfileWebAppRouting(TypedDict, total=False): # pyli :ivar enabled: Whether to enable the Application Routing add-on. :vartype enabled: bool - :ivar gateway_api_implementations: Configurations for Gateway API providers to be used for + :ivar gatewayAPIImplementations: Configurations for Gateway API providers to be used for managed ingress with App Routing. See `https://aka.ms/k8s-gateway-api `_ for more information on the Gateway API. - :vartype gateway_api_implementations: "ManagedClusterWebAppRoutingGatewayAPIImplementations" - :ivar dns_zone_resource_ids: 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. - :vartype dns_zone_resource_ids: list[str] + :vartype gatewayAPIImplementations: "ManagedClusterWebAppRoutingGatewayAPIImplementations" + :ivar dnsZoneResourceIds: 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. + :vartype dnsZoneResourceIds: list[str] :ivar nginx: 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 `_. @@ -4766,10 +3044,6 @@ class ManagedClusterIngressProfileWebAppRouting(TypedDict, total=False): # pyli `_ for more instructions. :vartype identity: "UserAssignedIdentity" - :ivar default_domain: 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 `_ for more instructions. - :vartype default_domain: "ManagedClusterIngressDefaultDomainProfile" """ enabled: bool @@ -4793,41 +3067,32 @@ class ManagedClusterIngressProfileWebAppRouting(TypedDict, total=False): # pyli Azure Key Vault. See `this overview of the add-on `_ for more instructions.""" - defaultDomain: "ManagedClusterIngressDefaultDomainProfile" - """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 - `_ for more instructions.""" class ManagedClusterLoadBalancerProfile(TypedDict, total=False): """Profile of the managed cluster load balancer. - :ivar managed_outbound_i_ps: Desired managed outbound IPs for the cluster load balancer. - :vartype managed_outbound_i_ps: "ManagedClusterLoadBalancerProfileManagedOutboundIPs" - :ivar outbound_ip_prefixes: Desired outbound IP Prefix resources for the cluster load balancer. - :vartype outbound_ip_prefixes: "ManagedClusterLoadBalancerProfileOutboundIPPrefixes" - :ivar outbound_i_ps: Desired outbound IP resources for the cluster load balancer. - :vartype outbound_i_ps: "ManagedClusterLoadBalancerProfileOutboundIPs" - :ivar effective_outbound_i_ps: The effective outbound IP resources of the cluster load - balancer. - :vartype effective_outbound_i_ps: list["ResourceReference"] - :ivar allocated_outbound_ports: 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. - :vartype allocated_outbound_ports: int - :ivar idle_timeout_in_minutes: Desired outbound flow idle timeout in minutes. Allowed values - are in the range of 4 to 120 (inclusive). The default value is 30 minutes. - :vartype idle_timeout_in_minutes: int - :ivar enable_multiple_standard_load_balancers: Enable multiple standard load balancers per AKS + :ivar managedOutboundIPs: Desired managed outbound IPs for the cluster load balancer. + :vartype managedOutboundIPs: "ManagedClusterLoadBalancerProfileManagedOutboundIPs" + :ivar outboundIPPrefixes: Desired outbound IP Prefix resources for the cluster load balancer. + :vartype outboundIPPrefixes: "ManagedClusterLoadBalancerProfileOutboundIPPrefixes" + :ivar outboundIPs: Desired outbound IP resources for the cluster load balancer. + :vartype outboundIPs: "ManagedClusterLoadBalancerProfileOutboundIPs" + :ivar effectiveOutboundIPs: The effective outbound IP resources of the cluster load balancer. + :vartype effectiveOutboundIPs: list["ResourceReference"] + :ivar allocatedOutboundPorts: 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. + :vartype allocatedOutboundPorts: int + :ivar idleTimeoutInMinutes: Desired outbound flow idle timeout in minutes. Allowed values are + in the range of 4 to 120 (inclusive). The default value is 30 minutes. + :vartype idleTimeoutInMinutes: int + :ivar enableMultipleStandardLoadBalancers: Enable multiple standard load balancers per AKS cluster or not. - :vartype enable_multiple_standard_load_balancers: bool - :ivar backend_pool_type: The type of the managed inbound Load Balancer BackendPool. Known - values are: "NodeIPConfiguration", "NodeIP", and "PodIP". - :vartype backend_pool_type: Union[str, "BackendPoolType"] - :ivar cluster_service_load_balancer_health_probe_mode: The health probing behavior for External - Traffic Policy Cluster services. Known values are: "ServiceNodePort" and "Shared". - :vartype cluster_service_load_balancer_health_probe_mode: Union[str, - "ClusterServiceLoadBalancerHealthProbeMode"] + :vartype enableMultipleStandardLoadBalancers: bool + :ivar backendPoolType: The type of the managed inbound Load Balancer BackendPool. Known values + are: "NodeIPConfiguration" and "NodeIP". + :vartype backendPoolType: Union[str, "BackendPoolType"] """ managedOutboundIPs: "ManagedClusterLoadBalancerProfileManagedOutboundIPs" @@ -4848,10 +3113,7 @@ class ManagedClusterLoadBalancerProfile(TypedDict, total=False): """Enable multiple standard load balancers per AKS cluster or not.""" backendPoolType: Union[str, "BackendPoolType"] """The type of the managed inbound Load Balancer BackendPool. Known values are: - \"NodeIPConfiguration\", \"NodeIP\", and \"PodIP\".""" - clusterServiceLoadBalancerHealthProbeMode: Union[str, "ClusterServiceLoadBalancerHealthProbeMode"] - """The health probing behavior for External Traffic Policy Cluster services. Known values are: - \"ServiceNodePort\" and \"Shared\".""" + \"NodeIPConfiguration\" and \"NodeIP\".""" class ManagedClusterLoadBalancerProfileManagedOutboundIPs(TypedDict, total=False): # pylint: disable=name-too-long @@ -4861,10 +3123,10 @@ class ManagedClusterLoadBalancerProfileManagedOutboundIPs(TypedDict, total=False load balancer. Allowed values must be in the range of 1 to 100 (inclusive). The default value is 1. :vartype count: int - :ivar count_ipv6: The desired number of IPv6 outbound IPs created/managed by Azure for the + :ivar countIPv6: 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. - :vartype count_ipv6: int + :vartype countIPv6: int """ count: int @@ -4879,8 +3141,8 @@ class ManagedClusterLoadBalancerProfileManagedOutboundIPs(TypedDict, total=False class ManagedClusterLoadBalancerProfileOutboundIPPrefixes(TypedDict, total=False): # pylint: disable=name-too-long """Desired outbound IP Prefix resources for the cluster load balancer. - :ivar public_ip_prefixes: A list of public IP prefix resources. - :vartype public_ip_prefixes: list["ResourceReference"] + :ivar publicIPPrefixes: A list of public IP prefix resources. + :vartype publicIPPrefixes: list["ResourceReference"] """ publicIPPrefixes: list["ResourceReference"] @@ -4890,8 +3152,8 @@ class ManagedClusterLoadBalancerProfileOutboundIPPrefixes(TypedDict, total=False class ManagedClusterLoadBalancerProfileOutboundIPs(TypedDict, total=False): # pylint: disable=name-too-long """Desired outbound IP resources for the cluster load balancer. - :ivar public_i_ps: A list of public IP resources. - :vartype public_i_ps: list["ResourceReference"] + :ivar publicIPs: A list of public IP resources. + :vartype publicIPs: list["ResourceReference"] """ publicIPs: list["ResourceReference"] @@ -4904,24 +3166,18 @@ class ManagedClusterManagedOutboundIPProfile(TypedDict, total=False): :ivar count: 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. :vartype count: int - :ivar count_i_pv6: The desired number of IPv6 outbound IPs created/managed by Azure. Allowed - values must be in the range of 1 to 16 (inclusive). - :vartype count_i_pv6: int """ count: int """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.""" - countIPv6: int - """The desired number of IPv6 outbound IPs created/managed by Azure. Allowed values must be in the - range of 1 to 16 (inclusive).""" class ManagedClusterMetricsProfile(TypedDict, total=False): """The metrics profile for the ManagedCluster. - :ivar cost_analysis: The configuration for detailed per-Kubernetes resource cost analysis. - :vartype cost_analysis: "ManagedClusterCostAnalysis" + :ivar costAnalysis: The configuration for detailed per-Kubernetes resource cost analysis. + :vartype costAnalysis: "ManagedClusterCostAnalysis" """ costAnalysis: "ManagedClusterCostAnalysis" @@ -4931,71 +3187,39 @@ class ManagedClusterMetricsProfile(TypedDict, total=False): class ManagedClusterNATGatewayProfile(TypedDict, total=False): """Profile of the managed cluster NAT gateway. - :ivar managed_outbound_ip_profile: Profile of the managed outbound IP resources of the cluster - NAT gateway. - :vartype managed_outbound_ip_profile: "ManagedClusterManagedOutboundIPProfile" - :ivar effective_outbound_i_ps: The effective outbound IP resources of the cluster NAT gateway. - :vartype effective_outbound_i_ps: list["ResourceReference"] - :ivar outbound_ip_prefixes: Desired outbound IP Prefix resources for the managed NAT Gateway. - Only compatible with NAT Gateway V2. - :vartype outbound_ip_prefixes: "ManagedClusterNATGatewayProfileOutboundIpPrefixes" - :ivar outbound_i_ps: Desired outbound IP resources for the managed NAT Gateway. - :vartype outbound_i_ps: "ManagedClusterNATGatewayProfileOutboundIPs" - :ivar idle_timeout_in_minutes: Desired outbound flow idle timeout in minutes. Allowed values - are in the range of 4 to 120 (inclusive). The default value is 4 minutes. - :vartype idle_timeout_in_minutes: int + :ivar managedOutboundIPProfile: Profile of the managed outbound IP resources of the cluster NAT + gateway. + :vartype managedOutboundIPProfile: "ManagedClusterManagedOutboundIPProfile" + :ivar effectiveOutboundIPs: The effective outbound IP resources of the cluster NAT gateway. + :vartype effectiveOutboundIPs: list["ResourceReference"] + :ivar idleTimeoutInMinutes: Desired outbound flow idle timeout in minutes. Allowed values are + in the range of 4 to 120 (inclusive). The default value is 4 minutes. + :vartype idleTimeoutInMinutes: int """ managedOutboundIPProfile: "ManagedClusterManagedOutboundIPProfile" """Profile of the managed outbound IP resources of the cluster NAT gateway.""" effectiveOutboundIPs: list["ResourceReference"] """The effective outbound IP resources of the cluster NAT gateway.""" - outboundIPPrefixes: "ManagedClusterNATGatewayProfileOutboundIpPrefixes" - """Desired outbound IP Prefix resources for the managed NAT Gateway. Only compatible with NAT - Gateway V2.""" - outboundIPs: "ManagedClusterNATGatewayProfileOutboundIPs" - """Desired outbound IP resources for the managed NAT Gateway.""" idleTimeoutInMinutes: int """Desired outbound flow idle timeout in minutes. Allowed values are in the range of 4 to 120 (inclusive). The default value is 4 minutes.""" -class ManagedClusterNATGatewayProfileOutboundIpPrefixes(TypedDict, total=False): # pylint: disable=name-too-long - """ManagedClusterNATGatewayProfileOutboundIpPrefixes. - - :ivar public_ip_prefixes: A list of public IP prefix resources. - :vartype public_ip_prefixes: list[str] - """ - - publicIPPrefixes: list[str] - """A list of public IP prefix resources.""" - - -class ManagedClusterNATGatewayProfileOutboundIPs(TypedDict, total=False): # pylint: disable=name-too-long - """ManagedClusterNATGatewayProfileOutboundIPs. - - :ivar public_i_ps: A list of public IP resources. - :vartype public_i_ps: list[str] - """ - - publicIPs: list[str] - """A list of public IP resources.""" - - class ManagedClusterNodeProvisioningProfile(TypedDict, total=False): """Node provisioning profile for the managed cluster. :ivar mode: The node provisioning mode. If not specified, the default is Manual. Known values are: "Manual" and "Auto". :vartype mode: Union[str, "NodeProvisioningMode"] - :ivar default_node_pools: The set of default Karpenter NodePools (CRDs) configured for node + :ivar defaultNodePools: 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. Known values are: "None" and "Auto". - :vartype default_node_pools: Union[str, "NodeProvisioningDefaultNodePools"] + :vartype defaultNodePools: Union[str, "NodeProvisioningDefaultNodePools"] """ mode: Union[str, "NodeProvisioningMode"] @@ -5014,9 +3238,9 @@ class ManagedClusterNodeProvisioningProfile(TypedDict, total=False): class ManagedClusterNodeResourceGroupProfile(TypedDict, total=False): """Node resource group lockdown profile for a managed cluster. - :ivar restriction_level: The restriction level applied to the cluster's node resource group. If + :ivar restrictionLevel: The restriction level applied to the cluster's node resource group. If not specified, the default is 'Unrestricted'. Known values are: "Unrestricted" and "ReadOnly". - :vartype restriction_level: Union[str, "RestrictionLevel"] + :vartype restrictionLevel: Union[str, "RestrictionLevel"] """ restrictionLevel: Union[str, "RestrictionLevel"] @@ -5027,8 +3251,8 @@ class ManagedClusterNodeResourceGroupProfile(TypedDict, total=False): class ManagedClusterOIDCIssuerProfile(TypedDict, total=False): """The OIDC issuer profile of the Managed Cluster. - :ivar issuer_url: The OIDC issuer url of the Managed Cluster. - :vartype issuer_url: str + :ivar issuerURL: The OIDC issuer url of the Managed Cluster. + :vartype issuerURL: str :ivar enabled: Whether the OIDC issuer is enabled. :vartype enabled: bool """ @@ -5046,15 +3270,15 @@ class ManagedClusterPodIdentity(TypedDict, total=False): :vartype name: str :ivar namespace: The namespace of the pod identity. Required. :vartype namespace: str - :ivar binding_selector: The binding selector to use for the AzureIdentityBinding resource. - :vartype binding_selector: str + :ivar bindingSelector: The binding selector to use for the AzureIdentityBinding resource. + :vartype bindingSelector: str :ivar identity: The user assigned identity details. Required. :vartype identity: "UserAssignedIdentity" - :ivar provisioning_state: The current provisioning state of the pod identity. Known values are: + :ivar provisioningState: The current provisioning state of the pod identity. Known values are: "Assigned", "Canceled", "Deleting", "Failed", "Succeeded", and "Updating". - :vartype provisioning_state: Union[str, "ManagedClusterPodIdentityProvisioningState"] - :ivar provisioning_info: The provisioning information for the pod identity. - :vartype provisioning_info: "ManagedClusterPodIdentityProvisioningInfo" + :vartype provisioningState: Union[str, "ManagedClusterPodIdentityProvisioningState"] + :ivar provisioningInfo: The provisioning information for the pod identity. + :vartype provisioningInfo: "ManagedClusterPodIdentityProvisioningInfo" """ name: Required[str] @@ -5083,8 +3307,8 @@ class ManagedClusterPodIdentityException(TypedDict, total=False): :vartype name: str :ivar namespace: The namespace of the pod identity exception. Required. :vartype namespace: str - :ivar pod_labels: The pod labels to match. Required. - :vartype pod_labels: dict[str, str] + :ivar podLabels: The pod labels to match. Required. + :vartype podLabels: dict[str, str] """ name: Required[str] @@ -5102,17 +3326,17 @@ class ManagedClusterPodIdentityProfile(TypedDict, total=False): :ivar enabled: Whether the pod identity addon is enabled. :vartype enabled: bool - :ivar allow_network_plugin_kubenet: Whether pod identity is allowed to run on clusters with + :ivar allowNetworkPluginKubenet: 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 `_ for more information. - :vartype allow_network_plugin_kubenet: bool - :ivar user_assigned_identities: The pod identities to use in the cluster. - :vartype user_assigned_identities: list["ManagedClusterPodIdentity"] - :ivar user_assigned_identity_exceptions: The pod identity exceptions to allow. - :vartype user_assigned_identity_exceptions: list["ManagedClusterPodIdentityException"] + :vartype allowNetworkPluginKubenet: bool + :ivar userAssignedIdentities: The pod identities to use in the cluster. + :vartype userAssignedIdentities: list["ManagedClusterPodIdentity"] + :ivar userAssignedIdentityExceptions: The pod identity exceptions to allow. + :vartype userAssignedIdentityExceptions: list["ManagedClusterPodIdentityException"] """ enabled: bool @@ -5181,16 +3405,13 @@ class ManagedClusterPodIdentityProvisioningInfo(TypedDict, total=False): # pyli class ManagedClusterProperties(TypedDict, total=False): """Properties of the managed cluster. - :ivar provisioning_state: The current provisioning state. - :vartype provisioning_state: str - :ivar power_state: The Power State of the cluster. - :vartype power_state: "PowerState" - :ivar creation_data: CreationData to be used to specify the source Snapshot ID if the cluster - will be created/upgraded using a snapshot. - :vartype creation_data: "CreationData" - :ivar max_agent_pools: The max number of agent pools for the managed cluster. - :vartype max_agent_pools: int - :ivar kubernetes_version: The version of Kubernetes specified by the user. Both patch version + :ivar provisioningState: The current provisioning state. + :vartype provisioningState: str + :ivar powerState: The Power State of the cluster. + :vartype powerState: "PowerState" + :ivar maxAgentPools: The max number of agent pools for the managed cluster. + :vartype maxAgentPools: int + :ivar kubernetesVersion: 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) @@ -5199,138 +3420,119 @@ class ManagedClusterProperties(TypedDict, total=False): 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 `_ for more details. - :vartype kubernetes_version: str - :ivar current_kubernetes_version: The version of Kubernetes the Managed Cluster is running. If + :vartype kubernetesVersion: str + :ivar currentKubernetesVersion: 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. - :vartype current_kubernetes_version: str - :ivar dns_prefix: The DNS prefix of the Managed Cluster. This cannot be updated once the - Managed Cluster has been created. - :vartype dns_prefix: str - :ivar fqdn_subdomain: The FQDN subdomain of the private cluster with custom private dns zone. + :vartype currentKubernetesVersion: str + :ivar dnsPrefix: The DNS prefix of the Managed Cluster. This cannot be updated once the Managed + Cluster has been created. + :vartype dnsPrefix: str + :ivar fqdnSubdomain: The FQDN subdomain of the private cluster with custom private dns zone. This cannot be updated once the Managed Cluster has been created. - :vartype fqdn_subdomain: str + :vartype fqdnSubdomain: str :ivar fqdn: The FQDN of the master pool. :vartype fqdn: str - :ivar private_fqdn: The FQDN of private cluster. - :vartype private_fqdn: str - :ivar azure_portal_fqdn: 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. - :vartype azure_portal_fqdn: str - :ivar agent_pool_profiles: The agent pool properties. - :vartype agent_pool_profiles: list["ManagedClusterAgentPoolProfile"] - :ivar linux_profile: The profile for Linux VMs in the Managed Cluster. - :vartype linux_profile: "ContainerServiceLinuxProfile" - :ivar windows_profile: The profile for Windows VMs in the Managed Cluster. - :vartype windows_profile: "ManagedClusterWindowsProfile" - :ivar service_principal_profile: Information about a service principal identity for the cluster + :ivar privateFQDN: The FQDN of private cluster. + :vartype privateFQDN: str + :ivar azurePortalFQDN: 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. + :vartype azurePortalFQDN: str + :ivar agentPoolProfiles: The agent pool properties. + :vartype agentPoolProfiles: list["ManagedClusterAgentPoolProfile"] + :ivar linuxProfile: The profile for Linux VMs in the Managed Cluster. + :vartype linuxProfile: "ContainerServiceLinuxProfile" + :ivar windowsProfile: The profile for Windows VMs in the Managed Cluster. + :vartype windowsProfile: "ManagedClusterWindowsProfile" + :ivar servicePrincipalProfile: Information about a service principal identity for the cluster to use for manipulating Azure APIs. - :vartype service_principal_profile: "ManagedClusterServicePrincipalProfile" - :ivar addon_profiles: The profile of managed cluster add-on. - :vartype addon_profiles: dict[str, "ManagedClusterAddonProfile"] - :ivar pod_identity_profile: The pod identity profile of the Managed Cluster. See `use AAD pod + :vartype servicePrincipalProfile: "ManagedClusterServicePrincipalProfile" + :ivar addonProfiles: The profile of managed cluster add-on. + :vartype addonProfiles: dict[str, "ManagedClusterAddonProfile"] + :ivar podIdentityProfile: The pod identity profile of the Managed Cluster. See `use AAD pod identity `_ for more details on AAD pod identity integration. - :vartype pod_identity_profile: "ManagedClusterPodIdentityProfile" - :ivar oidc_issuer_profile: The OIDC issuer profile of the Managed Cluster. - :vartype oidc_issuer_profile: "ManagedClusterOIDCIssuerProfile" - :ivar node_resource_group: The name of the resource group containing agent pool nodes. - :vartype node_resource_group: str - :ivar node_resource_group_profile: Profile of the node resource group configuration. - :vartype node_resource_group_profile: "ManagedClusterNodeResourceGroupProfile" - :ivar enable_rbac: Whether to enable Kubernetes Role-Based Access Control. - :vartype enable_rbac: bool - :ivar support_plan: The support plan for the Managed Cluster. If unspecified, the default is + :vartype podIdentityProfile: "ManagedClusterPodIdentityProfile" + :ivar oidcIssuerProfile: The OIDC issuer profile of the Managed Cluster. + :vartype oidcIssuerProfile: "ManagedClusterOIDCIssuerProfile" + :ivar nodeResourceGroup: The name of the resource group containing agent pool nodes. + :vartype nodeResourceGroup: str + :ivar nodeResourceGroupProfile: Profile of the node resource group configuration. + :vartype nodeResourceGroupProfile: "ManagedClusterNodeResourceGroupProfile" + :ivar enableRBAC: Whether to enable Kubernetes Role-Based Access Control. + :vartype enableRBAC: bool + :ivar supportPlan: The support plan for the Managed Cluster. If unspecified, the default is 'KubernetesOfficial'. Known values are: "KubernetesOfficial" and "AKSLongTermSupport". - :vartype support_plan: Union[str, "KubernetesSupportPlan"] - :ivar enable_fips: Whether to enable FIPS mode at the cluster level. When enabled, this setting - enforces FIPS compliance for all AKS-managed components, such as the node operating system, - addons, and `managed containerized components `_. See - `Enable cluster-wide FIPS `_ for more details. When this property is - enabled, all node pools in the cluster must also be FIPS-enabled. - :vartype enable_fips: bool - :ivar enable_namespace_resources: 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 `_ for more details - on Namespace as a ARM Resource. - :vartype enable_namespace_resources: bool - :ivar network_profile: The network configuration profile. - :vartype network_profile: "ContainerServiceNetworkProfile" - :ivar aad_profile: The Azure Active Directory configuration. - :vartype aad_profile: "ManagedClusterAADProfile" - :ivar auto_upgrade_profile: The auto upgrade configuration. - :vartype auto_upgrade_profile: "ManagedClusterAutoUpgradeProfile" - :ivar upgrade_settings: Settings for upgrading a cluster. - :vartype upgrade_settings: "ClusterUpgradeSettings" - :ivar auto_scaler_profile: Parameters to be applied to the cluster-autoscaler when enabled. - :vartype auto_scaler_profile: "ManagedClusterPropertiesAutoScalerProfile" - :ivar api_server_access_profile: The access profile for managed cluster API server. - :vartype api_server_access_profile: "ManagedClusterAPIServerAccessProfile" - :ivar disk_encryption_set_id: The Resource ID of the disk encryption set to use for enabling + :vartype supportPlan: Union[str, "KubernetesSupportPlan"] + :ivar networkProfile: The network configuration profile. + :vartype networkProfile: "ContainerServiceNetworkProfile" + :ivar aadProfile: The Azure Active Directory configuration. + :vartype aadProfile: "ManagedClusterAADProfile" + :ivar autoUpgradeProfile: The auto upgrade configuration. + :vartype autoUpgradeProfile: "ManagedClusterAutoUpgradeProfile" + :ivar upgradeSettings: Settings for upgrading a cluster. + :vartype upgradeSettings: "ClusterUpgradeSettings" + :ivar autoScalerProfile: Parameters to be applied to the cluster-autoscaler when enabled. + :vartype autoScalerProfile: "ManagedClusterPropertiesAutoScalerProfile" + :ivar apiServerAccessProfile: The access profile for managed cluster API server. + :vartype apiServerAccessProfile: "ManagedClusterAPIServerAccessProfile" + :ivar diskEncryptionSetID: 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}'. - :vartype disk_encryption_set_id: str - :ivar identity_profile: The user identity associated with the managed cluster. This identity + :vartype diskEncryptionSetID: str + :ivar identityProfile: 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}". - :vartype identity_profile: dict[str, "UserAssignedIdentity"] - :ivar private_link_resources: Private link resources associated with the cluster. - :vartype private_link_resources: list["PrivateLinkResource"] - :ivar disable_local_accounts: 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 + :vartype identityProfile: dict[str, "UserAssignedIdentity"] + :ivar privateLinkResources: Private link resources associated with the cluster. + :vartype privateLinkResources: list["PrivateLinkResource"] + :ivar disableLocalAccounts: 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 `_. - :vartype disable_local_accounts: bool - :ivar http_proxy_config: Configurations for provisioning the cluster with HTTP proxy servers. - :vartype http_proxy_config: "ManagedClusterHTTPProxyConfig" - :ivar security_profile: Security profile for the managed cluster. - :vartype security_profile: "ManagedClusterSecurityProfile" - :ivar storage_profile: Storage profile for the managed cluster. - :vartype storage_profile: "ManagedClusterStorageProfile" - :ivar ingress_profile: Ingress profile for the managed cluster. - :vartype ingress_profile: "ManagedClusterIngressProfile" - :ivar public_network_access: PublicNetworkAccess of the managedCluster. Allow or deny public - network access for AKS. Known values are: "Enabled", "Disabled", and "SecuredByPerimeter". - :vartype public_network_access: Union[str, "PublicNetworkAccess"] - :ivar workload_auto_scaler_profile: Workload Auto-scaler profile for the managed cluster. - :vartype workload_auto_scaler_profile: "ManagedClusterWorkloadAutoScalerProfile" - :ivar azure_monitor_profile: Azure Monitor addon profiles for monitoring the managed cluster. - :vartype azure_monitor_profile: "ManagedClusterAzureMonitorProfile" - :ivar service_mesh_profile: Service mesh profile for a managed cluster. - :vartype service_mesh_profile: "ServiceMeshProfile" - :ivar resource_uid: The resourceUID uniquely identifies ManagedClusters that reuse ARM + :vartype disableLocalAccounts: bool + :ivar httpProxyConfig: Configurations for provisioning the cluster with HTTP proxy servers. + :vartype httpProxyConfig: "ManagedClusterHTTPProxyConfig" + :ivar securityProfile: Security profile for the managed cluster. + :vartype securityProfile: "ManagedClusterSecurityProfile" + :ivar storageProfile: Storage profile for the managed cluster. + :vartype storageProfile: "ManagedClusterStorageProfile" + :ivar ingressProfile: Ingress profile for the managed cluster. + :vartype ingressProfile: "ManagedClusterIngressProfile" + :ivar publicNetworkAccess: PublicNetworkAccess of the managedCluster. Allow or deny public + network access for AKS. Known values are: "Enabled" and "Disabled". + :vartype publicNetworkAccess: Union[str, "PublicNetworkAccess"] + :ivar workloadAutoScalerProfile: Workload Auto-scaler profile for the managed cluster. + :vartype workloadAutoScalerProfile: "ManagedClusterWorkloadAutoScalerProfile" + :ivar azureMonitorProfile: Azure Monitor addon profiles for monitoring the managed cluster. + :vartype azureMonitorProfile: "ManagedClusterAzureMonitorProfile" + :ivar serviceMeshProfile: Service mesh profile for a managed cluster. + :vartype serviceMeshProfile: "ServiceMeshProfile" + :ivar resourceUID: The resourceUID uniquely identifies ManagedClusters that reuse ARM ResourceIds (i.e: create, delete, create sequence). - :vartype resource_uid: str - :ivar metrics_profile: Optional cluster metrics configuration. - :vartype metrics_profile: "ManagedClusterMetricsProfile" - :ivar node_provisioning_profile: Node provisioning settings that apply to the whole cluster. - :vartype node_provisioning_profile: "ManagedClusterNodeProvisioningProfile" - :ivar bootstrap_profile: Profile of the cluster bootstrap configuration. - :vartype bootstrap_profile: "ManagedClusterBootstrapProfile" - :ivar ai_toolchain_operator_profile: AI toolchain operator settings that apply to the whole + :vartype resourceUID: str + :ivar metricsProfile: Optional cluster metrics configuration. + :vartype metricsProfile: "ManagedClusterMetricsProfile" + :ivar nodeProvisioningProfile: Node provisioning settings that apply to the whole cluster. + :vartype nodeProvisioningProfile: "ManagedClusterNodeProvisioningProfile" + :ivar bootstrapProfile: Profile of the cluster bootstrap configuration. + :vartype bootstrapProfile: "ManagedClusterBootstrapProfile" + :ivar aiToolchainOperatorProfile: AI toolchain operator settings that apply to the whole cluster. - :vartype ai_toolchain_operator_profile: "ManagedClusterAIToolchainOperatorProfile" - :ivar scheduler_profile: Profile with scheduler-related settings, like the configuration mode + :vartype aiToolchainOperatorProfile: "ManagedClusterAIToolchainOperatorProfile" + :ivar schedulerProfile: Profile with scheduler-related settings, like the configuration mode for each scheduler managed by AKS. See `https://aka.ms/aks/scheduler-profile `_. - :vartype scheduler_profile: "SchedulerProfile" - :ivar hosted_system_profile: Settings for hosted system addons. For more information, see + :vartype schedulerProfile: "SchedulerProfile" + :ivar hostedSystemProfile: Settings for hosted system addons. For more information, see `https://aka.ms/aks/automatic/systemcomponents `_. - :vartype hosted_system_profile: "ManagedClusterHostedSystemProfile" - :ivar health_monitor_profile: Health monitor profile for the managed cluster. - :vartype health_monitor_profile: "ManagedClusterHealthMonitorProfile" - :ivar control_plane_scaling_profile: Profile for providing scaled and performance guaranteed - control plane capacity to deliver consistent performance under high workload. Requires - Kubernetes version 1.33.0 or later. - :vartype control_plane_scaling_profile: "ManagedClusterControlPlaneScalingProfile" - :ivar node_disruption_profile: Node disruption profile for a managed cluster. - :vartype node_disruption_profile: "NodeDisruptionProfile" + :vartype hostedSystemProfile: "ManagedClusterHostedSystemProfile" :ivar status: Contains read-only information about the Managed Cluster. :vartype status: "ManagedClusterStatus" """ @@ -5339,9 +3541,6 @@ class ManagedClusterProperties(TypedDict, total=False): """The current provisioning state.""" powerState: "PowerState" """The Power State of the cluster.""" - creationData: "CreationData" - """CreationData to be used to specify the source Snapshot ID if the cluster will be - created/upgraded using a snapshot.""" maxAgentPools: int """The max number of agent pools for the managed cluster.""" kubernetesVersion: str @@ -5401,16 +3600,6 @@ class ManagedClusterProperties(TypedDict, total=False): supportPlan: Union[str, "KubernetesSupportPlan"] """The support plan for the Managed Cluster. If unspecified, the default is 'KubernetesOfficial'. Known values are: \"KubernetesOfficial\" and \"AKSLongTermSupport\".""" - enableFIPS: bool - """Whether to enable FIPS mode at the cluster level. When enabled, this setting enforces FIPS - compliance for all AKS-managed components, such as the node operating system, addons, and - `managed containerized components `_. See `Enable - cluster-wide FIPS `_ for more details. When this property is enabled, - all node pools in the cluster must also be FIPS-enabled.""" - enableNamespaceResources: bool - """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 - `_ for more details on Namespace as a ARM Resource.""" networkProfile: "ContainerServiceNetworkProfile" """The network configuration profile.""" aadProfile: "ManagedClusterAADProfile" @@ -5449,7 +3638,7 @@ class ManagedClusterProperties(TypedDict, total=False): """Ingress profile for the managed cluster.""" publicNetworkAccess: Union[str, "PublicNetworkAccess"] """PublicNetworkAccess of the managedCluster. Allow or deny public network access for AKS. Known - values are: \"Enabled\", \"Disabled\", and \"SecuredByPerimeter\".""" + values are: \"Enabled\" and \"Disabled\".""" workloadAutoScalerProfile: "ManagedClusterWorkloadAutoScalerProfile" """Workload Auto-scaler profile for the managed cluster.""" azureMonitorProfile: "ManagedClusterAzureMonitorProfile" @@ -5474,13 +3663,6 @@ class ManagedClusterProperties(TypedDict, total=False): """Settings for hosted system addons. For more information, see `https://aka.ms/aks/automatic/systemcomponents `_.""" - healthMonitorProfile: "ManagedClusterHealthMonitorProfile" - """Health monitor profile for the managed cluster.""" - controlPlaneScalingProfile: "ManagedClusterControlPlaneScalingProfile" - """Profile for providing scaled and performance guaranteed control plane capacity to deliver - consistent performance under high workload. Requires Kubernetes version 1.33.0 or later.""" - nodeDisruptionProfile: "NodeDisruptionProfile" - """Node disruption profile for a managed cluster.""" status: "ManagedClusterStatus" """Contains read-only information about the Managed Cluster.""" @@ -5513,148 +3695,108 @@ class ManagedClusterProperties(TypedDict, total=False): ) ManagedClusterPropertiesAutoScalerProfile.__doc__ = """Parameters to be applied to the cluster-autoscaler when enabled. -:ivar balance_similar_node_groups: Detects similar node pools and balances the number of nodes +:ivar balance-similar-node-groups: Detects similar node pools and balances the number of nodes between them. Valid values are 'true' and 'false'. -:vartype balance_similar_node_groups: str -:ivar daemonset_eviction_for_empty_nodes: DaemonSet pods will be gracefully terminated from +:vartype balance-similar-node-groups: str +:ivar daemonset-eviction-for-empty-nodes: 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. -:vartype daemonset_eviction_for_empty_nodes: bool -:ivar daemonset_eviction_for_occupied_nodes: DaemonSet pods will be gracefully terminated from +:vartype daemonset-eviction-for-empty-nodes: bool +:ivar daemonset-eviction-for-occupied-nodes: 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. -:vartype daemonset_eviction_for_occupied_nodes: bool -:ivar ignore_daemonsets_utilization: Should CA ignore DaemonSet pods when calculating resource +:vartype daemonset-eviction-for-occupied-nodes: bool +:ivar ignore-daemonsets-utilization: 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. -:vartype ignore_daemonsets_utilization: bool +:vartype ignore-daemonsets-utilization: bool :ivar expander: The expander to use when scaling up. If not specified, the default is 'random'. See `expanders `_ for more information. Known values are: "least-waste", "most-pods", "priority", and "random". :vartype expander: Union[str, "Expander"] -:ivar max_empty_bulk_delete: The maximum number of empty nodes that can be deleted at the same +:ivar max-empty-bulk-delete: The maximum number of empty nodes that can be deleted at the same time. This must be a positive integer. The default is 10. -:vartype max_empty_bulk_delete: str -:ivar max_graceful_termination_sec: The maximum number of seconds the cluster autoscaler waits +:vartype max-empty-bulk-delete: str +:ivar max-graceful-termination-sec: The maximum number of seconds the cluster autoscaler waits for pod termination when trying to scale down a node. The default is 600. -:vartype max_graceful_termination_sec: str -:ivar max_node_provision_time: The maximum time the autoscaler waits for a node to be +:vartype max-graceful-termination-sec: str +:ivar max-node-provision-time: 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. -:vartype max_node_provision_time: str -:ivar max_total_unready_percentage: The maximum percentage of unready nodes in the cluster. +:vartype max-node-provision-time: str +:ivar max-total-unready-percentage: 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. -:vartype max_total_unready_percentage: str -:ivar new_pod_scale_up_delay: Ignore unscheduled pods before they're a certain age. For +:vartype max-total-unready-percentage: str +:ivar new-pod-scale-up-delay: 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). -:vartype new_pod_scale_up_delay: str -:ivar ok_total_unready_count: The number of allowed unready nodes, irrespective of +:vartype new-pod-scale-up-delay: str +:ivar ok-total-unready-count: The number of allowed unready nodes, irrespective of max-total-unready-percentage. This must be an integer. The default is 3. -:vartype ok_total_unready_count: str -:ivar scan_interval: How often cluster is reevaluated for scale up or down. The default is +:vartype ok-total-unready-count: str +:ivar scan-interval: How often cluster is reevaluated for scale up or down. The default is '10'. Values must be an integer number of seconds. -:vartype scan_interval: str -:ivar scale_down_delay_after_add: How long after scale up that scale down evaluation resumes. +:vartype scan-interval: str +:ivar scale-down-delay-after-add: 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. -:vartype scale_down_delay_after_add: str -:ivar scale_down_delay_after_delete: How long after node deletion that scale down evaluation +:vartype scale-down-delay-after-add: str +:ivar scale-down-delay-after-delete: 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. -:vartype scale_down_delay_after_delete: str -:ivar scale_down_delay_after_failure: How long after scale down failure that scale down +:vartype scale-down-delay-after-delete: str +:ivar scale-down-delay-after-failure: 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. -:vartype scale_down_delay_after_failure: str -:ivar scale_down_unneeded_time: How long a node should be unneeded before it is eligible for +:vartype scale-down-delay-after-failure: str +:ivar scale-down-unneeded-time: 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. -:vartype scale_down_unneeded_time: str -:ivar scale_down_unready_time: How long an unready node should be unneeded before it is +:vartype scale-down-unneeded-time: str +:ivar scale-down-unready-time: 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. -:vartype scale_down_unready_time: str -:ivar scale_down_utilization_threshold: Node utilization level, defined as sum of requested +:vartype scale-down-unready-time: str +:ivar scale-down-utilization-threshold: 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'. -:vartype scale_down_utilization_threshold: str -:ivar skip_nodes_with_local_storage: If cluster autoscaler will skip deleting nodes with pods +:vartype scale-down-utilization-threshold: str +:ivar skip-nodes-with-local-storage: If cluster autoscaler will skip deleting nodes with pods with local storage, for example, EmptyDir or HostPath. The default is true. -:vartype skip_nodes_with_local_storage: str -:ivar skip_nodes_with_system_pods: If cluster autoscaler will skip deleting nodes with pods +:vartype skip-nodes-with-local-storage: str +:ivar skip-nodes-with-system-pods: If cluster autoscaler will skip deleting nodes with pods from kube-system (except for DaemonSet or mirror pods). The default is true. -:vartype skip_nodes_with_system_pods: str +:vartype skip-nodes-with-system-pods: str """ -class ManagedClusterPropertiesForSnapshot(TypedDict, total=False): - """managed cluster properties for snapshot, these properties are read only. - - :ivar kubernetes_version: The current kubernetes version. - :vartype kubernetes_version: str - :ivar sku: The current managed cluster sku. - :vartype sku: "ManagedClusterSKU" - :ivar enable_rbac: Whether the cluster has enabled Kubernetes Role-Based Access Control or not. - :vartype enable_rbac: bool - :ivar network_profile: The current network profile. - :vartype network_profile: "NetworkProfileForSnapshot" - """ - - kubernetesVersion: str - """The current kubernetes version.""" - sku: "ManagedClusterSKU" - """The current managed cluster sku.""" - enableRbac: bool - """Whether the cluster has enabled Kubernetes Role-Based Access Control or not.""" - networkProfile: "NetworkProfileForSnapshot" - """The current network profile.""" - - class ManagedClusterSecurityProfile(TypedDict, total=False): """Security profile for the container service cluster. :ivar defender: Microsoft Defender settings for the security profile. :vartype defender: "ManagedClusterSecurityProfileDefender" - :ivar azure_key_vault_kms: Azure Key Vault `key management service + :ivar azureKeyVaultKms: Azure Key Vault `key management service `_ settings for the security profile. - :vartype azure_key_vault_kms: "AzureKeyVaultKms" - :ivar kubernetes_resource_object_encryption_profile: Encryption at rest of Kubernetes resource - objects. More information on this can be found under - `https://aka.ms/aks/kubernetesResourceObjectEncryption - `_. - :vartype kubernetes_resource_object_encryption_profile: - "KubernetesResourceObjectEncryptionProfile" - :ivar workload_identity: Workload identity settings for the security profile. Workload identity + :vartype azureKeyVaultKms: "AzureKeyVaultKms" + :ivar workloadIdentity: 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. - :vartype workload_identity: "ManagedClusterSecurityProfileWorkloadIdentity" - :ivar image_cleaner: Image Cleaner settings for the security profile. - :vartype image_cleaner: "ManagedClusterSecurityProfileImageCleaner" - :ivar image_integrity: 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. - :vartype image_integrity: "ManagedClusterSecurityProfileImageIntegrity" - :ivar node_restriction: `Node Restriction - `_ - settings for the security profile. - :vartype node_restriction: "ManagedClusterSecurityProfileNodeRestriction" - :ivar custom_ca_trust_certificates: A list of up to 10 base64 encoded CAs that will be added to + :vartype workloadIdentity: "ManagedClusterSecurityProfileWorkloadIdentity" + :ivar imageCleaner: Image Cleaner settings for the security profile. + :vartype imageCleaner: "ManagedClusterSecurityProfileImageCleaner" + :ivar customCATrustCertificates: 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 `_. - :vartype custom_ca_trust_certificates: list[str] - :ivar service_account_image_pull_profile: Defines service account based image pull settings. - :vartype service_account_image_pull_profile: "ServiceAccountImagePullProfile" + :vartype customCATrustCertificates: list[str] """ defender: "ManagedClusterSecurityProfileDefender" @@ -5663,50 +3805,35 @@ class ManagedClusterSecurityProfile(TypedDict, total=False): """Azure Key Vault `key management service `_ settings for the security profile.""" - kubernetesResourceObjectEncryptionProfile: "KubernetesResourceObjectEncryptionProfile" - """Encryption at rest of Kubernetes resource objects. More information on this can be found under - `https://aka.ms/aks/kubernetesResourceObjectEncryption - `_.""" workloadIdentity: "ManagedClusterSecurityProfileWorkloadIdentity" """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: "ManagedClusterSecurityProfileImageCleaner" """Image Cleaner settings for the security profile.""" - imageIntegrity: "ManagedClusterSecurityProfileImageIntegrity" - """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: "ManagedClusterSecurityProfileNodeRestriction" - """`Node Restriction - `_ - settings for the security profile.""" customCATrustCertificates: list[str] """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 `_.""" - serviceAccountImagePullProfile: "ServiceAccountImagePullProfile" - """Defines service account based image pull settings.""" class ManagedClusterSecurityProfileDefender(TypedDict, total=False): """Microsoft Defender settings for the security profile. - :ivar log_analytics_workspace_resource_id: Resource ID of the Log Analytics workspace to be + :ivar logAnalyticsWorkspaceResourceId: 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. - :vartype log_analytics_workspace_resource_id: str - :ivar security_monitoring: Microsoft Defender threat detection for Cloud settings for the + :vartype logAnalyticsWorkspaceResourceId: str + :ivar securityMonitoring: Microsoft Defender threat detection for Cloud settings for the security profile. - :vartype security_monitoring: "ManagedClusterSecurityProfileDefenderSecurityMonitoring" - :ivar security_gating: Microsoft Defender settings for security gating. This validates - container images eligibility for deployment based on Defender for Containers security findings. - Using Admission Controller, it either audits or prevents deployment of images that do not meet + :vartype securityMonitoring: "ManagedClusterSecurityProfileDefenderSecurityMonitoring" + :ivar securityGating: Microsoft Defender settings for security gating. This validates container + images eligibility for deployment based on Defender for Containers security findings. Using + Admission Controller, it either audits or prevents deployment of images that do not meet security standards. For more information, see `https://aka.ms/KubernetesDefenderAuditRule `_. - :vartype security_gating: "ManagedClusterSecurityProfileDefenderSecurityGating" + :vartype securityGating: "ManagedClusterSecurityProfileDefenderSecurityGating" """ logAnalyticsWorkspaceResourceId: str @@ -5739,11 +3866,11 @@ class ManagedClusterSecurityProfileDefenderSecurityGating(TypedDict, total=False `https://learn.microsoft.com/en-us/azure/defender-for-cloud/gated-deployment-infrastructure-as-code `_. :vartype identities: list["ManagedClusterSecurityProfileDefenderSecurityGatingIdentity"] - :ivar allow_secret_access: In use only while registry access is granted by secret rather than + :ivar allowSecretAccess: In use only while registry access is granted by secret rather than managed identity. Sets whether to grant the Defender gating agent access to cluster secrets for pulling images from registries. If secret access is denied and the registry requires pull secrets, the add-on will not perform image validation. Default value is false. - :vartype allow_secret_access: bool + :vartype allowSecretAccess: bool """ enabled: bool @@ -5769,9 +3896,9 @@ class ManagedClusterSecurityProfileDefenderSecurityGatingIdentity( ): # pylint: disable=name-too-long """Identity mapping used by Defender security gating for registry access. - :ivar azure_container_registry: The container registry for which the identity will be used; the + :ivar azureContainerRegistry: The container registry for which the identity will be used; the identity specified here should have a federated identity credential attached to it. - :vartype azure_container_registry: str + :vartype azureContainerRegistry: str :ivar identity: The identity object used to access the registry. :vartype identity: "UserAssignedIdentity" """ @@ -5800,8 +3927,8 @@ class ManagedClusterSecurityProfileImageCleaner(TypedDict, total=False): # pyli :ivar enabled: Whether to enable Image Cleaner on AKS cluster. :vartype enabled: bool - :ivar interval_hours: Image Cleaner scanning interval in hours. - :vartype interval_hours: int + :ivar intervalHours: Image Cleaner scanning interval in hours. + :vartype intervalHours: int """ enabled: bool @@ -5810,28 +3937,6 @@ class ManagedClusterSecurityProfileImageCleaner(TypedDict, total=False): # pyli """Image Cleaner scanning interval in hours.""" -class ManagedClusterSecurityProfileImageIntegrity(TypedDict, total=False): # pylint: disable=name-too-long - """Image integrity related settings for the security profile. - - :ivar enabled: Whether to enable image integrity. The default value is false. - :vartype enabled: bool - """ - - enabled: bool - """Whether to enable image integrity. The default value is false.""" - - -class ManagedClusterSecurityProfileNodeRestriction(TypedDict, total=False): # pylint: disable=name-too-long - """Node Restriction settings for the security profile. - - :ivar enabled: Whether to enable Node Restriction. - :vartype enabled: bool - """ - - enabled: bool - """Whether to enable Node Restriction.""" - - class ManagedClusterSecurityProfileWorkloadIdentity(TypedDict, total=False): # pylint: disable=name-too-long """Workload identity settings for the security profile. @@ -5847,8 +3952,8 @@ class ManagedClusterServicePrincipalProfile(TypedDict, total=False): """Information about a service principal identity for the cluster to use for manipulating Azure APIs. - :ivar client_id: The ID for the service principal. Required. - :vartype client_id: str + :ivar clientId: The ID for the service principal. Required. + :vartype clientId: str :ivar secret: The secret password associated with the service principal in plain text. :vartype secret: str """ @@ -5878,56 +3983,6 @@ class ManagedClusterSKU(TypedDict, total=False): Known values are: \"Premium\", \"Standard\", and \"Free\".""" -class ManagedClusterSnapshot(TrackedResource): - """A managed cluster snapshot resource. - - :ivar id: Fully qualified resource ID for the resource. Ex - - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - :vartype id: str - :ivar name: The name of the resource. - :vartype name: str - :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or - "Microsoft.Storage/storageAccounts". - :vartype type: str - :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy - information. - :vartype system_data: "SystemData" - :ivar tags: Resource tags. - :vartype tags: dict[str, str] - :ivar location: The geo-location where the resource lives. Required. - :vartype location: str - :ivar properties: Properties of a managed cluster snapshot. - :vartype properties: "ManagedClusterSnapshotProperties" - """ - - properties: "ManagedClusterSnapshotProperties" - """Properties of a managed cluster snapshot.""" - - -class ManagedClusterSnapshotProperties(TypedDict, total=False): - """Properties for a managed cluster snapshot. - - :ivar creation_data: CreationData to be used to specify the source resource ID to create this - snapshot. - :vartype creation_data: "CreationData" - :ivar snapshot_type: The type of a snapshot. The default is NodePool. Known values are: - "NodePool" and "ManagedCluster". - :vartype snapshot_type: Union[str, "SnapshotType"] - :ivar managed_cluster_properties_read_only: What the properties will be showed when getting - managed cluster snapshot. Those properties are read-only. - :vartype managed_cluster_properties_read_only: "ManagedClusterPropertiesForSnapshot" - """ - - creationData: "CreationData" - """CreationData to be used to specify the source resource ID to create this snapshot.""" - snapshotType: Union[str, "SnapshotType"] - """The type of a snapshot. The default is NodePool. Known values are: \"NodePool\" and - \"ManagedCluster\".""" - managedClusterPropertiesReadOnly: "ManagedClusterPropertiesForSnapshot" - """What the properties will be showed when getting managed cluster snapshot. Those properties are - read-only.""" - - class ManagedClusterStaticEgressGatewayProfile(TypedDict, total=False): """The Static Egress Gateway addon configuration for the cluster. @@ -5943,9 +3998,9 @@ class ManagedClusterStaticEgressGatewayProfile(TypedDict, total=False): class ManagedClusterStatus(TypedDict, total=False): """Contains read-only information about the Managed Cluster. - :ivar provisioning_error: The error details information of the managed cluster. Preserves the + :ivar provisioningError: The error details information of the managed cluster. Preserves the detailed info of failure. If there was no error, this field is omitted. - :vartype provisioning_error: "ErrorDetail" + :vartype provisioningError: "ErrorDetail" """ provisioningError: "ErrorDetail" @@ -5956,14 +4011,14 @@ class ManagedClusterStatus(TypedDict, total=False): class ManagedClusterStorageProfile(TypedDict, total=False): """Storage profile for the container service cluster. - :ivar disk_csi_driver: AzureDisk CSI Driver settings for the storage profile. - :vartype disk_csi_driver: "ManagedClusterStorageProfileDiskCSIDriver" - :ivar file_csi_driver: AzureFile CSI Driver settings for the storage profile. - :vartype file_csi_driver: "ManagedClusterStorageProfileFileCSIDriver" - :ivar snapshot_controller: Snapshot Controller settings for the storage profile. - :vartype snapshot_controller: "ManagedClusterStorageProfileSnapshotController" - :ivar blob_csi_driver: AzureBlob CSI Driver settings for the storage profile. - :vartype blob_csi_driver: "ManagedClusterStorageProfileBlobCSIDriver" + :ivar diskCSIDriver: AzureDisk CSI Driver settings for the storage profile. + :vartype diskCSIDriver: "ManagedClusterStorageProfileDiskCSIDriver" + :ivar fileCSIDriver: AzureFile CSI Driver settings for the storage profile. + :vartype fileCSIDriver: "ManagedClusterStorageProfileFileCSIDriver" + :ivar snapshotController: Snapshot Controller settings for the storage profile. + :vartype snapshotController: "ManagedClusterStorageProfileSnapshotController" + :ivar blobCSIDriver: AzureBlob CSI Driver settings for the storage profile. + :vartype blobCSIDriver: "ManagedClusterStorageProfileBlobCSIDriver" """ diskCSIDriver: "ManagedClusterStorageProfileDiskCSIDriver" @@ -6023,11 +4078,11 @@ class ManagedClusterStorageProfileSnapshotController(TypedDict, total=False): # class ManagedClusterWebAppRoutingGatewayAPIImplementations(TypedDict, total=False): # pylint: disable=name-too-long """Configurations for Gateway API providers to be used for managed ingress with App Routing. - :ivar app_routing_istio: Configuration for using a sidecar-less Istio control plane for managed + :ivar appRoutingIstio: Configuration for using a sidecar-less Istio control plane for managed ingress via the Gateway API with App Routing. See `https://aka.ms/gateway-on-istio `_ for information on using Istio for ingress via the Gateway API. - :vartype app_routing_istio: "ManagedClusterAppRoutingIstio" + :vartype appRoutingIstio: "ManagedClusterAppRoutingIstio" """ appRoutingIstio: "ManagedClusterAppRoutingIstio" @@ -6039,29 +4094,29 @@ class ManagedClusterWebAppRoutingGatewayAPIImplementations(TypedDict, total=Fals class ManagedClusterWindowsProfile(TypedDict, total=False): """Profile for Windows VMs in the managed cluster. - :ivar admin_username: 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. Required. - :vartype admin_username: str - :ivar admin_password: Specifies the password of the administrator account.

+ :ivar adminUsername: 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. Required. + :vartype adminUsername: str + :ivar adminPassword: 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!". - :vartype admin_password: str - :ivar license_type: The license type to use for Windows VMs. See `Azure Hybrid User Benefits + :vartype adminPassword: str + :ivar licenseType: The license type to use for Windows VMs. See `Azure Hybrid User Benefits `_ for more details. Known values are: "None" and "Windows_Server". - :vartype license_type: Union[str, "LicenseType"] - :ivar enable_csi_proxy: Whether to enable CSI proxy. For more details on CSI proxy, see the - `CSI proxy GitHub repo `_. - :vartype enable_csi_proxy: bool - :ivar gmsa_profile: The Windows gMSA Profile in the Managed Cluster. - :vartype gmsa_profile: "WindowsGmsaProfile" + :vartype licenseType: Union[str, "LicenseType"] + :ivar enableCSIProxy: Whether to enable CSI proxy. For more details on CSI proxy, see the `CSI + proxy GitHub repo `_. + :vartype enableCSIProxy: bool + :ivar gmsaProfile: The Windows gMSA Profile in the Managed Cluster. + :vartype gmsaProfile: "WindowsGmsaProfile" """ adminUsername: Required[str] @@ -6096,10 +4151,9 @@ class ManagedClusterWorkloadAutoScalerProfile(TypedDict, total=False): :ivar keda: KEDA (Kubernetes Event-driven Autoscaling) settings for the workload auto-scaler profile. :vartype keda: "ManagedClusterWorkloadAutoScalerProfileKeda" - :ivar vertical_pod_autoscaler: VPA (Vertical Pod Autoscaler) settings for the workload + :ivar verticalPodAutoscaler: VPA (Vertical Pod Autoscaler) settings for the workload auto-scaler profile. - :vartype vertical_pod_autoscaler: - "ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler" + :vartype verticalPodAutoscaler: "ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler" """ keda: "ManagedClusterWorkloadAutoScalerProfileKeda" @@ -6126,16 +4180,10 @@ class ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler( :ivar enabled: Whether to enable VPA. Default value is false. Required. :vartype enabled: bool - :ivar addon_autoscaling: Whether VPA add-on is enabled and configured to scale AKS-managed - add-ons. Known values are: "Enabled" and "Disabled". - :vartype addon_autoscaling: Union[str, "AddonAutoscaling"] """ enabled: Required[bool] """Whether to enable VPA. Default value is false. Required.""" - addonAutoscaling: Union[str, "AddonAutoscaling"] - """Whether VPA add-on is enabled and configured to scale AKS-managed add-ons. Known values are: - \"Enabled\" and \"Disabled\".""" class ManagedNamespace(TrackedResource): @@ -6149,20 +4197,20 @@ class ManagedNamespace(TrackedResource): :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts". :vartype type: str - :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy + :ivar systemData: Azure Resource Manager metadata containing createdBy and modifiedBy information. - :vartype system_data: "SystemData" + :vartype systemData: "SystemData" :ivar tags: Resource tags. :vartype tags: dict[str, str] :ivar location: The geo-location where the resource lives. Required. :vartype location: str :ivar properties: Properties of a namespace. :vartype properties: "NamespaceProperties" - :ivar e_tag: If eTag is provided in the response body, it may also be provided as a header per + :ivar eTag: 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. - :vartype e_tag: str + :vartype eTag: str """ properties: "NamespaceProperties" @@ -6177,10 +4225,10 @@ class ManagedNamespace(TrackedResource): class ManagedServiceIdentityUserAssignedIdentitiesValue(TypedDict, total=False): # pylint: disable=name-too-long """User assigned identity properties. - :ivar principal_id: The principal id of user assigned identity. - :vartype principal_id: str - :ivar client_id: The client id of user assigned identity. - :vartype client_id: str + :ivar principalId: The principal id of user assigned identity. + :vartype principalId: str + :ivar clientId: The client id of user assigned identity. + :vartype clientId: str """ principalId: str @@ -6206,130 +4254,37 @@ class ManualScaleProfile(TypedDict, total=False): """Number of nodes.""" -class MeshMembership(ProxyResource): - """Mesh membership of a managed cluster. - - :ivar id: Fully qualified resource ID for the resource. Ex - - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - :vartype id: str - :ivar name: The name of the resource. - :vartype name: str - :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or - "Microsoft.Storage/storageAccounts". - :vartype type: str - :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy - information. - :vartype system_data: "SystemData" - :ivar properties: Mesh membership properties of a managed cluster. - :vartype properties: "MeshMembershipProperties" - :ivar managed_by: 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. - :vartype managed_by: str - :ivar e_tag: 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. - :vartype e_tag: str - """ - - properties: "MeshMembershipProperties" - """Mesh membership properties of a managed cluster.""" - managedBy: str - """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.""" - eTag: str - """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.""" - - -class MeshMembershipPrivateConnectProfile(TypedDict, total=False): - """Private connect profile for mesh membership. - - :ivar private_ip_address: The private IP address of the member cluster private FQDN. This is a - read-only property populated by the service. - :vartype private_ip_address: str - :ivar subnet_resource_id: The delegated subnet resource ID. Customer can provide their own - subnet, or AKS will allocate one if not specified. When providing your own subnet, the minimum - required size is /28. - :vartype subnet_resource_id: str - """ - - privateIpAddress: str - """The private IP address of the member cluster private FQDN. This is a read-only property - populated by the service.""" - subnetResourceId: str - """The delegated subnet resource ID. Customer can provide their own subnet, or AKS will allocate - one if not specified. When providing your own subnet, the minimum required size is /28.""" - - -class MeshMembershipProperties(TypedDict, total=False): - """Mesh membership properties of a managed cluster. - - :ivar provisioning_state: The current provisioning state of the Mesh Membership. Known values - are: "Canceled", "Creating", "Deleting", "Failed", "Succeeded", and "Updating". - :vartype provisioning_state: Union[str, "MeshMembershipProvisioningState"] - :ivar private_connect_profile: Profile for configuring private connectivity between the mesh - control plane and member clusters. When configured, communication between the mesh control - plane and this member cluster occurs over private network instead of public networks. Visit - `https://aka.ms/applink `_ for more information. - :vartype private_connect_profile: "MeshMembershipPrivateConnectProfile" - :ivar managed_mesh_id: 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. Required. - :vartype managed_mesh_id: str - """ - - provisioningState: Union[str, "MeshMembershipProvisioningState"] - """The current provisioning state of the Mesh Membership. Known values are: \"Canceled\", - \"Creating\", \"Deleting\", \"Failed\", \"Succeeded\", and \"Updating\".""" - privateConnectProfile: "MeshMembershipPrivateConnectProfile" - """Profile for configuring private connectivity between the mesh control plane and member - clusters. When configured, communication between the mesh control plane and this member cluster - occurs over private network instead of public networks. Visit `https://aka.ms/applink - `_ for more information.""" - managedMeshID: Required[str] - """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. Required.""" - - class NamespaceProperties(TypedDict, total=False): """Properties of a namespace managed by ARM. - :ivar provisioning_state: The current provisioning state of the namespace. Known values are: + :ivar provisioningState: The current provisioning state of the namespace. Known values are: "Updating", "Deleting", "Creating", "Succeeded", "Failed", and "Canceled". - :vartype provisioning_state: Union[str, "NamespaceProvisioningState"] + :vartype provisioningState: Union[str, "NamespaceProvisioningState"] :ivar labels: The labels of managed namespace. :vartype labels: dict[str, str] :ivar annotations: The annotations of managed namespace. :vartype annotations: dict[str, str] - :ivar portal_fqdn: 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 + :ivar portalFqdn: 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. - :vartype portal_fqdn: str - :ivar default_resource_quota: The default resource quota enforced upon the namespace. Customers + :vartype portalFqdn: str + :ivar defaultResourceQuota: 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. - :vartype default_resource_quota: "ResourceQuota" - :ivar default_network_policy: The default network policy enforced upon the namespace. Customers + :vartype defaultResourceQuota: "ResourceQuota" + :ivar defaultNetworkPolicy: 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. - :vartype default_network_policy: "NetworkPolicies" - :ivar adoption_policy: Action if Kubernetes namespace with same name already exists. Known + :vartype defaultNetworkPolicy: "NetworkPolicies" + :ivar adoptionPolicy: Action if Kubernetes namespace with same name already exists. Known values are: "Never", "IfIdentical", and "Always". - :vartype adoption_policy: Union[str, "AdoptionPolicy"] - :ivar delete_policy: Delete options of a namespace. Known values are: "Keep" and "Delete". - :vartype delete_policy: Union[str, "DeletePolicy"] + :vartype adoptionPolicy: Union[str, "AdoptionPolicy"] + :ivar deletePolicy: Delete options of a namespace. Known values are: "Keep" and "Delete". + :vartype deletePolicy: Union[str, "DeletePolicy"] """ provisioningState: Union[str, "NamespaceProvisioningState"] @@ -6381,96 +4336,15 @@ class NetworkPolicies(TypedDict, total=False): and \"AllowSameNamespace\".""" -class NetworkProfileForSnapshot(TypedDict, total=False): - """network profile for managed cluster snapshot, these properties are read only. - - :ivar network_plugin: networkPlugin for managed cluster snapshot. Known values are: "azure", - "kubenet", and "none". - :vartype network_plugin: Union[str, "NetworkPlugin"] - :ivar network_plugin_mode: NetworkPluginMode for managed cluster snapshot. "overlay" - :vartype network_plugin_mode: Union[str, "NetworkPluginMode"] - :ivar network_policy: networkPolicy for managed cluster snapshot. Known values are: "none", - "calico", "azure", and "cilium". - :vartype network_policy: Union[str, "NetworkPolicy"] - :ivar network_mode: networkMode for managed cluster snapshot. Known values are: "transparent" - and "bridge". - :vartype network_mode: Union[str, "NetworkMode"] - :ivar load_balancer_sku: loadBalancerSku for managed cluster snapshot. Known values are: - "service", "standard", and "basic". - :vartype load_balancer_sku: Union[str, "LoadBalancerSku"] - """ - - networkPlugin: Union[str, "NetworkPlugin"] - """networkPlugin for managed cluster snapshot. Known values are: \"azure\", \"kubenet\", and - \"none\".""" - networkPluginMode: Union[str, "NetworkPluginMode"] - """NetworkPluginMode for managed cluster snapshot. \"overlay\"""" - networkPolicy: Union[str, "NetworkPolicy"] - """networkPolicy for managed cluster snapshot. Known values are: \"none\", \"calico\", \"azure\", - and \"cilium\".""" - networkMode: Union[str, "NetworkMode"] - """networkMode for managed cluster snapshot. Known values are: \"transparent\" and \"bridge\".""" - loadBalancerSku: Union[str, "LoadBalancerSku"] - """loadBalancerSku for managed cluster snapshot. Known values are: \"service\", \"standard\", and - \"basic\".""" - - -class NodeDisruptionProfile(TypedDict, total=False): - """Node disruption profile for a managed cluster. - - :ivar node_disruption_policy: The policy configuration for when to allow certain operations - which require node re-image and trigger redeployment. For example, some operations, such as - updating the .properties.ManagedClusterSecurityProfile.customCATrustCertificates field on an - existing managed cluster, trigger rolling updates of the nodes. This setting allows control - over when such updates are accepted. The default is 'Allow'. For a full list of covered - operations see aka.ms/aks/nodedisruptionpolicy". Known values are: "Allow", - "AllowDuringMaintenanceWindow", and "Block". - :vartype node_disruption_policy: Union[str, "NodeDisruptionPolicy"] - """ - - nodeDisruptionPolicy: Union[str, "NodeDisruptionPolicy"] - """The policy configuration for when to allow certain operations which require node re-image and - trigger redeployment. For example, some operations, such as updating the - .properties.ManagedClusterSecurityProfile.customCATrustCertificates field on an existing - managed cluster, trigger rolling updates of the nodes. This setting allows control over when - such updates are accepted. The default is 'Allow'. For a full list of covered operations see - aka.ms/aks/nodedisruptionpolicy\". Known values are: \"Allow\", - \"AllowDuringMaintenanceWindow\", and \"Block\".""" - - -class NvidiaGPUProfile(TypedDict, total=False): - """NVIDIA-specific GPU settings. - - :ivar management_mode: The Managed GPU experience installs additional components, such as the - Data Center GPU Manager (DCGM) metrics for monitoring, on top of the GPU driver for you. For - more details of what is installed, check out aka.ms/aks/managed-gpu. Known values are: - "Unmanaged" and "Managed". - :vartype management_mode: Union[str, "ManagementMode"] - :ivar mig_strategy: Sets the MIG (Multi-Instance GPU) strategy that will be used for managed - MIG support. For more information about the different strategies, visit aka.ms/aks/managed-gpu. - When not specified, the default is None. Known values are: "None", "Single", and "Mixed". - :vartype mig_strategy: Union[str, "MigStrategy"] - """ - - managementMode: Union[str, "ManagementMode"] - """The Managed GPU experience installs additional components, such as the Data Center GPU Manager - (DCGM) metrics for monitoring, on top of the GPU driver for you. For more details of what is - installed, check out aka.ms/aks/managed-gpu. Known values are: \"Unmanaged\" and \"Managed\".""" - migStrategy: Union[str, "MigStrategy"] - """Sets the MIG (Multi-Instance GPU) strategy that will be used for managed MIG support. For more - information about the different strategies, visit aka.ms/aks/managed-gpu. When not specified, - the default is None. Known values are: \"None\", \"Single\", and \"Mixed\".""" - - class PortRange(TypedDict, total=False): """The port range. - :ivar port_start: The minimum port that is included in the range. It should be ranged from 1 to + :ivar portStart: 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. - :vartype port_start: int - :ivar port_end: The maximum port that is included in the range. It should be ranged from 1 to + :vartype portStart: int + :ivar portEnd: 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. - :vartype port_end: int + :vartype portEnd: int :ivar protocol: The network protocol of the port. Known values are: "TCP" and "UDP". :vartype protocol: Union[str, "Protocol"] """ @@ -6497,20 +4371,6 @@ class PowerState(TypedDict, total=False): """Tells whether the cluster is Running or Stopped. Known values are: \"Running\" and \"Stopped\".""" -class PreparedImageSpecificationProfile(TypedDict, total=False): - """Settings to determine the prepared image specification used to provision nodes in a pool. - - :ivar prepared_image_specification_id: The resource ID of the prepared image specification - resource to use. This can include a version. Omitting the version will use the latest version - of the prepared image specification. - :vartype prepared_image_specification_id: str - """ - - preparedImageSpecificationId: str - """The resource ID of the prepared image specification resource to use. This can include a - version. Omitting the version will use the latest version of the prepared image specification.""" - - class PrivateEndpoint(TypedDict, total=False): """Private endpoint which a connection belongs to. @@ -6533,9 +4393,9 @@ class PrivateEndpointConnection(ProxyResource): :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts". :vartype type: str - :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy + :ivar systemData: Azure Resource Manager metadata containing createdBy and modifiedBy information. - :vartype system_data: "SystemData" + :vartype systemData: "SystemData" :ivar properties: The properties of a private endpoint connection. :vartype properties: "PrivateEndpointConnectionProperties" """ @@ -6547,14 +4407,14 @@ class PrivateEndpointConnection(ProxyResource): class PrivateEndpointConnectionProperties(TypedDict, total=False): """Properties of a private endpoint connection. - :ivar provisioning_state: The current provisioning state. Known values are: "Canceled", + :ivar provisioningState: The current provisioning state. Known values are: "Canceled", "Creating", "Deleting", "Failed", and "Succeeded". - :vartype provisioning_state: Union[str, "PrivateEndpointConnectionProvisioningState"] - :ivar private_endpoint: The resource of private endpoint. - :vartype private_endpoint: "PrivateEndpoint" - :ivar private_link_service_connection_state: A collection of information about the state of the + :vartype provisioningState: Union[str, "PrivateEndpointConnectionProvisioningState"] + :ivar privateEndpoint: The resource of private endpoint. + :vartype privateEndpoint: "PrivateEndpoint" + :ivar privateLinkServiceConnectionState: A collection of information about the state of the connection between service consumer and provider. Required. - :vartype private_link_service_connection_state: "PrivateLinkServiceConnectionState" + :vartype privateLinkServiceConnectionState: "PrivateLinkServiceConnectionState" """ provisioningState: Union[str, "PrivateEndpointConnectionProvisioningState"] @@ -6577,13 +4437,13 @@ class PrivateLinkResource(TypedDict, total=False): :vartype name: str :ivar type: The resource type. :vartype type: str - :ivar group_id: The group ID of the resource. - :vartype group_id: str - :ivar required_members: The RequiredMembers of the resource. - :vartype required_members: list[str] - :ivar private_link_service_id: The private link service ID of the resource, this field is - exposed only to NRP internally. - :vartype private_link_service_id: str + :ivar groupId: The group ID of the resource. + :vartype groupId: str + :ivar requiredMembers: The RequiredMembers of the resource. + :vartype requiredMembers: list[str] + :ivar privateLinkServiceID: The private link service ID of the resource, this field is exposed + only to NRP internally. + :vartype privateLinkServiceID: str """ id: str @@ -6618,31 +4478,18 @@ class PrivateLinkServiceConnectionState(TypedDict, total=False): """The private link service connection description.""" -class RebalanceLoadBalancersRequestBody(TypedDict, total=False): - """The names of the load balancers to rebalance. If set to empty, all load balancers will be - rebalanced. - - :ivar load_balancer_names: The load balancer names list. - :vartype load_balancer_names: list[str] - """ - - loadBalancerNames: list[str] - """The load balancer names list.""" - - class RelativeMonthlySchedule(TypedDict, total=False): """For schedules like: 'recur every month on the first Monday' or 'recur every 3 months on last Friday'. - :ivar interval_months: Specifies the number of months between each set of occurrences. - Required. - :vartype interval_months: int - :ivar week_index: The week index. Specifies on which week of the month the dayOfWeek applies. + :ivar intervalMonths: Specifies the number of months between each set of occurrences. Required. + :vartype intervalMonths: int + :ivar weekIndex: The week index. Specifies on which week of the month the dayOfWeek applies. Required. Known values are: "First", "Second", "Third", "Fourth", and "Last". - :vartype week_index: Union[str, "Type"] - :ivar day_of_week: Specifies on which day of the week the maintenance occurs. Required. Known + :vartype weekIndex: Union[str, "Type"] + :ivar dayOfWeek: Specifies on which day of the week the maintenance occurs. Required. Known values are: "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", and "Saturday". - :vartype day_of_week: Union[str, "WeekDay"] + :vartype dayOfWeek: Union[str, "WeekDay"] """ intervalMonths: Required[int] @@ -6658,25 +4505,25 @@ class RelativeMonthlySchedule(TypedDict, total=False): class ResourceQuota(TypedDict, total=False): """Resource quota for the namespace. - :ivar cpu_request: CPU request of the namespace in one-thousandth CPU form. See `CPU resource + :ivar cpuRequest: CPU request of the namespace in one-thousandth CPU form. See `CPU resource units `_ for more details. - :vartype cpu_request: str - :ivar cpu_limit: CPU limit of the namespace in one-thousandth CPU form. See `CPU resource units + :vartype cpuRequest: str + :ivar cpuLimit: CPU limit of the namespace in one-thousandth CPU form. See `CPU resource units `_ for more details. - :vartype cpu_limit: str - :ivar memory_request: Memory request of the namespace in the power-of-two equivalents form: Ei, + :vartype cpuLimit: str + :ivar memoryRequest: Memory request of the namespace in the power-of-two equivalents form: Ei, Pi, Ti, Gi, Mi, Ki. See `Memory resource units `_ for more details. - :vartype memory_request: str - :ivar memory_limit: Memory limit of the namespace in the power-of-two equivalents form: Ei, Pi, + :vartype memoryRequest: str + :ivar memoryLimit: Memory limit of the namespace in the power-of-two equivalents form: Ei, Pi, Ti, Gi, Mi, Ki. See `Memory resource units `_ for more details. - :vartype memory_limit: str + :vartype memoryLimit: str """ cpuRequest: str @@ -6717,8 +4564,8 @@ class RunCommandRequest(TypedDict, total=False): :vartype command: str :ivar context: A base64 encoded zip file containing the files required by the command. :vartype context: str - :ivar cluster_token: AuthToken issued for AKS AAD Server App. - :vartype cluster_token: str + :ivar clusterToken: AuthToken issued for AKS AAD Server App. + :vartype clusterToken: str """ command: Required[str] @@ -6758,12 +4605,12 @@ class Schedule(TypedDict, total=False): :vartype daily: "DailySchedule" :ivar weekly: For schedules like: 'recur every Monday' or 'recur every 3 weeks on Wednesday'. :vartype weekly: "WeeklySchedule" - :ivar absolute_monthly: For schedules like: 'recur every month on the 15th' or 'recur every 3 + :ivar absoluteMonthly: For schedules like: 'recur every month on the 15th' or 'recur every 3 months on the 20th'. - :vartype absolute_monthly: "AbsoluteMonthlySchedule" - :ivar relative_monthly: For schedules like: 'recur every month on the first Monday' or 'recur + :vartype absoluteMonthly: "AbsoluteMonthlySchedule" + :ivar relativeMonthly: For schedules like: 'recur every month on the first Monday' or 'recur every 3 months on last Friday'. - :vartype relative_monthly: "RelativeMonthlySchedule" + :vartype relativeMonthly: "RelativeMonthlySchedule" """ daily: "DailySchedule" @@ -6780,9 +4627,9 @@ class Schedule(TypedDict, total=False): class SchedulerInstanceProfile(TypedDict, total=False): """Profile with settings related to a specific instance of an AKS-managed scheduler. - :ivar scheduler_config_mode: The configuration mode to be used by the AKS-managed scheduler. + :ivar schedulerConfigMode: The configuration mode to be used by the AKS-managed scheduler. Known values are: "Default" and "ManagedByCRD". - :vartype scheduler_config_mode: Union[str, "SchedulerConfigMode"] + :vartype schedulerConfigMode: Union[str, "SchedulerConfigMode"] """ schedulerConfigMode: Union[str, "SchedulerConfigMode"] @@ -6806,37 +4653,6 @@ class SchedulerProfile(TypedDict, total=False): `_).""" -class ServiceAccountImagePullProfile(TypedDict, total=False): - """Profile for configuring image pull authentication to use service account scoped managed - identities for authentication instead of node scoped managed identity (kubelet identity) for - authentication to Azure Container Registry. For more information, refer to - `https://aka.ms/aks/identity-binding/acr-image-pull/docs - `_. - - :ivar enabled: Indicates whether service account based image pull is enabled, for which - identity bindings are required for the managed identity to be used for authentication. For more - information, refer to `https://aka.ms/aks/identity-binding-docs - `_. - :vartype enabled: bool - :ivar default_managed_identity_id: Optional. The default managed identity resource ID used for - image pulls at the cluster level. When configured, this identity is used if a Pod’s service - account does not explicitly specify an identity for pulling images. If not configured and no - identity is specified at service account level, image will be pulled via anonymous - authentication. - :vartype default_managed_identity_id: str - """ - - enabled: bool - """Indicates whether service account based image pull is enabled, for which identity bindings are - required for the managed identity to be used for authentication. For more information, refer to - `https://aka.ms/aks/identity-binding-docs `_.""" - defaultManagedIdentityId: str - """Optional. The default managed identity resource ID used for image pulls at the cluster level. - When configured, this identity is used if a Pod’s service account does not explicitly specify - an identity for pulling images. If not configured and no identity is specified at service - account level, image will be pulled via anonymous authentication.""" - - class ServiceMeshProfile(TypedDict, total=False): """Service mesh profile for a managed cluster. @@ -6863,9 +4679,9 @@ class Snapshot(TrackedResource): :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts". :vartype type: str - :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy + :ivar systemData: Azure Resource Manager metadata containing createdBy and modifiedBy information. - :vartype system_data: "SystemData" + :vartype systemData: "SystemData" :ivar tags: Resource tags. :vartype tags: dict[str, str] :ivar location: The geo-location where the resource lives. Required. @@ -6881,36 +4697,34 @@ class Snapshot(TrackedResource): class SnapshotProperties(TypedDict, total=False): """Properties used to configure a node pool snapshot. - :ivar creation_data: CreationData to be used to specify the source agent pool resource ID to + :ivar creationData: CreationData to be used to specify the source agent pool resource ID to create this snapshot. - :vartype creation_data: "CreationData" - :ivar snapshot_type: The type of a snapshot. The default is NodePool. Known values are: - "NodePool" and "ManagedCluster". - :vartype snapshot_type: Union[str, "SnapshotType"] - :ivar kubernetes_version: The version of Kubernetes. - :vartype kubernetes_version: str - :ivar node_image_version: The version of node image. - :vartype node_image_version: str - :ivar os_type: The operating system type. The default is Linux. Known values are: "Linux" and + :vartype creationData: "CreationData" + :ivar snapshotType: The type of a snapshot. The default is NodePool. "NodePool" + :vartype snapshotType: Union[str, "SnapshotType"] + :ivar kubernetesVersion: The version of Kubernetes. + :vartype kubernetesVersion: str + :ivar nodeImageVersion: The version of node image. + :vartype nodeImageVersion: str + :ivar osType: The operating system type. The default is Linux. Known values are: "Linux" and "Windows". - :vartype os_type: Union[str, "OSType"] - :ivar os_sku: Specifies the OS SKU used by the agent pool. The default is Ubuntu if OSType is + :vartype osType: Union[str, "OSType"] + :ivar osSku: 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. Known values are: "Ubuntu", "AzureLinux", "AzureLinux3", "Mariner", - "Flatcar", "CBLMariner", "Windows2019", "Windows2022", "Ubuntu2204", "Windows2025", - "WindowsAnnual", "Ubuntu2404", and "AzureContainerLinux". - :vartype os_sku: Union[str, "OSSKU"] - :ivar vm_size: The size of the VM. - :vartype vm_size: str - :ivar enable_fips: Whether to use a FIPS-enabled OS. - :vartype enable_fips: bool + 1.25 if OSType is Windows. Known values are: "Ubuntu", "AzureLinux", "AzureLinux3", + "CBLMariner", "Windows2019", "Windows2022", "Ubuntu2204", "Windows2025", "Ubuntu2404", and + "AzureContainerLinux". + :vartype osSku: Union[str, "OSSKU"] + :ivar vmSize: The size of the VM. + :vartype vmSize: str + :ivar enableFIPS: Whether to use a FIPS-enabled OS. + :vartype enableFIPS: bool """ creationData: "CreationData" """CreationData to be used to specify the source agent pool resource ID to create this snapshot.""" snapshotType: Union[str, "SnapshotType"] - """The type of a snapshot. The default is NodePool. Known values are: \"NodePool\" and - \"ManagedCluster\".""" + """The type of a snapshot. The default is NodePool. \"NodePool\"""" kubernetesVersion: str """The version of Kubernetes.""" nodeImageVersion: str @@ -6920,9 +4734,9 @@ class SnapshotProperties(TypedDict, total=False): osSku: Union[str, "OSSKU"] """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. Known values are: \"Ubuntu\", \"AzureLinux\", \"AzureLinux3\", \"Mariner\", - \"Flatcar\", \"CBLMariner\", \"Windows2019\", \"Windows2022\", \"Ubuntu2204\", \"Windows2025\", - \"WindowsAnnual\", \"Ubuntu2404\", and \"AzureContainerLinux\".""" + is Windows. Known values are: \"Ubuntu\", \"AzureLinux\", \"AzureLinux3\", \"CBLMariner\", + \"Windows2019\", \"Windows2022\", \"Ubuntu2204\", \"Windows2025\", \"Ubuntu2404\", and + \"AzureContainerLinux\".""" vmSize: str """The size of the VM.""" enableFIPS: bool @@ -6932,62 +4746,62 @@ class SnapshotProperties(TypedDict, total=False): class SysctlConfig(TypedDict, total=False): """Sysctl settings for Linux agent nodes. - :ivar net_core_somaxconn: Sysctl setting net.core.somaxconn. - :vartype net_core_somaxconn: int - :ivar net_core_netdev_max_backlog: Sysctl setting net.core.netdev_max_backlog. - :vartype net_core_netdev_max_backlog: int - :ivar net_core_rmem_default: Sysctl setting net.core.rmem_default. - :vartype net_core_rmem_default: int - :ivar net_core_rmem_max: Sysctl setting net.core.rmem_max. - :vartype net_core_rmem_max: int - :ivar net_core_wmem_default: Sysctl setting net.core.wmem_default. - :vartype net_core_wmem_default: int - :ivar net_core_wmem_max: Sysctl setting net.core.wmem_max. - :vartype net_core_wmem_max: int - :ivar net_core_optmem_max: Sysctl setting net.core.optmem_max. - :vartype net_core_optmem_max: int - :ivar net_ipv4_tcp_max_syn_backlog: Sysctl setting net.ipv4.tcp_max_syn_backlog. - :vartype net_ipv4_tcp_max_syn_backlog: int - :ivar net_ipv4_tcp_max_tw_buckets: Sysctl setting net.ipv4.tcp_max_tw_buckets. - :vartype net_ipv4_tcp_max_tw_buckets: int - :ivar net_ipv4_tcp_fin_timeout: Sysctl setting net.ipv4.tcp_fin_timeout. - :vartype net_ipv4_tcp_fin_timeout: int - :ivar net_ipv4_tcp_keepalive_time: Sysctl setting net.ipv4.tcp_keepalive_time. - :vartype net_ipv4_tcp_keepalive_time: int - :ivar net_ipv4_tcp_keepalive_probes: Sysctl setting net.ipv4.tcp_keepalive_probes. - :vartype net_ipv4_tcp_keepalive_probes: int - :ivar net_ipv4_tcpkeepalive_intvl: Sysctl setting net.ipv4.tcp_keepalive_intvl. - :vartype net_ipv4_tcpkeepalive_intvl: int - :ivar net_ipv4_tcp_tw_reuse: Sysctl setting net.ipv4.tcp_tw_reuse. - :vartype net_ipv4_tcp_tw_reuse: bool - :ivar net_ipv4_ip_local_port_range: Sysctl setting net.ipv4.ip_local_port_range. - :vartype net_ipv4_ip_local_port_range: str - :ivar net_ipv4_neigh_default_gc_thresh1: Sysctl setting net.ipv4.neigh.default.gc_thresh1. - :vartype net_ipv4_neigh_default_gc_thresh1: int - :ivar net_ipv4_neigh_default_gc_thresh2: Sysctl setting net.ipv4.neigh.default.gc_thresh2. - :vartype net_ipv4_neigh_default_gc_thresh2: int - :ivar net_ipv4_neigh_default_gc_thresh3: Sysctl setting net.ipv4.neigh.default.gc_thresh3. - :vartype net_ipv4_neigh_default_gc_thresh3: int - :ivar net_netfilter_nf_conntrack_max: Sysctl setting net.netfilter.nf_conntrack_max. - :vartype net_netfilter_nf_conntrack_max: int - :ivar net_netfilter_nf_conntrack_buckets: Sysctl setting net.netfilter.nf_conntrack_buckets. - :vartype net_netfilter_nf_conntrack_buckets: int - :ivar fs_inotify_max_user_watches: Sysctl setting fs.inotify.max_user_watches. - :vartype fs_inotify_max_user_watches: int - :ivar fs_file_max: Sysctl setting fs.file-max. - :vartype fs_file_max: int - :ivar fs_aio_max_nr: Sysctl setting fs.aio-max-nr. - :vartype fs_aio_max_nr: int - :ivar fs_nr_open: Sysctl setting fs.nr_open. - :vartype fs_nr_open: int - :ivar kernel_threads_max: Sysctl setting kernel.threads-max. - :vartype kernel_threads_max: int - :ivar vm_max_map_count: Sysctl setting vm.max_map_count. - :vartype vm_max_map_count: int - :ivar vm_swappiness: Sysctl setting vm.swappiness. - :vartype vm_swappiness: int - :ivar vm_vfs_cache_pressure: Sysctl setting vm.vfs_cache_pressure. - :vartype vm_vfs_cache_pressure: int + :ivar netCoreSomaxconn: Sysctl setting net.core.somaxconn. + :vartype netCoreSomaxconn: int + :ivar netCoreNetdevMaxBacklog: Sysctl setting net.core.netdev_max_backlog. + :vartype netCoreNetdevMaxBacklog: int + :ivar netCoreRmemDefault: Sysctl setting net.core.rmem_default. + :vartype netCoreRmemDefault: int + :ivar netCoreRmemMax: Sysctl setting net.core.rmem_max. + :vartype netCoreRmemMax: int + :ivar netCoreWmemDefault: Sysctl setting net.core.wmem_default. + :vartype netCoreWmemDefault: int + :ivar netCoreWmemMax: Sysctl setting net.core.wmem_max. + :vartype netCoreWmemMax: int + :ivar netCoreOptmemMax: Sysctl setting net.core.optmem_max. + :vartype netCoreOptmemMax: int + :ivar netIpv4TcpMaxSynBacklog: Sysctl setting net.ipv4.tcp_max_syn_backlog. + :vartype netIpv4TcpMaxSynBacklog: int + :ivar netIpv4TcpMaxTwBuckets: Sysctl setting net.ipv4.tcp_max_tw_buckets. + :vartype netIpv4TcpMaxTwBuckets: int + :ivar netIpv4TcpFinTimeout: Sysctl setting net.ipv4.tcp_fin_timeout. + :vartype netIpv4TcpFinTimeout: int + :ivar netIpv4TcpKeepaliveTime: Sysctl setting net.ipv4.tcp_keepalive_time. + :vartype netIpv4TcpKeepaliveTime: int + :ivar netIpv4TcpKeepaliveProbes: Sysctl setting net.ipv4.tcp_keepalive_probes. + :vartype netIpv4TcpKeepaliveProbes: int + :ivar netIpv4TcpkeepaliveIntvl: Sysctl setting net.ipv4.tcp_keepalive_intvl. + :vartype netIpv4TcpkeepaliveIntvl: int + :ivar netIpv4TcpTwReuse: Sysctl setting net.ipv4.tcp_tw_reuse. + :vartype netIpv4TcpTwReuse: bool + :ivar netIpv4IpLocalPortRange: Sysctl setting net.ipv4.ip_local_port_range. + :vartype netIpv4IpLocalPortRange: str + :ivar netIpv4NeighDefaultGcThresh1: Sysctl setting net.ipv4.neigh.default.gc_thresh1. + :vartype netIpv4NeighDefaultGcThresh1: int + :ivar netIpv4NeighDefaultGcThresh2: Sysctl setting net.ipv4.neigh.default.gc_thresh2. + :vartype netIpv4NeighDefaultGcThresh2: int + :ivar netIpv4NeighDefaultGcThresh3: Sysctl setting net.ipv4.neigh.default.gc_thresh3. + :vartype netIpv4NeighDefaultGcThresh3: int + :ivar netNetfilterNfConntrackMax: Sysctl setting net.netfilter.nf_conntrack_max. + :vartype netNetfilterNfConntrackMax: int + :ivar netNetfilterNfConntrackBuckets: Sysctl setting net.netfilter.nf_conntrack_buckets. + :vartype netNetfilterNfConntrackBuckets: int + :ivar fsInotifyMaxUserWatches: Sysctl setting fs.inotify.max_user_watches. + :vartype fsInotifyMaxUserWatches: int + :ivar fsFileMax: Sysctl setting fs.file-max. + :vartype fsFileMax: int + :ivar fsAioMaxNr: Sysctl setting fs.aio-max-nr. + :vartype fsAioMaxNr: int + :ivar fsNrOpen: Sysctl setting fs.nr_open. + :vartype fsNrOpen: int + :ivar kernelThreadsMax: Sysctl setting kernel.threads-max. + :vartype kernelThreadsMax: int + :ivar vmMaxMapCount: Sysctl setting vm.max_map_count. + :vartype vmMaxMapCount: int + :ivar vmSwappiness: Sysctl setting vm.swappiness. + :vartype vmSwappiness: int + :ivar vmVfsCachePressure: Sysctl setting vm.vfs_cache_pressure. + :vartype vmVfsCachePressure: int """ netCoreSomaxconn: int @@ -7051,20 +4865,20 @@ class SysctlConfig(TypedDict, total=False): class SystemData(TypedDict, total=False): """Metadata pertaining to creation and last modification of the resource. - :ivar created_by: The identity that created the resource. - :vartype created_by: str - :ivar created_by_type: The type of identity that created the resource. Known values are: - "User", "Application", "ManagedIdentity", and "Key". - :vartype created_by_type: Union[str, "CreatedByType"] - :ivar created_at: The timestamp of resource creation (UTC). - :vartype created_at: str - :ivar last_modified_by: The identity that last modified the resource. - :vartype last_modified_by: str - :ivar last_modified_by_type: The type of identity that last modified the resource. Known values + :ivar createdBy: The identity that created the resource. + :vartype createdBy: str + :ivar createdByType: The type of identity that created the resource. Known values are: "User", + "Application", "ManagedIdentity", and "Key". + :vartype createdByType: Union[str, "CreatedByType"] + :ivar createdAt: The timestamp of resource creation (UTC). + :vartype createdAt: str + :ivar lastModifiedBy: The identity that last modified the resource. + :vartype lastModifiedBy: str + :ivar lastModifiedByType: The type of identity that last modified the resource. Known values are: "User", "Application", "ManagedIdentity", and "Key". - :vartype last_modified_by_type: Union[str, "CreatedByType"] - :ivar last_modified_at: The timestamp of resource last modification (UTC). - :vartype last_modified_at: str + :vartype lastModifiedByType: Union[str, "CreatedByType"] + :ivar lastModifiedAt: The timestamp of resource last modification (UTC). + :vartype lastModifiedAt: str """ createdBy: str @@ -7100,11 +4914,11 @@ class TimeInWeek(TypedDict, total=False): :ivar day: The day of the week. Known values are: "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", and "Saturday". :vartype day: Union[str, "WeekDay"] - :ivar hour_slots: A list of hours in the day used to identify a time range. Each integer hour + :ivar hourSlots: 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. - :vartype hour_slots: list[int] + :vartype hourSlots: list[int] """ day: Union[str, "WeekDay"] @@ -7143,9 +4957,9 @@ class TrustedAccessRoleBinding(ProxyResource): :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts". :vartype type: str - :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy + :ivar systemData: Azure Resource Manager metadata containing createdBy and modifiedBy information. - :vartype system_data: "SystemData" + :vartype systemData: "SystemData" :ivar properties: Properties for trusted access role binding. Required. :vartype properties: "TrustedAccessRoleBindingProperties" """ @@ -7157,12 +4971,12 @@ class TrustedAccessRoleBinding(ProxyResource): class TrustedAccessRoleBindingProperties(TypedDict, total=False): """Properties for trusted access role binding. - :ivar provisioning_state: The current provisioning state of trusted access role binding. Known + :ivar provisioningState: The current provisioning state of trusted access role binding. Known values are: "Canceled", "Deleting", "Failed", "Succeeded", and "Updating". - :vartype provisioning_state: Union[str, "TrustedAccessRoleBindingProvisioningState"] - :ivar source_resource_id: The ARM resource ID of source resource that trusted access is + :vartype provisioningState: Union[str, "TrustedAccessRoleBindingProvisioningState"] + :ivar sourceResourceId: The ARM resource ID of source resource that trusted access is configured for. Required. - :vartype source_resource_id: str + :vartype sourceResourceId: str :ivar roles: A list of roles to bind, each item is a resource type qualified role name. For example: 'Microsoft.MachineLearningServices/workspaces/reader'. Required. :vartype roles: list[str] @@ -7181,10 +4995,10 @@ class TrustedAccessRoleBindingProperties(TypedDict, total=False): class UpgradeOverrideSettings(TypedDict, total=False): """Settings for overrides when upgrading a cluster. - :ivar force_upgrade: Whether to force upgrade the cluster. Note that this option instructs + :ivar forceUpgrade: 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. - :vartype force_upgrade: bool + :vartype forceUpgrade: bool :ivar until: 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 @@ -7232,11 +5046,11 @@ class VirtualMachinesProfile(TypedDict, total=False): class WeeklySchedule(TypedDict, total=False): """For schedules like: 'recur every Monday' or 'recur every 3 weeks on Wednesday'. - :ivar interval_weeks: Specifies the number of weeks between each set of occurrences. Required. - :vartype interval_weeks: int - :ivar day_of_week: Specifies on which day of the week the maintenance occurs. Required. Known + :ivar intervalWeeks: Specifies the number of weeks between each set of occurrences. Required. + :vartype intervalWeeks: int + :ivar dayOfWeek: Specifies on which day of the week the maintenance occurs. Required. Known values are: "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", and "Saturday". - :vartype day_of_week: Union[str, "WeekDay"] + :vartype dayOfWeek: Union[str, "WeekDay"] """ intervalWeeks: Required[int] @@ -7252,13 +5066,12 @@ class WindowsGmsaProfile(TypedDict, total=False): :ivar enabled: Whether to enable Windows gMSA. Specifies whether to enable Windows gMSA in the managed cluster. :vartype enabled: bool - :ivar dns_server: Specifies the DNS server for Windows gMSA.

Set it to empty if you + :ivar dnsServer: 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. - :vartype dns_server: str - :ivar root_domain_name: 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. - :vartype root_domain_name: str + :vartype dnsServer: str + :ivar rootDomainName: 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. + :vartype rootDomainName: str """ enabled: bool diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/advanced_networking_transit_encryption.py b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/advanced_networking_transit_encryption.py index e78d2c333010..a38fefe8ffea 100644 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/advanced_networking_transit_encryption.py +++ b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/advanced_networking_transit_encryption.py @@ -78,6 +78,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-02-preview/AdvancedNetworkingTransitEncryption.json +# x-ms-original-file: 2026-05-01/AdvancedNetworkingTransitEncryption.json if __name__ == "__main__": main() diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/agent_pools_abort_operation.py b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/agent_pools_abort_operation.py index 9c1e89afc18c..a71df959c270 100644 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/agent_pools_abort_operation.py +++ b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/agent_pools_abort_operation.py @@ -37,6 +37,6 @@ def main(): ).result() -# x-ms-original-file: 2026-05-02-preview/AgentPoolsAbortOperation.json +# x-ms-original-file: 2026-05-01/AgentPoolsAbortOperation.json if __name__ == "__main__": main() diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/agent_pools_complete_upgrade.py b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/agent_pools_complete_upgrade.py deleted file mode 100644 index d94ce27647f2..000000000000 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/agent_pools_complete_upgrade.py +++ /dev/null @@ -1,42 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# Code generated by Microsoft (R) Python Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is regenerated. -# -------------------------------------------------------------------------- - -from azure.identity import DefaultAzureCredential - -from azure.mgmt.containerservice import ContainerServiceClient - -""" -# PREREQUISITES - pip install azure-identity - pip install azure-mgmt-containerservice -# USAGE - python agent_pools_complete_upgrade.py - - Before run the sample, please set the values of the client ID, tenant ID and client secret - of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID, - AZURE_CLIENT_SECRET. For more info about how to get the value, please see: - https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal -""" - - -def main(): - client = ContainerServiceClient( - credential=DefaultAzureCredential(), - subscription_id="SUBSCRIPTION_ID", - ) - - client.agent_pools.begin_complete_upgrade( - resource_group_name="rg1", - resource_name="clustername1", - agent_pool_name="agentpool1", - ).result() - - -# x-ms-original-file: 2026-05-02-preview/AgentPoolsCompleteUpgrade.json -if __name__ == "__main__": - main() diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/agent_pools_associate_crg.py b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/agent_pools_create_crg.py similarity index 94% rename from sdk/containerservice/azure-mgmt-containerservice/generated_samples/agent_pools_associate_crg.py rename to sdk/containerservice/azure-mgmt-containerservice/generated_samples/agent_pools_create_crg.py index fa68934e2c22..1c89ca153ee1 100644 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/agent_pools_associate_crg.py +++ b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/agent_pools_create_crg.py @@ -16,7 +16,7 @@ pip install azure-identity pip install azure-mgmt-containerservice # USAGE - python agent_pools_associate_crg.py + python agent_pools_create_crg.py Before run the sample, please set the values of the client ID, tenant ID and client secret of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID, @@ -48,6 +48,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-02-preview/AgentPoolsAssociate_CRG.json +# x-ms-original-file: 2026-05-01/AgentPoolsCreate_CRG.json if __name__ == "__main__": main() diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/agent_pools_create_custom_node_config.py b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/agent_pools_create_custom_node_config.py index 1ab044f64e83..b6a64f159bc6 100644 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/agent_pools_create_custom_node_config.py +++ b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/agent_pools_create_custom_node_config.py @@ -43,14 +43,8 @@ def main(): "cpuCfsQuotaPeriod": "200ms", "cpuManagerPolicy": "static", "failSwapOn": False, - "hardEvictionThreshold": { - "memoryAvailable": "500Mi", - "nodeFsAvailable": "15%", - "nodeFsInodesFree": "10%", - }, "imageGcHighThreshold": 90, "imageGcLowThreshold": 70, - "kubeReserved": {"cpuMillicores": 200, "memoryMB": 1024}, "topologyManagerPolicy": "best-effort", }, "linuxOSConfig": { @@ -73,6 +67,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-02-preview/AgentPoolsCreate_CustomNodeConfig.json +# x-ms-original-file: 2026-05-01/AgentPoolsCreate_CustomNodeConfig.json if __name__ == "__main__": main() diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/agent_pools_create_dedicated_host_group.py b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/agent_pools_create_dedicated_host_group.py index df8dae4a968b..db1917facddd 100644 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/agent_pools_create_dedicated_host_group.py +++ b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/agent_pools_create_dedicated_host_group.py @@ -48,6 +48,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-02-preview/AgentPoolsCreate_DedicatedHostGroup.json +# x-ms-original-file: 2026-05-01/AgentPoolsCreate_DedicatedHostGroup.json if __name__ == "__main__": main() diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/agent_pools_create_enable_encryption_at_host.py b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/agent_pools_create_enable_encryption_at_host.py index c39f65b44009..0e537a03ca56 100644 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/agent_pools_create_enable_encryption_at_host.py +++ b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/agent_pools_create_enable_encryption_at_host.py @@ -47,6 +47,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-02-preview/AgentPoolsCreate_EnableEncryptionAtHost.json +# x-ms-original-file: 2026-05-01/AgentPoolsCreate_EnableEncryptionAtHost.json if __name__ == "__main__": main() diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/agent_pools_create_enable_fips.py b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/agent_pools_create_enable_fips.py index 60828e5cb592..739adb73e70a 100644 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/agent_pools_create_enable_fips.py +++ b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/agent_pools_create_enable_fips.py @@ -47,6 +47,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-02-preview/AgentPoolsCreate_EnableFIPS.json +# x-ms-original-file: 2026-05-01/AgentPoolsCreate_EnableFIPS.json if __name__ == "__main__": main() diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/agent_pools_create_enable_ultra_ssd.py b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/agent_pools_create_enable_ultra_ssd.py index 08d4bb233725..68f7a9beb3b3 100644 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/agent_pools_create_enable_ultra_ssd.py +++ b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/agent_pools_create_enable_ultra_ssd.py @@ -47,6 +47,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-02-preview/AgentPoolsCreate_EnableUltraSSD.json +# x-ms-original-file: 2026-05-01/AgentPoolsCreate_EnableUltraSSD.json if __name__ == "__main__": main() diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/agent_pools_create_ephemeral.py b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/agent_pools_create_ephemeral.py index 6fa472940c5d..1e435bf35f3c 100644 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/agent_pools_create_ephemeral.py +++ b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/agent_pools_create_ephemeral.py @@ -48,6 +48,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-02-preview/AgentPoolsCreate_Ephemeral.json +# x-ms-original-file: 2026-05-01/AgentPoolsCreate_Ephemeral.json if __name__ == "__main__": main() diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/agent_pools_create_flex_node.py b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/agent_pools_create_flex_node.py deleted file mode 100644 index 4c1320a4598d..000000000000 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/agent_pools_create_flex_node.py +++ /dev/null @@ -1,44 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# Code generated by Microsoft (R) Python Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is regenerated. -# -------------------------------------------------------------------------- - -from azure.identity import DefaultAzureCredential - -from azure.mgmt.containerservice import ContainerServiceClient - -""" -# PREREQUISITES - pip install azure-identity - pip install azure-mgmt-containerservice -# USAGE - python agent_pools_create_flex_node.py - - Before run the sample, please set the values of the client ID, tenant ID and client secret - of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID, - AZURE_CLIENT_SECRET. For more info about how to get the value, please see: - https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal -""" - - -def main(): - client = ContainerServiceClient( - credential=DefaultAzureCredential(), - subscription_id="SUBSCRIPTION_ID", - ) - - response = client.agent_pools.begin_create_or_update( - resource_group_name="rg1", - resource_name="clustername1", - agent_pool_name="flexnode1", - parameters={"properties": {"mode": "User", "orchestratorVersion": "1.32", "type": "FlexNodes"}}, - ).result() - print(response) - - -# x-ms-original-file: 2026-05-02-preview/AgentPoolsCreate_FlexNode.json -if __name__ == "__main__": - main() diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/agent_pools_create_gpumig.py b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/agent_pools_create_gpumig.py index e13582f929af..5635d89d2317 100644 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/agent_pools_create_gpumig.py +++ b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/agent_pools_create_gpumig.py @@ -68,6 +68,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-02-preview/AgentPoolsCreate_GPUMIG.json +# x-ms-original-file: 2026-05-01/AgentPoolsCreate_GPUMIG.json if __name__ == "__main__": main() diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/agent_pools_create_message_of_the_day.py b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/agent_pools_create_message_of_the_day.py index 0479c2b07bc2..c0e5d84a24e4 100644 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/agent_pools_create_message_of_the_day.py +++ b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/agent_pools_create_message_of_the_day.py @@ -49,6 +49,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-02-preview/AgentPoolsCreate_MessageOfTheDay.json +# x-ms-original-file: 2026-05-01/AgentPoolsCreate_MessageOfTheDay.json if __name__ == "__main__": main() diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/agent_pools_create_ossku.py b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/agent_pools_create_ossku.py index 9f1cccd1b4f1..5d2f886e3a1c 100644 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/agent_pools_create_ossku.py +++ b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/agent_pools_create_ossku.py @@ -68,6 +68,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-02-preview/AgentPoolsCreate_OSSKU.json +# x-ms-original-file: 2026-05-01/AgentPoolsCreate_OSSKU.json if __name__ == "__main__": main() diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/agent_pools_create_ppg.py b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/agent_pools_create_ppg.py index bd6767115e55..b82a980b3cc2 100644 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/agent_pools_create_ppg.py +++ b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/agent_pools_create_ppg.py @@ -48,6 +48,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-02-preview/AgentPoolsCreate_PPG.json +# x-ms-original-file: 2026-05-01/AgentPoolsCreate_PPG.json if __name__ == "__main__": main() diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/agent_pools_create_snapshot.py b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/agent_pools_create_snapshot.py index e30ee5361c70..f3199cfc5257 100644 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/agent_pools_create_snapshot.py +++ b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/agent_pools_create_snapshot.py @@ -51,6 +51,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-02-preview/AgentPoolsCreate_Snapshot.json +# x-ms-original-file: 2026-05-01/AgentPoolsCreate_Snapshot.json if __name__ == "__main__": main() diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/agent_pools_create_spot.py b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/agent_pools_create_spot.py index d183f80d7b47..d87c409b587b 100644 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/agent_pools_create_spot.py +++ b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/agent_pools_create_spot.py @@ -51,6 +51,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-02-preview/AgentPoolsCreate_Spot.json +# x-ms-original-file: 2026-05-01/AgentPoolsCreate_Spot.json if __name__ == "__main__": main() diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/agent_pools_create_type_virtual_machines.py b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/agent_pools_create_type_virtual_machines.py index a085501e8409..752bd335a03d 100644 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/agent_pools_create_type_virtual_machines.py +++ b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/agent_pools_create_type_virtual_machines.py @@ -53,6 +53,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-02-preview/AgentPoolsCreate_TypeVirtualMachines.json +# x-ms-original-file: 2026-05-01/AgentPoolsCreate_TypeVirtualMachines.json if __name__ == "__main__": main() diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/agent_pools_create_type_virtual_machines_autoscale.py b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/agent_pools_create_type_virtual_machines_autoscale.py index c297f3c1dc42..298a7eec71ef 100644 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/agent_pools_create_type_virtual_machines_autoscale.py +++ b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/agent_pools_create_type_virtual_machines_autoscale.py @@ -51,6 +51,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-02-preview/AgentPoolsCreate_TypeVirtualMachines_Autoscale.json +# x-ms-original-file: 2026-05-01/AgentPoolsCreate_TypeVirtualMachines_Autoscale.json if __name__ == "__main__": main() diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/agent_pools_create_update.py b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/agent_pools_create_update.py index 002ba1742484..3e25510e0334 100644 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/agent_pools_create_update.py +++ b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/agent_pools_create_update.py @@ -52,6 +52,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-02-preview/AgentPoolsCreate_Update.json +# x-ms-original-file: 2026-05-01/AgentPoolsCreate_Update.json if __name__ == "__main__": main() diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/agent_pools_create_wasm_wasi.py b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/agent_pools_create_wasm_wasi.py index 6215dd631210..fe3fad974b89 100644 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/agent_pools_create_wasm_wasi.py +++ b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/agent_pools_create_wasm_wasi.py @@ -49,6 +49,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-02-preview/AgentPoolsCreate_WasmWasi.json +# x-ms-original-file: 2026-05-01/AgentPoolsCreate_WasmWasi.json if __name__ == "__main__": main() diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/agent_pools_create_windows_disable_outbound_nat.py b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/agent_pools_create_windows_disable_outbound_nat.py index fa9294396ab7..e2506988bd79 100644 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/agent_pools_create_windows_disable_outbound_nat.py +++ b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/agent_pools_create_windows_disable_outbound_nat.py @@ -48,6 +48,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-02-preview/AgentPoolsCreate_WindowsDisableOutboundNAT.json +# x-ms-original-file: 2026-05-01/AgentPoolsCreate_WindowsDisableOutboundNAT.json if __name__ == "__main__": main() diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/agent_pools_create_windows_ossku.py b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/agent_pools_create_windows_ossku.py index 1d51949d8496..76d0f4ae2101 100644 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/agent_pools_create_windows_ossku.py +++ b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/agent_pools_create_windows_ossku.py @@ -47,6 +47,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-02-preview/AgentPoolsCreate_WindowsOSSKU.json +# x-ms-original-file: 2026-05-01/AgentPoolsCreate_WindowsOSSKU.json if __name__ == "__main__": main() diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/agent_pools_delete.py b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/agent_pools_delete.py index e07b3db84445..e49bd2ea331c 100644 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/agent_pools_delete.py +++ b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/agent_pools_delete.py @@ -37,6 +37,6 @@ def main(): ).result() -# x-ms-original-file: 2026-05-02-preview/AgentPoolsDelete.json +# x-ms-original-file: 2026-05-01/AgentPoolsDelete.json if __name__ == "__main__": main() diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/agent_pools_delete_ignore_pod_disruption_budget.py b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/agent_pools_delete_ignore_pod_disruption_budget.py deleted file mode 100644 index 6ad00800e559..000000000000 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/agent_pools_delete_ignore_pod_disruption_budget.py +++ /dev/null @@ -1,42 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# Code generated by Microsoft (R) Python Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is regenerated. -# -------------------------------------------------------------------------- - -from azure.identity import DefaultAzureCredential - -from azure.mgmt.containerservice import ContainerServiceClient - -""" -# PREREQUISITES - pip install azure-identity - pip install azure-mgmt-containerservice -# USAGE - python agent_pools_delete_ignore_pod_disruption_budget.py - - Before run the sample, please set the values of the client ID, tenant ID and client secret - of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID, - AZURE_CLIENT_SECRET. For more info about how to get the value, please see: - https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal -""" - - -def main(): - client = ContainerServiceClient( - credential=DefaultAzureCredential(), - subscription_id="SUBSCRIPTION_ID", - ) - - client.agent_pools.begin_delete( - resource_group_name="rg1", - resource_name="clustername1", - agent_pool_name="agentpool1", - ).result() - - -# x-ms-original-file: 2026-05-02-preview/AgentPoolsDelete_IgnorePodDisruptionBudget.json -if __name__ == "__main__": - main() diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/agent_pools_delete_machines.py b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/agent_pools_delete_machines.py index 7039ed9317b9..debeccdb088d 100644 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/agent_pools_delete_machines.py +++ b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/agent_pools_delete_machines.py @@ -38,6 +38,6 @@ def main(): ).result() -# x-ms-original-file: 2026-05-02-preview/AgentPoolsDeleteMachines.json +# x-ms-original-file: 2026-05-01/AgentPoolsDeleteMachines.json if __name__ == "__main__": main() diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/agent_pools_get.py b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/agent_pools_get.py index 9705d8f8573e..e6b26530d855 100644 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/agent_pools_get.py +++ b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/agent_pools_get.py @@ -38,6 +38,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-02-preview/AgentPoolsGet.json +# x-ms-original-file: 2026-05-01/AgentPoolsGet.json if __name__ == "__main__": main() diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/agent_pools_get_agent_pool_available_versions.py b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/agent_pools_get_agent_pool_available_versions.py index 2adf7bf0f64e..065e3f9c4843 100644 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/agent_pools_get_agent_pool_available_versions.py +++ b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/agent_pools_get_agent_pool_available_versions.py @@ -37,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-02-preview/AgentPoolsGetAgentPoolAvailableVersions.json +# x-ms-original-file: 2026-05-01/AgentPoolsGetAgentPoolAvailableVersions.json if __name__ == "__main__": main() diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/agent_pools_get_upgrade_profile.py b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/agent_pools_get_upgrade_profile.py index ff6f53e63ebb..20b0f7bcaa7e 100644 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/agent_pools_get_upgrade_profile.py +++ b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/agent_pools_get_upgrade_profile.py @@ -38,6 +38,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-02-preview/AgentPoolsGetUpgradeProfile.json +# x-ms-original-file: 2026-05-01/AgentPoolsGetUpgradeProfile.json if __name__ == "__main__": main() diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/agent_pools_list.py b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/agent_pools_list.py index 94002e94cfb5..3e74b2cf4684 100644 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/agent_pools_list.py +++ b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/agent_pools_list.py @@ -38,6 +38,6 @@ def main(): print(item) -# x-ms-original-file: 2026-05-02-preview/AgentPoolsList.json +# x-ms-original-file: 2026-05-01/AgentPoolsList.json if __name__ == "__main__": main() diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/agent_pools_list_bootstrap_data.py b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/agent_pools_list_bootstrap_data.py deleted file mode 100644 index e23cdf4cde05..000000000000 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/agent_pools_list_bootstrap_data.py +++ /dev/null @@ -1,44 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# Code generated by Microsoft (R) Python Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is regenerated. -# -------------------------------------------------------------------------- - -from azure.identity import DefaultAzureCredential - -from azure.mgmt.containerservice import ContainerServiceClient - -""" -# PREREQUISITES - pip install azure-identity - pip install azure-mgmt-containerservice -# USAGE - python agent_pools_list_bootstrap_data.py - - Before run the sample, please set the values of the client ID, tenant ID and client secret - of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID, - AZURE_CLIENT_SECRET. For more info about how to get the value, please see: - https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal -""" - - -def main(): - client = ContainerServiceClient( - credential=DefaultAzureCredential(), - subscription_id="SUBSCRIPTION_ID", - ) - - response = client.agent_pools.list_bootstrap_data( - resource_group_name="rg1", - resource_name="clustername1", - agent_pool_name="flexnode1", - body={}, - ) - print(response) - - -# x-ms-original-file: 2026-05-02-preview/AgentPoolsListBootstrapData.json -if __name__ == "__main__": - main() diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/agent_pools_start.py b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/agent_pools_start.py index b9032d05ed9b..cddc13dc4ee0 100644 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/agent_pools_start.py +++ b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/agent_pools_start.py @@ -39,6 +39,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-02-preview/AgentPools_Start.json +# x-ms-original-file: 2026-05-01/AgentPools_Start.json if __name__ == "__main__": main() diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/agent_pools_stop.py b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/agent_pools_stop.py index cbadd8bf32f7..beafb93d64da 100644 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/agent_pools_stop.py +++ b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/agent_pools_stop.py @@ -39,6 +39,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-02-preview/AgentPools_Stop.json +# x-ms-original-file: 2026-05-01/AgentPools_Stop.json if __name__ == "__main__": main() diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/agent_pools_update.py b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/agent_pools_update.py index 65123aafa0a0..c2b774a4370d 100644 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/agent_pools_update.py +++ b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/agent_pools_update.py @@ -52,6 +52,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-02-preview/AgentPools_Update.json +# x-ms-original-file: 2026-05-01/AgentPools_Update.json if __name__ == "__main__": main() diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/agent_pools_upgrade_node_image_version.py b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/agent_pools_upgrade_node_image_version.py index a2531e4f5c61..7f556f353527 100644 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/agent_pools_upgrade_node_image_version.py +++ b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/agent_pools_upgrade_node_image_version.py @@ -37,6 +37,6 @@ def main(): ).result() -# x-ms-original-file: 2026-05-02-preview/AgentPoolsUpgradeNodeImageVersion.json +# x-ms-original-file: 2026-05-01/AgentPoolsUpgradeNodeImageVersion.json if __name__ == "__main__": main() diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/alert_configurations_create_or_update.py b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/alert_configurations_create_or_update.py deleted file mode 100644 index a54dc365a4b8..000000000000 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/alert_configurations_create_or_update.py +++ /dev/null @@ -1,52 +0,0 @@ -# pylint: disable=line-too-long,useless-suppression -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# Code generated by Microsoft (R) Python Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is regenerated. -# -------------------------------------------------------------------------- - -from azure.identity import DefaultAzureCredential - -from azure.mgmt.containerservice import ContainerServiceClient - -""" -# PREREQUISITES - pip install azure-identity - pip install azure-mgmt-containerservice -# USAGE - python alert_configurations_create_or_update.py - - Before run the sample, please set the values of the client ID, tenant ID and client secret - of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID, - AZURE_CLIENT_SECRET. For more info about how to get the value, please see: - https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal -""" - - -def main(): - client = ContainerServiceClient( - credential=DefaultAzureCredential(), - subscription_id="SUBSCRIPTION_ID", - ) - - response = client.alert_configurations.begin_create_or_update( - resource_group_name="rg1", - resource_name="clustername1", - configuration_name="alertconfig1", - resource={ - "properties": { - "mode": "Managed", - "notification": { - "actionGroupId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Insights/actionGroups/actiongroup1" - }, - } - }, - ).result() - print(response) - - -# x-ms-original-file: 2026-05-02-preview/AlertConfigurations_CreateOrUpdate.json -if __name__ == "__main__": - main() diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/alert_configurations_delete.py b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/alert_configurations_delete.py deleted file mode 100644 index 376f12a8cac9..000000000000 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/alert_configurations_delete.py +++ /dev/null @@ -1,42 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# Code generated by Microsoft (R) Python Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is regenerated. -# -------------------------------------------------------------------------- - -from azure.identity import DefaultAzureCredential - -from azure.mgmt.containerservice import ContainerServiceClient - -""" -# PREREQUISITES - pip install azure-identity - pip install azure-mgmt-containerservice -# USAGE - python alert_configurations_delete.py - - Before run the sample, please set the values of the client ID, tenant ID and client secret - of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID, - AZURE_CLIENT_SECRET. For more info about how to get the value, please see: - https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal -""" - - -def main(): - client = ContainerServiceClient( - credential=DefaultAzureCredential(), - subscription_id="SUBSCRIPTION_ID", - ) - - client.alert_configurations.begin_delete( - resource_group_name="rg1", - resource_name="clustername1", - configuration_name="alertconfig1", - ).result() - - -# x-ms-original-file: 2026-05-02-preview/AlertConfigurations_Delete.json -if __name__ == "__main__": - main() diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/alert_configurations_get.py b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/alert_configurations_get.py deleted file mode 100644 index d5bc23b614d9..000000000000 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/alert_configurations_get.py +++ /dev/null @@ -1,43 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# Code generated by Microsoft (R) Python Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is regenerated. -# -------------------------------------------------------------------------- - -from azure.identity import DefaultAzureCredential - -from azure.mgmt.containerservice import ContainerServiceClient - -""" -# PREREQUISITES - pip install azure-identity - pip install azure-mgmt-containerservice -# USAGE - python alert_configurations_get.py - - Before run the sample, please set the values of the client ID, tenant ID and client secret - of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID, - AZURE_CLIENT_SECRET. For more info about how to get the value, please see: - https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal -""" - - -def main(): - client = ContainerServiceClient( - credential=DefaultAzureCredential(), - subscription_id="SUBSCRIPTION_ID", - ) - - response = client.alert_configurations.get( - resource_group_name="rg1", - resource_name="clustername1", - configuration_name="alertconfig1", - ) - print(response) - - -# x-ms-original-file: 2026-05-02-preview/AlertConfigurations_Get.json -if __name__ == "__main__": - main() diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/alert_configurations_list_by_managed_cluster.py b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/alert_configurations_list_by_managed_cluster.py deleted file mode 100644 index f8d8e929843a..000000000000 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/alert_configurations_list_by_managed_cluster.py +++ /dev/null @@ -1,43 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# Code generated by Microsoft (R) Python Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is regenerated. -# -------------------------------------------------------------------------- - -from azure.identity import DefaultAzureCredential - -from azure.mgmt.containerservice import ContainerServiceClient - -""" -# PREREQUISITES - pip install azure-identity - pip install azure-mgmt-containerservice -# USAGE - python alert_configurations_list_by_managed_cluster.py - - Before run the sample, please set the values of the client ID, tenant ID and client secret - of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID, - AZURE_CLIENT_SECRET. For more info about how to get the value, please see: - https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal -""" - - -def main(): - client = ContainerServiceClient( - credential=DefaultAzureCredential(), - subscription_id="SUBSCRIPTION_ID", - ) - - response = client.alert_configurations.list_by_managed_cluster( - resource_group_name="rg1", - resource_name="clustername1", - ) - for item in response: - print(item) - - -# x-ms-original-file: 2026-05-02-preview/AlertConfigurations_ListByManagedCluster.json -if __name__ == "__main__": - main() diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/get_guardrails_versions.py b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/get_guardrails_versions.py deleted file mode 100644 index 24e500843e5b..000000000000 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/get_guardrails_versions.py +++ /dev/null @@ -1,42 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# Code generated by Microsoft (R) Python Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is regenerated. -# -------------------------------------------------------------------------- - -from azure.identity import DefaultAzureCredential - -from azure.mgmt.containerservice import ContainerServiceClient - -""" -# PREREQUISITES - pip install azure-identity - pip install azure-mgmt-containerservice -# USAGE - python get_guardrails_versions.py - - Before run the sample, please set the values of the client ID, tenant ID and client secret - of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID, - AZURE_CLIENT_SECRET. For more info about how to get the value, please see: - https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal -""" - - -def main(): - client = ContainerServiceClient( - credential=DefaultAzureCredential(), - subscription_id="SUBSCRIPTION_ID", - ) - - response = client.managed_clusters.get_guardrails_versions( - location="location1", - version="v1.0.0", - ) - print(response) - - -# x-ms-original-file: 2026-05-02-preview/GetGuardrailsVersions.json -if __name__ == "__main__": - main() diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/get_safeguards_versions.py b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/get_safeguards_versions.py deleted file mode 100644 index b54d55af9e65..000000000000 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/get_safeguards_versions.py +++ /dev/null @@ -1,42 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# Code generated by Microsoft (R) Python Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is regenerated. -# -------------------------------------------------------------------------- - -from azure.identity import DefaultAzureCredential - -from azure.mgmt.containerservice import ContainerServiceClient - -""" -# PREREQUISITES - pip install azure-identity - pip install azure-mgmt-containerservice -# USAGE - python get_safeguards_versions.py - - Before run the sample, please set the values of the client ID, tenant ID and client secret - of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID, - AZURE_CLIENT_SECRET. For more info about how to get the value, please see: - https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal -""" - - -def main(): - client = ContainerServiceClient( - credential=DefaultAzureCredential(), - subscription_id="SUBSCRIPTION_ID", - ) - - response = client.managed_clusters.get_safeguards_versions( - location="location1", - version="v1.0.0", - ) - print(response) - - -# x-ms-original-file: 2026-05-02-preview/GetSafeguardsVersions.json -if __name__ == "__main__": - main() diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/identity_bindings_create_or_update.py b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/identity_bindings_create_or_update.py index ac07b16f1f6d..634ba70f6c7f 100644 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/identity_bindings_create_or_update.py +++ b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/identity_bindings_create_or_update.py @@ -46,6 +46,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-02-preview/IdentityBindings_Create_Or_Update.json +# x-ms-original-file: 2026-05-01/IdentityBindings_Create_Or_Update.json if __name__ == "__main__": main() diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/identity_bindings_create_or_update_with_allowed_subjects.py b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/identity_bindings_create_or_update_with_allowed_subjects.py deleted file mode 100644 index 245ee7e52211..000000000000 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/identity_bindings_create_or_update_with_allowed_subjects.py +++ /dev/null @@ -1,62 +0,0 @@ -# pylint: disable=line-too-long,useless-suppression -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# Code generated by Microsoft (R) Python Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is regenerated. -# -------------------------------------------------------------------------- - -from azure.identity import DefaultAzureCredential - -from azure.mgmt.containerservice import ContainerServiceClient - -""" -# PREREQUISITES - pip install azure-identity - pip install azure-mgmt-containerservice -# USAGE - python identity_bindings_create_or_update_with_allowed_subjects.py - - Before run the sample, please set the values of the client ID, tenant ID and client secret - of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID, - AZURE_CLIENT_SECRET. For more info about how to get the value, please see: - https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal -""" - - -def main(): - client = ContainerServiceClient( - credential=DefaultAzureCredential(), - subscription_id="SUBSCRIPTION_ID", - ) - - response = client.identity_bindings.begin_create_or_update( - resource_group_name="rg1", - resource_name="clustername1", - identity_binding_name="identitybinding1", - parameters={ - "properties": { - "allowedSubjects": [ - {"namespaceSelector": {"matchLabels": ["kubernetes.io/metadata.name=team-a"]}}, - { - "namespaceSelector": { - "matchExpressions": [ - {"key": "kubernetes.io/metadata.name", "operator": "In", "values": ["team-a", "team-b"]} - ] - }, - "serviceAccountSelector": {"matchLabels": ["app=my-workload"]}, - }, - ], - "managedIdentity": { - "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1" - }, - } - }, - ).result() - print(response) - - -# x-ms-original-file: 2026-05-02-preview/IdentityBindings_Create_Or_UpdateWithAllowedSubjects.json -if __name__ == "__main__": - main() diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/identity_bindings_delete.py b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/identity_bindings_delete.py index 9975dd071997..c1914591fcb3 100644 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/identity_bindings_delete.py +++ b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/identity_bindings_delete.py @@ -37,6 +37,6 @@ def main(): ).result() -# x-ms-original-file: 2026-05-02-preview/IdentityBindings_Delete.json +# x-ms-original-file: 2026-05-01/IdentityBindings_Delete.json if __name__ == "__main__": main() diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/identity_bindings_get.py b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/identity_bindings_get.py index a7a75673f647..afb5c1c813b4 100644 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/identity_bindings_get.py +++ b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/identity_bindings_get.py @@ -38,6 +38,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-02-preview/IdentityBindings_Get.json +# x-ms-original-file: 2026-05-01/IdentityBindings_Get.json if __name__ == "__main__": main() diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/identity_bindings_list.py b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/identity_bindings_list.py index f0401c3ccb9e..91c81185251a 100644 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/identity_bindings_list.py +++ b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/identity_bindings_list.py @@ -38,6 +38,6 @@ def main(): print(item) -# x-ms-original-file: 2026-05-02-preview/IdentityBindings_List.json +# x-ms-original-file: 2026-05-01/IdentityBindings_List.json if __name__ == "__main__": main() diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/jwt_authenticators_create_or_update.py b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/jwt_authenticators_create_or_update.py deleted file mode 100644 index fcf81f559856..000000000000 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/jwt_authenticators_create_or_update.py +++ /dev/null @@ -1,66 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# Code generated by Microsoft (R) Python Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is regenerated. -# -------------------------------------------------------------------------- - -from azure.identity import DefaultAzureCredential - -from azure.mgmt.containerservice import ContainerServiceClient - -""" -# PREREQUISITES - pip install azure-identity - pip install azure-mgmt-containerservice -# USAGE - python jwt_authenticators_create_or_update.py - - Before run the sample, please set the values of the client ID, tenant ID and client secret - of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID, - AZURE_CLIENT_SECRET. For more info about how to get the value, please see: - https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal -""" - - -def main(): - client = ContainerServiceClient( - credential=DefaultAzureCredential(), - subscription_id="SUBSCRIPTION_ID", - ) - - response = client.jwt_authenticators.begin_create_or_update( - resource_group_name="rg1", - resource_name="clustername1", - jwt_authenticator_name="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", - } - ], - } - }, - ).result() - print(response) - - -# x-ms-original-file: 2026-05-02-preview/JWTAuthenticators_Create_Or_Update.json -if __name__ == "__main__": - main() diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/jwt_authenticators_delete.py b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/jwt_authenticators_delete.py deleted file mode 100644 index 189b1afa3408..000000000000 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/jwt_authenticators_delete.py +++ /dev/null @@ -1,42 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# Code generated by Microsoft (R) Python Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is regenerated. -# -------------------------------------------------------------------------- - -from azure.identity import DefaultAzureCredential - -from azure.mgmt.containerservice import ContainerServiceClient - -""" -# PREREQUISITES - pip install azure-identity - pip install azure-mgmt-containerservice -# USAGE - python jwt_authenticators_delete.py - - Before run the sample, please set the values of the client ID, tenant ID and client secret - of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID, - AZURE_CLIENT_SECRET. For more info about how to get the value, please see: - https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal -""" - - -def main(): - client = ContainerServiceClient( - credential=DefaultAzureCredential(), - subscription_id="SUBSCRIPTION_ID", - ) - - client.jwt_authenticators.begin_delete( - resource_group_name="rg1", - resource_name="clustername1", - jwt_authenticator_name="jwt1", - ).result() - - -# x-ms-original-file: 2026-05-02-preview/JWTAuthenticators_Delete.json -if __name__ == "__main__": - main() diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/jwt_authenticators_get.py b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/jwt_authenticators_get.py deleted file mode 100644 index 120707a6226a..000000000000 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/jwt_authenticators_get.py +++ /dev/null @@ -1,43 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# Code generated by Microsoft (R) Python Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is regenerated. -# -------------------------------------------------------------------------- - -from azure.identity import DefaultAzureCredential - -from azure.mgmt.containerservice import ContainerServiceClient - -""" -# PREREQUISITES - pip install azure-identity - pip install azure-mgmt-containerservice -# USAGE - python jwt_authenticators_get.py - - Before run the sample, please set the values of the client ID, tenant ID and client secret - of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID, - AZURE_CLIENT_SECRET. For more info about how to get the value, please see: - https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal -""" - - -def main(): - client = ContainerServiceClient( - credential=DefaultAzureCredential(), - subscription_id="SUBSCRIPTION_ID", - ) - - response = client.jwt_authenticators.get( - resource_group_name="rg1", - resource_name="clustername1", - jwt_authenticator_name="jwt1", - ) - print(response) - - -# x-ms-original-file: 2026-05-02-preview/JWTAuthenticators_Get.json -if __name__ == "__main__": - main() diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/jwt_authenticators_list.py b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/jwt_authenticators_list.py deleted file mode 100644 index 6db0405c027f..000000000000 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/jwt_authenticators_list.py +++ /dev/null @@ -1,43 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# Code generated by Microsoft (R) Python Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is regenerated. -# -------------------------------------------------------------------------- - -from azure.identity import DefaultAzureCredential - -from azure.mgmt.containerservice import ContainerServiceClient - -""" -# PREREQUISITES - pip install azure-identity - pip install azure-mgmt-containerservice -# USAGE - python jwt_authenticators_list.py - - Before run the sample, please set the values of the client ID, tenant ID and client secret - of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID, - AZURE_CLIENT_SECRET. For more info about how to get the value, please see: - https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal -""" - - -def main(): - client = ContainerServiceClient( - credential=DefaultAzureCredential(), - subscription_id="SUBSCRIPTION_ID", - ) - - response = client.jwt_authenticators.list_by_managed_cluster( - resource_group_name="rg1", - resource_name="clustername1", - ) - for item in response: - print(item) - - -# x-ms-original-file: 2026-05-02-preview/JWTAuthenticators_List.json -if __name__ == "__main__": - main() diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/kubernetes_versions_list.py b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/kubernetes_versions_list.py index 525766011ca9..f63027172cc4 100644 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/kubernetes_versions_list.py +++ b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/kubernetes_versions_list.py @@ -36,6 +36,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-02-preview/KubernetesVersions_List.json +# x-ms-original-file: 2026-05-01/KubernetesVersions_List.json if __name__ == "__main__": main() diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/list_available_container_service_vm_skus.py b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/list_available_container_service_vm_skus.py deleted file mode 100644 index 00031cc1f027..000000000000 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/list_available_container_service_vm_skus.py +++ /dev/null @@ -1,42 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# Code generated by Microsoft (R) Python Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is regenerated. -# -------------------------------------------------------------------------- - -from azure.identity import DefaultAzureCredential - -from azure.mgmt.containerservice import ContainerServiceClient - -""" -# PREREQUISITES - pip install azure-identity - pip install azure-mgmt-containerservice -# USAGE - python list_available_container_service_vm_skus.py - - Before run the sample, please set the values of the client ID, tenant ID and client secret - of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID, - AZURE_CLIENT_SECRET. For more info about how to get the value, please see: - https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal -""" - - -def main(): - client = ContainerServiceClient( - credential=DefaultAzureCredential(), - subscription_id="SUBSCRIPTION_ID", - ) - - response = client.vm_skus.list( - location="westus", - ) - for item in response: - print(item) - - -# x-ms-original-file: 2026-05-02-preview/ListAvailableContainerServiceVmSkus.json -if __name__ == "__main__": - main() diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/list_available_container_service_vm_skus_with_extended_locations.py b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/list_available_container_service_vm_skus_with_extended_locations.py deleted file mode 100644 index 3d1aa9521cab..000000000000 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/list_available_container_service_vm_skus_with_extended_locations.py +++ /dev/null @@ -1,42 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# Code generated by Microsoft (R) Python Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is regenerated. -# -------------------------------------------------------------------------- - -from azure.identity import DefaultAzureCredential - -from azure.mgmt.containerservice import ContainerServiceClient - -""" -# PREREQUISITES - pip install azure-identity - pip install azure-mgmt-containerservice -# USAGE - python list_available_container_service_vm_skus_with_extended_locations.py - - Before run the sample, please set the values of the client ID, tenant ID and client secret - of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID, - AZURE_CLIENT_SECRET. For more info about how to get the value, please see: - https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal -""" - - -def main(): - client = ContainerServiceClient( - credential=DefaultAzureCredential(), - subscription_id="SUBSCRIPTION_ID", - ) - - response = client.vm_skus.list( - location="westus", - ) - for item in response: - print(item) - - -# x-ms-original-file: 2026-05-02-preview/ListAvailableContainerServiceVmSkusWithExtendedLocations.json -if __name__ == "__main__": - main() diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/list_guardrails_versions.py b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/list_guardrails_versions.py deleted file mode 100644 index 39b55bbf4611..000000000000 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/list_guardrails_versions.py +++ /dev/null @@ -1,42 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# Code generated by Microsoft (R) Python Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is regenerated. -# -------------------------------------------------------------------------- - -from azure.identity import DefaultAzureCredential - -from azure.mgmt.containerservice import ContainerServiceClient - -""" -# PREREQUISITES - pip install azure-identity - pip install azure-mgmt-containerservice -# USAGE - python list_guardrails_versions.py - - Before run the sample, please set the values of the client ID, tenant ID and client secret - of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID, - AZURE_CLIENT_SECRET. For more info about how to get the value, please see: - https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal -""" - - -def main(): - client = ContainerServiceClient( - credential=DefaultAzureCredential(), - subscription_id="SUBSCRIPTION_ID", - ) - - response = client.managed_clusters.list_guardrails_versions( - location="location1", - ) - for item in response: - print(item) - - -# x-ms-original-file: 2026-05-02-preview/ListGuardrailsVersions.json -if __name__ == "__main__": - main() diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/list_safeguards_versions.py b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/list_safeguards_versions.py deleted file mode 100644 index 59607fa8fbb3..000000000000 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/list_safeguards_versions.py +++ /dev/null @@ -1,42 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# Code generated by Microsoft (R) Python Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is regenerated. -# -------------------------------------------------------------------------- - -from azure.identity import DefaultAzureCredential - -from azure.mgmt.containerservice import ContainerServiceClient - -""" -# PREREQUISITES - pip install azure-identity - pip install azure-mgmt-containerservice -# USAGE - python list_safeguards_versions.py - - Before run the sample, please set the values of the client ID, tenant ID and client secret - of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID, - AZURE_CLIENT_SECRET. For more info about how to get the value, please see: - https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal -""" - - -def main(): - client = ContainerServiceClient( - credential=DefaultAzureCredential(), - subscription_id="SUBSCRIPTION_ID", - ) - - response = client.managed_clusters.list_safeguards_versions( - location="location1", - ) - for item in response: - print(item) - - -# x-ms-original-file: 2026-05-02-preview/ListSafeguardsVersions.json -if __name__ == "__main__": - main() diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/load_balancers_create_or_update.py b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/load_balancers_create_or_update.py deleted file mode 100644 index f805559ed7d4..000000000000 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/load_balancers_create_or_update.py +++ /dev/null @@ -1,44 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# Code generated by Microsoft (R) Python Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is regenerated. -# -------------------------------------------------------------------------- - -from azure.identity import DefaultAzureCredential - -from azure.mgmt.containerservice import ContainerServiceClient - -""" -# PREREQUISITES - pip install azure-identity - pip install azure-mgmt-containerservice -# USAGE - python load_balancers_create_or_update.py - - Before run the sample, please set the values of the client ID, tenant ID and client secret - of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID, - AZURE_CLIENT_SECRET. For more info about how to get the value, please see: - https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal -""" - - -def main(): - client = ContainerServiceClient( - credential=DefaultAzureCredential(), - subscription_id="SUBSCRIPTION_ID", - ) - - response = client.load_balancers.create_or_update( - resource_group_name="rg1", - resource_name="clustername1", - load_balancer_name="kubernetes", - parameters={"properties": {"allowServicePlacement": True, "primaryAgentPoolName": "agentpool1"}}, - ) - print(response) - - -# x-ms-original-file: 2026-05-02-preview/LoadBalancers_Create_Or_Update.json -if __name__ == "__main__": - main() diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/load_balancers_delete.py b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/load_balancers_delete.py deleted file mode 100644 index 1891f9b6559e..000000000000 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/load_balancers_delete.py +++ /dev/null @@ -1,42 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# Code generated by Microsoft (R) Python Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is regenerated. -# -------------------------------------------------------------------------- - -from azure.identity import DefaultAzureCredential - -from azure.mgmt.containerservice import ContainerServiceClient - -""" -# PREREQUISITES - pip install azure-identity - pip install azure-mgmt-containerservice -# USAGE - python load_balancers_delete.py - - Before run the sample, please set the values of the client ID, tenant ID and client secret - of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID, - AZURE_CLIENT_SECRET. For more info about how to get the value, please see: - https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal -""" - - -def main(): - client = ContainerServiceClient( - credential=DefaultAzureCredential(), - subscription_id="SUBSCRIPTION_ID", - ) - - client.load_balancers.begin_delete( - resource_group_name="rg1", - resource_name="clustername1", - load_balancer_name="kubernetes", - ).result() - - -# x-ms-original-file: 2026-05-02-preview/LoadBalancers_Delete.json -if __name__ == "__main__": - main() diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/load_balancers_get.py b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/load_balancers_get.py deleted file mode 100644 index 3614df4b1f55..000000000000 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/load_balancers_get.py +++ /dev/null @@ -1,43 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# Code generated by Microsoft (R) Python Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is regenerated. -# -------------------------------------------------------------------------- - -from azure.identity import DefaultAzureCredential - -from azure.mgmt.containerservice import ContainerServiceClient - -""" -# PREREQUISITES - pip install azure-identity - pip install azure-mgmt-containerservice -# USAGE - python load_balancers_get.py - - Before run the sample, please set the values of the client ID, tenant ID and client secret - of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID, - AZURE_CLIENT_SECRET. For more info about how to get the value, please see: - https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal -""" - - -def main(): - client = ContainerServiceClient( - credential=DefaultAzureCredential(), - subscription_id="SUBSCRIPTION_ID", - ) - - response = client.load_balancers.get( - resource_group_name="rg1", - resource_name="clustername1", - load_balancer_name="kubernetes", - ) - print(response) - - -# x-ms-original-file: 2026-05-02-preview/LoadBalancers_Get.json -if __name__ == "__main__": - main() diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/load_balancers_list.py b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/load_balancers_list.py deleted file mode 100644 index 754c4d0dad71..000000000000 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/load_balancers_list.py +++ /dev/null @@ -1,43 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# Code generated by Microsoft (R) Python Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is regenerated. -# -------------------------------------------------------------------------- - -from azure.identity import DefaultAzureCredential - -from azure.mgmt.containerservice import ContainerServiceClient - -""" -# PREREQUISITES - pip install azure-identity - pip install azure-mgmt-containerservice -# USAGE - python load_balancers_list.py - - Before run the sample, please set the values of the client ID, tenant ID and client secret - of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID, - AZURE_CLIENT_SECRET. For more info about how to get the value, please see: - https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal -""" - - -def main(): - client = ContainerServiceClient( - credential=DefaultAzureCredential(), - subscription_id="SUBSCRIPTION_ID", - ) - - response = client.load_balancers.list_by_managed_cluster( - resource_group_name="rg1", - resource_name="clustername1", - ) - for item in response: - print(item) - - -# x-ms-original-file: 2026-05-02-preview/LoadBalancers_List.json -if __name__ == "__main__": - main() diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/load_balancers_rebalance.py b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/load_balancers_rebalance.py deleted file mode 100644 index 2272796970e4..000000000000 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/load_balancers_rebalance.py +++ /dev/null @@ -1,42 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# Code generated by Microsoft (R) Python Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is regenerated. -# -------------------------------------------------------------------------- - -from azure.identity import DefaultAzureCredential - -from azure.mgmt.containerservice import ContainerServiceClient - -""" -# PREREQUISITES - pip install azure-identity - pip install azure-mgmt-containerservice -# USAGE - python load_balancers_rebalance.py - - Before run the sample, please set the values of the client ID, tenant ID and client secret - of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID, - AZURE_CLIENT_SECRET. For more info about how to get the value, please see: - https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal -""" - - -def main(): - client = ContainerServiceClient( - credential=DefaultAzureCredential(), - subscription_id="SUBSCRIPTION_ID", - ) - - client.managed_clusters.begin_rebalance_load_balancers( - resource_group_name="rg1", - resource_name="clustername1", - parameters={"loadBalancerNames": ["kubernetes"]}, - ).result() - - -# x-ms-original-file: 2026-05-02-preview/LoadBalancers_Rebalance.json -if __name__ == "__main__": - main() diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/machine_create_update.py b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/machine_create_update.py deleted file mode 100644 index 9691ec039596..000000000000 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/machine_create_update.py +++ /dev/null @@ -1,60 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# Code generated by Microsoft (R) Python Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is regenerated. -# -------------------------------------------------------------------------- - -from azure.identity import DefaultAzureCredential - -from azure.mgmt.containerservice import ContainerServiceClient - -""" -# PREREQUISITES - pip install azure-identity - pip install azure-mgmt-containerservice -# USAGE - python machine_create_update.py - - Before run the sample, please set the values of the client ID, tenant ID and client secret - of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID, - AZURE_CLIENT_SECRET. For more info about how to get the value, please see: - https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal -""" - - -def main(): - client = ContainerServiceClient( - credential=DefaultAzureCredential(), - subscription_id="SUBSCRIPTION_ID", - ) - - response = client.machines.begin_create_or_update( - resource_group_name="rg1", - resource_name="clustername1", - agent_pool_name="agentpool1", - machine_name="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"}, - } - }, - ).result() - print(response) - - -# x-ms-original-file: 2026-05-02-preview/MachineCreate_Update.json -if __name__ == "__main__": - main() diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/machine_get.py b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/machine_get.py index 1c785f7660eb..3176f9307250 100644 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/machine_get.py +++ b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/machine_get.py @@ -39,6 +39,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-02-preview/MachineGet.json +# x-ms-original-file: 2026-05-01/MachineGet.json if __name__ == "__main__": main() diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/machine_list.py b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/machine_list.py index 3377fff2d40a..88173b92a26c 100644 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/machine_list.py +++ b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/machine_list.py @@ -39,6 +39,6 @@ def main(): print(item) -# x-ms-original-file: 2026-05-02-preview/MachineList.json +# x-ms-original-file: 2026-05-01/MachineList.json if __name__ == "__main__": main() diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/maintenance_configurations_create_linked_maintenance_window.py b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/maintenance_configurations_create_linked_maintenance_window.py deleted file mode 100644 index eac2daa7e039..000000000000 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/maintenance_configurations_create_linked_maintenance_window.py +++ /dev/null @@ -1,49 +0,0 @@ -# pylint: disable=line-too-long,useless-suppression -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# Code generated by Microsoft (R) Python Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is regenerated. -# -------------------------------------------------------------------------- - -from azure.identity import DefaultAzureCredential - -from azure.mgmt.containerservice import ContainerServiceClient - -""" -# PREREQUISITES - pip install azure-identity - pip install azure-mgmt-containerservice -# USAGE - python maintenance_configurations_create_linked_maintenance_window.py - - Before run the sample, please set the values of the client ID, tenant ID and client secret - of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID, - AZURE_CLIENT_SECRET. For more info about how to get the value, please see: - https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal -""" - - -def main(): - client = ContainerServiceClient( - credential=DefaultAzureCredential(), - subscription_id="SUBSCRIPTION_ID", - ) - - response = client.maintenance_configurations.create_or_update( - resource_group_name="rg1", - resource_name="clustername1", - config_name="aksManagedAutoUpgradeSchedule", - parameters={ - "properties": { - "maintenanceWindowId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ContainerService/maintenanceWindows/myMaintenanceWindow" - } - }, - ) - print(response) - - -# x-ms-original-file: 2026-05-02-preview/MaintenanceConfigurationsCreate_LinkedMaintenanceWindow.json -if __name__ == "__main__": - main() diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/maintenance_configurations_create_update_maintenance_window.py b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/maintenance_configurations_create_update_maintenance_window.py index ccecc76dd861..5af03df4d358 100644 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/maintenance_configurations_create_update_maintenance_window.py +++ b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/maintenance_configurations_create_update_maintenance_window.py @@ -53,6 +53,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-02-preview/MaintenanceConfigurationsCreate_Update_MaintenanceWindow.json +# x-ms-original-file: 2026-05-01/MaintenanceConfigurationsCreate_Update_MaintenanceWindow.json if __name__ == "__main__": main() diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/maintenance_configurations_delete_maintenance_window.py b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/maintenance_configurations_delete_maintenance_window.py index d56fe7bafc6d..90eb1ec46559 100644 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/maintenance_configurations_delete_maintenance_window.py +++ b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/maintenance_configurations_delete_maintenance_window.py @@ -37,6 +37,6 @@ def main(): ) -# x-ms-original-file: 2026-05-02-preview/MaintenanceConfigurationsDelete_MaintenanceWindow.json +# x-ms-original-file: 2026-05-01/MaintenanceConfigurationsDelete_MaintenanceWindow.json if __name__ == "__main__": main() diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/maintenance_configurations_get_linked_maintenance_window.py b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/maintenance_configurations_get_linked_maintenance_window.py deleted file mode 100644 index 27225e90de2c..000000000000 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/maintenance_configurations_get_linked_maintenance_window.py +++ /dev/null @@ -1,43 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# Code generated by Microsoft (R) Python Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is regenerated. -# -------------------------------------------------------------------------- - -from azure.identity import DefaultAzureCredential - -from azure.mgmt.containerservice import ContainerServiceClient - -""" -# PREREQUISITES - pip install azure-identity - pip install azure-mgmt-containerservice -# USAGE - python maintenance_configurations_get_linked_maintenance_window.py - - Before run the sample, please set the values of the client ID, tenant ID and client secret - of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID, - AZURE_CLIENT_SECRET. For more info about how to get the value, please see: - https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal -""" - - -def main(): - client = ContainerServiceClient( - credential=DefaultAzureCredential(), - subscription_id="SUBSCRIPTION_ID", - ) - - response = client.maintenance_configurations.get( - resource_group_name="rg1", - resource_name="clustername1", - config_name="aksManagedAutoUpgradeSchedule", - ) - print(response) - - -# x-ms-original-file: 2026-05-02-preview/MaintenanceConfigurationsGet_LinkedMaintenanceWindow.json -if __name__ == "__main__": - main() diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/maintenance_configurations_get_maintenance_window.py b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/maintenance_configurations_get_maintenance_window.py index 8d170567f44d..8c03765dd060 100644 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/maintenance_configurations_get_maintenance_window.py +++ b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/maintenance_configurations_get_maintenance_window.py @@ -38,6 +38,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-02-preview/MaintenanceConfigurationsGet_MaintenanceWindow.json +# x-ms-original-file: 2026-05-01/MaintenanceConfigurationsGet_MaintenanceWindow.json if __name__ == "__main__": main() diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/maintenance_configurations_list_maintenance_window.py b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/maintenance_configurations_list_maintenance_window.py index e67a53deaf07..372b90bbbeb1 100644 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/maintenance_configurations_list_maintenance_window.py +++ b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/maintenance_configurations_list_maintenance_window.py @@ -38,6 +38,6 @@ def main(): print(item) -# x-ms-original-file: 2026-05-02-preview/MaintenanceConfigurationsList_MaintenanceWindow.json +# x-ms-original-file: 2026-05-01/MaintenanceConfigurationsList_MaintenanceWindow.json if __name__ == "__main__": main() diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/maintenance_windows_create_or_update.py b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/maintenance_windows_create_or_update.py deleted file mode 100644 index 6625e6f6725d..000000000000 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/maintenance_windows_create_or_update.py +++ /dev/null @@ -1,54 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# Code generated by Microsoft (R) Python Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is regenerated. -# -------------------------------------------------------------------------- - -from azure.identity import DefaultAzureCredential - -from azure.mgmt.containerservice import ContainerServiceClient - -""" -# PREREQUISITES - pip install azure-identity - pip install azure-mgmt-containerservice -# USAGE - python maintenance_windows_create_or_update.py - - Before run the sample, please set the values of the client ID, tenant ID and client secret - of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID, - AZURE_CLIENT_SECRET. For more info about how to get the value, please see: - https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal -""" - - -def main(): - client = ContainerServiceClient( - credential=DefaultAzureCredential(), - subscription_id="SUBSCRIPTION_ID", - ) - - response = client.maintenance_windows.begin_create_or_update( - resource_group_name="rg-maintenance", - maintenance_window_name="production-weekends", - resource={ - "location": "eastus", - "properties": { - "durationHours": 8, - "notAllowedDates": [{"end": "2027-01-03", "start": "2026-12-23"}], - "schedule": {"weekly": {"dayOfWeek": "Saturday", "intervalWeeks": 1}}, - "startDate": "2026-04-05", - "startTime": "02:00", - "utcOffset": "-07:00", - }, - "tags": {"environment": "production"}, - }, - ).result() - print(response) - - -# x-ms-original-file: 2026-05-02-preview/MaintenanceWindowsCreateOrUpdate.json -if __name__ == "__main__": - main() diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/maintenance_windows_delete.py b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/maintenance_windows_delete.py deleted file mode 100644 index 58c0c9893888..000000000000 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/maintenance_windows_delete.py +++ /dev/null @@ -1,41 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# Code generated by Microsoft (R) Python Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is regenerated. -# -------------------------------------------------------------------------- - -from azure.identity import DefaultAzureCredential - -from azure.mgmt.containerservice import ContainerServiceClient - -""" -# PREREQUISITES - pip install azure-identity - pip install azure-mgmt-containerservice -# USAGE - python maintenance_windows_delete.py - - Before run the sample, please set the values of the client ID, tenant ID and client secret - of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID, - AZURE_CLIENT_SECRET. For more info about how to get the value, please see: - https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal -""" - - -def main(): - client = ContainerServiceClient( - credential=DefaultAzureCredential(), - subscription_id="SUBSCRIPTION_ID", - ) - - client.maintenance_windows.begin_delete( - resource_group_name="rg-maintenance", - maintenance_window_name="production-weekends", - ).result() - - -# x-ms-original-file: 2026-05-02-preview/MaintenanceWindowsDelete.json -if __name__ == "__main__": - main() diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/maintenance_windows_get.py b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/maintenance_windows_get.py deleted file mode 100644 index abb5a32eb140..000000000000 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/maintenance_windows_get.py +++ /dev/null @@ -1,42 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# Code generated by Microsoft (R) Python Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is regenerated. -# -------------------------------------------------------------------------- - -from azure.identity import DefaultAzureCredential - -from azure.mgmt.containerservice import ContainerServiceClient - -""" -# PREREQUISITES - pip install azure-identity - pip install azure-mgmt-containerservice -# USAGE - python maintenance_windows_get.py - - Before run the sample, please set the values of the client ID, tenant ID and client secret - of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID, - AZURE_CLIENT_SECRET. For more info about how to get the value, please see: - https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal -""" - - -def main(): - client = ContainerServiceClient( - credential=DefaultAzureCredential(), - subscription_id="SUBSCRIPTION_ID", - ) - - response = client.maintenance_windows.get( - resource_group_name="rg-maintenance", - maintenance_window_name="production-weekends", - ) - print(response) - - -# x-ms-original-file: 2026-05-02-preview/MaintenanceWindowsGet.json -if __name__ == "__main__": - main() diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/maintenance_windows_list.py b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/maintenance_windows_list.py deleted file mode 100644 index 7ffcf69bee18..000000000000 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/maintenance_windows_list.py +++ /dev/null @@ -1,42 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# Code generated by Microsoft (R) Python Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is regenerated. -# -------------------------------------------------------------------------- - -from azure.identity import DefaultAzureCredential - -from azure.mgmt.containerservice import ContainerServiceClient - -""" -# PREREQUISITES - pip install azure-identity - pip install azure-mgmt-containerservice -# USAGE - python maintenance_windows_list.py - - Before run the sample, please set the values of the client ID, tenant ID and client secret - of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID, - AZURE_CLIENT_SECRET. For more info about how to get the value, please see: - https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal -""" - - -def main(): - client = ContainerServiceClient( - credential=DefaultAzureCredential(), - subscription_id="SUBSCRIPTION_ID", - ) - - response = client.maintenance_windows.list( - resource_group_name="rg-maintenance", - ) - for item in response: - print(item) - - -# x-ms-original-file: 2026-05-02-preview/MaintenanceWindowsList.json -if __name__ == "__main__": - main() diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/maintenance_windows_list_by_subscription.py b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/maintenance_windows_list_by_subscription.py deleted file mode 100644 index 62c517ce840a..000000000000 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/maintenance_windows_list_by_subscription.py +++ /dev/null @@ -1,40 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# Code generated by Microsoft (R) Python Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is regenerated. -# -------------------------------------------------------------------------- - -from azure.identity import DefaultAzureCredential - -from azure.mgmt.containerservice import ContainerServiceClient - -""" -# PREREQUISITES - pip install azure-identity - pip install azure-mgmt-containerservice -# USAGE - python maintenance_windows_list_by_subscription.py - - Before run the sample, please set the values of the client ID, tenant ID and client secret - of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID, - AZURE_CLIENT_SECRET. For more info about how to get the value, please see: - https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal -""" - - -def main(): - client = ContainerServiceClient( - credential=DefaultAzureCredential(), - subscription_id="SUBSCRIPTION_ID", - ) - - response = client.maintenance_windows.list_by_subscription() - for item in response: - print(item) - - -# x-ms-original-file: 2026-05-02-preview/MaintenanceWindowsListBySubscription.json -if __name__ == "__main__": - main() diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/maintenance_windows_update_tags.py b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/maintenance_windows_update_tags.py deleted file mode 100644 index 98cf7c9893ef..000000000000 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/maintenance_windows_update_tags.py +++ /dev/null @@ -1,43 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# Code generated by Microsoft (R) Python Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is regenerated. -# -------------------------------------------------------------------------- - -from azure.identity import DefaultAzureCredential - -from azure.mgmt.containerservice import ContainerServiceClient - -""" -# PREREQUISITES - pip install azure-identity - pip install azure-mgmt-containerservice -# USAGE - python maintenance_windows_update_tags.py - - Before run the sample, please set the values of the client ID, tenant ID and client secret - of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID, - AZURE_CLIENT_SECRET. For more info about how to get the value, please see: - https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal -""" - - -def main(): - client = ContainerServiceClient( - credential=DefaultAzureCredential(), - subscription_id="SUBSCRIPTION_ID", - ) - - response = client.maintenance_windows.update_tags( - resource_group_name="rg-maintenance", - maintenance_window_name="production-weekends", - properties={"tags": {"environment": "production", "team": "aks-platform"}}, - ) - print(response) - - -# x-ms-original-file: 2026-05-02-preview/MaintenanceWindowsUpdateTags.json -if __name__ == "__main__": - main() diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_cluster_snapshots_create.py b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_cluster_snapshots_create.py deleted file mode 100644 index bcedb8ce2882..000000000000 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_cluster_snapshots_create.py +++ /dev/null @@ -1,52 +0,0 @@ -# pylint: disable=line-too-long,useless-suppression -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# Code generated by Microsoft (R) Python Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is regenerated. -# -------------------------------------------------------------------------- - -from azure.identity import DefaultAzureCredential - -from azure.mgmt.containerservice import ContainerServiceClient - -""" -# PREREQUISITES - pip install azure-identity - pip install azure-mgmt-containerservice -# USAGE - python managed_cluster_snapshots_create.py - - Before run the sample, please set the values of the client ID, tenant ID and client secret - of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID, - AZURE_CLIENT_SECRET. For more info about how to get the value, please see: - https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal -""" - - -def main(): - client = ContainerServiceClient( - credential=DefaultAzureCredential(), - subscription_id="SUBSCRIPTION_ID", - ) - - response = client.managed_cluster_snapshots.create_or_update( - resource_group_name="rg1", - resource_name="snapshot1", - parameters={ - "location": "westus", - "properties": { - "creationData": { - "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ContainerService/managedClusters/cluster1" - } - }, - "tags": {"key1": "val1", "key2": "val2"}, - }, - ) - print(response) - - -# x-ms-original-file: 2026-05-02-preview/ManagedClusterSnapshotsCreate.json -if __name__ == "__main__": - main() diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_cluster_snapshots_delete.py b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_cluster_snapshots_delete.py deleted file mode 100644 index 013006fa05cc..000000000000 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_cluster_snapshots_delete.py +++ /dev/null @@ -1,41 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# Code generated by Microsoft (R) Python Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is regenerated. -# -------------------------------------------------------------------------- - -from azure.identity import DefaultAzureCredential - -from azure.mgmt.containerservice import ContainerServiceClient - -""" -# PREREQUISITES - pip install azure-identity - pip install azure-mgmt-containerservice -# USAGE - python managed_cluster_snapshots_delete.py - - Before run the sample, please set the values of the client ID, tenant ID and client secret - of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID, - AZURE_CLIENT_SECRET. For more info about how to get the value, please see: - https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal -""" - - -def main(): - client = ContainerServiceClient( - credential=DefaultAzureCredential(), - subscription_id="SUBSCRIPTION_ID", - ) - - client.managed_cluster_snapshots.delete( - resource_group_name="rg1", - resource_name="snapshot1", - ) - - -# x-ms-original-file: 2026-05-02-preview/ManagedClusterSnapshotsDelete.json -if __name__ == "__main__": - main() diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_cluster_snapshots_get.py b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_cluster_snapshots_get.py deleted file mode 100644 index 7cba3ca59fe5..000000000000 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_cluster_snapshots_get.py +++ /dev/null @@ -1,42 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# Code generated by Microsoft (R) Python Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is regenerated. -# -------------------------------------------------------------------------- - -from azure.identity import DefaultAzureCredential - -from azure.mgmt.containerservice import ContainerServiceClient - -""" -# PREREQUISITES - pip install azure-identity - pip install azure-mgmt-containerservice -# USAGE - python managed_cluster_snapshots_get.py - - Before run the sample, please set the values of the client ID, tenant ID and client secret - of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID, - AZURE_CLIENT_SECRET. For more info about how to get the value, please see: - https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal -""" - - -def main(): - client = ContainerServiceClient( - credential=DefaultAzureCredential(), - subscription_id="SUBSCRIPTION_ID", - ) - - response = client.managed_cluster_snapshots.get( - resource_group_name="rg1", - resource_name="snapshot1", - ) - print(response) - - -# x-ms-original-file: 2026-05-02-preview/ManagedClusterSnapshotsGet.json -if __name__ == "__main__": - main() diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_cluster_snapshots_list.py b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_cluster_snapshots_list.py deleted file mode 100644 index 2ec75306579d..000000000000 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_cluster_snapshots_list.py +++ /dev/null @@ -1,40 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# Code generated by Microsoft (R) Python Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is regenerated. -# -------------------------------------------------------------------------- - -from azure.identity import DefaultAzureCredential - -from azure.mgmt.containerservice import ContainerServiceClient - -""" -# PREREQUISITES - pip install azure-identity - pip install azure-mgmt-containerservice -# USAGE - python managed_cluster_snapshots_list.py - - Before run the sample, please set the values of the client ID, tenant ID and client secret - of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID, - AZURE_CLIENT_SECRET. For more info about how to get the value, please see: - https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal -""" - - -def main(): - client = ContainerServiceClient( - credential=DefaultAzureCredential(), - subscription_id="SUBSCRIPTION_ID", - ) - - response = client.managed_cluster_snapshots.list() - for item in response: - print(item) - - -# x-ms-original-file: 2026-05-02-preview/ManagedClusterSnapshotsList.json -if __name__ == "__main__": - main() diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_cluster_snapshots_list_by_resource_group.py b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_cluster_snapshots_list_by_resource_group.py deleted file mode 100644 index 81822a0026dd..000000000000 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_cluster_snapshots_list_by_resource_group.py +++ /dev/null @@ -1,42 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# Code generated by Microsoft (R) Python Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is regenerated. -# -------------------------------------------------------------------------- - -from azure.identity import DefaultAzureCredential - -from azure.mgmt.containerservice import ContainerServiceClient - -""" -# PREREQUISITES - pip install azure-identity - pip install azure-mgmt-containerservice -# USAGE - python managed_cluster_snapshots_list_by_resource_group.py - - Before run the sample, please set the values of the client ID, tenant ID and client secret - of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID, - AZURE_CLIENT_SECRET. For more info about how to get the value, please see: - https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal -""" - - -def main(): - client = ContainerServiceClient( - credential=DefaultAzureCredential(), - subscription_id="SUBSCRIPTION_ID", - ) - - response = client.managed_cluster_snapshots.list_by_resource_group( - resource_group_name="rg1", - ) - for item in response: - print(item) - - -# x-ms-original-file: 2026-05-02-preview/ManagedClusterSnapshotsListByResourceGroup.json -if __name__ == "__main__": - main() diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_cluster_snapshots_update_tags.py b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_cluster_snapshots_update_tags.py deleted file mode 100644 index 69271168e6f2..000000000000 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_cluster_snapshots_update_tags.py +++ /dev/null @@ -1,43 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# Code generated by Microsoft (R) Python Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is regenerated. -# -------------------------------------------------------------------------- - -from azure.identity import DefaultAzureCredential - -from azure.mgmt.containerservice import ContainerServiceClient - -""" -# PREREQUISITES - pip install azure-identity - pip install azure-mgmt-containerservice -# USAGE - python managed_cluster_snapshots_update_tags.py - - Before run the sample, please set the values of the client ID, tenant ID and client secret - of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID, - AZURE_CLIENT_SECRET. For more info about how to get the value, please see: - https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal -""" - - -def main(): - client = ContainerServiceClient( - credential=DefaultAzureCredential(), - subscription_id="SUBSCRIPTION_ID", - ) - - response = client.managed_cluster_snapshots.update_tags( - resource_group_name="rg1", - resource_name="snapshot1", - parameters={"tags": {"key2": "new-val2", "key3": "val3"}}, - ) - print(response) - - -# x-ms-original-file: 2026-05-02-preview/ManagedClusterSnapshotsUpdateTags.json -if __name__ == "__main__": - main() diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_abort_operation.py b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_abort_operation.py index 5fdc7380774f..60a683cf2983 100644 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_abort_operation.py +++ b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_abort_operation.py @@ -36,6 +36,6 @@ def main(): ).result() -# x-ms-original-file: 2026-05-02-preview/ManagedClustersAbortOperation.json +# x-ms-original-file: 2026-05-01/ManagedClustersAbortOperation.json if __name__ == "__main__": main() diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_create_azure_keyvault_secrets_provider.py b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_create_azure_keyvault_secrets_provider.py index 670ca988c324..e7cc227c5b56 100644 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_create_azure_keyvault_secrets_provider.py +++ b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_create_azure_keyvault_secrets_provider.py @@ -75,6 +75,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-02-preview/ManagedClustersCreate_AzureKeyvaultSecretsProvider.json +# x-ms-original-file: 2026-05-01/ManagedClustersCreate_AzureKeyvaultSecretsProvider.json if __name__ == "__main__": main() diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_create_azure_service_mesh.py b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_create_azure_service_mesh.py index 1042c5646abf..4acbbc1c5287 100644 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_create_azure_service_mesh.py +++ b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_create_azure_service_mesh.py @@ -77,7 +77,13 @@ def main(): } }, "components": { - "egressGateways": [{"enabled": True, "name": "istioegress1"}], + "egressGateways": [ + { + "enabled": True, + "gatewayConfigurationName": "test-gateway-configuration", + "name": "test-istio-egress", + } + ], "ingressGateways": [{"enabled": True, "mode": "Internal"}], }, }, @@ -93,6 +99,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-02-preview/ManagedClustersCreate_AzureServiceMesh.json +# x-ms-original-file: 2026-05-01/ManagedClustersCreate_AzureServiceMesh.json if __name__ == "__main__": main() diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_create_control_plane_scaling_profile.py b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_create_control_plane_scaling_profile.py deleted file mode 100644 index b671ce5c218d..000000000000 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_create_control_plane_scaling_profile.py +++ /dev/null @@ -1,71 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# Code generated by Microsoft (R) Python Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is regenerated. -# -------------------------------------------------------------------------- - -from azure.identity import DefaultAzureCredential - -from azure.mgmt.containerservice import ContainerServiceClient - -""" -# PREREQUISITES - pip install azure-identity - pip install azure-mgmt-containerservice -# USAGE - python managed_clusters_create_control_plane_scaling_profile.py - - Before run the sample, please set the values of the client ID, tenant ID and client secret - of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID, - AZURE_CLIENT_SECRET. For more info about how to get the value, please see: - https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal -""" - - -def main(): - client = ContainerServiceClient( - credential=DefaultAzureCredential(), - subscription_id="SUBSCRIPTION_ID", - ) - - response = client.managed_clusters.begin_create_or_update( - resource_group_name="rg1", - resource_name="clustername1", - parameters={ - "location": "location1", - "properties": { - "agentPoolProfiles": [ - { - "count": 3, - "enableNodePublicIP": True, - "mode": "System", - "name": "nodepool1", - "osType": "Linux", - "type": "VirtualMachineScaleSets", - "vmSize": "Standard_DS2_v2", - } - ], - "controlPlaneScalingProfile": {"scalingSize": "H4"}, - "dnsPrefix": "dnsprefix1", - "kubernetesVersion": "1.33.0", - "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": "keydata"}]}}, - "networkProfile": { - "loadBalancerProfile": {"managedOutboundIPs": {"count": 2}}, - "loadBalancerSku": "standard", - "networkPlugin": "azure", - "networkPluginMode": "overlay", - "outboundType": "loadBalancer", - }, - }, - "sku": {"name": "Base", "tier": "Standard"}, - "tags": {"archv2": "", "tier": "production"}, - }, - ).result() - print(response) - - -# x-ms-original-file: 2026-05-02-preview/ManagedClustersCreate_ControlPlaneScalingProfile.json -if __name__ == "__main__": - main() diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_associate_crg.py b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_create_crg.py similarity index 96% rename from sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_associate_crg.py rename to sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_create_crg.py index e29cdd3b212b..18fc7699f240 100644 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_associate_crg.py +++ b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_create_crg.py @@ -16,7 +16,7 @@ pip install azure-identity pip install azure-mgmt-containerservice # USAGE - python managed_clusters_associate_crg.py + python managed_clusters_create_crg.py Before run the sample, please set the values of the client ID, tenant ID and client secret of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID, @@ -71,6 +71,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-02-preview/ManagedClustersAssociate_CRG.json +# x-ms-original-file: 2026-05-01/ManagedClustersCreate_CRG.json if __name__ == "__main__": main() diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_create_custom_ca_trust_certificates.py b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_create_custom_ca_trust_certificates.py index 8db631661636..68c4522cda74 100644 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_create_custom_ca_trust_certificates.py +++ b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_create_custom_ca_trust_certificates.py @@ -73,6 +73,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-02-preview/ManagedClustersCreate_CustomCATrustCertificates.json +# x-ms-original-file: 2026-05-01/ManagedClustersCreate_CustomCATrustCertificates.json if __name__ == "__main__": main() diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_create_dedicated_host_group.py b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_create_dedicated_host_group.py index 6041cd0e7f86..228047a15ca9 100644 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_create_dedicated_host_group.py +++ b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_create_dedicated_host_group.py @@ -70,6 +70,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-02-preview/ManagedClustersCreate_DedicatedHostGroup.json +# x-ms-original-file: 2026-05-01/ManagedClustersCreate_DedicatedHostGroup.json if __name__ == "__main__": main() diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_create_disable_run_command.py b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_create_disable_run_command.py index 88f2696335cc..965908f29e58 100644 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_create_disable_run_command.py +++ b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_create_disable_run_command.py @@ -70,6 +70,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-02-preview/ManagedClustersCreate_DisableRunCommand.json +# x-ms-original-file: 2026-05-01/ManagedClustersCreate_DisableRunCommand.json if __name__ == "__main__": main() diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_create_dual_stack_networking.py b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_create_dual_stack_networking.py index f26a18522613..17555a236441 100644 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_create_dual_stack_networking.py +++ b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_create_dual_stack_networking.py @@ -87,6 +87,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-02-preview/ManagedClustersCreate_DualStackNetworking.json +# x-ms-original-file: 2026-05-01/ManagedClustersCreate_DualStackNetworking.json if __name__ == "__main__": main() diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_create_enable_ai_toolchain_operator.py b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_create_enable_ai_toolchain_operator.py deleted file mode 100644 index ae7f34f77d79..000000000000 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_create_enable_ai_toolchain_operator.py +++ /dev/null @@ -1,75 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# Code generated by Microsoft (R) Python Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is regenerated. -# -------------------------------------------------------------------------- - -from azure.identity import DefaultAzureCredential - -from azure.mgmt.containerservice import ContainerServiceClient - -""" -# PREREQUISITES - pip install azure-identity - pip install azure-mgmt-containerservice -# USAGE - python managed_clusters_create_enable_ai_toolchain_operator.py - - Before run the sample, please set the values of the client ID, tenant ID and client secret - of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID, - AZURE_CLIENT_SECRET. For more info about how to get the value, please see: - https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal -""" - - -def main(): - client = ContainerServiceClient( - credential=DefaultAzureCredential(), - subscription_id="SUBSCRIPTION_ID", - ) - - response = client.managed_clusters.begin_create_or_update( - resource_group_name="rg1", - resource_name="clustername1", - parameters={ - "location": "location1", - "properties": { - "addonProfiles": {}, - "agentPoolProfiles": [ - { - "count": 3, - "enableNodePublicIP": True, - "mode": "System", - "name": "nodepool1", - "osType": "Linux", - "type": "VirtualMachineScaleSets", - "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"}, - }, - ).result() - print(response) - - -# x-ms-original-file: 2026-05-02-preview/ManagedClustersCreate_EnableAIToolchainOperator.json -if __name__ == "__main__": - main() diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_create_enable_encryption_at_host.py b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_create_enable_encryption_at_host.py index 6293b586be7f..14597ae722c7 100644 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_create_enable_encryption_at_host.py +++ b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_create_enable_encryption_at_host.py @@ -71,6 +71,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-02-preview/ManagedClustersCreate_EnableEncryptionAtHost.json +# x-ms-original-file: 2026-05-01/ManagedClustersCreate_EnableEncryptionAtHost.json if __name__ == "__main__": main() diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_create_enable_managed_bastion.py b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_create_enable_managed_bastion.py deleted file mode 100644 index 02a9c34d69c1..000000000000 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_create_enable_managed_bastion.py +++ /dev/null @@ -1,69 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# Code generated by Microsoft (R) Python Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is regenerated. -# -------------------------------------------------------------------------- - -from azure.identity import DefaultAzureCredential - -from azure.mgmt.containerservice import ContainerServiceClient - -""" -# PREREQUISITES - pip install azure-identity - pip install azure-mgmt-containerservice -# USAGE - python managed_clusters_create_enable_managed_bastion.py - - Before run the sample, please set the values of the client ID, tenant ID and client secret - of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID, - AZURE_CLIENT_SECRET. For more info about how to get the value, please see: - https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal -""" - - -def main(): - client = ContainerServiceClient( - credential=DefaultAzureCredential(), - subscription_id="SUBSCRIPTION_ID", - ) - - response = client.managed_clusters.begin_create_or_update( - resource_group_name="rg1", - resource_name="clustername1", - parameters={ - "location": "location1", - "properties": { - "addonProfiles": {}, - "agentPoolProfiles": [ - { - "count": 3, - "enableEncryptionAtHost": True, - "mode": "System", - "name": "nodepool1", - "osType": "Linux", - "type": "VirtualMachineScaleSets", - "vmSize": "Standard_DS2_v2", - } - ], - "apiServerAccessProfile": {"enablePrivateCluster": True}, - "autoScalerProfile": {"scale-down-delay-after-add": "15m", "scan-interval": "20s"}, - "dnsPrefix": "dnsprefix1", - "kubernetesVersion": "", - "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": "keydata"}]}}, - "networkProfile": {"bastionProfile": {"enabled": True, "scaleUnits": 3, "sku": "Premium"}}, - "servicePrincipalProfile": {"clientId": "clientid", "secret": "secret"}, - "windowsProfile": {"adminPassword": "replacePassword1234$", "adminUsername": "azureuser"}, - }, - "sku": {"name": "Basic", "tier": "Free"}, - "tags": {"archv2": "", "tier": "production"}, - }, - ).result() - print(response) - - -# x-ms-original-file: 2026-05-02-preview/ManagedClustersCreate_EnableManagedBastion.json -if __name__ == "__main__": - main() diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_create_enable_ultra_ssd.py b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_create_enable_ultra_ssd.py index a1cc86ed9666..b9f80d86b012 100644 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_create_enable_ultra_ssd.py +++ b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_create_enable_ultra_ssd.py @@ -71,6 +71,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-02-preview/ManagedClustersCreate_EnableUltraSSD.json +# x-ms-original-file: 2026-05-01/ManagedClustersCreate_EnableUltraSSD.json if __name__ == "__main__": main() diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_create_enabled_fips.py b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_create_enabled_fips.py index 3348cf689c7a..f7f0ae62f313 100644 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_create_enabled_fips.py +++ b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_create_enabled_fips.py @@ -71,6 +71,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-02-preview/ManagedClustersCreate_EnabledFIPS.json +# x-ms-original-file: 2026-05-01/ManagedClustersCreate_EnabledFIPS.json if __name__ == "__main__": main() diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_create_gpumig.py b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_create_gpumig.py index ed64a06d04f6..ef66c98529a0 100644 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_create_gpumig.py +++ b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_create_gpumig.py @@ -77,6 +77,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-02-preview/ManagedClustersCreate_GPUMIG.json +# x-ms-original-file: 2026-05-01/ManagedClustersCreate_GPUMIG.json if __name__ == "__main__": main() diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_create_httpproxy.py b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_create_httpproxy.py index 23d94942b367..46608913731f 100644 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_create_httpproxy.py +++ b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_create_httpproxy.py @@ -76,6 +76,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-02-preview/ManagedClustersCreate_HTTPProxy.json +# x-ms-original-file: 2026-05-01/ManagedClustersCreate_HTTPProxy.json if __name__ == "__main__": main() diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_create_ingress_profile_application_load_balancer.py b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_create_ingress_profile_application_load_balancer.py deleted file mode 100644 index 1577ee793aa0..000000000000 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_create_ingress_profile_application_load_balancer.py +++ /dev/null @@ -1,69 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# Code generated by Microsoft (R) Python Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is regenerated. -# -------------------------------------------------------------------------- - -from azure.identity import DefaultAzureCredential - -from azure.mgmt.containerservice import ContainerServiceClient - -""" -# PREREQUISITES - pip install azure-identity - pip install azure-mgmt-containerservice -# USAGE - python managed_clusters_create_ingress_profile_application_load_balancer.py - - Before run the sample, please set the values of the client ID, tenant ID and client secret - of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID, - AZURE_CLIENT_SECRET. For more info about how to get the value, please see: - https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal -""" - - -def main(): - client = ContainerServiceClient( - credential=DefaultAzureCredential(), - subscription_id="SUBSCRIPTION_ID", - ) - - response = client.managed_clusters.begin_create_or_update( - resource_group_name="rg1", - resource_name="clustername1", - parameters={ - "location": "location1", - "properties": { - "agentPoolProfiles": [ - { - "count": 3, - "enableNodePublicIP": True, - "mode": "System", - "name": "nodepool1", - "osType": "Linux", - "type": "VirtualMachineScaleSets", - "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"}, - }, - ).result() - print(response) - - -# x-ms-original-file: 2026-05-02-preview/ManagedClustersCreate_IngressProfile_ApplicationLoadBalancer.json -if __name__ == "__main__": - main() diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_create_ingress_profile_web_app_routing.py b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_create_ingress_profile_web_app_routing.py index c87a71579c23..a81656f4d939 100644 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_create_ingress_profile_web_app_routing.py +++ b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_create_ingress_profile_web_app_routing.py @@ -72,6 +72,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-02-preview/ManagedClustersCreate_IngressProfile_WebAppRouting.json +# x-ms-original-file: 2026-05-01/ManagedClustersCreate_IngressProfile_WebAppRouting.json if __name__ == "__main__": main() diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_create_managed_nat_gateway.py b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_create_managed_nat_gateway.py index 025047d66b5e..ae193c258246 100644 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_create_managed_nat_gateway.py +++ b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_create_managed_nat_gateway.py @@ -70,6 +70,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-02-preview/ManagedClustersCreate_ManagedNATGateway.json +# x-ms-original-file: 2026-05-01/ManagedClustersCreate_ManagedNATGateway.json if __name__ == "__main__": main() diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_create_mcsnapshot.py b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_create_mcsnapshot.py deleted file mode 100644 index b8afcdbfcf4e..000000000000 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_create_mcsnapshot.py +++ /dev/null @@ -1,69 +0,0 @@ -# pylint: disable=line-too-long,useless-suppression -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# Code generated by Microsoft (R) Python Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is regenerated. -# -------------------------------------------------------------------------- - -from azure.identity import DefaultAzureCredential - -from azure.mgmt.containerservice import ContainerServiceClient - -""" -# PREREQUISITES - pip install azure-identity - pip install azure-mgmt-containerservice -# USAGE - python managed_clusters_create_mcsnapshot.py - - Before run the sample, please set the values of the client ID, tenant ID and client secret - of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID, - AZURE_CLIENT_SECRET. For more info about how to get the value, please see: - https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal -""" - - -def main(): - client = ContainerServiceClient( - credential=DefaultAzureCredential(), - subscription_id="SUBSCRIPTION_ID", - ) - - response = client.managed_clusters.begin_create_or_update( - resource_group_name="rg1", - resource_name="clustername1", - parameters={ - "location": "location1", - "properties": { - "agentPoolProfiles": [ - { - "count": 3, - "enableFIPS": True, - "enableNodePublicIP": True, - "mode": "System", - "name": "nodepool1", - "osType": "Linux", - "type": "VirtualMachineScaleSets", - "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"}, - }, - ).result() - print(response) - - -# x-ms-original-file: 2026-05-02-preview/ManagedClustersCreate_MCSnapshot.json -if __name__ == "__main__": - main() diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_create_node_auto_provisioning.py b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_create_node_auto_provisioning.py deleted file mode 100644 index bb98dce908b5..000000000000 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_create_node_auto_provisioning.py +++ /dev/null @@ -1,74 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# Code generated by Microsoft (R) Python Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is regenerated. -# -------------------------------------------------------------------------- - -from azure.identity import DefaultAzureCredential - -from azure.mgmt.containerservice import ContainerServiceClient - -""" -# PREREQUISITES - pip install azure-identity - pip install azure-mgmt-containerservice -# USAGE - python managed_clusters_create_node_auto_provisioning.py - - Before run the sample, please set the values of the client ID, tenant ID and client secret - of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID, - AZURE_CLIENT_SECRET. For more info about how to get the value, please see: - https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal -""" - - -def main(): - client = ContainerServiceClient( - credential=DefaultAzureCredential(), - subscription_id="SUBSCRIPTION_ID", - ) - - response = client.managed_clusters.begin_create_or_update( - resource_group_name="rg1", - resource_name="clustername1", - parameters={ - "location": "location1", - "properties": { - "addonProfiles": {}, - "agentPoolProfiles": [ - { - "count": 3, - "enableNodePublicIP": True, - "mode": "System", - "name": "nodepool1", - "osType": "Linux", - "type": "VirtualMachineScaleSets", - "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"}, - }, - ).result() - print(response) - - -# x-ms-original-file: 2026-05-02-preview/ManagedClustersCreate_NodeAutoProvisioning.json -if __name__ == "__main__": - main() diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_create_node_public_ip_prefix.py b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_create_node_public_ip_prefix.py index 8c5f73c85209..91b329657f09 100644 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_create_node_public_ip_prefix.py +++ b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_create_node_public_ip_prefix.py @@ -71,6 +71,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-02-preview/ManagedClustersCreate_NodePublicIPPrefix.json +# x-ms-original-file: 2026-05-01/ManagedClustersCreate_NodePublicIPPrefix.json if __name__ == "__main__": main() diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_create_ossku.py b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_create_ossku.py index 5dc2129f727f..c82d95cbb38b 100644 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_create_ossku.py +++ b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_create_ossku.py @@ -77,6 +77,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-02-preview/ManagedClustersCreate_OSSKU.json +# x-ms-original-file: 2026-05-01/ManagedClustersCreate_OSSKU.json if __name__ == "__main__": main() diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_create_pod_identity.py b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_create_pod_identity.py index 8e4bf24dde69..99769158e1a9 100644 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_create_pod_identity.py +++ b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_create_pod_identity.py @@ -71,6 +71,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-02-preview/ManagedClustersCreate_PodIdentity.json +# x-ms-original-file: 2026-05-01/ManagedClustersCreate_PodIdentity.json if __name__ == "__main__": main() diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_create_ppg.py b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_create_ppg.py index be1724709481..c8da539201c6 100644 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_create_ppg.py +++ b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_create_ppg.py @@ -71,6 +71,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-02-preview/ManagedClustersCreate_PPG.json +# x-ms-original-file: 2026-05-01/ManagedClustersCreate_PPG.json if __name__ == "__main__": main() diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_create_premium.py b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_create_premium.py index 40665b4fe660..75be19ba2f6c 100644 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_create_premium.py +++ b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_create_premium.py @@ -71,6 +71,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-02-preview/ManagedClustersCreate_Premium.json +# x-ms-original-file: 2026-05-01/ManagedClustersCreate_Premium.json if __name__ == "__main__": main() diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_create_private_cluster_fqdn_subdomain.py b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_create_private_cluster_fqdn_subdomain.py index a6c555271a63..6e23628cdf3c 100644 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_create_private_cluster_fqdn_subdomain.py +++ b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_create_private_cluster_fqdn_subdomain.py @@ -74,6 +74,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-02-preview/ManagedClustersCreate_PrivateClusterFQDNSubdomain.json +# x-ms-original-file: 2026-05-01/ManagedClustersCreate_PrivateClusterFQDNSubdomain.json if __name__ == "__main__": main() diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_create_private_cluster_public_fqdn.py b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_create_private_cluster_public_fqdn.py index 94722de0f995..fe636db43fe9 100644 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_create_private_cluster_public_fqdn.py +++ b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_create_private_cluster_public_fqdn.py @@ -70,6 +70,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-02-preview/ManagedClustersCreate_PrivateClusterPublicFQDN.json +# x-ms-original-file: 2026-05-01/ManagedClustersCreate_PrivateClusterPublicFQDN.json if __name__ == "__main__": main() diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_create_security_profile.py b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_create_security_profile.py index ba2b7fad444c..7fb1c9918c15 100644 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_create_security_profile.py +++ b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_create_security_profile.py @@ -59,21 +59,9 @@ def main(): "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}, - } + }, + "workloadIdentity": {"enabled": True}, }, }, "sku": {"name": "Basic", "tier": "Free"}, @@ -83,6 +71,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-02-preview/ManagedClustersCreate_SecurityProfile.json +# x-ms-original-file: 2026-05-01/ManagedClustersCreate_SecurityProfile.json if __name__ == "__main__": main() diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_create_snapshot.py b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_create_snapshot.py index 3fdd7898ab1d..c983a6f0c780 100644 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_create_snapshot.py +++ b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_create_snapshot.py @@ -74,6 +74,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-02-preview/ManagedClustersCreate_Snapshot.json +# x-ms-original-file: 2026-05-01/ManagedClustersCreate_Snapshot.json if __name__ == "__main__": main() diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_create_update.py b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_create_update.py index f34fded3387e..4f94918f5cfd 100644 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_create_update.py +++ b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_create_update.py @@ -77,7 +77,7 @@ def main(): "outboundType": "loadBalancer", }, "servicePrincipalProfile": {"clientId": "clientid", "secret": "secret"}, - "upgradeSettings": {"overrideSettings": {"forceUpgrade": True, "until": "2022-11-01T13:00:00Z"}}, + "upgradeSettings": {"overrideSettings": {"forceUpgrade": False, "until": "2022-11-01T13:00:00Z"}}, "windowsProfile": {"adminPassword": "replacePassword1234$", "adminUsername": "azureuser"}, }, "sku": {"name": "Basic", "tier": "Free"}, @@ -87,6 +87,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-02-preview/ManagedClustersCreate_Update.json +# x-ms-original-file: 2026-05-01/ManagedClustersCreate_Update.json if __name__ == "__main__": main() diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_create_update_windows_gmsa.py b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_create_update_windows_gmsa.py index 73f7805246d3..80850d6e6803 100644 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_create_update_windows_gmsa.py +++ b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_create_update_windows_gmsa.py @@ -81,6 +81,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-02-preview/ManagedClustersCreate_UpdateWindowsGmsa.json +# x-ms-original-file: 2026-05-01/ManagedClustersCreate_UpdateWindowsGmsa.json if __name__ == "__main__": main() diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_create_update_with_ahub.py b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_create_update_with_ahub.py index 80b28a2dfd89..92f6869ced6f 100644 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_create_update_with_ahub.py +++ b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_create_update_with_ahub.py @@ -81,6 +81,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-02-preview/ManagedClustersCreate_UpdateWithAHUB.json +# x-ms-original-file: 2026-05-01/ManagedClustersCreate_UpdateWithAHUB.json if __name__ == "__main__": main() diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_create_update_with_enable_azure_rbac.py b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_create_update_with_enable_azure_rbac.py index 9fffbc3f1193..d3413dcaf10d 100644 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_create_update_with_enable_azure_rbac.py +++ b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_create_update_with_enable_azure_rbac.py @@ -72,6 +72,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-02-preview/ManagedClustersCreate_UpdateWithEnableAzureRBAC.json +# x-ms-original-file: 2026-05-01/ManagedClustersCreate_UpdateWithEnableAzureRBAC.json if __name__ == "__main__": main() diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_create_update_with_enable_namespace_resources.py b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_create_update_with_enable_namespace_resources.py deleted file mode 100644 index 17dba8ba27bf..000000000000 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_create_update_with_enable_namespace_resources.py +++ /dev/null @@ -1,77 +0,0 @@ -# pylint: disable=line-too-long,useless-suppression -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# Code generated by Microsoft (R) Python Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is regenerated. -# -------------------------------------------------------------------------- - -from azure.identity import DefaultAzureCredential - -from azure.mgmt.containerservice import ContainerServiceClient - -""" -# PREREQUISITES - pip install azure-identity - pip install azure-mgmt-containerservice -# USAGE - python managed_clusters_create_update_with_enable_namespace_resources.py - - Before run the sample, please set the values of the client ID, tenant ID and client secret - of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID, - AZURE_CLIENT_SECRET. For more info about how to get the value, please see: - https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal -""" - - -def main(): - client = ContainerServiceClient( - credential=DefaultAzureCredential(), - subscription_id="SUBSCRIPTION_ID", - ) - - response = client.managed_clusters.begin_create_or_update( - resource_group_name="rg1", - resource_name="clustername1", - parameters={ - "location": "location1", - "properties": { - "addonProfiles": {}, - "agentPoolProfiles": [ - { - "availabilityZones": ["1", "2", "3"], - "count": 3, - "enableNodePublicIP": True, - "mode": "System", - "name": "nodepool1", - "osType": "Linux", - "type": "VirtualMachineScaleSets", - "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"}, - }, - ).result() - print(response) - - -# x-ms-original-file: 2026-05-02-preview/ManagedClustersCreate_UpdateWithEnableNamespaceResources.json -if __name__ == "__main__": - main() diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_create_user_assigned_nat_gateway.py b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_create_user_assigned_nat_gateway.py index af1754bc75b5..b04d887b8753 100644 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_create_user_assigned_nat_gateway.py +++ b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_create_user_assigned_nat_gateway.py @@ -66,6 +66,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-02-preview/ManagedClustersCreate_UserAssignedNATGateway.json +# x-ms-original-file: 2026-05-01/ManagedClustersCreate_UserAssignedNATGateway.json if __name__ == "__main__": main() diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_create_virtual_machines.py b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_create_virtual_machines.py deleted file mode 100644 index fe812c73d721..000000000000 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_create_virtual_machines.py +++ /dev/null @@ -1,73 +0,0 @@ -# pylint: disable=line-too-long,useless-suppression -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# Code generated by Microsoft (R) Python Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is regenerated. -# -------------------------------------------------------------------------- - -from azure.identity import DefaultAzureCredential - -from azure.mgmt.containerservice import ContainerServiceClient - -""" -# PREREQUISITES - pip install azure-identity - pip install azure-mgmt-containerservice -# USAGE - python managed_clusters_create_virtual_machines.py - - Before run the sample, please set the values of the client ID, tenant ID and client secret - of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID, - AZURE_CLIENT_SECRET. For more info about how to get the value, please see: - https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal -""" - - -def main(): - client = ContainerServiceClient( - credential=DefaultAzureCredential(), - subscription_id="SUBSCRIPTION_ID", - ) - - response = client.managed_clusters.begin_create_or_update( - resource_group_name="rg1", - resource_name="clustername1", - parameters={ - "location": "location1", - "properties": { - "addonProfiles": {}, - "agentPoolProfiles": [ - { - "count": 3, - "enableFIPS": True, - "mode": "System", - "name": "nodepool1", - "osType": "Linux", - "type": "VirtualMachines", - "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"}, - }, - ).result() - print(response) - - -# x-ms-original-file: 2026-05-02-preview/ManagedClustersCreate_VirtualMachines.json -if __name__ == "__main__": - main() diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_delete.py b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_delete.py index b9d532ee8898..0c3e1f9b068e 100644 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_delete.py +++ b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_delete.py @@ -36,6 +36,6 @@ def main(): ).result() -# x-ms-original-file: 2026-05-02-preview/ManagedClustersDelete.json +# x-ms-original-file: 2026-05-01/ManagedClustersDelete.json if __name__ == "__main__": main() diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_get.py b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_get.py index 00243f74074e..8f6210a4620f 100644 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_get.py +++ b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_get.py @@ -37,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-02-preview/ManagedClustersGet.json +# x-ms-original-file: 2026-05-01/ManagedClustersGet.json if __name__ == "__main__": main() diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_get_access_profile.py b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_get_access_profile.py index 879e8e78ffe6..9eaf6681f358 100644 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_get_access_profile.py +++ b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_get_access_profile.py @@ -38,6 +38,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-02-preview/ManagedClustersGetAccessProfile.json +# x-ms-original-file: 2026-05-01/ManagedClustersGetAccessProfile.json if __name__ == "__main__": main() diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_get_mesh_revision_profile.py b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_get_mesh_revision_profile.py index 159fd817a353..296bbffb7491 100644 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_get_mesh_revision_profile.py +++ b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_get_mesh_revision_profile.py @@ -37,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-02-preview/ManagedClustersGet_MeshRevisionProfile.json +# x-ms-original-file: 2026-05-01/ManagedClustersGet_MeshRevisionProfile.json if __name__ == "__main__": main() diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_get_mesh_upgrade_profile.py b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_get_mesh_upgrade_profile.py index 60a2eb443cea..6ed1e8491dc4 100644 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_get_mesh_upgrade_profile.py +++ b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_get_mesh_upgrade_profile.py @@ -38,6 +38,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-02-preview/ManagedClustersGet_MeshUpgradeProfile.json +# x-ms-original-file: 2026-05-01/ManagedClustersGet_MeshUpgradeProfile.json if __name__ == "__main__": main() diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_get_upgrade_profile.py b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_get_upgrade_profile.py index fdcf33c9f62b..144363b6bfa9 100644 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_get_upgrade_profile.py +++ b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_get_upgrade_profile.py @@ -37,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-02-preview/ManagedClustersGetUpgradeProfile.json +# x-ms-original-file: 2026-05-01/ManagedClustersGetUpgradeProfile.json if __name__ == "__main__": main() diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_list.py b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_list.py index 4cf9bcee8513..f44d70c66110 100644 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_list.py +++ b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_list.py @@ -35,6 +35,6 @@ def main(): print(item) -# x-ms-original-file: 2026-05-02-preview/ManagedClustersList.json +# x-ms-original-file: 2026-05-01/ManagedClustersList.json if __name__ == "__main__": main() diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_list_by_resource_group.py b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_list_by_resource_group.py index ef0562f8d015..1d310f8055d1 100644 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_list_by_resource_group.py +++ b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_list_by_resource_group.py @@ -37,6 +37,6 @@ def main(): print(item) -# x-ms-original-file: 2026-05-02-preview/ManagedClustersListByResourceGroup.json +# x-ms-original-file: 2026-05-01/ManagedClustersListByResourceGroup.json if __name__ == "__main__": main() diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_list_cluster_admin_credentials.py b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_list_cluster_admin_credentials.py index f83ba2ede7fa..144af94a723e 100644 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_list_cluster_admin_credentials.py +++ b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_list_cluster_admin_credentials.py @@ -37,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-02-preview/ManagedClustersListClusterAdminCredentials.json +# x-ms-original-file: 2026-05-01/ManagedClustersListClusterAdminCredentials.json if __name__ == "__main__": main() diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_list_cluster_credential_result.py b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_list_cluster_monitoring_user_credentials.py similarity index 89% rename from sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_list_cluster_credential_result.py rename to sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_list_cluster_monitoring_user_credentials.py index 952039d48eda..ede6bfa3739d 100644 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_list_cluster_credential_result.py +++ b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_list_cluster_monitoring_user_credentials.py @@ -15,7 +15,7 @@ pip install azure-identity pip install azure-mgmt-containerservice # USAGE - python managed_clusters_list_cluster_credential_result.py + python managed_clusters_list_cluster_monitoring_user_credentials.py Before run the sample, please set the values of the client ID, tenant ID and client secret of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID, @@ -37,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-02-preview/ManagedClustersListClusterCredentialResult.json +# x-ms-original-file: 2026-05-01/ManagedClustersListClusterMonitoringUserCredentials.json if __name__ == "__main__": main() diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_list_cluster_user_credentials.py b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_list_cluster_user_credentials.py index 3a10a06fb59b..204599654922 100644 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_list_cluster_user_credentials.py +++ b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_list_cluster_user_credentials.py @@ -37,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-02-preview/ManagedClustersListClusterUserCredentials.json +# x-ms-original-file: 2026-05-01/ManagedClustersListClusterUserCredentials.json if __name__ == "__main__": main() diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_list_mesh_revision_profiles.py b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_list_mesh_revision_profiles.py index b2a13928b611..8229f2767922 100644 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_list_mesh_revision_profiles.py +++ b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_list_mesh_revision_profiles.py @@ -37,6 +37,6 @@ def main(): print(item) -# x-ms-original-file: 2026-05-02-preview/ManagedClustersList_MeshRevisionProfiles.json +# x-ms-original-file: 2026-05-01/ManagedClustersList_MeshRevisionProfiles.json if __name__ == "__main__": main() diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_list_mesh_upgrade_profiles.py b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_list_mesh_upgrade_profiles.py index 1f0c131f6a63..2f681162629c 100644 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_list_mesh_upgrade_profiles.py +++ b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_list_mesh_upgrade_profiles.py @@ -38,6 +38,6 @@ def main(): print(item) -# x-ms-original-file: 2026-05-02-preview/ManagedClustersList_MeshUpgradeProfiles.json +# x-ms-original-file: 2026-05-01/ManagedClustersList_MeshUpgradeProfiles.json if __name__ == "__main__": main() diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_reset_aad_profile.py b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_reset_aad_profile.py index 78d06b81f007..56e677f42d31 100644 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_reset_aad_profile.py +++ b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_reset_aad_profile.py @@ -42,6 +42,6 @@ def main(): ).result() -# x-ms-original-file: 2026-05-02-preview/ManagedClustersResetAADProfile.json +# x-ms-original-file: 2026-05-01/ManagedClustersResetAADProfile.json if __name__ == "__main__": main() diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_reset_service_principal_profile.py b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_reset_service_principal_profile.py index 9bea0198dc88..50fd0dcb9046 100644 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_reset_service_principal_profile.py +++ b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_reset_service_principal_profile.py @@ -37,6 +37,6 @@ def main(): ).result() -# x-ms-original-file: 2026-05-02-preview/ManagedClustersResetServicePrincipalProfile.json +# x-ms-original-file: 2026-05-01/ManagedClustersResetServicePrincipalProfile.json if __name__ == "__main__": main() diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_rotate_cluster_certificates.py b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_rotate_cluster_certificates.py index 56485eb6e491..90112a9c8eb5 100644 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_rotate_cluster_certificates.py +++ b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_rotate_cluster_certificates.py @@ -36,6 +36,6 @@ def main(): ).result() -# x-ms-original-file: 2026-05-02-preview/ManagedClustersRotateClusterCertificates.json +# x-ms-original-file: 2026-05-01/ManagedClustersRotateClusterCertificates.json if __name__ == "__main__": main() diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_rotate_service_account_signing_keys.py b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_rotate_service_account_signing_keys.py index 415c84746637..a9a51a49a6a9 100644 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_rotate_service_account_signing_keys.py +++ b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_rotate_service_account_signing_keys.py @@ -36,6 +36,6 @@ def main(): ).result() -# x-ms-original-file: 2026-05-02-preview/ManagedClustersRotateServiceAccountSigningKeys.json +# x-ms-original-file: 2026-05-01/ManagedClustersRotateServiceAccountSigningKeys.json if __name__ == "__main__": main() diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_start.py b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_start.py index cdca660bd9ce..a475d287c95d 100644 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_start.py +++ b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_start.py @@ -36,6 +36,6 @@ def main(): ).result() -# x-ms-original-file: 2026-05-02-preview/ManagedClustersStart.json +# x-ms-original-file: 2026-05-01/ManagedClustersStart.json if __name__ == "__main__": main() diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_stop.py b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_stop.py index 6bb63ee07640..be959e8c89ee 100644 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_stop.py +++ b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_stop.py @@ -36,6 +36,6 @@ def main(): ).result() -# x-ms-original-file: 2026-05-02-preview/ManagedClustersStop.json +# x-ms-original-file: 2026-05-01/ManagedClustersStop.json if __name__ == "__main__": main() diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_update_tags.py b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_update_tags.py index 3a11fb797405..e4a5a04f74b7 100644 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_update_tags.py +++ b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_clusters_update_tags.py @@ -38,6 +38,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-02-preview/ManagedClustersUpdateTags.json +# x-ms-original-file: 2026-05-01/ManagedClustersUpdateTags.json if __name__ == "__main__": main() diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_namespaces_create_update.py b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_namespaces_create_update.py index 6427d8d8163b..34af4497dba1 100644 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_namespaces_create_update.py +++ b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_namespaces_create_update.py @@ -55,6 +55,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-02-preview/ManagedNamespacesCreate_Update.json +# x-ms-original-file: 2026-05-01/ManagedNamespacesCreate_Update.json if __name__ == "__main__": main() diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_namespaces_delete.py b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_namespaces_delete.py index 46551f46260e..0c0c4c74deda 100644 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_namespaces_delete.py +++ b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_namespaces_delete.py @@ -37,6 +37,6 @@ def main(): ).result() -# x-ms-original-file: 2026-05-02-preview/ManagedNamespacesDelete.json +# x-ms-original-file: 2026-05-01/ManagedNamespacesDelete.json if __name__ == "__main__": main() diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_namespaces_get.py b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_namespaces_get.py index f44b95a44b8d..1a4f1a62e4cb 100644 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_namespaces_get.py +++ b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_namespaces_get.py @@ -38,6 +38,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-02-preview/ManagedNamespacesGet.json +# x-ms-original-file: 2026-05-01/ManagedNamespacesGet.json if __name__ == "__main__": main() diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_namespaces_list.py b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_namespaces_list.py index 5c4dc32f2366..fa682cd768d4 100644 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_namespaces_list.py +++ b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_namespaces_list.py @@ -38,6 +38,6 @@ def main(): print(item) -# x-ms-original-file: 2026-05-02-preview/ManagedNamespacesList.json +# x-ms-original-file: 2026-05-01/ManagedNamespacesList.json if __name__ == "__main__": main() diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_namespaces_list_credential_result.py b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_namespaces_list_credential_result.py index ae59218cc3ce..7a844386be94 100644 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_namespaces_list_credential_result.py +++ b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_namespaces_list_credential_result.py @@ -38,6 +38,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-02-preview/ManagedNamespacesListCredentialResult.json +# x-ms-original-file: 2026-05-01/ManagedNamespacesListCredentialResult.json if __name__ == "__main__": main() diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_namespaces_update_tags.py b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_namespaces_update_tags.py index e9fd1ab4cf77..b5c22b62d186 100644 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_namespaces_update_tags.py +++ b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/managed_namespaces_update_tags.py @@ -39,6 +39,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-02-preview/ManagedNamespacesUpdateTags.json +# x-ms-original-file: 2026-05-01/ManagedNamespacesUpdateTags.json if __name__ == "__main__": main() diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/mesh_memberships_create_or_update.py b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/mesh_memberships_create_or_update.py deleted file mode 100644 index 2e00ea58a33c..000000000000 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/mesh_memberships_create_or_update.py +++ /dev/null @@ -1,49 +0,0 @@ -# pylint: disable=line-too-long,useless-suppression -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# Code generated by Microsoft (R) Python Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is regenerated. -# -------------------------------------------------------------------------- - -from azure.identity import DefaultAzureCredential - -from azure.mgmt.containerservice import ContainerServiceClient - -""" -# PREREQUISITES - pip install azure-identity - pip install azure-mgmt-containerservice -# USAGE - python mesh_memberships_create_or_update.py - - Before run the sample, please set the values of the client ID, tenant ID and client secret - of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID, - AZURE_CLIENT_SECRET. For more info about how to get the value, please see: - https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal -""" - - -def main(): - client = ContainerServiceClient( - credential=DefaultAzureCredential(), - subscription_id="SUBSCRIPTION_ID", - ) - - response = client.mesh_memberships.begin_create_or_update( - resource_group_name="rg1", - resource_name="clustername1", - mesh_membership_name="meshmembership1", - parameters={ - "properties": { - "managedMeshID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.AppLink/applinks/applink1/appLinkMembers/member1" - } - }, - ).result() - print(response) - - -# x-ms-original-file: 2026-05-02-preview/MeshMemberships_CreateOrUpdate.json -if __name__ == "__main__": - main() diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/mesh_memberships_delete.py b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/mesh_memberships_delete.py deleted file mode 100644 index 438c29bb8a13..000000000000 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/mesh_memberships_delete.py +++ /dev/null @@ -1,42 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# Code generated by Microsoft (R) Python Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is regenerated. -# -------------------------------------------------------------------------- - -from azure.identity import DefaultAzureCredential - -from azure.mgmt.containerservice import ContainerServiceClient - -""" -# PREREQUISITES - pip install azure-identity - pip install azure-mgmt-containerservice -# USAGE - python mesh_memberships_delete.py - - Before run the sample, please set the values of the client ID, tenant ID and client secret - of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID, - AZURE_CLIENT_SECRET. For more info about how to get the value, please see: - https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal -""" - - -def main(): - client = ContainerServiceClient( - credential=DefaultAzureCredential(), - subscription_id="SUBSCRIPTION_ID", - ) - - client.mesh_memberships.begin_delete( - resource_group_name="rg1", - resource_name="clustername1", - mesh_membership_name="meshmembership1", - ).result() - - -# x-ms-original-file: 2026-05-02-preview/MeshMemberships_Delete.json -if __name__ == "__main__": - main() diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/mesh_memberships_get.py b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/mesh_memberships_get.py deleted file mode 100644 index 801dca8b297f..000000000000 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/mesh_memberships_get.py +++ /dev/null @@ -1,43 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# Code generated by Microsoft (R) Python Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is regenerated. -# -------------------------------------------------------------------------- - -from azure.identity import DefaultAzureCredential - -from azure.mgmt.containerservice import ContainerServiceClient - -""" -# PREREQUISITES - pip install azure-identity - pip install azure-mgmt-containerservice -# USAGE - python mesh_memberships_get.py - - Before run the sample, please set the values of the client ID, tenant ID and client secret - of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID, - AZURE_CLIENT_SECRET. For more info about how to get the value, please see: - https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal -""" - - -def main(): - client = ContainerServiceClient( - credential=DefaultAzureCredential(), - subscription_id="SUBSCRIPTION_ID", - ) - - response = client.mesh_memberships.get( - resource_group_name="rg1", - resource_name="clustername1", - mesh_membership_name="meshmembership1", - ) - print(response) - - -# x-ms-original-file: 2026-05-02-preview/MeshMemberships_Get.json -if __name__ == "__main__": - main() diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/mesh_memberships_list_by_managed_cluster.py b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/mesh_memberships_list_by_managed_cluster.py deleted file mode 100644 index b86b4217b43e..000000000000 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/mesh_memberships_list_by_managed_cluster.py +++ /dev/null @@ -1,43 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# Code generated by Microsoft (R) Python Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is regenerated. -# -------------------------------------------------------------------------- - -from azure.identity import DefaultAzureCredential - -from azure.mgmt.containerservice import ContainerServiceClient - -""" -# PREREQUISITES - pip install azure-identity - pip install azure-mgmt-containerservice -# USAGE - python mesh_memberships_list_by_managed_cluster.py - - Before run the sample, please set the values of the client ID, tenant ID and client secret - of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID, - AZURE_CLIENT_SECRET. For more info about how to get the value, please see: - https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal -""" - - -def main(): - client = ContainerServiceClient( - credential=DefaultAzureCredential(), - subscription_id="SUBSCRIPTION_ID", - ) - - response = client.mesh_memberships.list_by_managed_cluster( - resource_group_name="rg1", - resource_name="clustername1", - ) - for item in response: - print(item) - - -# x-ms-original-file: 2026-05-02-preview/MeshMemberships_ListByManagedCluster.json -if __name__ == "__main__": - main() diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/node_image_versions_list.py b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/node_image_versions_list.py deleted file mode 100644 index 6accda866df7..000000000000 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/node_image_versions_list.py +++ /dev/null @@ -1,42 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# Code generated by Microsoft (R) Python Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is regenerated. -# -------------------------------------------------------------------------- - -from azure.identity import DefaultAzureCredential - -from azure.mgmt.containerservice import ContainerServiceClient - -""" -# PREREQUISITES - pip install azure-identity - pip install azure-mgmt-containerservice -# USAGE - python node_image_versions_list.py - - Before run the sample, please set the values of the client ID, tenant ID and client secret - of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID, - AZURE_CLIENT_SECRET. For more info about how to get the value, please see: - https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal -""" - - -def main(): - client = ContainerServiceClient( - credential=DefaultAzureCredential(), - subscription_id="SUBSCRIPTION_ID", - ) - - response = client.container_service.list_node_image_versions( - location="location1", - ) - for item in response: - print(item) - - -# x-ms-original-file: 2026-05-02-preview/NodeImageVersions_List.json -if __name__ == "__main__": - main() diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/operation_list.py b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/operation_list.py index fb026014e606..be70530e5753 100644 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/operation_list.py +++ b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/operation_list.py @@ -35,6 +35,6 @@ def main(): print(item) -# x-ms-original-file: 2026-05-02-preview/Operation_List.json +# x-ms-original-file: 2026-05-01/Operation_List.json if __name__ == "__main__": main() diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/operation_status_result_get.py b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/operation_status_result_get.py deleted file mode 100644 index 1022f222aa35..000000000000 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/operation_status_result_get.py +++ /dev/null @@ -1,43 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# Code generated by Microsoft (R) Python Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is regenerated. -# -------------------------------------------------------------------------- - -from azure.identity import DefaultAzureCredential - -from azure.mgmt.containerservice import ContainerServiceClient - -""" -# PREREQUISITES - pip install azure-identity - pip install azure-mgmt-containerservice -# USAGE - python operation_status_result_get.py - - Before run the sample, please set the values of the client ID, tenant ID and client secret - of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID, - AZURE_CLIENT_SECRET. For more info about how to get the value, please see: - https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal -""" - - -def main(): - client = ContainerServiceClient( - credential=DefaultAzureCredential(), - subscription_id="SUBSCRIPTION_ID", - ) - - response = client.operation_status_result.get( - resource_group_name="rg1", - resource_name="clustername1", - operation_id="00000000-0000-0000-0000-000000000001", - ) - print(response) - - -# x-ms-original-file: 2026-05-02-preview/OperationStatusResultGet.json -if __name__ == "__main__": - main() diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/operation_status_result_get_by_agent_pool.py b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/operation_status_result_get_by_agent_pool.py deleted file mode 100644 index 2055efcad4a1..000000000000 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/operation_status_result_get_by_agent_pool.py +++ /dev/null @@ -1,44 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# Code generated by Microsoft (R) Python Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is regenerated. -# -------------------------------------------------------------------------- - -from azure.identity import DefaultAzureCredential - -from azure.mgmt.containerservice import ContainerServiceClient - -""" -# PREREQUISITES - pip install azure-identity - pip install azure-mgmt-containerservice -# USAGE - python operation_status_result_get_by_agent_pool.py - - Before run the sample, please set the values of the client ID, tenant ID and client secret - of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID, - AZURE_CLIENT_SECRET. For more info about how to get the value, please see: - https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal -""" - - -def main(): - client = ContainerServiceClient( - credential=DefaultAzureCredential(), - subscription_id="SUBSCRIPTION_ID", - ) - - response = client.operation_status_result.get_by_agent_pool( - resource_group_name="rg1", - resource_name="clustername1", - agent_pool_name="agentpool1", - operation_id="00000000-0000-0000-0000-000000000001", - ) - print(response) - - -# x-ms-original-file: 2026-05-02-preview/OperationStatusResultGetByAgentPool.json -if __name__ == "__main__": - main() diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/operation_status_result_list.py b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/operation_status_result_list.py deleted file mode 100644 index b0c3fa73681a..000000000000 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/operation_status_result_list.py +++ /dev/null @@ -1,43 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# Code generated by Microsoft (R) Python Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is regenerated. -# -------------------------------------------------------------------------- - -from azure.identity import DefaultAzureCredential - -from azure.mgmt.containerservice import ContainerServiceClient - -""" -# PREREQUISITES - pip install azure-identity - pip install azure-mgmt-containerservice -# USAGE - python operation_status_result_list.py - - Before run the sample, please set the values of the client ID, tenant ID and client secret - of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID, - AZURE_CLIENT_SECRET. For more info about how to get the value, please see: - https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal -""" - - -def main(): - client = ContainerServiceClient( - credential=DefaultAzureCredential(), - subscription_id="SUBSCRIPTION_ID", - ) - - response = client.operation_status_result.list( - resource_group_name="rg1", - resource_name="clustername1", - ) - for item in response: - print(item) - - -# x-ms-original-file: 2026-05-02-preview/OperationStatusResultList.json -if __name__ == "__main__": - main() diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/outbound_network_dependencies_endpoints_list.py b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/outbound_network_dependencies_endpoints_list.py index 59f33dc2734b..fe64a848a888 100644 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/outbound_network_dependencies_endpoints_list.py +++ b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/outbound_network_dependencies_endpoints_list.py @@ -38,6 +38,6 @@ def main(): print(item) -# x-ms-original-file: 2026-05-02-preview/OutboundNetworkDependenciesEndpointsList.json +# x-ms-original-file: 2026-05-01/OutboundNetworkDependenciesEndpointsList.json if __name__ == "__main__": main() diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/private_endpoint_connections_delete.py b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/private_endpoint_connections_delete.py index a98d7489525b..72648498dfe6 100644 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/private_endpoint_connections_delete.py +++ b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/private_endpoint_connections_delete.py @@ -37,6 +37,6 @@ def main(): ).result() -# x-ms-original-file: 2026-05-02-preview/PrivateEndpointConnectionsDelete.json +# x-ms-original-file: 2026-05-01/PrivateEndpointConnectionsDelete.json if __name__ == "__main__": main() diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/private_endpoint_connections_get.py b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/private_endpoint_connections_get.py index 61bfdd05c29b..12139daaafa7 100644 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/private_endpoint_connections_get.py +++ b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/private_endpoint_connections_get.py @@ -38,6 +38,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-02-preview/PrivateEndpointConnectionsGet.json +# x-ms-original-file: 2026-05-01/PrivateEndpointConnectionsGet.json if __name__ == "__main__": main() diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/private_endpoint_connections_list.py b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/private_endpoint_connections_list.py index bb4cb3eded24..63516687ff49 100644 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/private_endpoint_connections_list.py +++ b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/private_endpoint_connections_list.py @@ -37,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-02-preview/PrivateEndpointConnectionsList.json +# x-ms-original-file: 2026-05-01/PrivateEndpointConnectionsList.json if __name__ == "__main__": main() diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/private_endpoint_connections_update.py b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/private_endpoint_connections_update.py index 868fdca2341e..6dcbb3920f31 100644 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/private_endpoint_connections_update.py +++ b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/private_endpoint_connections_update.py @@ -39,6 +39,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-02-preview/PrivateEndpointConnectionsUpdate.json +# x-ms-original-file: 2026-05-01/PrivateEndpointConnectionsUpdate.json if __name__ == "__main__": main() diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/private_link_resources_list.py b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/private_link_resources_list.py index 12c25f446c70..03840e013ca1 100644 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/private_link_resources_list.py +++ b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/private_link_resources_list.py @@ -37,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-02-preview/PrivateLinkResourcesList.json +# x-ms-original-file: 2026-05-01/PrivateLinkResourcesList.json if __name__ == "__main__": main() diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/resolve_private_link_service_id.py b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/resolve_private_link_service_id.py index ca213e1d005e..14f5f02b1ff8 100644 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/resolve_private_link_service_id.py +++ b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/resolve_private_link_service_id.py @@ -38,6 +38,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-02-preview/ResolvePrivateLinkServiceId.json +# x-ms-original-file: 2026-05-01/ResolvePrivateLinkServiceId.json if __name__ == "__main__": main() diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/run_command_request.py b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/run_command_request.py index f02f1c0fa97c..ac8f36850d38 100644 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/run_command_request.py +++ b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/run_command_request.py @@ -38,6 +38,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-02-preview/RunCommandRequest.json +# x-ms-original-file: 2026-05-01/RunCommandRequest.json if __name__ == "__main__": main() diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/run_command_result_failed.py b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/run_command_result_failed.py index 824a4ed02130..8ddf9a18a40f 100644 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/run_command_result_failed.py +++ b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/run_command_result_failed.py @@ -38,6 +38,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-02-preview/RunCommandResultFailed.json +# x-ms-original-file: 2026-05-01/RunCommandResultFailed.json if __name__ == "__main__": main() diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/run_command_result_succeed.py b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/run_command_result_succeed.py index 2f3d4215cc10..8827243362d1 100644 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/run_command_result_succeed.py +++ b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/run_command_result_succeed.py @@ -38,6 +38,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-02-preview/RunCommandResultSucceed.json +# x-ms-original-file: 2026-05-01/RunCommandResultSucceed.json if __name__ == "__main__": main() diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/snapshots_create.py b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/snapshots_create.py index 41b3ed26ee37..ae2f56ca9294 100644 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/snapshots_create.py +++ b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/snapshots_create.py @@ -47,6 +47,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-02-preview/SnapshotsCreate.json +# x-ms-original-file: 2026-05-01/SnapshotsCreate.json if __name__ == "__main__": main() diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/snapshots_delete.py b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/snapshots_delete.py index 9dd4d0aaac2f..050ce09ff8ea 100644 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/snapshots_delete.py +++ b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/snapshots_delete.py @@ -36,6 +36,6 @@ def main(): ) -# x-ms-original-file: 2026-05-02-preview/SnapshotsDelete.json +# x-ms-original-file: 2026-05-01/SnapshotsDelete.json if __name__ == "__main__": main() diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/snapshots_get.py b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/snapshots_get.py index 0fe364d8652e..c1e9c41ee812 100644 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/snapshots_get.py +++ b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/snapshots_get.py @@ -37,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-02-preview/SnapshotsGet.json +# x-ms-original-file: 2026-05-01/SnapshotsGet.json if __name__ == "__main__": main() diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/snapshots_list.py b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/snapshots_list.py index 268be0bf37cc..24d734ba6075 100644 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/snapshots_list.py +++ b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/snapshots_list.py @@ -35,6 +35,6 @@ def main(): print(item) -# x-ms-original-file: 2026-05-02-preview/SnapshotsList.json +# x-ms-original-file: 2026-05-01/SnapshotsList.json if __name__ == "__main__": main() diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/snapshots_list_by_resource_group.py b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/snapshots_list_by_resource_group.py index 2adb64be4193..9c7e3402c6e5 100644 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/snapshots_list_by_resource_group.py +++ b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/snapshots_list_by_resource_group.py @@ -37,6 +37,6 @@ def main(): print(item) -# x-ms-original-file: 2026-05-02-preview/SnapshotsListByResourceGroup.json +# x-ms-original-file: 2026-05-01/SnapshotsListByResourceGroup.json if __name__ == "__main__": main() diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/snapshots_update_tags.py b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/snapshots_update_tags.py index abbd1d2ca341..5451013cea52 100644 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/snapshots_update_tags.py +++ b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/snapshots_update_tags.py @@ -38,6 +38,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-02-preview/SnapshotsUpdateTags.json +# x-ms-original-file: 2026-05-01/SnapshotsUpdateTags.json if __name__ == "__main__": main() diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/trusted_access_role_bindings_create_or_update.py b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/trusted_access_role_bindings_create_or_update.py index 75962ea52c68..aecc8130b27b 100644 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/trusted_access_role_bindings_create_or_update.py +++ b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/trusted_access_role_bindings_create_or_update.py @@ -48,6 +48,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-02-preview/TrustedAccessRoleBindings_CreateOrUpdate.json +# x-ms-original-file: 2026-05-01/TrustedAccessRoleBindings_CreateOrUpdate.json if __name__ == "__main__": main() diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/trusted_access_role_bindings_delete.py b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/trusted_access_role_bindings_delete.py index 35b45cdb2ab4..151dacc53e71 100644 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/trusted_access_role_bindings_delete.py +++ b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/trusted_access_role_bindings_delete.py @@ -37,6 +37,6 @@ def main(): ).result() -# x-ms-original-file: 2026-05-02-preview/TrustedAccessRoleBindings_Delete.json +# x-ms-original-file: 2026-05-01/TrustedAccessRoleBindings_Delete.json if __name__ == "__main__": main() diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/trusted_access_role_bindings_get.py b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/trusted_access_role_bindings_get.py index c32f5b7c7233..11b243d2a40f 100644 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/trusted_access_role_bindings_get.py +++ b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/trusted_access_role_bindings_get.py @@ -38,6 +38,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-02-preview/TrustedAccessRoleBindings_Get.json +# x-ms-original-file: 2026-05-01/TrustedAccessRoleBindings_Get.json if __name__ == "__main__": main() diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/trusted_access_role_bindings_list.py b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/trusted_access_role_bindings_list.py index d453cb06ea5b..b8ba5e09f59c 100644 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/trusted_access_role_bindings_list.py +++ b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/trusted_access_role_bindings_list.py @@ -38,6 +38,6 @@ def main(): print(item) -# x-ms-original-file: 2026-05-02-preview/TrustedAccessRoleBindings_List.json +# x-ms-original-file: 2026-05-01/TrustedAccessRoleBindings_List.json if __name__ == "__main__": main() diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/trusted_access_roles_list.py b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/trusted_access_roles_list.py index 8f46c27e14ec..0b8111ec8819 100644 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_samples/trusted_access_roles_list.py +++ b/sdk/containerservice/azure-mgmt-containerservice/generated_samples/trusted_access_roles_list.py @@ -37,6 +37,6 @@ def main(): print(item) -# x-ms-original-file: 2026-05-02-preview/TrustedAccessRoles_List.json +# x-ms-original-file: 2026-05-01/TrustedAccessRoles_List.json if __name__ == "__main__": main() diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_tests/test_container_service_agent_pools_operations.py b/sdk/containerservice/azure-mgmt-containerservice/generated_tests/test_container_service_agent_pools_operations.py index fc64f907b2b5..cd6c054edaa6 100644 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_tests/test_container_service_agent_pools_operations.py +++ b/sdk/containerservice/azure-mgmt-containerservice/generated_tests/test_container_service_agent_pools_operations.py @@ -52,15 +52,10 @@ def test_agent_pools_begin_create_or_update(self, resource_group): "enableEncryptionAtHost": bool, "enableFIPS": bool, "enableNodePublicIP": bool, - "enableOSDiskFullCaching": bool, "enableUltraSSD": bool, "gatewayProfile": {"publicIPPrefixSize": 0}, "gpuInstanceProfile": "str", - "gpuProfile": { - "driver": "str", - "driverType": "str", - "nvidia": {"managementMode": "str", "migStrategy": "str"}, - }, + "gpuProfile": {"driver": "str"}, "hostGroupID": "str", "kubeletConfig": { "allowedUnsafeSysctls": ["str"], @@ -70,16 +65,9 @@ def test_agent_pools_begin_create_or_update(self, resource_group): "cpuCfsQuotaPeriod": "str", "cpuManagerPolicy": "str", "failSwapOn": bool, - "hardEvictionThreshold": { - "memoryAvailable": "str", - "nodeFsAvailable": "str", - "nodeFsInodesFree": "str", - }, "imageGcHighThreshold": 0, "imageGcLowThreshold": 0, - "kubeReserved": {"cpuMillicores": 0, "memoryMB": 0}, "podMaxPids": 0, - "seccompDefault": "str", "topologyManagerPolicy": "str", }, "kubeletDiskType": "str", @@ -154,14 +142,9 @@ def test_agent_pools_begin_create_or_update(self, resource_group): "networkProfile": { "allowedHostPorts": [{"portEnd": 0, "portStart": 0, "protocol": "str"}], "applicationSecurityGroups": ["str"], - "nodePublicIPPrefixIDs": ["str"], "nodePublicIPTags": [{"ipTagType": "str", "tag": "str"}], - "secondaryNetworkInterfaces": [ - {"enableAcceleratedNetworking": bool, "type": "str", "vnetSubnetId": "str"} - ], }, "nodeImageVersion": "str", - "nodeInitializationTaints": ["str"], "nodeLabels": {"str": "str"}, "nodePublicIPPrefixID": "str", "nodeTaints": ["str"], @@ -173,7 +156,6 @@ def test_agent_pools_begin_create_or_update(self, resource_group): "podIPAllocationMode": "str", "podSubnetID": "str", "powerState": {"code": "str"}, - "preparedImageSpecificationProfile": {"preparedImageSpecificationId": "str"}, "provisioningState": "str", "proximityPlacementGroupID": "str", "scaleDownMode": "str", @@ -194,19 +176,11 @@ def test_agent_pools_begin_create_or_update(self, resource_group): "type": "str", "upgradeSettings": { "drainTimeoutInMinutes": 0, - "maxBlockedNodes": "str", "maxSurge": "str", "maxUnavailable": "str", "nodeSoakDurationInMinutes": 0, "undrainableNodeBehavior": "str", }, - "upgradeSettingsBlueGreen": { - "batchSoakDurationInMinutes": 0, - "drainBatchSize": "str", - "drainTimeoutInMinutes": 0, - "finalSoakDurationInMinutes": 0, - }, - "upgradeStrategy": "str", "virtualMachineNodesStatus": [{"count": 0, "size": "str"}], "virtualMachinesProfile": { "scale": { @@ -269,18 +243,6 @@ def test_agent_pools_begin_abort_latest_operation(self, resource_group): # please add some check logic here by yourself # ... - @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) - @recorded_by_proxy - def test_agent_pools_begin_complete_upgrade(self, resource_group): - response = self.client.agent_pools.begin_complete_upgrade( - resource_group_name=resource_group.name, - resource_name="str", - agent_pool_name="str", - ).result() # call '.result()' to poll until service return final result - - # please add some check logic here by yourself - # ... - @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) @recorded_by_proxy def test_agent_pools_begin_delete_machines(self, resource_group): @@ -306,19 +268,6 @@ def test_agent_pools_begin_upgrade_node_image_version(self, resource_group): # please add some check logic here by yourself # ... - @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) - @recorded_by_proxy - def test_agent_pools_list_bootstrap_data(self, resource_group): - response = self.client.agent_pools.list_bootstrap_data( - resource_group_name=resource_group.name, - resource_name="str", - agent_pool_name="str", - body={}, - ) - - # please add some check logic here by yourself - # ... - @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) @recorded_by_proxy def test_agent_pools_get_available_agent_pool_versions(self, resource_group): diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_tests/test_container_service_agent_pools_operations_async.py b/sdk/containerservice/azure-mgmt-containerservice/generated_tests/test_container_service_agent_pools_operations_async.py index 4028d702875c..6eab55419e1a 100644 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_tests/test_container_service_agent_pools_operations_async.py +++ b/sdk/containerservice/azure-mgmt-containerservice/generated_tests/test_container_service_agent_pools_operations_async.py @@ -54,15 +54,10 @@ async def test_agent_pools_begin_create_or_update(self, resource_group): "enableEncryptionAtHost": bool, "enableFIPS": bool, "enableNodePublicIP": bool, - "enableOSDiskFullCaching": bool, "enableUltraSSD": bool, "gatewayProfile": {"publicIPPrefixSize": 0}, "gpuInstanceProfile": "str", - "gpuProfile": { - "driver": "str", - "driverType": "str", - "nvidia": {"managementMode": "str", "migStrategy": "str"}, - }, + "gpuProfile": {"driver": "str"}, "hostGroupID": "str", "kubeletConfig": { "allowedUnsafeSysctls": ["str"], @@ -72,16 +67,9 @@ async def test_agent_pools_begin_create_or_update(self, resource_group): "cpuCfsQuotaPeriod": "str", "cpuManagerPolicy": "str", "failSwapOn": bool, - "hardEvictionThreshold": { - "memoryAvailable": "str", - "nodeFsAvailable": "str", - "nodeFsInodesFree": "str", - }, "imageGcHighThreshold": 0, "imageGcLowThreshold": 0, - "kubeReserved": {"cpuMillicores": 0, "memoryMB": 0}, "podMaxPids": 0, - "seccompDefault": "str", "topologyManagerPolicy": "str", }, "kubeletDiskType": "str", @@ -156,14 +144,9 @@ async def test_agent_pools_begin_create_or_update(self, resource_group): "networkProfile": { "allowedHostPorts": [{"portEnd": 0, "portStart": 0, "protocol": "str"}], "applicationSecurityGroups": ["str"], - "nodePublicIPPrefixIDs": ["str"], "nodePublicIPTags": [{"ipTagType": "str", "tag": "str"}], - "secondaryNetworkInterfaces": [ - {"enableAcceleratedNetworking": bool, "type": "str", "vnetSubnetId": "str"} - ], }, "nodeImageVersion": "str", - "nodeInitializationTaints": ["str"], "nodeLabels": {"str": "str"}, "nodePublicIPPrefixID": "str", "nodeTaints": ["str"], @@ -175,7 +158,6 @@ async def test_agent_pools_begin_create_or_update(self, resource_group): "podIPAllocationMode": "str", "podSubnetID": "str", "powerState": {"code": "str"}, - "preparedImageSpecificationProfile": {"preparedImageSpecificationId": "str"}, "provisioningState": "str", "proximityPlacementGroupID": "str", "scaleDownMode": "str", @@ -196,19 +178,11 @@ async def test_agent_pools_begin_create_or_update(self, resource_group): "type": "str", "upgradeSettings": { "drainTimeoutInMinutes": 0, - "maxBlockedNodes": "str", "maxSurge": "str", "maxUnavailable": "str", "nodeSoakDurationInMinutes": 0, "undrainableNodeBehavior": "str", }, - "upgradeSettingsBlueGreen": { - "batchSoakDurationInMinutes": 0, - "drainBatchSize": "str", - "drainTimeoutInMinutes": 0, - "finalSoakDurationInMinutes": 0, - }, - "upgradeStrategy": "str", "virtualMachineNodesStatus": [{"count": 0, "size": "str"}], "virtualMachinesProfile": { "scale": { @@ -276,20 +250,6 @@ async def test_agent_pools_begin_abort_latest_operation(self, resource_group): # please add some check logic here by yourself # ... - @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) - @recorded_by_proxy_async - async def test_agent_pools_begin_complete_upgrade(self, resource_group): - response = await ( - await self.client.agent_pools.begin_complete_upgrade( - resource_group_name=resource_group.name, - resource_name="str", - agent_pool_name="str", - ) - ).result() # call '.result()' to poll until service return final result - - # please add some check logic here by yourself - # ... - @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) @recorded_by_proxy_async async def test_agent_pools_begin_delete_machines(self, resource_group): @@ -319,19 +279,6 @@ async def test_agent_pools_begin_upgrade_node_image_version(self, resource_group # please add some check logic here by yourself # ... - @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) - @recorded_by_proxy_async - async def test_agent_pools_list_bootstrap_data(self, resource_group): - response = await self.client.agent_pools.list_bootstrap_data( - resource_group_name=resource_group.name, - resource_name="str", - agent_pool_name="str", - body={}, - ) - - # please add some check logic here by yourself - # ... - @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) @recorded_by_proxy_async async def test_agent_pools_get_available_agent_pool_versions(self, resource_group): diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_tests/test_container_service_alert_configurations_operations.py b/sdk/containerservice/azure-mgmt-containerservice/generated_tests/test_container_service_alert_configurations_operations.py deleted file mode 100644 index cb1124c7dafb..000000000000 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_tests/test_container_service_alert_configurations_operations.py +++ /dev/null @@ -1,80 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# Code generated by Microsoft (R) Python Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is regenerated. -# -------------------------------------------------------------------------- -import pytest -from azure.mgmt.containerservice import ContainerServiceClient - -from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer, recorded_by_proxy - -AZURE_LOCATION = "eastus" - - -@pytest.mark.skip("you may need to update the auto-generated test case before run it") -class TestContainerServiceAlertConfigurationsOperations(AzureMgmtRecordedTestCase): - def setup_method(self, method): - self.client = self.create_mgmt_client(ContainerServiceClient) - - @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) - @recorded_by_proxy - def test_alert_configurations_get(self, resource_group): - response = self.client.alert_configurations.get( - resource_group_name=resource_group.name, - resource_name="str", - configuration_name="str", - ) - - # please add some check logic here by yourself - # ... - - @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) - @recorded_by_proxy - def test_alert_configurations_begin_create_or_update(self, resource_group): - response = self.client.alert_configurations.begin_create_or_update( - resource_group_name=resource_group.name, - resource_name="str", - configuration_name="str", - resource={ - "id": "str", - "name": "str", - "properties": {"mode": "str", "notification": {"actionGroupId": "str"}, "provisioningState": "str"}, - "systemData": { - "createdAt": "2020-02-20 00:00:00", - "createdBy": "str", - "createdByType": "str", - "lastModifiedAt": "2020-02-20 00:00:00", - "lastModifiedBy": "str", - "lastModifiedByType": "str", - }, - "type": "str", - }, - ).result() # call '.result()' to poll until service return final result - - # please add some check logic here by yourself - # ... - - @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) - @recorded_by_proxy - def test_alert_configurations_begin_delete(self, resource_group): - response = self.client.alert_configurations.begin_delete( - resource_group_name=resource_group.name, - resource_name="str", - configuration_name="str", - ).result() # call '.result()' to poll until service return final result - - # please add some check logic here by yourself - # ... - - @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) - @recorded_by_proxy - def test_alert_configurations_list_by_managed_cluster(self, resource_group): - response = self.client.alert_configurations.list_by_managed_cluster( - resource_group_name=resource_group.name, - resource_name="str", - ) - result = [r for r in response] - # please add some check logic here by yourself - # ... diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_tests/test_container_service_alert_configurations_operations_async.py b/sdk/containerservice/azure-mgmt-containerservice/generated_tests/test_container_service_alert_configurations_operations_async.py deleted file mode 100644 index 3315736c2d63..000000000000 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_tests/test_container_service_alert_configurations_operations_async.py +++ /dev/null @@ -1,85 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# Code generated by Microsoft (R) Python Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is regenerated. -# -------------------------------------------------------------------------- -import pytest -from azure.mgmt.containerservice.aio import ContainerServiceClient - -from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer -from devtools_testutils.aio import recorded_by_proxy_async - -AZURE_LOCATION = "eastus" - - -@pytest.mark.skip("you may need to update the auto-generated test case before run it") -class TestContainerServiceAlertConfigurationsOperationsAsync(AzureMgmtRecordedTestCase): - def setup_method(self, method): - self.client = self.create_mgmt_client(ContainerServiceClient, is_async=True) - - @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) - @recorded_by_proxy_async - async def test_alert_configurations_get(self, resource_group): - response = await self.client.alert_configurations.get( - resource_group_name=resource_group.name, - resource_name="str", - configuration_name="str", - ) - - # please add some check logic here by yourself - # ... - - @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) - @recorded_by_proxy_async - async def test_alert_configurations_begin_create_or_update(self, resource_group): - response = await ( - await self.client.alert_configurations.begin_create_or_update( - resource_group_name=resource_group.name, - resource_name="str", - configuration_name="str", - resource={ - "id": "str", - "name": "str", - "properties": {"mode": "str", "notification": {"actionGroupId": "str"}, "provisioningState": "str"}, - "systemData": { - "createdAt": "2020-02-20 00:00:00", - "createdBy": "str", - "createdByType": "str", - "lastModifiedAt": "2020-02-20 00:00:00", - "lastModifiedBy": "str", - "lastModifiedByType": "str", - }, - "type": "str", - }, - ) - ).result() # call '.result()' to poll until service return final result - - # please add some check logic here by yourself - # ... - - @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) - @recorded_by_proxy_async - async def test_alert_configurations_begin_delete(self, resource_group): - response = await ( - await self.client.alert_configurations.begin_delete( - resource_group_name=resource_group.name, - resource_name="str", - configuration_name="str", - ) - ).result() # call '.result()' to poll until service return final result - - # please add some check logic here by yourself - # ... - - @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) - @recorded_by_proxy_async - async def test_alert_configurations_list_by_managed_cluster(self, resource_group): - response = self.client.alert_configurations.list_by_managed_cluster( - resource_group_name=resource_group.name, - resource_name="str", - ) - result = [r async for r in response] - # please add some check logic here by yourself - # ... diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_tests/test_container_service_container_service_operations.py b/sdk/containerservice/azure-mgmt-containerservice/generated_tests/test_container_service_container_service_operations.py deleted file mode 100644 index 3f92bd83cc82..000000000000 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_tests/test_container_service_container_service_operations.py +++ /dev/null @@ -1,29 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# Code generated by Microsoft (R) Python Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is regenerated. -# -------------------------------------------------------------------------- -import pytest -from azure.mgmt.containerservice import ContainerServiceClient - -from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer, recorded_by_proxy - -AZURE_LOCATION = "eastus" - - -@pytest.mark.skip("you may need to update the auto-generated test case before run it") -class TestContainerServiceContainerServiceOperations(AzureMgmtRecordedTestCase): - def setup_method(self, method): - self.client = self.create_mgmt_client(ContainerServiceClient) - - @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) - @recorded_by_proxy - def test_container_service_list_node_image_versions(self, resource_group): - response = self.client.container_service.list_node_image_versions( - location="str", - ) - result = [r for r in response] - # please add some check logic here by yourself - # ... diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_tests/test_container_service_container_service_operations_async.py b/sdk/containerservice/azure-mgmt-containerservice/generated_tests/test_container_service_container_service_operations_async.py deleted file mode 100644 index 69d36ecabe6d..000000000000 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_tests/test_container_service_container_service_operations_async.py +++ /dev/null @@ -1,30 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# Code generated by Microsoft (R) Python Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is regenerated. -# -------------------------------------------------------------------------- -import pytest -from azure.mgmt.containerservice.aio import ContainerServiceClient - -from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer -from devtools_testutils.aio import recorded_by_proxy_async - -AZURE_LOCATION = "eastus" - - -@pytest.mark.skip("you may need to update the auto-generated test case before run it") -class TestContainerServiceContainerServiceOperationsAsync(AzureMgmtRecordedTestCase): - def setup_method(self, method): - self.client = self.create_mgmt_client(ContainerServiceClient, is_async=True) - - @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) - @recorded_by_proxy_async - async def test_container_service_list_node_image_versions(self, resource_group): - response = self.client.container_service.list_node_image_versions( - location="str", - ) - result = [r async for r in response] - # please add some check logic here by yourself - # ... diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_tests/test_container_service_identity_bindings_operations.py b/sdk/containerservice/azure-mgmt-containerservice/generated_tests/test_container_service_identity_bindings_operations.py index cb722dc0019e..2464229a3578 100644 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_tests/test_container_service_identity_bindings_operations.py +++ b/sdk/containerservice/azure-mgmt-containerservice/generated_tests/test_container_service_identity_bindings_operations.py @@ -43,18 +43,6 @@ def test_identity_bindings_begin_create_or_update(self, resource_group): "name": "str", "properties": { "managedIdentity": {"resourceId": "str", "clientId": "str", "objectId": "str", "tenantId": "str"}, - "allowedSubjects": [ - { - "namespaceSelector": { - "matchExpressions": [{"key": "str", "operator": "str", "values": ["str"]}], - "matchLabels": ["str"], - }, - "serviceAccountSelector": { - "matchExpressions": [{"key": "str", "operator": "str", "values": ["str"]}], - "matchLabels": ["str"], - }, - } - ], "oidcIssuer": {"oidcIssuerUrl": "str"}, "provisioningState": "str", }, diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_tests/test_container_service_identity_bindings_operations_async.py b/sdk/containerservice/azure-mgmt-containerservice/generated_tests/test_container_service_identity_bindings_operations_async.py index de88913d834b..79a1b1bf1a08 100644 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_tests/test_container_service_identity_bindings_operations_async.py +++ b/sdk/containerservice/azure-mgmt-containerservice/generated_tests/test_container_service_identity_bindings_operations_async.py @@ -50,18 +50,6 @@ async def test_identity_bindings_begin_create_or_update(self, resource_group): "objectId": "str", "tenantId": "str", }, - "allowedSubjects": [ - { - "namespaceSelector": { - "matchExpressions": [{"key": "str", "operator": "str", "values": ["str"]}], - "matchLabels": ["str"], - }, - "serviceAccountSelector": { - "matchExpressions": [{"key": "str", "operator": "str", "values": ["str"]}], - "matchLabels": ["str"], - }, - } - ], "oidcIssuer": {"oidcIssuerUrl": "str"}, "provisioningState": "str", }, diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_tests/test_container_service_jwt_authenticators_operations.py b/sdk/containerservice/azure-mgmt-containerservice/generated_tests/test_container_service_jwt_authenticators_operations.py deleted file mode 100644 index 213f7d4ce6e2..000000000000 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_tests/test_container_service_jwt_authenticators_operations.py +++ /dev/null @@ -1,91 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# Code generated by Microsoft (R) Python Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is regenerated. -# -------------------------------------------------------------------------- -import pytest -from azure.mgmt.containerservice import ContainerServiceClient - -from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer, recorded_by_proxy - -AZURE_LOCATION = "eastus" - - -@pytest.mark.skip("you may need to update the auto-generated test case before run it") -class TestContainerServiceJWTAuthenticatorsOperations(AzureMgmtRecordedTestCase): - def setup_method(self, method): - self.client = self.create_mgmt_client(ContainerServiceClient) - - @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) - @recorded_by_proxy - def test_jwt_authenticators_get(self, resource_group): - response = self.client.jwt_authenticators.get( - resource_group_name=resource_group.name, - resource_name="str", - jwt_authenticator_name="str", - ) - - # please add some check logic here by yourself - # ... - - @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) - @recorded_by_proxy - def test_jwt_authenticators_begin_create_or_update(self, resource_group): - response = self.client.jwt_authenticators.begin_create_or_update( - resource_group_name=resource_group.name, - resource_name="str", - jwt_authenticator_name="str", - parameters={ - "properties": { - "claimMappings": { - "username": {"expression": "str"}, - "extra": [{"key": "str", "valueExpression": "str"}], - "groups": {"expression": "str"}, - "uid": {"expression": "str"}, - }, - "issuer": {"audiences": ["str"], "url": "str"}, - "claimValidationRules": [{"expression": "str", "message": "str"}], - "provisioningState": "str", - "userValidationRules": [{"expression": "str", "message": "str"}], - }, - "id": "str", - "name": "str", - "systemData": { - "createdAt": "2020-02-20 00:00:00", - "createdBy": "str", - "createdByType": "str", - "lastModifiedAt": "2020-02-20 00:00:00", - "lastModifiedBy": "str", - "lastModifiedByType": "str", - }, - "type": "str", - }, - ).result() # call '.result()' to poll until service return final result - - # please add some check logic here by yourself - # ... - - @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) - @recorded_by_proxy - def test_jwt_authenticators_begin_delete(self, resource_group): - response = self.client.jwt_authenticators.begin_delete( - resource_group_name=resource_group.name, - resource_name="str", - jwt_authenticator_name="str", - ).result() # call '.result()' to poll until service return final result - - # please add some check logic here by yourself - # ... - - @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) - @recorded_by_proxy - def test_jwt_authenticators_list_by_managed_cluster(self, resource_group): - response = self.client.jwt_authenticators.list_by_managed_cluster( - resource_group_name=resource_group.name, - resource_name="str", - ) - result = [r for r in response] - # please add some check logic here by yourself - # ... diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_tests/test_container_service_jwt_authenticators_operations_async.py b/sdk/containerservice/azure-mgmt-containerservice/generated_tests/test_container_service_jwt_authenticators_operations_async.py deleted file mode 100644 index 443ce317cca2..000000000000 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_tests/test_container_service_jwt_authenticators_operations_async.py +++ /dev/null @@ -1,96 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# Code generated by Microsoft (R) Python Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is regenerated. -# -------------------------------------------------------------------------- -import pytest -from azure.mgmt.containerservice.aio import ContainerServiceClient - -from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer -from devtools_testutils.aio import recorded_by_proxy_async - -AZURE_LOCATION = "eastus" - - -@pytest.mark.skip("you may need to update the auto-generated test case before run it") -class TestContainerServiceJWTAuthenticatorsOperationsAsync(AzureMgmtRecordedTestCase): - def setup_method(self, method): - self.client = self.create_mgmt_client(ContainerServiceClient, is_async=True) - - @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) - @recorded_by_proxy_async - async def test_jwt_authenticators_get(self, resource_group): - response = await self.client.jwt_authenticators.get( - resource_group_name=resource_group.name, - resource_name="str", - jwt_authenticator_name="str", - ) - - # please add some check logic here by yourself - # ... - - @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) - @recorded_by_proxy_async - async def test_jwt_authenticators_begin_create_or_update(self, resource_group): - response = await ( - await self.client.jwt_authenticators.begin_create_or_update( - resource_group_name=resource_group.name, - resource_name="str", - jwt_authenticator_name="str", - parameters={ - "properties": { - "claimMappings": { - "username": {"expression": "str"}, - "extra": [{"key": "str", "valueExpression": "str"}], - "groups": {"expression": "str"}, - "uid": {"expression": "str"}, - }, - "issuer": {"audiences": ["str"], "url": "str"}, - "claimValidationRules": [{"expression": "str", "message": "str"}], - "provisioningState": "str", - "userValidationRules": [{"expression": "str", "message": "str"}], - }, - "id": "str", - "name": "str", - "systemData": { - "createdAt": "2020-02-20 00:00:00", - "createdBy": "str", - "createdByType": "str", - "lastModifiedAt": "2020-02-20 00:00:00", - "lastModifiedBy": "str", - "lastModifiedByType": "str", - }, - "type": "str", - }, - ) - ).result() # call '.result()' to poll until service return final result - - # please add some check logic here by yourself - # ... - - @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) - @recorded_by_proxy_async - async def test_jwt_authenticators_begin_delete(self, resource_group): - response = await ( - await self.client.jwt_authenticators.begin_delete( - resource_group_name=resource_group.name, - resource_name="str", - jwt_authenticator_name="str", - ) - ).result() # call '.result()' to poll until service return final result - - # please add some check logic here by yourself - # ... - - @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) - @recorded_by_proxy_async - async def test_jwt_authenticators_list_by_managed_cluster(self, resource_group): - response = self.client.jwt_authenticators.list_by_managed_cluster( - resource_group_name=resource_group.name, - resource_name="str", - ) - result = [r async for r in response] - # please add some check logic here by yourself - # ... diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_tests/test_container_service_load_balancers_operations.py b/sdk/containerservice/azure-mgmt-containerservice/generated_tests/test_container_service_load_balancers_operations.py deleted file mode 100644 index 6beca80132b4..000000000000 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_tests/test_container_service_load_balancers_operations.py +++ /dev/null @@ -1,96 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# Code generated by Microsoft (R) Python Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is regenerated. -# -------------------------------------------------------------------------- -import pytest -from azure.mgmt.containerservice import ContainerServiceClient - -from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer, recorded_by_proxy - -AZURE_LOCATION = "eastus" - - -@pytest.mark.skip("you may need to update the auto-generated test case before run it") -class TestContainerServiceLoadBalancersOperations(AzureMgmtRecordedTestCase): - def setup_method(self, method): - self.client = self.create_mgmt_client(ContainerServiceClient) - - @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) - @recorded_by_proxy - def test_load_balancers_get(self, resource_group): - response = self.client.load_balancers.get( - resource_group_name=resource_group.name, - resource_name="str", - load_balancer_name="str", - ) - - # please add some check logic here by yourself - # ... - - @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) - @recorded_by_proxy - def test_load_balancers_create_or_update(self, resource_group): - response = self.client.load_balancers.create_or_update( - resource_group_name=resource_group.name, - resource_name="str", - load_balancer_name="str", - parameters={ - "id": "str", - "name": "str", - "properties": { - "primaryAgentPoolName": "str", - "allowServicePlacement": bool, - "nodeSelector": { - "matchExpressions": [{"key": "str", "operator": "str", "values": ["str"]}], - "matchLabels": ["str"], - }, - "provisioningState": "str", - "serviceLabelSelector": { - "matchExpressions": [{"key": "str", "operator": "str", "values": ["str"]}], - "matchLabels": ["str"], - }, - "serviceNamespaceSelector": { - "matchExpressions": [{"key": "str", "operator": "str", "values": ["str"]}], - "matchLabels": ["str"], - }, - }, - "systemData": { - "createdAt": "2020-02-20 00:00:00", - "createdBy": "str", - "createdByType": "str", - "lastModifiedAt": "2020-02-20 00:00:00", - "lastModifiedBy": "str", - "lastModifiedByType": "str", - }, - "type": "str", - }, - ) - - # please add some check logic here by yourself - # ... - - @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) - @recorded_by_proxy - def test_load_balancers_begin_delete(self, resource_group): - response = self.client.load_balancers.begin_delete( - resource_group_name=resource_group.name, - resource_name="str", - load_balancer_name="str", - ).result() # call '.result()' to poll until service return final result - - # please add some check logic here by yourself - # ... - - @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) - @recorded_by_proxy - def test_load_balancers_list_by_managed_cluster(self, resource_group): - response = self.client.load_balancers.list_by_managed_cluster( - resource_group_name=resource_group.name, - resource_name="str", - ) - result = [r for r in response] - # please add some check logic here by yourself - # ... diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_tests/test_container_service_load_balancers_operations_async.py b/sdk/containerservice/azure-mgmt-containerservice/generated_tests/test_container_service_load_balancers_operations_async.py deleted file mode 100644 index 83971f7d7920..000000000000 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_tests/test_container_service_load_balancers_operations_async.py +++ /dev/null @@ -1,99 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# Code generated by Microsoft (R) Python Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is regenerated. -# -------------------------------------------------------------------------- -import pytest -from azure.mgmt.containerservice.aio import ContainerServiceClient - -from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer -from devtools_testutils.aio import recorded_by_proxy_async - -AZURE_LOCATION = "eastus" - - -@pytest.mark.skip("you may need to update the auto-generated test case before run it") -class TestContainerServiceLoadBalancersOperationsAsync(AzureMgmtRecordedTestCase): - def setup_method(self, method): - self.client = self.create_mgmt_client(ContainerServiceClient, is_async=True) - - @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) - @recorded_by_proxy_async - async def test_load_balancers_get(self, resource_group): - response = await self.client.load_balancers.get( - resource_group_name=resource_group.name, - resource_name="str", - load_balancer_name="str", - ) - - # please add some check logic here by yourself - # ... - - @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) - @recorded_by_proxy_async - async def test_load_balancers_create_or_update(self, resource_group): - response = await self.client.load_balancers.create_or_update( - resource_group_name=resource_group.name, - resource_name="str", - load_balancer_name="str", - parameters={ - "id": "str", - "name": "str", - "properties": { - "primaryAgentPoolName": "str", - "allowServicePlacement": bool, - "nodeSelector": { - "matchExpressions": [{"key": "str", "operator": "str", "values": ["str"]}], - "matchLabels": ["str"], - }, - "provisioningState": "str", - "serviceLabelSelector": { - "matchExpressions": [{"key": "str", "operator": "str", "values": ["str"]}], - "matchLabels": ["str"], - }, - "serviceNamespaceSelector": { - "matchExpressions": [{"key": "str", "operator": "str", "values": ["str"]}], - "matchLabels": ["str"], - }, - }, - "systemData": { - "createdAt": "2020-02-20 00:00:00", - "createdBy": "str", - "createdByType": "str", - "lastModifiedAt": "2020-02-20 00:00:00", - "lastModifiedBy": "str", - "lastModifiedByType": "str", - }, - "type": "str", - }, - ) - - # please add some check logic here by yourself - # ... - - @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) - @recorded_by_proxy_async - async def test_load_balancers_begin_delete(self, resource_group): - response = await ( - await self.client.load_balancers.begin_delete( - resource_group_name=resource_group.name, - resource_name="str", - load_balancer_name="str", - ) - ).result() # call '.result()' to poll until service return final result - - # please add some check logic here by yourself - # ... - - @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) - @recorded_by_proxy_async - async def test_load_balancers_list_by_managed_cluster(self, resource_group): - response = self.client.load_balancers.list_by_managed_cluster( - resource_group_name=resource_group.name, - resource_name="str", - ) - result = [r async for r in response] - # please add some check logic here by yourself - # ... diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_tests/test_container_service_machines_operations.py b/sdk/containerservice/azure-mgmt-containerservice/generated_tests/test_container_service_machines_operations.py index e04262d5cc14..be1358fed58c 100644 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_tests/test_container_service_machines_operations.py +++ b/sdk/containerservice/azure-mgmt-containerservice/generated_tests/test_container_service_machines_operations.py @@ -31,187 +31,6 @@ def test_machines_get(self, resource_group): # please add some check logic here by yourself # ... - @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) - @recorded_by_proxy - def test_machines_begin_create_or_update(self, resource_group): - response = self.client.machines.begin_create_or_update( - resource_group_name=resource_group.name, - resource_name="str", - agent_pool_name="str", - machine_name="str", - parameters={ - "id": "str", - "name": "str", - "properties": { - "billing": {"spotMaxPrice": 0.0}, - "eTag": "str", - "evictionPolicy": "str", - "hardware": { - "gpuInstanceProfile": "str", - "gpuProfile": { - "driver": "str", - "driverType": "str", - "nvidia": {"managementMode": "str", "migStrategy": "str"}, - }, - "ultraSsdEnabled": bool, - "vmSize": "str", - }, - "kubernetes": { - "artifactStreamingProfile": {"enabled": bool}, - "currentOrchestratorVersion": "str", - "kubeletConfig": { - "allowedUnsafeSysctls": ["str"], - "containerLogMaxFiles": 0, - "containerLogMaxSizeMB": 0, - "cpuCfsQuota": bool, - "cpuCfsQuotaPeriod": "str", - "cpuManagerPolicy": "str", - "failSwapOn": bool, - "hardEvictionThreshold": { - "memoryAvailable": "str", - "nodeFsAvailable": "str", - "nodeFsInodesFree": "str", - }, - "imageGcHighThreshold": 0, - "imageGcLowThreshold": 0, - "kubeReserved": {"cpuMillicores": 0, "memoryMB": 0}, - "podMaxPids": 0, - "seccompDefault": "str", - "topologyManagerPolicy": "str", - }, - "kubeletDiskType": "str", - "maxPods": 0, - "nodeInitializationTaints": ["str"], - "nodeLabels": {"str": "str"}, - "nodeName": "str", - "nodeTaints": ["str"], - "orchestratorVersion": "str", - "workloadRuntime": "str", - }, - "localDNSProfile": { - "kubeDNSOverrides": { - "str": { - "cacheDurationInSeconds": 0, - "forwardDestination": "str", - "forwardPolicy": "str", - "maxConcurrent": 0, - "protocol": "str", - "queryLogging": "str", - "serveStale": "str", - "serveStaleDurationInSeconds": 0, - } - }, - "mode": "str", - "state": "str", - "vnetDNSOverrides": { - "str": { - "cacheDurationInSeconds": 0, - "forwardDestination": "str", - "forwardPolicy": "str", - "maxConcurrent": 0, - "protocol": "str", - "queryLogging": "str", - "serveStale": "str", - "serveStaleDurationInSeconds": 0, - } - }, - }, - "mode": "str", - "network": { - "enableNodePublicIP": bool, - "ipAddresses": [{"family": "str", "ip": "str"}], - "nodePublicIPPrefixID": "str", - "nodePublicIPTags": [{"ipTagType": "str", "tag": "str"}], - "podSubnetID": "str", - "vnetSubnetID": "str", - }, - "nodeImageVersion": "str", - "operatingSystem": { - "enableFIPS": bool, - "linuxProfile": { - "linuxOSConfig": { - "swapFileSizeMB": 0, - "sysctls": { - "fsAioMaxNr": 0, - "fsFileMax": 0, - "fsInotifyMaxUserWatches": 0, - "fsNrOpen": 0, - "kernelThreadsMax": 0, - "netCoreNetdevMaxBacklog": 0, - "netCoreOptmemMax": 0, - "netCoreRmemDefault": 0, - "netCoreRmemMax": 0, - "netCoreSomaxconn": 0, - "netCoreWmemDefault": 0, - "netCoreWmemMax": 0, - "netIpv4IpLocalPortRange": "str", - "netIpv4NeighDefaultGcThresh1": 0, - "netIpv4NeighDefaultGcThresh2": 0, - "netIpv4NeighDefaultGcThresh3": 0, - "netIpv4TcpFinTimeout": 0, - "netIpv4TcpKeepaliveProbes": 0, - "netIpv4TcpKeepaliveTime": 0, - "netIpv4TcpMaxSynBacklog": 0, - "netIpv4TcpMaxTwBuckets": 0, - "netIpv4TcpTwReuse": bool, - "netIpv4TcpkeepaliveIntvl": 0, - "netNetfilterNfConntrackBuckets": 0, - "netNetfilterNfConntrackMax": 0, - "vmMaxMapCount": 0, - "vmSwappiness": 0, - "vmVfsCachePressure": 0, - }, - "transparentHugePageDefrag": "str", - "transparentHugePageEnabled": "str", - }, - "messageOfTheDay": "str", - }, - "osDiskSizeGB": 0, - "osDiskType": "str", - "osSKU": "str", - "osType": "str", - "windowsProfile": {"disableOutboundNat": bool}, - }, - "priority": "str", - "provisioningState": "str", - "resourceId": "str", - "security": { - "enableEncryptionAtHost": bool, - "enableSecureBoot": bool, - "enableVTPM": bool, - "sshAccess": "str", - }, - "status": { - "creationTimestamp": "2020-02-20 00:00:00", - "driftAction": "str", - "driftReason": "str", - "provisioningError": { - "additionalInfo": [{"info": {}, "type": "str"}], - "code": "str", - "details": [...], - "message": "str", - "target": "str", - }, - "vmState": "str", - }, - "tags": {"str": "str"}, - }, - "systemData": { - "createdAt": "2020-02-20 00:00:00", - "createdBy": "str", - "createdByType": "str", - "lastModifiedAt": "2020-02-20 00:00:00", - "lastModifiedBy": "str", - "lastModifiedByType": "str", - }, - "type": "str", - "zones": ["str"], - }, - ).result() # call '.result()' to poll until service return final result - - # please add some check logic here by yourself - # ... - @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) @recorded_by_proxy def test_machines_list(self, resource_group): diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_tests/test_container_service_machines_operations_async.py b/sdk/containerservice/azure-mgmt-containerservice/generated_tests/test_container_service_machines_operations_async.py index fe4fd358aff2..05739238f386 100644 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_tests/test_container_service_machines_operations_async.py +++ b/sdk/containerservice/azure-mgmt-containerservice/generated_tests/test_container_service_machines_operations_async.py @@ -32,189 +32,6 @@ async def test_machines_get(self, resource_group): # please add some check logic here by yourself # ... - @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) - @recorded_by_proxy_async - async def test_machines_begin_create_or_update(self, resource_group): - response = await ( - await self.client.machines.begin_create_or_update( - resource_group_name=resource_group.name, - resource_name="str", - agent_pool_name="str", - machine_name="str", - parameters={ - "id": "str", - "name": "str", - "properties": { - "billing": {"spotMaxPrice": 0.0}, - "eTag": "str", - "evictionPolicy": "str", - "hardware": { - "gpuInstanceProfile": "str", - "gpuProfile": { - "driver": "str", - "driverType": "str", - "nvidia": {"managementMode": "str", "migStrategy": "str"}, - }, - "ultraSsdEnabled": bool, - "vmSize": "str", - }, - "kubernetes": { - "artifactStreamingProfile": {"enabled": bool}, - "currentOrchestratorVersion": "str", - "kubeletConfig": { - "allowedUnsafeSysctls": ["str"], - "containerLogMaxFiles": 0, - "containerLogMaxSizeMB": 0, - "cpuCfsQuota": bool, - "cpuCfsQuotaPeriod": "str", - "cpuManagerPolicy": "str", - "failSwapOn": bool, - "hardEvictionThreshold": { - "memoryAvailable": "str", - "nodeFsAvailable": "str", - "nodeFsInodesFree": "str", - }, - "imageGcHighThreshold": 0, - "imageGcLowThreshold": 0, - "kubeReserved": {"cpuMillicores": 0, "memoryMB": 0}, - "podMaxPids": 0, - "seccompDefault": "str", - "topologyManagerPolicy": "str", - }, - "kubeletDiskType": "str", - "maxPods": 0, - "nodeInitializationTaints": ["str"], - "nodeLabels": {"str": "str"}, - "nodeName": "str", - "nodeTaints": ["str"], - "orchestratorVersion": "str", - "workloadRuntime": "str", - }, - "localDNSProfile": { - "kubeDNSOverrides": { - "str": { - "cacheDurationInSeconds": 0, - "forwardDestination": "str", - "forwardPolicy": "str", - "maxConcurrent": 0, - "protocol": "str", - "queryLogging": "str", - "serveStale": "str", - "serveStaleDurationInSeconds": 0, - } - }, - "mode": "str", - "state": "str", - "vnetDNSOverrides": { - "str": { - "cacheDurationInSeconds": 0, - "forwardDestination": "str", - "forwardPolicy": "str", - "maxConcurrent": 0, - "protocol": "str", - "queryLogging": "str", - "serveStale": "str", - "serveStaleDurationInSeconds": 0, - } - }, - }, - "mode": "str", - "network": { - "enableNodePublicIP": bool, - "ipAddresses": [{"family": "str", "ip": "str"}], - "nodePublicIPPrefixID": "str", - "nodePublicIPTags": [{"ipTagType": "str", "tag": "str"}], - "podSubnetID": "str", - "vnetSubnetID": "str", - }, - "nodeImageVersion": "str", - "operatingSystem": { - "enableFIPS": bool, - "linuxProfile": { - "linuxOSConfig": { - "swapFileSizeMB": 0, - "sysctls": { - "fsAioMaxNr": 0, - "fsFileMax": 0, - "fsInotifyMaxUserWatches": 0, - "fsNrOpen": 0, - "kernelThreadsMax": 0, - "netCoreNetdevMaxBacklog": 0, - "netCoreOptmemMax": 0, - "netCoreRmemDefault": 0, - "netCoreRmemMax": 0, - "netCoreSomaxconn": 0, - "netCoreWmemDefault": 0, - "netCoreWmemMax": 0, - "netIpv4IpLocalPortRange": "str", - "netIpv4NeighDefaultGcThresh1": 0, - "netIpv4NeighDefaultGcThresh2": 0, - "netIpv4NeighDefaultGcThresh3": 0, - "netIpv4TcpFinTimeout": 0, - "netIpv4TcpKeepaliveProbes": 0, - "netIpv4TcpKeepaliveTime": 0, - "netIpv4TcpMaxSynBacklog": 0, - "netIpv4TcpMaxTwBuckets": 0, - "netIpv4TcpTwReuse": bool, - "netIpv4TcpkeepaliveIntvl": 0, - "netNetfilterNfConntrackBuckets": 0, - "netNetfilterNfConntrackMax": 0, - "vmMaxMapCount": 0, - "vmSwappiness": 0, - "vmVfsCachePressure": 0, - }, - "transparentHugePageDefrag": "str", - "transparentHugePageEnabled": "str", - }, - "messageOfTheDay": "str", - }, - "osDiskSizeGB": 0, - "osDiskType": "str", - "osSKU": "str", - "osType": "str", - "windowsProfile": {"disableOutboundNat": bool}, - }, - "priority": "str", - "provisioningState": "str", - "resourceId": "str", - "security": { - "enableEncryptionAtHost": bool, - "enableSecureBoot": bool, - "enableVTPM": bool, - "sshAccess": "str", - }, - "status": { - "creationTimestamp": "2020-02-20 00:00:00", - "driftAction": "str", - "driftReason": "str", - "provisioningError": { - "additionalInfo": [{"info": {}, "type": "str"}], - "code": "str", - "details": [...], - "message": "str", - "target": "str", - }, - "vmState": "str", - }, - "tags": {"str": "str"}, - }, - "systemData": { - "createdAt": "2020-02-20 00:00:00", - "createdBy": "str", - "createdByType": "str", - "lastModifiedAt": "2020-02-20 00:00:00", - "lastModifiedBy": "str", - "lastModifiedByType": "str", - }, - "type": "str", - "zones": ["str"], - }, - ) - ).result() # call '.result()' to poll until service return final result - - # please add some check logic here by yourself - # ... - @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) @recorded_by_proxy_async async def test_machines_list(self, resource_group): diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_tests/test_container_service_maintenance_configurations_operations.py b/sdk/containerservice/azure-mgmt-containerservice/generated_tests/test_container_service_maintenance_configurations_operations.py index 31df50c2bea4..4b2d57b50abc 100644 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_tests/test_container_service_maintenance_configurations_operations.py +++ b/sdk/containerservice/azure-mgmt-containerservice/generated_tests/test_container_service_maintenance_configurations_operations.py @@ -54,7 +54,6 @@ def test_maintenance_configurations_create_or_update(self, resource_group): "startDate": "2020-02-20", "utcOffset": "str", }, - "maintenanceWindowId": "str", "notAllowedTime": [{"end": "2020-02-20 00:00:00", "start": "2020-02-20 00:00:00"}], "timeInWeek": [{"day": "str", "hourSlots": [0]}], }, diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_tests/test_container_service_maintenance_configurations_operations_async.py b/sdk/containerservice/azure-mgmt-containerservice/generated_tests/test_container_service_maintenance_configurations_operations_async.py index d0fcea1f5012..5f24e461d65e 100644 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_tests/test_container_service_maintenance_configurations_operations_async.py +++ b/sdk/containerservice/azure-mgmt-containerservice/generated_tests/test_container_service_maintenance_configurations_operations_async.py @@ -55,7 +55,6 @@ async def test_maintenance_configurations_create_or_update(self, resource_group) "startDate": "2020-02-20", "utcOffset": "str", }, - "maintenanceWindowId": "str", "notAllowedTime": [{"end": "2020-02-20 00:00:00", "start": "2020-02-20 00:00:00"}], "timeInWeek": [{"day": "str", "hourSlots": [0]}], }, diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_tests/test_container_service_maintenance_windows_operations.py b/sdk/containerservice/azure-mgmt-containerservice/generated_tests/test_container_service_maintenance_windows_operations.py deleted file mode 100644 index c6b9b170f985..000000000000 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_tests/test_container_service_maintenance_windows_operations.py +++ /dev/null @@ -1,111 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# Code generated by Microsoft (R) Python Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is regenerated. -# -------------------------------------------------------------------------- -import pytest -from azure.mgmt.containerservice import ContainerServiceClient - -from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer, recorded_by_proxy - -AZURE_LOCATION = "eastus" - - -@pytest.mark.skip("you may need to update the auto-generated test case before run it") -class TestContainerServiceMaintenanceWindowsOperations(AzureMgmtRecordedTestCase): - def setup_method(self, method): - self.client = self.create_mgmt_client(ContainerServiceClient) - - @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) - @recorded_by_proxy - def test_maintenance_windows_get(self, resource_group): - response = self.client.maintenance_windows.get( - resource_group_name=resource_group.name, - maintenance_window_name="str", - ) - - # please add some check logic here by yourself - # ... - - @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) - @recorded_by_proxy - def test_maintenance_windows_begin_create_or_update(self, resource_group): - response = self.client.maintenance_windows.begin_create_or_update( - resource_group_name=resource_group.name, - maintenance_window_name="str", - resource={ - "location": "str", - "id": "str", - "name": "str", - "properties": { - "durationHours": 0, - "schedule": { - "absoluteMonthly": {"dayOfMonth": 0, "intervalMonths": 0}, - "daily": {"intervalDays": 0}, - "relativeMonthly": {"dayOfWeek": "str", "intervalMonths": 0, "weekIndex": "str"}, - "weekly": {"dayOfWeek": "str", "intervalWeeks": 0}, - }, - "startTime": "str", - "notAllowedDates": [{"end": "2020-02-20", "start": "2020-02-20"}], - "provisioningState": "str", - "startDate": "2020-02-20", - "utcOffset": "str", - }, - "systemData": { - "createdAt": "2020-02-20 00:00:00", - "createdBy": "str", - "createdByType": "str", - "lastModifiedAt": "2020-02-20 00:00:00", - "lastModifiedBy": "str", - "lastModifiedByType": "str", - }, - "tags": {"str": "str"}, - "type": "str", - }, - ).result() # call '.result()' to poll until service return final result - - # please add some check logic here by yourself - # ... - - @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) - @recorded_by_proxy - def test_maintenance_windows_update_tags(self, resource_group): - response = self.client.maintenance_windows.update_tags( - resource_group_name=resource_group.name, - maintenance_window_name="str", - properties={"tags": {"str": "str"}}, - ) - - # please add some check logic here by yourself - # ... - - @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) - @recorded_by_proxy - def test_maintenance_windows_begin_delete(self, resource_group): - response = self.client.maintenance_windows.begin_delete( - resource_group_name=resource_group.name, - maintenance_window_name="str", - ).result() # call '.result()' to poll until service return final result - - # please add some check logic here by yourself - # ... - - @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) - @recorded_by_proxy - def test_maintenance_windows_list(self, resource_group): - response = self.client.maintenance_windows.list( - resource_group_name=resource_group.name, - ) - result = [r for r in response] - # please add some check logic here by yourself - # ... - - @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) - @recorded_by_proxy - def test_maintenance_windows_list_by_subscription(self, resource_group): - response = self.client.maintenance_windows.list_by_subscription() - result = [r for r in response] - # please add some check logic here by yourself - # ... diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_tests/test_container_service_maintenance_windows_operations_async.py b/sdk/containerservice/azure-mgmt-containerservice/generated_tests/test_container_service_maintenance_windows_operations_async.py deleted file mode 100644 index ea679f6e70af..000000000000 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_tests/test_container_service_maintenance_windows_operations_async.py +++ /dev/null @@ -1,116 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# Code generated by Microsoft (R) Python Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is regenerated. -# -------------------------------------------------------------------------- -import pytest -from azure.mgmt.containerservice.aio import ContainerServiceClient - -from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer -from devtools_testutils.aio import recorded_by_proxy_async - -AZURE_LOCATION = "eastus" - - -@pytest.mark.skip("you may need to update the auto-generated test case before run it") -class TestContainerServiceMaintenanceWindowsOperationsAsync(AzureMgmtRecordedTestCase): - def setup_method(self, method): - self.client = self.create_mgmt_client(ContainerServiceClient, is_async=True) - - @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) - @recorded_by_proxy_async - async def test_maintenance_windows_get(self, resource_group): - response = await self.client.maintenance_windows.get( - resource_group_name=resource_group.name, - maintenance_window_name="str", - ) - - # please add some check logic here by yourself - # ... - - @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) - @recorded_by_proxy_async - async def test_maintenance_windows_begin_create_or_update(self, resource_group): - response = await ( - await self.client.maintenance_windows.begin_create_or_update( - resource_group_name=resource_group.name, - maintenance_window_name="str", - resource={ - "location": "str", - "id": "str", - "name": "str", - "properties": { - "durationHours": 0, - "schedule": { - "absoluteMonthly": {"dayOfMonth": 0, "intervalMonths": 0}, - "daily": {"intervalDays": 0}, - "relativeMonthly": {"dayOfWeek": "str", "intervalMonths": 0, "weekIndex": "str"}, - "weekly": {"dayOfWeek": "str", "intervalWeeks": 0}, - }, - "startTime": "str", - "notAllowedDates": [{"end": "2020-02-20", "start": "2020-02-20"}], - "provisioningState": "str", - "startDate": "2020-02-20", - "utcOffset": "str", - }, - "systemData": { - "createdAt": "2020-02-20 00:00:00", - "createdBy": "str", - "createdByType": "str", - "lastModifiedAt": "2020-02-20 00:00:00", - "lastModifiedBy": "str", - "lastModifiedByType": "str", - }, - "tags": {"str": "str"}, - "type": "str", - }, - ) - ).result() # call '.result()' to poll until service return final result - - # please add some check logic here by yourself - # ... - - @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) - @recorded_by_proxy_async - async def test_maintenance_windows_update_tags(self, resource_group): - response = await self.client.maintenance_windows.update_tags( - resource_group_name=resource_group.name, - maintenance_window_name="str", - properties={"tags": {"str": "str"}}, - ) - - # please add some check logic here by yourself - # ... - - @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) - @recorded_by_proxy_async - async def test_maintenance_windows_begin_delete(self, resource_group): - response = await ( - await self.client.maintenance_windows.begin_delete( - resource_group_name=resource_group.name, - maintenance_window_name="str", - ) - ).result() # call '.result()' to poll until service return final result - - # please add some check logic here by yourself - # ... - - @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) - @recorded_by_proxy_async - async def test_maintenance_windows_list(self, resource_group): - response = self.client.maintenance_windows.list( - resource_group_name=resource_group.name, - ) - result = [r async for r in response] - # please add some check logic here by yourself - # ... - - @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) - @recorded_by_proxy_async - async def test_maintenance_windows_list_by_subscription(self, resource_group): - response = self.client.maintenance_windows.list_by_subscription() - result = [r async for r in response] - # please add some check logic here by yourself - # ... diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_tests/test_container_service_managed_cluster_snapshots_operations.py b/sdk/containerservice/azure-mgmt-containerservice/generated_tests/test_container_service_managed_cluster_snapshots_operations.py deleted file mode 100644 index d02b777d78c1..000000000000 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_tests/test_container_service_managed_cluster_snapshots_operations.py +++ /dev/null @@ -1,113 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# Code generated by Microsoft (R) Python Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is regenerated. -# -------------------------------------------------------------------------- -import pytest -from azure.mgmt.containerservice import ContainerServiceClient - -from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer, recorded_by_proxy - -AZURE_LOCATION = "eastus" - - -@pytest.mark.skip("you may need to update the auto-generated test case before run it") -class TestContainerServiceManagedClusterSnapshotsOperations(AzureMgmtRecordedTestCase): - def setup_method(self, method): - self.client = self.create_mgmt_client(ContainerServiceClient) - - @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) - @recorded_by_proxy - def test_managed_cluster_snapshots_get(self, resource_group): - response = self.client.managed_cluster_snapshots.get( - resource_group_name=resource_group.name, - resource_name="str", - ) - - # please add some check logic here by yourself - # ... - - @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) - @recorded_by_proxy - def test_managed_cluster_snapshots_create_or_update(self, resource_group): - response = self.client.managed_cluster_snapshots.create_or_update( - resource_group_name=resource_group.name, - resource_name="str", - parameters={ - "location": "str", - "id": "str", - "name": "str", - "properties": { - "creationData": {"sourceResourceId": "str"}, - "managedClusterPropertiesReadOnly": { - "enableRbac": bool, - "kubernetesVersion": "str", - "networkProfile": { - "loadBalancerSku": "str", - "networkMode": "str", - "networkPlugin": "str", - "networkPluginMode": "str", - "networkPolicy": "str", - }, - "sku": {"name": "str", "tier": "str"}, - }, - "snapshotType": "str", - }, - "systemData": { - "createdAt": "2020-02-20 00:00:00", - "createdBy": "str", - "createdByType": "str", - "lastModifiedAt": "2020-02-20 00:00:00", - "lastModifiedBy": "str", - "lastModifiedByType": "str", - }, - "tags": {"str": "str"}, - "type": "str", - }, - ) - - # please add some check logic here by yourself - # ... - - @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) - @recorded_by_proxy - def test_managed_cluster_snapshots_update_tags(self, resource_group): - response = self.client.managed_cluster_snapshots.update_tags( - resource_group_name=resource_group.name, - resource_name="str", - parameters={"tags": {"str": "str"}}, - ) - - # please add some check logic here by yourself - # ... - - @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) - @recorded_by_proxy - def test_managed_cluster_snapshots_delete(self, resource_group): - response = self.client.managed_cluster_snapshots.delete( - resource_group_name=resource_group.name, - resource_name="str", - ) - - # please add some check logic here by yourself - # ... - - @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) - @recorded_by_proxy - def test_managed_cluster_snapshots_list_by_resource_group(self, resource_group): - response = self.client.managed_cluster_snapshots.list_by_resource_group( - resource_group_name=resource_group.name, - ) - result = [r for r in response] - # please add some check logic here by yourself - # ... - - @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) - @recorded_by_proxy - def test_managed_cluster_snapshots_list(self, resource_group): - response = self.client.managed_cluster_snapshots.list() - result = [r for r in response] - # please add some check logic here by yourself - # ... diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_tests/test_container_service_managed_cluster_snapshots_operations_async.py b/sdk/containerservice/azure-mgmt-containerservice/generated_tests/test_container_service_managed_cluster_snapshots_operations_async.py deleted file mode 100644 index 3c60017f23e4..000000000000 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_tests/test_container_service_managed_cluster_snapshots_operations_async.py +++ /dev/null @@ -1,114 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# Code generated by Microsoft (R) Python Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is regenerated. -# -------------------------------------------------------------------------- -import pytest -from azure.mgmt.containerservice.aio import ContainerServiceClient - -from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer -from devtools_testutils.aio import recorded_by_proxy_async - -AZURE_LOCATION = "eastus" - - -@pytest.mark.skip("you may need to update the auto-generated test case before run it") -class TestContainerServiceManagedClusterSnapshotsOperationsAsync(AzureMgmtRecordedTestCase): - def setup_method(self, method): - self.client = self.create_mgmt_client(ContainerServiceClient, is_async=True) - - @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) - @recorded_by_proxy_async - async def test_managed_cluster_snapshots_get(self, resource_group): - response = await self.client.managed_cluster_snapshots.get( - resource_group_name=resource_group.name, - resource_name="str", - ) - - # please add some check logic here by yourself - # ... - - @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) - @recorded_by_proxy_async - async def test_managed_cluster_snapshots_create_or_update(self, resource_group): - response = await self.client.managed_cluster_snapshots.create_or_update( - resource_group_name=resource_group.name, - resource_name="str", - parameters={ - "location": "str", - "id": "str", - "name": "str", - "properties": { - "creationData": {"sourceResourceId": "str"}, - "managedClusterPropertiesReadOnly": { - "enableRbac": bool, - "kubernetesVersion": "str", - "networkProfile": { - "loadBalancerSku": "str", - "networkMode": "str", - "networkPlugin": "str", - "networkPluginMode": "str", - "networkPolicy": "str", - }, - "sku": {"name": "str", "tier": "str"}, - }, - "snapshotType": "str", - }, - "systemData": { - "createdAt": "2020-02-20 00:00:00", - "createdBy": "str", - "createdByType": "str", - "lastModifiedAt": "2020-02-20 00:00:00", - "lastModifiedBy": "str", - "lastModifiedByType": "str", - }, - "tags": {"str": "str"}, - "type": "str", - }, - ) - - # please add some check logic here by yourself - # ... - - @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) - @recorded_by_proxy_async - async def test_managed_cluster_snapshots_update_tags(self, resource_group): - response = await self.client.managed_cluster_snapshots.update_tags( - resource_group_name=resource_group.name, - resource_name="str", - parameters={"tags": {"str": "str"}}, - ) - - # please add some check logic here by yourself - # ... - - @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) - @recorded_by_proxy_async - async def test_managed_cluster_snapshots_delete(self, resource_group): - response = await self.client.managed_cluster_snapshots.delete( - resource_group_name=resource_group.name, - resource_name="str", - ) - - # please add some check logic here by yourself - # ... - - @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) - @recorded_by_proxy_async - async def test_managed_cluster_snapshots_list_by_resource_group(self, resource_group): - response = self.client.managed_cluster_snapshots.list_by_resource_group( - resource_group_name=resource_group.name, - ) - result = [r async for r in response] - # please add some check logic here by yourself - # ... - - @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) - @recorded_by_proxy_async - async def test_managed_cluster_snapshots_list(self, resource_group): - response = self.client.managed_cluster_snapshots.list() - result = [r async for r in response] - # please add some check logic here by yourself - # ... diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_tests/test_container_service_managed_clusters_operations.py b/sdk/containerservice/azure-mgmt-containerservice/generated_tests/test_container_service_managed_clusters_operations.py index 2d94dbd318fc..f8cccad0fa1f 100644 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_tests/test_container_service_managed_clusters_operations.py +++ b/sdk/containerservice/azure-mgmt-containerservice/generated_tests/test_container_service_managed_clusters_operations.py @@ -82,15 +82,10 @@ def test_managed_clusters_begin_create_or_update(self, resource_group): "enableEncryptionAtHost": bool, "enableFIPS": bool, "enableNodePublicIP": bool, - "enableOSDiskFullCaching": bool, "enableUltraSSD": bool, "gatewayProfile": {"publicIPPrefixSize": 0}, "gpuInstanceProfile": "str", - "gpuProfile": { - "driver": "str", - "driverType": "str", - "nvidia": {"managementMode": "str", "migStrategy": "str"}, - }, + "gpuProfile": {"driver": "str"}, "hostGroupID": "str", "kubeletConfig": { "allowedUnsafeSysctls": ["str"], @@ -100,16 +95,9 @@ def test_managed_clusters_begin_create_or_update(self, resource_group): "cpuCfsQuotaPeriod": "str", "cpuManagerPolicy": "str", "failSwapOn": bool, - "hardEvictionThreshold": { - "memoryAvailable": "str", - "nodeFsAvailable": "str", - "nodeFsInodesFree": "str", - }, "imageGcHighThreshold": 0, "imageGcLowThreshold": 0, - "kubeReserved": {"cpuMillicores": 0, "memoryMB": 0}, "podMaxPids": 0, - "seccompDefault": "str", "topologyManagerPolicy": "str", }, "kubeletDiskType": "str", @@ -184,14 +172,9 @@ def test_managed_clusters_begin_create_or_update(self, resource_group): "networkProfile": { "allowedHostPorts": [{"portEnd": 0, "portStart": 0, "protocol": "str"}], "applicationSecurityGroups": ["str"], - "nodePublicIPPrefixIDs": ["str"], "nodePublicIPTags": [{"ipTagType": "str", "tag": "str"}], - "secondaryNetworkInterfaces": [ - {"enableAcceleratedNetworking": bool, "type": "str", "vnetSubnetId": "str"} - ], }, "nodeImageVersion": "str", - "nodeInitializationTaints": ["str"], "nodeLabels": {"str": "str"}, "nodePublicIPPrefixID": "str", "nodeTaints": ["str"], @@ -203,7 +186,6 @@ def test_managed_clusters_begin_create_or_update(self, resource_group): "podIPAllocationMode": "str", "podSubnetID": "str", "powerState": {"code": "str"}, - "preparedImageSpecificationProfile": {"preparedImageSpecificationId": "str"}, "provisioningState": "str", "proximityPlacementGroupID": "str", "scaleDownMode": "str", @@ -224,19 +206,11 @@ def test_managed_clusters_begin_create_or_update(self, resource_group): "type": "str", "upgradeSettings": { "drainTimeoutInMinutes": 0, - "maxBlockedNodes": "str", "maxSurge": "str", "maxUnavailable": "str", "nodeSoakDurationInMinutes": 0, "undrainableNodeBehavior": "str", }, - "upgradeSettingsBlueGreen": { - "batchSoakDurationInMinutes": 0, - "drainBatchSize": "str", - "drainTimeoutInMinutes": 0, - "finalSoakDurationInMinutes": 0, - }, - "upgradeStrategy": "str", "virtualMachineNodesStatus": [{"count": 0, "size": "str"}], "virtualMachinesProfile": { "scale": { @@ -284,19 +258,7 @@ def test_managed_clusters_begin_create_or_update(self, resource_group): }, "autoUpgradeProfile": {"nodeOSUpgradeChannel": "str", "upgradeChannel": "str"}, "azureMonitorProfile": { - "appMonitoring": { - "autoInstrumentation": {"enabled": bool}, - "openTelemetryLogsAndTraces": {"enabled": bool, "grpcPort": 0, "httpPort": 0}, - "openTelemetryMetrics": {"enabled": bool, "grpcPort": 0, "httpPort": 0}, - }, - "containerInsights": { - "containerNetworkLogs": "str", - "disableCustomMetrics": bool, - "disablePrometheusMetricsScraping": bool, - "enabled": bool, - "logAnalyticsWorkspaceResourceId": "str", - "syslogPort": 0, - }, + "appMonitoring": {"autoInstrumentation": {"enabled": bool}}, "metrics": { "enabled": bool, "controlPlane": {"enabled": bool}, @@ -305,24 +267,15 @@ def test_managed_clusters_begin_create_or_update(self, resource_group): }, "azurePortalFQDN": "str", "bootstrapProfile": {"artifactSource": "str", "containerRegistryId": "str"}, - "controlPlaneScalingProfile": {"scalingSize": "str"}, - "creationData": {"sourceResourceId": "str"}, "currentKubernetesVersion": "str", "disableLocalAccounts": bool, "diskEncryptionSetID": "str", "dnsPrefix": "str", - "enableFIPS": bool, - "enableNamespaceResources": bool, "enableRBAC": bool, "fqdn": "str", "fqdnSubdomain": "str", - "healthMonitorProfile": { - "enableContinuousControlPlaneAndAddonMonitor": bool, - "enableOnDemandMonitor": bool, - }, "hostedSystemProfile": {"enabled": bool, "nodeSubnetID": "str", "systemNodeSubnetID": "str"}, "httpProxyConfig": { - "effectiveNoProxy": ["str"], "enabled": bool, "httpProxy": "str", "httpsProxy": "str", @@ -331,13 +284,8 @@ def test_managed_clusters_begin_create_or_update(self, resource_group): }, "identityProfile": {"str": {"clientId": "str", "objectId": "str", "resourceId": "str"}}, "ingressProfile": { - "applicationLoadBalancer": { - "enabled": bool, - "identity": {"clientId": "str", "objectId": "str", "resourceId": "str"}, - }, "gatewayAPI": {"installation": "str"}, "webAppRouting": { - "defaultDomain": {"domainName": "str", "enabled": bool}, "dnsZoneResourceIds": ["str"], "enabled": bool, "gatewayAPIImplementations": {"appRoutingIstio": {"mode": "str"}}, @@ -360,29 +308,11 @@ def test_managed_clusters_begin_create_or_update(self, resource_group): "transitEncryption": {"type": "str"}, }, }, - "bastionProfile": { - "bastionId": "str", - "enabled": bool, - "publicIpAddressId": "str", - "scaleUnits": 0, - "sku": "str", - }, "dnsServiceIP": "str", "ipFamilies": ["str"], - "kubeProxyConfig": { - "enabled": bool, - "ipvsConfig": { - "scheduler": "str", - "tcpFinTimeoutSeconds": 0, - "tcpTimeoutSeconds": 0, - "udpTimeoutSeconds": 0, - }, - "mode": "str", - }, "loadBalancerProfile": { "allocatedOutboundPorts": 0, "backendPoolType": "str", - "clusterServiceLoadBalancerHealthProbeMode": "str", "effectiveOutboundIPs": [{"id": "str"}], "enableMultipleStandardLoadBalancers": bool, "idleTimeoutInMinutes": 0, @@ -391,13 +321,10 @@ def test_managed_clusters_begin_create_or_update(self, resource_group): "outboundIPs": {"publicIPs": [{"id": "str"}]}, }, "loadBalancerSku": "str", - "natGatewayId": "str", "natGatewayProfile": { "effectiveOutboundIPs": [{"id": "str"}], "idleTimeoutInMinutes": 0, - "managedOutboundIPProfile": {"count": 0, "countIPv6": 0}, - "outboundIPPrefixes": {"publicIPPrefixes": ["str"]}, - "outboundIPs": {"publicIPs": ["str"]}, + "managedOutboundIPProfile": {"count": 0}, }, "networkDataplane": "str", "networkMode": "str", @@ -407,12 +334,10 @@ def test_managed_clusters_begin_create_or_update(self, resource_group): "outboundType": "str", "podCidr": "str", "podCidrs": ["str"], - "podLinkLocalAccess": "str", "serviceCidr": "str", "serviceCidrs": ["str"], "staticEgressGatewayProfile": {"enabled": bool}, }, - "nodeDisruptionProfile": {"nodeDisruptionPolicy": "str"}, "nodeProvisioningProfile": {"defaultNodePools": "str", "mode": "str"}, "nodeResourceGroup": "str", "nodeResourceGroupProfile": {"restrictionLevel": "str"}, @@ -477,10 +402,6 @@ def test_managed_clusters_begin_create_or_update(self, resource_group): "securityMonitoring": {"enabled": bool}, }, "imageCleaner": {"enabled": bool, "intervalHours": 0}, - "imageIntegrity": {"enabled": bool}, - "kubernetesResourceObjectEncryptionProfile": {"infrastructureEncryption": "str"}, - "nodeRestriction": {"enabled": bool}, - "serviceAccountImagePullProfile": {"defaultManagedIdentityId": "str", "enabled": bool}, "workloadIdentity": {"enabled": bool}, }, "serviceMeshProfile": { @@ -537,7 +458,7 @@ def test_managed_clusters_begin_create_or_update(self, resource_group): }, "workloadAutoScalerProfile": { "keda": {"enabled": bool}, - "verticalPodAutoscaler": {"enabled": bool, "addonAutoscaling": "str"}, + "verticalPodAutoscaler": {"enabled": bool}, }, }, "sku": {"name": "str", "tier": "str"}, @@ -765,18 +686,6 @@ def test_managed_clusters_list_outbound_network_dependencies_endpoints(self, res # please add some check logic here by yourself # ... - @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) - @recorded_by_proxy - def test_managed_clusters_begin_rebalance_load_balancers(self, resource_group): - response = self.client.managed_clusters.begin_rebalance_load_balancers( - resource_group_name=resource_group.name, - resource_name="str", - parameters={"loadBalancerNames": ["str"]}, - ).result() # call '.result()' to poll until service return final result - - # please add some check logic here by yourself - # ... - @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) @recorded_by_proxy def test_managed_clusters_get_upgrade_profile(self, resource_group): @@ -788,48 +697,6 @@ def test_managed_clusters_get_upgrade_profile(self, resource_group): # please add some check logic here by yourself # ... - @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) - @recorded_by_proxy - def test_managed_clusters_get_guardrails_versions(self, resource_group): - response = self.client.managed_clusters.get_guardrails_versions( - location="str", - version="str", - ) - - # please add some check logic here by yourself - # ... - - @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) - @recorded_by_proxy - def test_managed_clusters_list_guardrails_versions(self, resource_group): - response = self.client.managed_clusters.list_guardrails_versions( - location="str", - ) - result = [r for r in response] - # please add some check logic here by yourself - # ... - - @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) - @recorded_by_proxy - def test_managed_clusters_get_safeguards_versions(self, resource_group): - response = self.client.managed_clusters.get_safeguards_versions( - location="str", - version="str", - ) - - # please add some check logic here by yourself - # ... - - @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) - @recorded_by_proxy - def test_managed_clusters_list_safeguards_versions(self, resource_group): - response = self.client.managed_clusters.list_safeguards_versions( - location="str", - ) - result = [r for r in response] - # please add some check logic here by yourself - # ... - @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) @recorded_by_proxy def test_managed_clusters_get_mesh_revision_profile(self, resource_group): diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_tests/test_container_service_managed_clusters_operations_async.py b/sdk/containerservice/azure-mgmt-containerservice/generated_tests/test_container_service_managed_clusters_operations_async.py index cdd639824c03..6ac8e528cdd0 100644 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_tests/test_container_service_managed_clusters_operations_async.py +++ b/sdk/containerservice/azure-mgmt-containerservice/generated_tests/test_container_service_managed_clusters_operations_async.py @@ -89,15 +89,10 @@ async def test_managed_clusters_begin_create_or_update(self, resource_group): "enableEncryptionAtHost": bool, "enableFIPS": bool, "enableNodePublicIP": bool, - "enableOSDiskFullCaching": bool, "enableUltraSSD": bool, "gatewayProfile": {"publicIPPrefixSize": 0}, "gpuInstanceProfile": "str", - "gpuProfile": { - "driver": "str", - "driverType": "str", - "nvidia": {"managementMode": "str", "migStrategy": "str"}, - }, + "gpuProfile": {"driver": "str"}, "hostGroupID": "str", "kubeletConfig": { "allowedUnsafeSysctls": ["str"], @@ -107,16 +102,9 @@ async def test_managed_clusters_begin_create_or_update(self, resource_group): "cpuCfsQuotaPeriod": "str", "cpuManagerPolicy": "str", "failSwapOn": bool, - "hardEvictionThreshold": { - "memoryAvailable": "str", - "nodeFsAvailable": "str", - "nodeFsInodesFree": "str", - }, "imageGcHighThreshold": 0, "imageGcLowThreshold": 0, - "kubeReserved": {"cpuMillicores": 0, "memoryMB": 0}, "podMaxPids": 0, - "seccompDefault": "str", "topologyManagerPolicy": "str", }, "kubeletDiskType": "str", @@ -191,14 +179,9 @@ async def test_managed_clusters_begin_create_or_update(self, resource_group): "networkProfile": { "allowedHostPorts": [{"portEnd": 0, "portStart": 0, "protocol": "str"}], "applicationSecurityGroups": ["str"], - "nodePublicIPPrefixIDs": ["str"], "nodePublicIPTags": [{"ipTagType": "str", "tag": "str"}], - "secondaryNetworkInterfaces": [ - {"enableAcceleratedNetworking": bool, "type": "str", "vnetSubnetId": "str"} - ], }, "nodeImageVersion": "str", - "nodeInitializationTaints": ["str"], "nodeLabels": {"str": "str"}, "nodePublicIPPrefixID": "str", "nodeTaints": ["str"], @@ -210,7 +193,6 @@ async def test_managed_clusters_begin_create_or_update(self, resource_group): "podIPAllocationMode": "str", "podSubnetID": "str", "powerState": {"code": "str"}, - "preparedImageSpecificationProfile": {"preparedImageSpecificationId": "str"}, "provisioningState": "str", "proximityPlacementGroupID": "str", "scaleDownMode": "str", @@ -231,19 +213,11 @@ async def test_managed_clusters_begin_create_or_update(self, resource_group): "type": "str", "upgradeSettings": { "drainTimeoutInMinutes": 0, - "maxBlockedNodes": "str", "maxSurge": "str", "maxUnavailable": "str", "nodeSoakDurationInMinutes": 0, "undrainableNodeBehavior": "str", }, - "upgradeSettingsBlueGreen": { - "batchSoakDurationInMinutes": 0, - "drainBatchSize": "str", - "drainTimeoutInMinutes": 0, - "finalSoakDurationInMinutes": 0, - }, - "upgradeStrategy": "str", "virtualMachineNodesStatus": [{"count": 0, "size": "str"}], "virtualMachinesProfile": { "scale": { @@ -291,19 +265,7 @@ async def test_managed_clusters_begin_create_or_update(self, resource_group): }, "autoUpgradeProfile": {"nodeOSUpgradeChannel": "str", "upgradeChannel": "str"}, "azureMonitorProfile": { - "appMonitoring": { - "autoInstrumentation": {"enabled": bool}, - "openTelemetryLogsAndTraces": {"enabled": bool, "grpcPort": 0, "httpPort": 0}, - "openTelemetryMetrics": {"enabled": bool, "grpcPort": 0, "httpPort": 0}, - }, - "containerInsights": { - "containerNetworkLogs": "str", - "disableCustomMetrics": bool, - "disablePrometheusMetricsScraping": bool, - "enabled": bool, - "logAnalyticsWorkspaceResourceId": "str", - "syslogPort": 0, - }, + "appMonitoring": {"autoInstrumentation": {"enabled": bool}}, "metrics": { "enabled": bool, "controlPlane": {"enabled": bool}, @@ -315,24 +277,15 @@ async def test_managed_clusters_begin_create_or_update(self, resource_group): }, "azurePortalFQDN": "str", "bootstrapProfile": {"artifactSource": "str", "containerRegistryId": "str"}, - "controlPlaneScalingProfile": {"scalingSize": "str"}, - "creationData": {"sourceResourceId": "str"}, "currentKubernetesVersion": "str", "disableLocalAccounts": bool, "diskEncryptionSetID": "str", "dnsPrefix": "str", - "enableFIPS": bool, - "enableNamespaceResources": bool, "enableRBAC": bool, "fqdn": "str", "fqdnSubdomain": "str", - "healthMonitorProfile": { - "enableContinuousControlPlaneAndAddonMonitor": bool, - "enableOnDemandMonitor": bool, - }, "hostedSystemProfile": {"enabled": bool, "nodeSubnetID": "str", "systemNodeSubnetID": "str"}, "httpProxyConfig": { - "effectiveNoProxy": ["str"], "enabled": bool, "httpProxy": "str", "httpsProxy": "str", @@ -341,13 +294,8 @@ async def test_managed_clusters_begin_create_or_update(self, resource_group): }, "identityProfile": {"str": {"clientId": "str", "objectId": "str", "resourceId": "str"}}, "ingressProfile": { - "applicationLoadBalancer": { - "enabled": bool, - "identity": {"clientId": "str", "objectId": "str", "resourceId": "str"}, - }, "gatewayAPI": {"installation": "str"}, "webAppRouting": { - "defaultDomain": {"domainName": "str", "enabled": bool}, "dnsZoneResourceIds": ["str"], "enabled": bool, "gatewayAPIImplementations": {"appRoutingIstio": {"mode": "str"}}, @@ -370,29 +318,11 @@ async def test_managed_clusters_begin_create_or_update(self, resource_group): "transitEncryption": {"type": "str"}, }, }, - "bastionProfile": { - "bastionId": "str", - "enabled": bool, - "publicIpAddressId": "str", - "scaleUnits": 0, - "sku": "str", - }, "dnsServiceIP": "str", "ipFamilies": ["str"], - "kubeProxyConfig": { - "enabled": bool, - "ipvsConfig": { - "scheduler": "str", - "tcpFinTimeoutSeconds": 0, - "tcpTimeoutSeconds": 0, - "udpTimeoutSeconds": 0, - }, - "mode": "str", - }, "loadBalancerProfile": { "allocatedOutboundPorts": 0, "backendPoolType": "str", - "clusterServiceLoadBalancerHealthProbeMode": "str", "effectiveOutboundIPs": [{"id": "str"}], "enableMultipleStandardLoadBalancers": bool, "idleTimeoutInMinutes": 0, @@ -401,13 +331,10 @@ async def test_managed_clusters_begin_create_or_update(self, resource_group): "outboundIPs": {"publicIPs": [{"id": "str"}]}, }, "loadBalancerSku": "str", - "natGatewayId": "str", "natGatewayProfile": { "effectiveOutboundIPs": [{"id": "str"}], "idleTimeoutInMinutes": 0, - "managedOutboundIPProfile": {"count": 0, "countIPv6": 0}, - "outboundIPPrefixes": {"publicIPPrefixes": ["str"]}, - "outboundIPs": {"publicIPs": ["str"]}, + "managedOutboundIPProfile": {"count": 0}, }, "networkDataplane": "str", "networkMode": "str", @@ -417,12 +344,10 @@ async def test_managed_clusters_begin_create_or_update(self, resource_group): "outboundType": "str", "podCidr": "str", "podCidrs": ["str"], - "podLinkLocalAccess": "str", "serviceCidr": "str", "serviceCidrs": ["str"], "staticEgressGatewayProfile": {"enabled": bool}, }, - "nodeDisruptionProfile": {"nodeDisruptionPolicy": "str"}, "nodeProvisioningProfile": {"defaultNodePools": "str", "mode": "str"}, "nodeResourceGroup": "str", "nodeResourceGroupProfile": {"restrictionLevel": "str"}, @@ -492,10 +417,6 @@ async def test_managed_clusters_begin_create_or_update(self, resource_group): "securityMonitoring": {"enabled": bool}, }, "imageCleaner": {"enabled": bool, "intervalHours": 0}, - "imageIntegrity": {"enabled": bool}, - "kubernetesResourceObjectEncryptionProfile": {"infrastructureEncryption": "str"}, - "nodeRestriction": {"enabled": bool}, - "serviceAccountImagePullProfile": {"defaultManagedIdentityId": "str", "enabled": bool}, "workloadIdentity": {"enabled": bool}, }, "serviceMeshProfile": { @@ -552,7 +473,7 @@ async def test_managed_clusters_begin_create_or_update(self, resource_group): }, "workloadAutoScalerProfile": { "keda": {"enabled": bool}, - "verticalPodAutoscaler": {"enabled": bool, "addonAutoscaling": "str"}, + "verticalPodAutoscaler": {"enabled": bool}, }, }, "sku": {"name": "str", "tier": "str"}, @@ -801,20 +722,6 @@ async def test_managed_clusters_list_outbound_network_dependencies_endpoints(sel # please add some check logic here by yourself # ... - @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) - @recorded_by_proxy_async - async def test_managed_clusters_begin_rebalance_load_balancers(self, resource_group): - response = await ( - await self.client.managed_clusters.begin_rebalance_load_balancers( - resource_group_name=resource_group.name, - resource_name="str", - parameters={"loadBalancerNames": ["str"]}, - ) - ).result() # call '.result()' to poll until service return final result - - # please add some check logic here by yourself - # ... - @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) @recorded_by_proxy_async async def test_managed_clusters_get_upgrade_profile(self, resource_group): @@ -826,48 +733,6 @@ async def test_managed_clusters_get_upgrade_profile(self, resource_group): # please add some check logic here by yourself # ... - @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) - @recorded_by_proxy_async - async def test_managed_clusters_get_guardrails_versions(self, resource_group): - response = await self.client.managed_clusters.get_guardrails_versions( - location="str", - version="str", - ) - - # please add some check logic here by yourself - # ... - - @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) - @recorded_by_proxy_async - async def test_managed_clusters_list_guardrails_versions(self, resource_group): - response = self.client.managed_clusters.list_guardrails_versions( - location="str", - ) - result = [r async for r in response] - # please add some check logic here by yourself - # ... - - @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) - @recorded_by_proxy_async - async def test_managed_clusters_get_safeguards_versions(self, resource_group): - response = await self.client.managed_clusters.get_safeguards_versions( - location="str", - version="str", - ) - - # please add some check logic here by yourself - # ... - - @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) - @recorded_by_proxy_async - async def test_managed_clusters_list_safeguards_versions(self, resource_group): - response = self.client.managed_clusters.list_safeguards_versions( - location="str", - ) - result = [r async for r in response] - # please add some check logic here by yourself - # ... - @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) @recorded_by_proxy_async async def test_managed_clusters_get_mesh_revision_profile(self, resource_group): diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_tests/test_container_service_mesh_memberships_operations.py b/sdk/containerservice/azure-mgmt-containerservice/generated_tests/test_container_service_mesh_memberships_operations.py deleted file mode 100644 index 556954334154..000000000000 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_tests/test_container_service_mesh_memberships_operations.py +++ /dev/null @@ -1,86 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# Code generated by Microsoft (R) Python Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is regenerated. -# -------------------------------------------------------------------------- -import pytest -from azure.mgmt.containerservice import ContainerServiceClient - -from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer, recorded_by_proxy - -AZURE_LOCATION = "eastus" - - -@pytest.mark.skip("you may need to update the auto-generated test case before run it") -class TestContainerServiceMeshMembershipsOperations(AzureMgmtRecordedTestCase): - def setup_method(self, method): - self.client = self.create_mgmt_client(ContainerServiceClient) - - @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) - @recorded_by_proxy - def test_mesh_memberships_get(self, resource_group): - response = self.client.mesh_memberships.get( - resource_group_name=resource_group.name, - resource_name="str", - mesh_membership_name="str", - ) - - # please add some check logic here by yourself - # ... - - @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) - @recorded_by_proxy - def test_mesh_memberships_begin_create_or_update(self, resource_group): - response = self.client.mesh_memberships.begin_create_or_update( - resource_group_name=resource_group.name, - resource_name="str", - mesh_membership_name="str", - parameters={ - "eTag": "str", - "id": "str", - "managedBy": "str", - "name": "str", - "properties": { - "managedMeshID": "str", - "privateConnectProfile": {"privateIpAddress": "str", "subnetResourceId": "str"}, - "provisioningState": "str", - }, - "systemData": { - "createdAt": "2020-02-20 00:00:00", - "createdBy": "str", - "createdByType": "str", - "lastModifiedAt": "2020-02-20 00:00:00", - "lastModifiedBy": "str", - "lastModifiedByType": "str", - }, - "type": "str", - }, - ).result() # call '.result()' to poll until service return final result - - # please add some check logic here by yourself - # ... - - @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) - @recorded_by_proxy - def test_mesh_memberships_begin_delete(self, resource_group): - response = self.client.mesh_memberships.begin_delete( - resource_group_name=resource_group.name, - resource_name="str", - mesh_membership_name="str", - ).result() # call '.result()' to poll until service return final result - - # please add some check logic here by yourself - # ... - - @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) - @recorded_by_proxy - def test_mesh_memberships_list_by_managed_cluster(self, resource_group): - response = self.client.mesh_memberships.list_by_managed_cluster( - resource_group_name=resource_group.name, - resource_name="str", - ) - result = [r for r in response] - # please add some check logic here by yourself - # ... diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_tests/test_container_service_mesh_memberships_operations_async.py b/sdk/containerservice/azure-mgmt-containerservice/generated_tests/test_container_service_mesh_memberships_operations_async.py deleted file mode 100644 index 87c7b2cd23d9..000000000000 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_tests/test_container_service_mesh_memberships_operations_async.py +++ /dev/null @@ -1,91 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# Code generated by Microsoft (R) Python Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is regenerated. -# -------------------------------------------------------------------------- -import pytest -from azure.mgmt.containerservice.aio import ContainerServiceClient - -from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer -from devtools_testutils.aio import recorded_by_proxy_async - -AZURE_LOCATION = "eastus" - - -@pytest.mark.skip("you may need to update the auto-generated test case before run it") -class TestContainerServiceMeshMembershipsOperationsAsync(AzureMgmtRecordedTestCase): - def setup_method(self, method): - self.client = self.create_mgmt_client(ContainerServiceClient, is_async=True) - - @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) - @recorded_by_proxy_async - async def test_mesh_memberships_get(self, resource_group): - response = await self.client.mesh_memberships.get( - resource_group_name=resource_group.name, - resource_name="str", - mesh_membership_name="str", - ) - - # please add some check logic here by yourself - # ... - - @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) - @recorded_by_proxy_async - async def test_mesh_memberships_begin_create_or_update(self, resource_group): - response = await ( - await self.client.mesh_memberships.begin_create_or_update( - resource_group_name=resource_group.name, - resource_name="str", - mesh_membership_name="str", - parameters={ - "eTag": "str", - "id": "str", - "managedBy": "str", - "name": "str", - "properties": { - "managedMeshID": "str", - "privateConnectProfile": {"privateIpAddress": "str", "subnetResourceId": "str"}, - "provisioningState": "str", - }, - "systemData": { - "createdAt": "2020-02-20 00:00:00", - "createdBy": "str", - "createdByType": "str", - "lastModifiedAt": "2020-02-20 00:00:00", - "lastModifiedBy": "str", - "lastModifiedByType": "str", - }, - "type": "str", - }, - ) - ).result() # call '.result()' to poll until service return final result - - # please add some check logic here by yourself - # ... - - @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) - @recorded_by_proxy_async - async def test_mesh_memberships_begin_delete(self, resource_group): - response = await ( - await self.client.mesh_memberships.begin_delete( - resource_group_name=resource_group.name, - resource_name="str", - mesh_membership_name="str", - ) - ).result() # call '.result()' to poll until service return final result - - # please add some check logic here by yourself - # ... - - @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) - @recorded_by_proxy_async - async def test_mesh_memberships_list_by_managed_cluster(self, resource_group): - response = self.client.mesh_memberships.list_by_managed_cluster( - resource_group_name=resource_group.name, - resource_name="str", - ) - result = [r async for r in response] - # please add some check logic here by yourself - # ... diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_tests/test_container_service_operation_status_result_operations.py b/sdk/containerservice/azure-mgmt-containerservice/generated_tests/test_container_service_operation_status_result_operations.py deleted file mode 100644 index 638e238e522f..000000000000 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_tests/test_container_service_operation_status_result_operations.py +++ /dev/null @@ -1,55 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# Code generated by Microsoft (R) Python Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is regenerated. -# -------------------------------------------------------------------------- -import pytest -from azure.mgmt.containerservice import ContainerServiceClient - -from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer, recorded_by_proxy - -AZURE_LOCATION = "eastus" - - -@pytest.mark.skip("you may need to update the auto-generated test case before run it") -class TestContainerServiceOperationStatusResultOperations(AzureMgmtRecordedTestCase): - def setup_method(self, method): - self.client = self.create_mgmt_client(ContainerServiceClient) - - @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) - @recorded_by_proxy - def test_operation_status_result_get_by_agent_pool(self, resource_group): - response = self.client.operation_status_result.get_by_agent_pool( - resource_group_name=resource_group.name, - resource_name="str", - agent_pool_name="str", - operation_id="str", - ) - - # please add some check logic here by yourself - # ... - - @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) - @recorded_by_proxy - def test_operation_status_result_list(self, resource_group): - response = self.client.operation_status_result.list( - resource_group_name=resource_group.name, - resource_name="str", - ) - result = [r for r in response] - # please add some check logic here by yourself - # ... - - @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) - @recorded_by_proxy - def test_operation_status_result_get(self, resource_group): - response = self.client.operation_status_result.get( - resource_group_name=resource_group.name, - resource_name="str", - operation_id="str", - ) - - # please add some check logic here by yourself - # ... diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_tests/test_container_service_operation_status_result_operations_async.py b/sdk/containerservice/azure-mgmt-containerservice/generated_tests/test_container_service_operation_status_result_operations_async.py deleted file mode 100644 index 1ca784249fbe..000000000000 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_tests/test_container_service_operation_status_result_operations_async.py +++ /dev/null @@ -1,56 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# Code generated by Microsoft (R) Python Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is regenerated. -# -------------------------------------------------------------------------- -import pytest -from azure.mgmt.containerservice.aio import ContainerServiceClient - -from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer -from devtools_testutils.aio import recorded_by_proxy_async - -AZURE_LOCATION = "eastus" - - -@pytest.mark.skip("you may need to update the auto-generated test case before run it") -class TestContainerServiceOperationStatusResultOperationsAsync(AzureMgmtRecordedTestCase): - def setup_method(self, method): - self.client = self.create_mgmt_client(ContainerServiceClient, is_async=True) - - @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) - @recorded_by_proxy_async - async def test_operation_status_result_get_by_agent_pool(self, resource_group): - response = await self.client.operation_status_result.get_by_agent_pool( - resource_group_name=resource_group.name, - resource_name="str", - agent_pool_name="str", - operation_id="str", - ) - - # please add some check logic here by yourself - # ... - - @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) - @recorded_by_proxy_async - async def test_operation_status_result_list(self, resource_group): - response = self.client.operation_status_result.list( - resource_group_name=resource_group.name, - resource_name="str", - ) - result = [r async for r in response] - # please add some check logic here by yourself - # ... - - @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) - @recorded_by_proxy_async - async def test_operation_status_result_get(self, resource_group): - response = await self.client.operation_status_result.get( - resource_group_name=resource_group.name, - resource_name="str", - operation_id="str", - ) - - # please add some check logic here by yourself - # ... diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_tests/test_container_service_vm_skus_operations.py b/sdk/containerservice/azure-mgmt-containerservice/generated_tests/test_container_service_vm_skus_operations.py deleted file mode 100644 index a4936ed3c7e4..000000000000 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_tests/test_container_service_vm_skus_operations.py +++ /dev/null @@ -1,29 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# Code generated by Microsoft (R) Python Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is regenerated. -# -------------------------------------------------------------------------- -import pytest -from azure.mgmt.containerservice import ContainerServiceClient - -from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer, recorded_by_proxy - -AZURE_LOCATION = "eastus" - - -@pytest.mark.skip("you may need to update the auto-generated test case before run it") -class TestContainerServiceVmSkusOperations(AzureMgmtRecordedTestCase): - def setup_method(self, method): - self.client = self.create_mgmt_client(ContainerServiceClient) - - @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) - @recorded_by_proxy - def test_vm_skus_list(self, resource_group): - response = self.client.vm_skus.list( - location="str", - ) - result = [r for r in response] - # please add some check logic here by yourself - # ... diff --git a/sdk/containerservice/azure-mgmt-containerservice/generated_tests/test_container_service_vm_skus_operations_async.py b/sdk/containerservice/azure-mgmt-containerservice/generated_tests/test_container_service_vm_skus_operations_async.py deleted file mode 100644 index 0b59f282b641..000000000000 --- a/sdk/containerservice/azure-mgmt-containerservice/generated_tests/test_container_service_vm_skus_operations_async.py +++ /dev/null @@ -1,30 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# Code generated by Microsoft (R) Python Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is regenerated. -# -------------------------------------------------------------------------- -import pytest -from azure.mgmt.containerservice.aio import ContainerServiceClient - -from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer -from devtools_testutils.aio import recorded_by_proxy_async - -AZURE_LOCATION = "eastus" - - -@pytest.mark.skip("you may need to update the auto-generated test case before run it") -class TestContainerServiceVmSkusOperationsAsync(AzureMgmtRecordedTestCase): - def setup_method(self, method): - self.client = self.create_mgmt_client(ContainerServiceClient, is_async=True) - - @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) - @recorded_by_proxy_async - async def test_vm_skus_list(self, resource_group): - response = self.client.vm_skus.list( - location="str", - ) - result = [r async for r in response] - # please add some check logic here by yourself - # ... diff --git a/sdk/containerservice/azure-mgmt-containerservice/pyproject.toml b/sdk/containerservice/azure-mgmt-containerservice/pyproject.toml index 4d73543539cc..4152345718f2 100644 --- a/sdk/containerservice/azure-mgmt-containerservice/pyproject.toml +++ b/sdk/containerservice/azure-mgmt-containerservice/pyproject.toml @@ -1,6 +1,6 @@ [build-system] requires = [ - "setuptools>=77.0.3", + "setuptools>=83.0.0", "wheel", ] build-backend = "setuptools.build_meta" @@ -13,7 +13,7 @@ authors = [ description = "Microsoft Azure Containerservice Management Client Library for Python" license = "MIT" classifiers = [ - "Development Status :: 4 - Beta", + "Development Status :: 5 - Production/Stable", "Programming Language :: Python", "Programming Language :: Python :: 3 :: Only", "Programming Language :: Python :: 3", @@ -78,7 +78,7 @@ verifytypes = false package_name = "azure-mgmt-containerservice" package_pprint_name = "Container Service Management" package_doc_id = "container-service" -is_stable = false +is_stable = true sample_link = "" title = "ContainerServiceClient" package_nspkg = "azure-mgmt-nspkg" diff --git a/sdk/containerservice/azure-mgmt-containerservice/tsp-location.yaml b/sdk/containerservice/azure-mgmt-containerservice/tsp-location.yaml index b2d35b6cb342..2fd892eac07f 100644 --- a/sdk/containerservice/azure-mgmt-containerservice/tsp-location.yaml +++ b/sdk/containerservice/azure-mgmt-containerservice/tsp-location.yaml @@ -1,4 +1,4 @@ directory: specification/containerservice/resource-manager/Microsoft.ContainerService/aks -commit: 00f0e0e39d642c91cb706e0aa5bda169e9b84129 +commit: 08114bc9f1add13140ca2508e4b0796479325eab repo: Azure/azure-rest-api-specs additionalDirectories: