1# coding=utf-8 2# -------------------------------------------------------------------------- 3# Copyright (c) Microsoft Corporation. All rights reserved. 4# Licensed under the MIT License. See License.txt in the project root for license information. 5# Code generated by Microsoft (R) AutoRest Code Generator. 6# Changes may cause incorrect behavior and will be lost if the code is regenerated. 7# -------------------------------------------------------------------------- 8 9import datetime 10from typing import Dict, List, Optional, Union 11 12import msrest.serialization 13 14from ._container_service_client_enums import * 15 16 17class SubResource(msrest.serialization.Model): 18 """Reference to another subresource. 19 20 Variables are only populated by the server, and will be ignored when sending a request. 21 22 :ivar id: Resource ID. 23 :vartype id: str 24 :ivar name: The name of the resource that is unique within a resource group. This name can be 25 used to access the resource. 26 :vartype name: str 27 :ivar type: Resource type. 28 :vartype type: str 29 """ 30 31 _validation = { 32 'id': {'readonly': True}, 33 'name': {'readonly': True}, 34 'type': {'readonly': True}, 35 } 36 37 _attribute_map = { 38 'id': {'key': 'id', 'type': 'str'}, 39 'name': {'key': 'name', 'type': 'str'}, 40 'type': {'key': 'type', 'type': 'str'}, 41 } 42 43 def __init__( 44 self, 45 **kwargs 46 ): 47 super(SubResource, self).__init__(**kwargs) 48 self.id = None 49 self.name = None 50 self.type = None 51 52 53class AgentPool(SubResource): 54 """Agent Pool. 55 56 Variables are only populated by the server, and will be ignored when sending a request. 57 58 :ivar id: Resource ID. 59 :vartype id: str 60 :ivar name: The name of the resource that is unique within a resource group. This name can be 61 used to access the resource. 62 :vartype name: str 63 :ivar type: Resource type. 64 :vartype type: str 65 :param count: Number of agents (VMs) to host docker containers. Allowed values must be in the 66 range of 0 to 100 (inclusive) for user pools and in the range of 1 to 100 (inclusive) for 67 system pools. The default value is 1. 68 :type count: int 69 :param vm_size: Size of agent VMs. Possible values include: "Standard_A1", "Standard_A10", 70 "Standard_A11", "Standard_A1_v2", "Standard_A2", "Standard_A2_v2", "Standard_A2m_v2", 71 "Standard_A3", "Standard_A4", "Standard_A4_v2", "Standard_A4m_v2", "Standard_A5", 72 "Standard_A6", "Standard_A7", "Standard_A8", "Standard_A8_v2", "Standard_A8m_v2", 73 "Standard_A9", "Standard_B2ms", "Standard_B2s", "Standard_B4ms", "Standard_B8ms", 74 "Standard_D1", "Standard_D11", "Standard_D11_v2", "Standard_D11_v2_Promo", "Standard_D12", 75 "Standard_D12_v2", "Standard_D12_v2_Promo", "Standard_D13", "Standard_D13_v2", 76 "Standard_D13_v2_Promo", "Standard_D14", "Standard_D14_v2", "Standard_D14_v2_Promo", 77 "Standard_D15_v2", "Standard_D16_v3", "Standard_D16s_v3", "Standard_D1_v2", "Standard_D2", 78 "Standard_D2_v2", "Standard_D2_v2_Promo", "Standard_D2_v3", "Standard_D2s_v3", "Standard_D3", 79 "Standard_D32_v3", "Standard_D32s_v3", "Standard_D3_v2", "Standard_D3_v2_Promo", "Standard_D4", 80 "Standard_D4_v2", "Standard_D4_v2_Promo", "Standard_D4_v3", "Standard_D4s_v3", 81 "Standard_D5_v2", "Standard_D5_v2_Promo", "Standard_D64_v3", "Standard_D64s_v3", 82 "Standard_D8_v3", "Standard_D8s_v3", "Standard_DS1", "Standard_DS11", "Standard_DS11_v2", 83 "Standard_DS11_v2_Promo", "Standard_DS12", "Standard_DS12_v2", "Standard_DS12_v2_Promo", 84 "Standard_DS13", "Standard_DS13-2_v2", "Standard_DS13-4_v2", "Standard_DS13_v2", 85 "Standard_DS13_v2_Promo", "Standard_DS14", "Standard_DS14-4_v2", "Standard_DS14-8_v2", 86 "Standard_DS14_v2", "Standard_DS14_v2_Promo", "Standard_DS15_v2", "Standard_DS1_v2", 87 "Standard_DS2", "Standard_DS2_v2", "Standard_DS2_v2_Promo", "Standard_DS3", "Standard_DS3_v2", 88 "Standard_DS3_v2_Promo", "Standard_DS4", "Standard_DS4_v2", "Standard_DS4_v2_Promo", 89 "Standard_DS5_v2", "Standard_DS5_v2_Promo", "Standard_E16_v3", "Standard_E16s_v3", 90 "Standard_E2_v3", "Standard_E2s_v3", "Standard_E32-16s_v3", "Standard_E32-8s_v3", 91 "Standard_E32_v3", "Standard_E32s_v3", "Standard_E4_v3", "Standard_E4s_v3", 92 "Standard_E64-16s_v3", "Standard_E64-32s_v3", "Standard_E64_v3", "Standard_E64s_v3", 93 "Standard_E8_v3", "Standard_E8s_v3", "Standard_F1", "Standard_F16", "Standard_F16s", 94 "Standard_F16s_v2", "Standard_F1s", "Standard_F2", "Standard_F2s", "Standard_F2s_v2", 95 "Standard_F32s_v2", "Standard_F4", "Standard_F4s", "Standard_F4s_v2", "Standard_F64s_v2", 96 "Standard_F72s_v2", "Standard_F8", "Standard_F8s", "Standard_F8s_v2", "Standard_G1", 97 "Standard_G2", "Standard_G3", "Standard_G4", "Standard_G5", "Standard_GS1", "Standard_GS2", 98 "Standard_GS3", "Standard_GS4", "Standard_GS4-4", "Standard_GS4-8", "Standard_GS5", 99 "Standard_GS5-16", "Standard_GS5-8", "Standard_H16", "Standard_H16m", "Standard_H16mr", 100 "Standard_H16r", "Standard_H8", "Standard_H8m", "Standard_L16s", "Standard_L32s", 101 "Standard_L4s", "Standard_L8s", "Standard_M128-32ms", "Standard_M128-64ms", "Standard_M128ms", 102 "Standard_M128s", "Standard_M64-16ms", "Standard_M64-32ms", "Standard_M64ms", "Standard_M64s", 103 "Standard_NC12", "Standard_NC12s_v2", "Standard_NC12s_v3", "Standard_NC24", "Standard_NC24r", 104 "Standard_NC24rs_v2", "Standard_NC24rs_v3", "Standard_NC24s_v2", "Standard_NC24s_v3", 105 "Standard_NC6", "Standard_NC6s_v2", "Standard_NC6s_v3", "Standard_ND12s", "Standard_ND24rs", 106 "Standard_ND24s", "Standard_ND6s", "Standard_NV12", "Standard_NV24", "Standard_NV6". 107 :type vm_size: str or 108 ~azure.mgmt.containerservice.v2020_12_01.models.ContainerServiceVMSizeTypes 109 :param os_disk_size_gb: OS Disk Size in GB to be used to specify the disk size for every 110 machine in this master/agent pool. If you specify 0, it will apply the default osDisk size 111 according to the vmSize specified. 112 :type os_disk_size_gb: int 113 :param os_disk_type: OS disk type to be used for machines in a given agent pool. Allowed values 114 are 'Ephemeral' and 'Managed'. If unspecified, defaults to 'Ephemeral' when the VM supports 115 ephemeral OS and has a cache disk larger than the requested OSDiskSizeGB. Otherwise, defaults 116 to 'Managed'. May not be changed after creation. Possible values include: "Managed", 117 "Ephemeral". 118 :type os_disk_type: str or ~azure.mgmt.containerservice.v2020_12_01.models.OSDiskType 119 :param kubelet_disk_type: KubeletDiskType determines the placement of emptyDir volumes, 120 container runtime data root, and Kubelet ephemeral storage. Currently allows one value, OS, 121 resulting in Kubelet using the OS disk for data. Possible values include: "OS". 122 :type kubelet_disk_type: str or ~azure.mgmt.containerservice.v2020_12_01.models.KubeletDiskType 123 :param vnet_subnet_id: VNet SubnetID specifies the VNet's subnet identifier for nodes and maybe 124 pods. 125 :type vnet_subnet_id: str 126 :param pod_subnet_id: Pod SubnetID specifies the VNet's subnet identifier for pods. 127 :type pod_subnet_id: str 128 :param max_pods: Maximum number of pods that can run on a node. 129 :type max_pods: int 130 :param os_type: OsType to be used to specify os type. Choose from Linux and Windows. Default to 131 Linux. Possible values include: "Linux", "Windows". Default value: "Linux". 132 :type os_type: str or ~azure.mgmt.containerservice.v2020_12_01.models.OSType 133 :param max_count: Maximum number of nodes for auto-scaling. 134 :type max_count: int 135 :param min_count: Minimum number of nodes for auto-scaling. 136 :type min_count: int 137 :param enable_auto_scaling: Whether to enable auto-scaler. 138 :type enable_auto_scaling: bool 139 :param type_properties_type: AgentPoolType represents types of an agent pool. Possible values 140 include: "VirtualMachineScaleSets", "AvailabilitySet". 141 :type type_properties_type: str or 142 ~azure.mgmt.containerservice.v2020_12_01.models.AgentPoolType 143 :param mode: AgentPoolMode represents mode of an agent pool. Possible values include: "System", 144 "User". 145 :type mode: str or ~azure.mgmt.containerservice.v2020_12_01.models.AgentPoolMode 146 :param orchestrator_version: Version of orchestrator specified when creating the managed 147 cluster. 148 :type orchestrator_version: str 149 :ivar node_image_version: Version of node image. 150 :vartype node_image_version: str 151 :param upgrade_settings: Settings for upgrading the agentpool. 152 :type upgrade_settings: 153 ~azure.mgmt.containerservice.v2020_12_01.models.AgentPoolUpgradeSettings 154 :ivar provisioning_state: The current deployment or provisioning state, which only appears in 155 the response. 156 :vartype provisioning_state: str 157 :ivar power_state: Describes whether the Agent Pool is Running or Stopped. 158 :vartype power_state: ~azure.mgmt.containerservice.v2020_12_01.models.PowerState 159 :param availability_zones: Availability zones for nodes. Must use VirtualMachineScaleSets 160 AgentPoolType. 161 :type availability_zones: list[str] 162 :param enable_node_public_ip: Enable public IP for nodes. 163 :type enable_node_public_ip: bool 164 :param scale_set_priority: ScaleSetPriority to be used to specify virtual machine scale set 165 priority. Default to regular. Possible values include: "Spot", "Regular". Default value: 166 "Regular". 167 :type scale_set_priority: str or 168 ~azure.mgmt.containerservice.v2020_12_01.models.ScaleSetPriority 169 :param scale_set_eviction_policy: ScaleSetEvictionPolicy to be used to specify eviction policy 170 for Spot virtual machine scale set. Default to Delete. Possible values include: "Delete", 171 "Deallocate". Default value: "Delete". 172 :type scale_set_eviction_policy: str or 173 ~azure.mgmt.containerservice.v2020_12_01.models.ScaleSetEvictionPolicy 174 :param spot_max_price: SpotMaxPrice to be used to specify the maximum price you are willing to 175 pay in US Dollars. Possible values are any decimal value greater than zero or -1 which 176 indicates default price to be up-to on-demand. 177 :type spot_max_price: float 178 :param tags: A set of tags. Agent pool tags to be persisted on the agent pool virtual machine 179 scale set. 180 :type tags: dict[str, str] 181 :param node_labels: Agent pool node labels to be persisted across all nodes in agent pool. 182 :type node_labels: dict[str, str] 183 :param node_taints: Taints added to new nodes during node pool create and scale. For example, 184 key=value:NoSchedule. 185 :type node_taints: list[str] 186 :param proximity_placement_group_id: The ID for Proximity Placement Group. 187 :type proximity_placement_group_id: str 188 :param kubelet_config: KubeletConfig specifies the configuration of kubelet on agent nodes. 189 :type kubelet_config: ~azure.mgmt.containerservice.v2020_12_01.models.KubeletConfig 190 :param linux_os_config: LinuxOSConfig specifies the OS configuration of linux agent nodes. 191 :type linux_os_config: ~azure.mgmt.containerservice.v2020_12_01.models.LinuxOSConfig 192 :param enable_encryption_at_host: Whether to enable EncryptionAtHost. 193 :type enable_encryption_at_host: bool 194 """ 195 196 _validation = { 197 'id': {'readonly': True}, 198 'name': {'readonly': True}, 199 'type': {'readonly': True}, 200 'os_disk_size_gb': {'maximum': 1023, 'minimum': 0}, 201 'node_image_version': {'readonly': True}, 202 'provisioning_state': {'readonly': True}, 203 'power_state': {'readonly': True}, 204 } 205 206 _attribute_map = { 207 'id': {'key': 'id', 'type': 'str'}, 208 'name': {'key': 'name', 'type': 'str'}, 209 'type': {'key': 'type', 'type': 'str'}, 210 'count': {'key': 'properties.count', 'type': 'int'}, 211 'vm_size': {'key': 'properties.vmSize', 'type': 'str'}, 212 'os_disk_size_gb': {'key': 'properties.osDiskSizeGB', 'type': 'int'}, 213 'os_disk_type': {'key': 'properties.osDiskType', 'type': 'str'}, 214 'kubelet_disk_type': {'key': 'properties.kubeletDiskType', 'type': 'str'}, 215 'vnet_subnet_id': {'key': 'properties.vnetSubnetID', 'type': 'str'}, 216 'pod_subnet_id': {'key': 'properties.podSubnetID', 'type': 'str'}, 217 'max_pods': {'key': 'properties.maxPods', 'type': 'int'}, 218 'os_type': {'key': 'properties.osType', 'type': 'str'}, 219 'max_count': {'key': 'properties.maxCount', 'type': 'int'}, 220 'min_count': {'key': 'properties.minCount', 'type': 'int'}, 221 'enable_auto_scaling': {'key': 'properties.enableAutoScaling', 'type': 'bool'}, 222 'type_properties_type': {'key': 'properties.type', 'type': 'str'}, 223 'mode': {'key': 'properties.mode', 'type': 'str'}, 224 'orchestrator_version': {'key': 'properties.orchestratorVersion', 'type': 'str'}, 225 'node_image_version': {'key': 'properties.nodeImageVersion', 'type': 'str'}, 226 'upgrade_settings': {'key': 'properties.upgradeSettings', 'type': 'AgentPoolUpgradeSettings'}, 227 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 228 'power_state': {'key': 'properties.powerState', 'type': 'PowerState'}, 229 'availability_zones': {'key': 'properties.availabilityZones', 'type': '[str]'}, 230 'enable_node_public_ip': {'key': 'properties.enableNodePublicIP', 'type': 'bool'}, 231 'scale_set_priority': {'key': 'properties.scaleSetPriority', 'type': 'str'}, 232 'scale_set_eviction_policy': {'key': 'properties.scaleSetEvictionPolicy', 'type': 'str'}, 233 'spot_max_price': {'key': 'properties.spotMaxPrice', 'type': 'float'}, 234 'tags': {'key': 'properties.tags', 'type': '{str}'}, 235 'node_labels': {'key': 'properties.nodeLabels', 'type': '{str}'}, 236 'node_taints': {'key': 'properties.nodeTaints', 'type': '[str]'}, 237 'proximity_placement_group_id': {'key': 'properties.proximityPlacementGroupID', 'type': 'str'}, 238 'kubelet_config': {'key': 'properties.kubeletConfig', 'type': 'KubeletConfig'}, 239 'linux_os_config': {'key': 'properties.linuxOSConfig', 'type': 'LinuxOSConfig'}, 240 'enable_encryption_at_host': {'key': 'properties.enableEncryptionAtHost', 'type': 'bool'}, 241 } 242 243 def __init__( 244 self, 245 *, 246 count: Optional[int] = None, 247 vm_size: Optional[Union[str, "ContainerServiceVMSizeTypes"]] = None, 248 os_disk_size_gb: Optional[int] = None, 249 os_disk_type: Optional[Union[str, "OSDiskType"]] = None, 250 kubelet_disk_type: Optional[Union[str, "KubeletDiskType"]] = None, 251 vnet_subnet_id: Optional[str] = None, 252 pod_subnet_id: Optional[str] = None, 253 max_pods: Optional[int] = None, 254 os_type: Optional[Union[str, "OSType"]] = "Linux", 255 max_count: Optional[int] = None, 256 min_count: Optional[int] = None, 257 enable_auto_scaling: Optional[bool] = None, 258 type_properties_type: Optional[Union[str, "AgentPoolType"]] = None, 259 mode: Optional[Union[str, "AgentPoolMode"]] = None, 260 orchestrator_version: Optional[str] = None, 261 upgrade_settings: Optional["AgentPoolUpgradeSettings"] = None, 262 availability_zones: Optional[List[str]] = None, 263 enable_node_public_ip: Optional[bool] = None, 264 scale_set_priority: Optional[Union[str, "ScaleSetPriority"]] = "Regular", 265 scale_set_eviction_policy: Optional[Union[str, "ScaleSetEvictionPolicy"]] = "Delete", 266 spot_max_price: Optional[float] = -1, 267 tags: Optional[Dict[str, str]] = None, 268 node_labels: Optional[Dict[str, str]] = None, 269 node_taints: Optional[List[str]] = None, 270 proximity_placement_group_id: Optional[str] = None, 271 kubelet_config: Optional["KubeletConfig"] = None, 272 linux_os_config: Optional["LinuxOSConfig"] = None, 273 enable_encryption_at_host: Optional[bool] = None, 274 **kwargs 275 ): 276 super(AgentPool, self).__init__(**kwargs) 277 self.count = count 278 self.vm_size = vm_size 279 self.os_disk_size_gb = os_disk_size_gb 280 self.os_disk_type = os_disk_type 281 self.kubelet_disk_type = kubelet_disk_type 282 self.vnet_subnet_id = vnet_subnet_id 283 self.pod_subnet_id = pod_subnet_id 284 self.max_pods = max_pods 285 self.os_type = os_type 286 self.max_count = max_count 287 self.min_count = min_count 288 self.enable_auto_scaling = enable_auto_scaling 289 self.type_properties_type = type_properties_type 290 self.mode = mode 291 self.orchestrator_version = orchestrator_version 292 self.node_image_version = None 293 self.upgrade_settings = upgrade_settings 294 self.provisioning_state = None 295 self.power_state = None 296 self.availability_zones = availability_zones 297 self.enable_node_public_ip = enable_node_public_ip 298 self.scale_set_priority = scale_set_priority 299 self.scale_set_eviction_policy = scale_set_eviction_policy 300 self.spot_max_price = spot_max_price 301 self.tags = tags 302 self.node_labels = node_labels 303 self.node_taints = node_taints 304 self.proximity_placement_group_id = proximity_placement_group_id 305 self.kubelet_config = kubelet_config 306 self.linux_os_config = linux_os_config 307 self.enable_encryption_at_host = enable_encryption_at_host 308 309 310class AgentPoolAvailableVersions(msrest.serialization.Model): 311 """The list of available versions for an agent pool. 312 313 Variables are only populated by the server, and will be ignored when sending a request. 314 315 :ivar id: Id of the agent pool available versions. 316 :vartype id: str 317 :ivar name: Name of the agent pool available versions. 318 :vartype name: str 319 :ivar type: Type of the agent pool available versions. 320 :vartype type: str 321 :param agent_pool_versions: List of versions available for agent pool. 322 :type agent_pool_versions: 323 list[~azure.mgmt.containerservice.v2020_12_01.models.AgentPoolAvailableVersionsPropertiesAgentPoolVersionsItem] 324 """ 325 326 _validation = { 327 'id': {'readonly': True}, 328 'name': {'readonly': True}, 329 'type': {'readonly': True}, 330 } 331 332 _attribute_map = { 333 'id': {'key': 'id', 'type': 'str'}, 334 'name': {'key': 'name', 'type': 'str'}, 335 'type': {'key': 'type', 'type': 'str'}, 336 'agent_pool_versions': {'key': 'properties.agentPoolVersions', 'type': '[AgentPoolAvailableVersionsPropertiesAgentPoolVersionsItem]'}, 337 } 338 339 def __init__( 340 self, 341 *, 342 agent_pool_versions: Optional[List["AgentPoolAvailableVersionsPropertiesAgentPoolVersionsItem"]] = None, 343 **kwargs 344 ): 345 super(AgentPoolAvailableVersions, self).__init__(**kwargs) 346 self.id = None 347 self.name = None 348 self.type = None 349 self.agent_pool_versions = agent_pool_versions 350 351 352class AgentPoolAvailableVersionsPropertiesAgentPoolVersionsItem(msrest.serialization.Model): 353 """AgentPoolAvailableVersionsPropertiesAgentPoolVersionsItem. 354 355 :param default: Whether this version is the default agent pool version. 356 :type default: bool 357 :param kubernetes_version: Kubernetes version (major, minor, patch). 358 :type kubernetes_version: str 359 :param is_preview: Whether Kubernetes version is currently in preview. 360 :type is_preview: bool 361 """ 362 363 _attribute_map = { 364 'default': {'key': 'default', 'type': 'bool'}, 365 'kubernetes_version': {'key': 'kubernetesVersion', 'type': 'str'}, 366 'is_preview': {'key': 'isPreview', 'type': 'bool'}, 367 } 368 369 def __init__( 370 self, 371 *, 372 default: Optional[bool] = None, 373 kubernetes_version: Optional[str] = None, 374 is_preview: Optional[bool] = None, 375 **kwargs 376 ): 377 super(AgentPoolAvailableVersionsPropertiesAgentPoolVersionsItem, self).__init__(**kwargs) 378 self.default = default 379 self.kubernetes_version = kubernetes_version 380 self.is_preview = is_preview 381 382 383class AgentPoolListResult(msrest.serialization.Model): 384 """The response from the List Agent Pools operation. 385 386 Variables are only populated by the server, and will be ignored when sending a request. 387 388 :param value: The list of agent pools. 389 :type value: list[~azure.mgmt.containerservice.v2020_12_01.models.AgentPool] 390 :ivar next_link: The URL to get the next set of agent pool results. 391 :vartype next_link: str 392 """ 393 394 _validation = { 395 'next_link': {'readonly': True}, 396 } 397 398 _attribute_map = { 399 'value': {'key': 'value', 'type': '[AgentPool]'}, 400 'next_link': {'key': 'nextLink', 'type': 'str'}, 401 } 402 403 def __init__( 404 self, 405 *, 406 value: Optional[List["AgentPool"]] = None, 407 **kwargs 408 ): 409 super(AgentPoolListResult, self).__init__(**kwargs) 410 self.value = value 411 self.next_link = None 412 413 414class AgentPoolUpgradeProfile(msrest.serialization.Model): 415 """The list of available upgrades for an agent pool. 416 417 Variables are only populated by the server, and will be ignored when sending a request. 418 419 All required parameters must be populated in order to send to Azure. 420 421 :ivar id: Id of the agent pool upgrade profile. 422 :vartype id: str 423 :ivar name: Name of the agent pool upgrade profile. 424 :vartype name: str 425 :ivar type: Type of the agent pool upgrade profile. 426 :vartype type: str 427 :param kubernetes_version: Required. Kubernetes version (major, minor, patch). 428 :type kubernetes_version: str 429 :param os_type: Required. OsType to be used to specify os type. Choose from Linux and Windows. 430 Default to Linux. Possible values include: "Linux", "Windows". Default value: "Linux". 431 :type os_type: str or ~azure.mgmt.containerservice.v2020_12_01.models.OSType 432 :param upgrades: List of orchestrator types and versions available for upgrade. 433 :type upgrades: 434 list[~azure.mgmt.containerservice.v2020_12_01.models.AgentPoolUpgradeProfilePropertiesUpgradesItem] 435 :param latest_node_image_version: LatestNodeImageVersion is the latest AKS supported node image 436 version. 437 :type latest_node_image_version: str 438 """ 439 440 _validation = { 441 'id': {'readonly': True}, 442 'name': {'readonly': True}, 443 'type': {'readonly': True}, 444 'kubernetes_version': {'required': True}, 445 'os_type': {'required': True}, 446 } 447 448 _attribute_map = { 449 'id': {'key': 'id', 'type': 'str'}, 450 'name': {'key': 'name', 'type': 'str'}, 451 'type': {'key': 'type', 'type': 'str'}, 452 'kubernetes_version': {'key': 'properties.kubernetesVersion', 'type': 'str'}, 453 'os_type': {'key': 'properties.osType', 'type': 'str'}, 454 'upgrades': {'key': 'properties.upgrades', 'type': '[AgentPoolUpgradeProfilePropertiesUpgradesItem]'}, 455 'latest_node_image_version': {'key': 'properties.latestNodeImageVersion', 'type': 'str'}, 456 } 457 458 def __init__( 459 self, 460 *, 461 kubernetes_version: str, 462 os_type: Union[str, "OSType"] = "Linux", 463 upgrades: Optional[List["AgentPoolUpgradeProfilePropertiesUpgradesItem"]] = None, 464 latest_node_image_version: Optional[str] = None, 465 **kwargs 466 ): 467 super(AgentPoolUpgradeProfile, self).__init__(**kwargs) 468 self.id = None 469 self.name = None 470 self.type = None 471 self.kubernetes_version = kubernetes_version 472 self.os_type = os_type 473 self.upgrades = upgrades 474 self.latest_node_image_version = latest_node_image_version 475 476 477class AgentPoolUpgradeProfilePropertiesUpgradesItem(msrest.serialization.Model): 478 """AgentPoolUpgradeProfilePropertiesUpgradesItem. 479 480 :param kubernetes_version: Kubernetes version (major, minor, patch). 481 :type kubernetes_version: str 482 :param is_preview: Whether Kubernetes version is currently in preview. 483 :type is_preview: bool 484 """ 485 486 _attribute_map = { 487 'kubernetes_version': {'key': 'kubernetesVersion', 'type': 'str'}, 488 'is_preview': {'key': 'isPreview', 'type': 'bool'}, 489 } 490 491 def __init__( 492 self, 493 *, 494 kubernetes_version: Optional[str] = None, 495 is_preview: Optional[bool] = None, 496 **kwargs 497 ): 498 super(AgentPoolUpgradeProfilePropertiesUpgradesItem, self).__init__(**kwargs) 499 self.kubernetes_version = kubernetes_version 500 self.is_preview = is_preview 501 502 503class AgentPoolUpgradeSettings(msrest.serialization.Model): 504 """Settings for upgrading an agentpool. 505 506 :param max_surge: Count or percentage of additional nodes to be added during upgrade. If empty 507 uses AKS default. 508 :type max_surge: str 509 """ 510 511 _attribute_map = { 512 'max_surge': {'key': 'maxSurge', 'type': 'str'}, 513 } 514 515 def __init__( 516 self, 517 *, 518 max_surge: Optional[str] = None, 519 **kwargs 520 ): 521 super(AgentPoolUpgradeSettings, self).__init__(**kwargs) 522 self.max_surge = max_surge 523 524 525class CloudError(msrest.serialization.Model): 526 """An error response from the Container service. 527 528 :param error: Details about the error. 529 :type error: ~azure.mgmt.containerservice.v2020_12_01.models.CloudErrorBody 530 """ 531 532 _attribute_map = { 533 'error': {'key': 'error', 'type': 'CloudErrorBody'}, 534 } 535 536 def __init__( 537 self, 538 *, 539 error: Optional["CloudErrorBody"] = None, 540 **kwargs 541 ): 542 super(CloudError, self).__init__(**kwargs) 543 self.error = error 544 545 546class CloudErrorBody(msrest.serialization.Model): 547 """An error response from the Container service. 548 549 :param code: An identifier for the error. Codes are invariant and are intended to be consumed 550 programmatically. 551 :type code: str 552 :param message: A message describing the error, intended to be suitable for display in a user 553 interface. 554 :type message: str 555 :param target: The target of the particular error. For example, the name of the property in 556 error. 557 :type target: str 558 :param details: A list of additional details about the error. 559 :type details: list[~azure.mgmt.containerservice.v2020_12_01.models.CloudErrorBody] 560 """ 561 562 _attribute_map = { 563 'code': {'key': 'code', 'type': 'str'}, 564 'message': {'key': 'message', 'type': 'str'}, 565 'target': {'key': 'target', 'type': 'str'}, 566 'details': {'key': 'details', 'type': '[CloudErrorBody]'}, 567 } 568 569 def __init__( 570 self, 571 *, 572 code: Optional[str] = None, 573 message: Optional[str] = None, 574 target: Optional[str] = None, 575 details: Optional[List["CloudErrorBody"]] = None, 576 **kwargs 577 ): 578 super(CloudErrorBody, self).__init__(**kwargs) 579 self.code = code 580 self.message = message 581 self.target = target 582 self.details = details 583 584 585class Components1Q1Og48SchemasManagedclusterAllof1(msrest.serialization.Model): 586 """Components1Q1Og48SchemasManagedclusterAllof1. 587 588 Variables are only populated by the server, and will be ignored when sending a request. 589 590 :param identity: The identity of the managed cluster, if configured. 591 :type identity: ~azure.mgmt.containerservice.v2020_12_01.models.ManagedClusterIdentity 592 :ivar provisioning_state: The current deployment or provisioning state, which only appears in 593 the response. 594 :vartype provisioning_state: str 595 :ivar power_state: Represents the Power State of the cluster. 596 :vartype power_state: ~azure.mgmt.containerservice.v2020_12_01.models.PowerState 597 :ivar max_agent_pools: The max number of agent pools for the managed cluster. 598 :vartype max_agent_pools: int 599 :param kubernetes_version: Version of Kubernetes specified when creating the managed cluster. 600 :type kubernetes_version: str 601 :param dns_prefix: DNS prefix specified when creating the managed cluster. 602 :type dns_prefix: str 603 :ivar fqdn: FQDN for the master pool. 604 :vartype fqdn: str 605 :ivar private_fqdn: FQDN of private cluster. 606 :vartype private_fqdn: str 607 :param agent_pool_profiles: Properties of the agent pool. 608 :type agent_pool_profiles: 609 list[~azure.mgmt.containerservice.v2020_12_01.models.ManagedClusterAgentPoolProfile] 610 :param linux_profile: Profile for Linux VMs in the container service cluster. 611 :type linux_profile: 612 ~azure.mgmt.containerservice.v2020_12_01.models.ContainerServiceLinuxProfile 613 :param windows_profile: Profile for Windows VMs in the container service cluster. 614 :type windows_profile: 615 ~azure.mgmt.containerservice.v2020_12_01.models.ManagedClusterWindowsProfile 616 :param service_principal_profile: Information about a service principal identity for the 617 cluster to use for manipulating Azure APIs. 618 :type service_principal_profile: 619 ~azure.mgmt.containerservice.v2020_12_01.models.ManagedClusterServicePrincipalProfile 620 :param addon_profiles: Profile of managed cluster add-on. 621 :type addon_profiles: dict[str, 622 ~azure.mgmt.containerservice.v2020_12_01.models.ManagedClusterAddonProfile] 623 :param pod_identity_profile: Profile of managed cluster pod identity. 624 :type pod_identity_profile: 625 ~azure.mgmt.containerservice.v2020_12_01.models.ManagedClusterPodIdentityProfile 626 :param node_resource_group: Name of the resource group containing agent pool nodes. 627 :type node_resource_group: str 628 :param enable_rbac: Whether to enable Kubernetes Role-Based Access Control. 629 :type enable_rbac: bool 630 :param enable_pod_security_policy: (DEPRECATING) Whether to enable Kubernetes pod security 631 policy (preview). This feature is set for removal on October 15th, 2020. Learn more at 632 aka.ms/aks/azpodpolicy. 633 :type enable_pod_security_policy: bool 634 :param network_profile: Profile of network configuration. 635 :type network_profile: 636 ~azure.mgmt.containerservice.v2020_12_01.models.ContainerServiceNetworkProfile 637 :param aad_profile: Profile of Azure Active Directory configuration. 638 :type aad_profile: ~azure.mgmt.containerservice.v2020_12_01.models.ManagedClusterAADProfile 639 :param auto_upgrade_profile: Profile of auto upgrade configuration. 640 :type auto_upgrade_profile: 641 ~azure.mgmt.containerservice.v2020_12_01.models.ManagedClusterAutoUpgradeProfile 642 :param auto_scaler_profile: Parameters to be applied to the cluster-autoscaler when enabled. 643 :type auto_scaler_profile: 644 ~azure.mgmt.containerservice.v2020_12_01.models.ManagedClusterPropertiesAutoScalerProfile 645 :param api_server_access_profile: Access profile for managed cluster API server. 646 :type api_server_access_profile: 647 ~azure.mgmt.containerservice.v2020_12_01.models.ManagedClusterAPIServerAccessProfile 648 :param disk_encryption_set_id: ResourceId of the disk encryption set to use for enabling 649 encryption at rest. 650 :type disk_encryption_set_id: str 651 :param identity_profile: Identities associated with the cluster. 652 :type identity_profile: dict[str, 653 ~azure.mgmt.containerservice.v2020_12_01.models.ComponentsQit0EtSchemasManagedclusterpropertiesPropertiesIdentityprofileAdditionalproperties] 654 """ 655 656 _validation = { 657 'provisioning_state': {'readonly': True}, 658 'power_state': {'readonly': True}, 659 'max_agent_pools': {'readonly': True}, 660 'fqdn': {'readonly': True}, 661 'private_fqdn': {'readonly': True}, 662 } 663 664 _attribute_map = { 665 'identity': {'key': 'identity', 'type': 'ManagedClusterIdentity'}, 666 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 667 'power_state': {'key': 'properties.powerState', 'type': 'PowerState'}, 668 'max_agent_pools': {'key': 'properties.maxAgentPools', 'type': 'int'}, 669 'kubernetes_version': {'key': 'properties.kubernetesVersion', 'type': 'str'}, 670 'dns_prefix': {'key': 'properties.dnsPrefix', 'type': 'str'}, 671 'fqdn': {'key': 'properties.fqdn', 'type': 'str'}, 672 'private_fqdn': {'key': 'properties.privateFQDN', 'type': 'str'}, 673 'agent_pool_profiles': {'key': 'properties.agentPoolProfiles', 'type': '[ManagedClusterAgentPoolProfile]'}, 674 'linux_profile': {'key': 'properties.linuxProfile', 'type': 'ContainerServiceLinuxProfile'}, 675 'windows_profile': {'key': 'properties.windowsProfile', 'type': 'ManagedClusterWindowsProfile'}, 676 'service_principal_profile': {'key': 'properties.servicePrincipalProfile', 'type': 'ManagedClusterServicePrincipalProfile'}, 677 'addon_profiles': {'key': 'properties.addonProfiles', 'type': '{ManagedClusterAddonProfile}'}, 678 'pod_identity_profile': {'key': 'properties.podIdentityProfile', 'type': 'ManagedClusterPodIdentityProfile'}, 679 'node_resource_group': {'key': 'properties.nodeResourceGroup', 'type': 'str'}, 680 'enable_rbac': {'key': 'properties.enableRBAC', 'type': 'bool'}, 681 'enable_pod_security_policy': {'key': 'properties.enablePodSecurityPolicy', 'type': 'bool'}, 682 'network_profile': {'key': 'properties.networkProfile', 'type': 'ContainerServiceNetworkProfile'}, 683 'aad_profile': {'key': 'properties.aadProfile', 'type': 'ManagedClusterAADProfile'}, 684 'auto_upgrade_profile': {'key': 'properties.autoUpgradeProfile', 'type': 'ManagedClusterAutoUpgradeProfile'}, 685 'auto_scaler_profile': {'key': 'properties.autoScalerProfile', 'type': 'ManagedClusterPropertiesAutoScalerProfile'}, 686 'api_server_access_profile': {'key': 'properties.apiServerAccessProfile', 'type': 'ManagedClusterAPIServerAccessProfile'}, 687 'disk_encryption_set_id': {'key': 'properties.diskEncryptionSetID', 'type': 'str'}, 688 'identity_profile': {'key': 'properties.identityProfile', 'type': '{ComponentsQit0EtSchemasManagedclusterpropertiesPropertiesIdentityprofileAdditionalproperties}'}, 689 } 690 691 def __init__( 692 self, 693 *, 694 identity: Optional["ManagedClusterIdentity"] = None, 695 kubernetes_version: Optional[str] = None, 696 dns_prefix: Optional[str] = None, 697 agent_pool_profiles: Optional[List["ManagedClusterAgentPoolProfile"]] = None, 698 linux_profile: Optional["ContainerServiceLinuxProfile"] = None, 699 windows_profile: Optional["ManagedClusterWindowsProfile"] = None, 700 service_principal_profile: Optional["ManagedClusterServicePrincipalProfile"] = None, 701 addon_profiles: Optional[Dict[str, "ManagedClusterAddonProfile"]] = None, 702 pod_identity_profile: Optional["ManagedClusterPodIdentityProfile"] = None, 703 node_resource_group: Optional[str] = None, 704 enable_rbac: Optional[bool] = None, 705 enable_pod_security_policy: Optional[bool] = None, 706 network_profile: Optional["ContainerServiceNetworkProfile"] = None, 707 aad_profile: Optional["ManagedClusterAADProfile"] = None, 708 auto_upgrade_profile: Optional["ManagedClusterAutoUpgradeProfile"] = None, 709 auto_scaler_profile: Optional["ManagedClusterPropertiesAutoScalerProfile"] = None, 710 api_server_access_profile: Optional["ManagedClusterAPIServerAccessProfile"] = None, 711 disk_encryption_set_id: Optional[str] = None, 712 identity_profile: Optional[Dict[str, "ComponentsQit0EtSchemasManagedclusterpropertiesPropertiesIdentityprofileAdditionalproperties"]] = None, 713 **kwargs 714 ): 715 super(Components1Q1Og48SchemasManagedclusterAllof1, self).__init__(**kwargs) 716 self.identity = identity 717 self.provisioning_state = None 718 self.power_state = None 719 self.max_agent_pools = None 720 self.kubernetes_version = kubernetes_version 721 self.dns_prefix = dns_prefix 722 self.fqdn = None 723 self.private_fqdn = None 724 self.agent_pool_profiles = agent_pool_profiles 725 self.linux_profile = linux_profile 726 self.windows_profile = windows_profile 727 self.service_principal_profile = service_principal_profile 728 self.addon_profiles = addon_profiles 729 self.pod_identity_profile = pod_identity_profile 730 self.node_resource_group = node_resource_group 731 self.enable_rbac = enable_rbac 732 self.enable_pod_security_policy = enable_pod_security_policy 733 self.network_profile = network_profile 734 self.aad_profile = aad_profile 735 self.auto_upgrade_profile = auto_upgrade_profile 736 self.auto_scaler_profile = auto_scaler_profile 737 self.api_server_access_profile = api_server_access_profile 738 self.disk_encryption_set_id = disk_encryption_set_id 739 self.identity_profile = identity_profile 740 741 742class Components1Umhcm8SchemasManagedclusteridentityPropertiesUserassignedidentitiesAdditionalproperties(msrest.serialization.Model): 743 """Components1Umhcm8SchemasManagedclusteridentityPropertiesUserassignedidentitiesAdditionalproperties. 744 745 Variables are only populated by the server, and will be ignored when sending a request. 746 747 :ivar principal_id: The principal id of user assigned identity. 748 :vartype principal_id: str 749 :ivar client_id: The client id of user assigned identity. 750 :vartype client_id: str 751 """ 752 753 _validation = { 754 'principal_id': {'readonly': True}, 755 'client_id': {'readonly': True}, 756 } 757 758 _attribute_map = { 759 'principal_id': {'key': 'principalId', 'type': 'str'}, 760 'client_id': {'key': 'clientId', 'type': 'str'}, 761 } 762 763 def __init__( 764 self, 765 **kwargs 766 ): 767 super(Components1Umhcm8SchemasManagedclusteridentityPropertiesUserassignedidentitiesAdditionalproperties, self).__init__(**kwargs) 768 self.principal_id = None 769 self.client_id = None 770 771 772class UserAssignedIdentity(msrest.serialization.Model): 773 """UserAssignedIdentity. 774 775 :param resource_id: The resource id of the user assigned identity. 776 :type resource_id: str 777 :param client_id: The client id of the user assigned identity. 778 :type client_id: str 779 :param object_id: The object id of the user assigned identity. 780 :type object_id: str 781 """ 782 783 _attribute_map = { 784 'resource_id': {'key': 'resourceId', 'type': 'str'}, 785 'client_id': {'key': 'clientId', 'type': 'str'}, 786 'object_id': {'key': 'objectId', 'type': 'str'}, 787 } 788 789 def __init__( 790 self, 791 *, 792 resource_id: Optional[str] = None, 793 client_id: Optional[str] = None, 794 object_id: Optional[str] = None, 795 **kwargs 796 ): 797 super(UserAssignedIdentity, self).__init__(**kwargs) 798 self.resource_id = resource_id 799 self.client_id = client_id 800 self.object_id = object_id 801 802 803class ComponentsQit0EtSchemasManagedclusterpropertiesPropertiesIdentityprofileAdditionalproperties(UserAssignedIdentity): 804 """ComponentsQit0EtSchemasManagedclusterpropertiesPropertiesIdentityprofileAdditionalproperties. 805 806 :param resource_id: The resource id of the user assigned identity. 807 :type resource_id: str 808 :param client_id: The client id of the user assigned identity. 809 :type client_id: str 810 :param object_id: The object id of the user assigned identity. 811 :type object_id: str 812 """ 813 814 _attribute_map = { 815 'resource_id': {'key': 'resourceId', 'type': 'str'}, 816 'client_id': {'key': 'clientId', 'type': 'str'}, 817 'object_id': {'key': 'objectId', 'type': 'str'}, 818 } 819 820 def __init__( 821 self, 822 *, 823 resource_id: Optional[str] = None, 824 client_id: Optional[str] = None, 825 object_id: Optional[str] = None, 826 **kwargs 827 ): 828 super(ComponentsQit0EtSchemasManagedclusterpropertiesPropertiesIdentityprofileAdditionalproperties, self).__init__(resource_id=resource_id, client_id=client_id, object_id=object_id, **kwargs) 829 830 831class ContainerServiceDiagnosticsProfile(msrest.serialization.Model): 832 """Profile for diagnostics on the container service cluster. 833 834 All required parameters must be populated in order to send to Azure. 835 836 :param vm_diagnostics: Required. Profile for diagnostics on the container service VMs. 837 :type vm_diagnostics: 838 ~azure.mgmt.containerservice.v2020_12_01.models.ContainerServiceVMDiagnostics 839 """ 840 841 _validation = { 842 'vm_diagnostics': {'required': True}, 843 } 844 845 _attribute_map = { 846 'vm_diagnostics': {'key': 'vmDiagnostics', 'type': 'ContainerServiceVMDiagnostics'}, 847 } 848 849 def __init__( 850 self, 851 *, 852 vm_diagnostics: "ContainerServiceVMDiagnostics", 853 **kwargs 854 ): 855 super(ContainerServiceDiagnosticsProfile, self).__init__(**kwargs) 856 self.vm_diagnostics = vm_diagnostics 857 858 859class ContainerServiceLinuxProfile(msrest.serialization.Model): 860 """Profile for Linux VMs in the container service cluster. 861 862 All required parameters must be populated in order to send to Azure. 863 864 :param admin_username: Required. The administrator username to use for Linux VMs. 865 :type admin_username: str 866 :param ssh: Required. SSH configuration for Linux-based VMs running on Azure. 867 :type ssh: ~azure.mgmt.containerservice.v2020_12_01.models.ContainerServiceSshConfiguration 868 """ 869 870 _validation = { 871 'admin_username': {'required': True, 'pattern': r'^[A-Za-z][-A-Za-z0-9_]*$'}, 872 'ssh': {'required': True}, 873 } 874 875 _attribute_map = { 876 'admin_username': {'key': 'adminUsername', 'type': 'str'}, 877 'ssh': {'key': 'ssh', 'type': 'ContainerServiceSshConfiguration'}, 878 } 879 880 def __init__( 881 self, 882 *, 883 admin_username: str, 884 ssh: "ContainerServiceSshConfiguration", 885 **kwargs 886 ): 887 super(ContainerServiceLinuxProfile, self).__init__(**kwargs) 888 self.admin_username = admin_username 889 self.ssh = ssh 890 891 892class ContainerServiceMasterProfile(msrest.serialization.Model): 893 """Profile for the container service master. 894 895 Variables are only populated by the server, and will be ignored when sending a request. 896 897 All required parameters must be populated in order to send to Azure. 898 899 :param count: Number of masters (VMs) in the container service cluster. Allowed values are 1, 900 3, and 5. The default value is 1. Possible values include: 1, 3, 5. Default value: "1". 901 :type count: str or ~azure.mgmt.containerservice.v2020_12_01.models.Count 902 :param dns_prefix: Required. DNS prefix to be used to create the FQDN for the master pool. 903 :type dns_prefix: str 904 :param vm_size: Required. Size of agent VMs. Possible values include: "Standard_A1", 905 "Standard_A10", "Standard_A11", "Standard_A1_v2", "Standard_A2", "Standard_A2_v2", 906 "Standard_A2m_v2", "Standard_A3", "Standard_A4", "Standard_A4_v2", "Standard_A4m_v2", 907 "Standard_A5", "Standard_A6", "Standard_A7", "Standard_A8", "Standard_A8_v2", 908 "Standard_A8m_v2", "Standard_A9", "Standard_B2ms", "Standard_B2s", "Standard_B4ms", 909 "Standard_B8ms", "Standard_D1", "Standard_D11", "Standard_D11_v2", "Standard_D11_v2_Promo", 910 "Standard_D12", "Standard_D12_v2", "Standard_D12_v2_Promo", "Standard_D13", "Standard_D13_v2", 911 "Standard_D13_v2_Promo", "Standard_D14", "Standard_D14_v2", "Standard_D14_v2_Promo", 912 "Standard_D15_v2", "Standard_D16_v3", "Standard_D16s_v3", "Standard_D1_v2", "Standard_D2", 913 "Standard_D2_v2", "Standard_D2_v2_Promo", "Standard_D2_v3", "Standard_D2s_v3", "Standard_D3", 914 "Standard_D32_v3", "Standard_D32s_v3", "Standard_D3_v2", "Standard_D3_v2_Promo", "Standard_D4", 915 "Standard_D4_v2", "Standard_D4_v2_Promo", "Standard_D4_v3", "Standard_D4s_v3", 916 "Standard_D5_v2", "Standard_D5_v2_Promo", "Standard_D64_v3", "Standard_D64s_v3", 917 "Standard_D8_v3", "Standard_D8s_v3", "Standard_DS1", "Standard_DS11", "Standard_DS11_v2", 918 "Standard_DS11_v2_Promo", "Standard_DS12", "Standard_DS12_v2", "Standard_DS12_v2_Promo", 919 "Standard_DS13", "Standard_DS13-2_v2", "Standard_DS13-4_v2", "Standard_DS13_v2", 920 "Standard_DS13_v2_Promo", "Standard_DS14", "Standard_DS14-4_v2", "Standard_DS14-8_v2", 921 "Standard_DS14_v2", "Standard_DS14_v2_Promo", "Standard_DS15_v2", "Standard_DS1_v2", 922 "Standard_DS2", "Standard_DS2_v2", "Standard_DS2_v2_Promo", "Standard_DS3", "Standard_DS3_v2", 923 "Standard_DS3_v2_Promo", "Standard_DS4", "Standard_DS4_v2", "Standard_DS4_v2_Promo", 924 "Standard_DS5_v2", "Standard_DS5_v2_Promo", "Standard_E16_v3", "Standard_E16s_v3", 925 "Standard_E2_v3", "Standard_E2s_v3", "Standard_E32-16s_v3", "Standard_E32-8s_v3", 926 "Standard_E32_v3", "Standard_E32s_v3", "Standard_E4_v3", "Standard_E4s_v3", 927 "Standard_E64-16s_v3", "Standard_E64-32s_v3", "Standard_E64_v3", "Standard_E64s_v3", 928 "Standard_E8_v3", "Standard_E8s_v3", "Standard_F1", "Standard_F16", "Standard_F16s", 929 "Standard_F16s_v2", "Standard_F1s", "Standard_F2", "Standard_F2s", "Standard_F2s_v2", 930 "Standard_F32s_v2", "Standard_F4", "Standard_F4s", "Standard_F4s_v2", "Standard_F64s_v2", 931 "Standard_F72s_v2", "Standard_F8", "Standard_F8s", "Standard_F8s_v2", "Standard_G1", 932 "Standard_G2", "Standard_G3", "Standard_G4", "Standard_G5", "Standard_GS1", "Standard_GS2", 933 "Standard_GS3", "Standard_GS4", "Standard_GS4-4", "Standard_GS4-8", "Standard_GS5", 934 "Standard_GS5-16", "Standard_GS5-8", "Standard_H16", "Standard_H16m", "Standard_H16mr", 935 "Standard_H16r", "Standard_H8", "Standard_H8m", "Standard_L16s", "Standard_L32s", 936 "Standard_L4s", "Standard_L8s", "Standard_M128-32ms", "Standard_M128-64ms", "Standard_M128ms", 937 "Standard_M128s", "Standard_M64-16ms", "Standard_M64-32ms", "Standard_M64ms", "Standard_M64s", 938 "Standard_NC12", "Standard_NC12s_v2", "Standard_NC12s_v3", "Standard_NC24", "Standard_NC24r", 939 "Standard_NC24rs_v2", "Standard_NC24rs_v3", "Standard_NC24s_v2", "Standard_NC24s_v3", 940 "Standard_NC6", "Standard_NC6s_v2", "Standard_NC6s_v3", "Standard_ND12s", "Standard_ND24rs", 941 "Standard_ND24s", "Standard_ND6s", "Standard_NV12", "Standard_NV24", "Standard_NV6". 942 :type vm_size: str or 943 ~azure.mgmt.containerservice.v2020_12_01.models.ContainerServiceVMSizeTypes 944 :param os_disk_size_gb: OS Disk Size in GB to be used to specify the disk size for every 945 machine in this master/agent pool. If you specify 0, it will apply the default osDisk size 946 according to the vmSize specified. 947 :type os_disk_size_gb: int 948 :param vnet_subnet_id: VNet SubnetID specifies the VNet's subnet identifier. 949 :type vnet_subnet_id: str 950 :param first_consecutive_static_ip: FirstConsecutiveStaticIP used to specify the first static 951 ip of masters. 952 :type first_consecutive_static_ip: str 953 :param storage_profile: Storage profile specifies what kind of storage used. Choose from 954 StorageAccount and ManagedDisks. Leave it empty, we will choose for you based on the 955 orchestrator choice. Possible values include: "StorageAccount", "ManagedDisks". 956 :type storage_profile: str or 957 ~azure.mgmt.containerservice.v2020_12_01.models.ContainerServiceStorageProfileTypes 958 :ivar fqdn: FQDN for the master pool. 959 :vartype fqdn: str 960 """ 961 962 _validation = { 963 'dns_prefix': {'required': True}, 964 'vm_size': {'required': True}, 965 'os_disk_size_gb': {'maximum': 1023, 'minimum': 0}, 966 'fqdn': {'readonly': True}, 967 } 968 969 _attribute_map = { 970 'count': {'key': 'count', 'type': 'int'}, 971 'dns_prefix': {'key': 'dnsPrefix', 'type': 'str'}, 972 'vm_size': {'key': 'vmSize', 'type': 'str'}, 973 'os_disk_size_gb': {'key': 'osDiskSizeGB', 'type': 'int'}, 974 'vnet_subnet_id': {'key': 'vnetSubnetID', 'type': 'str'}, 975 'first_consecutive_static_ip': {'key': 'firstConsecutiveStaticIP', 'type': 'str'}, 976 'storage_profile': {'key': 'storageProfile', 'type': 'str'}, 977 'fqdn': {'key': 'fqdn', 'type': 'str'}, 978 } 979 980 def __init__( 981 self, 982 *, 983 dns_prefix: str, 984 vm_size: Union[str, "ContainerServiceVMSizeTypes"], 985 count: Optional[Union[int, "Count"]] = "1", 986 os_disk_size_gb: Optional[int] = None, 987 vnet_subnet_id: Optional[str] = None, 988 first_consecutive_static_ip: Optional[str] = "10.240.255.5", 989 storage_profile: Optional[Union[str, "ContainerServiceStorageProfileTypes"]] = None, 990 **kwargs 991 ): 992 super(ContainerServiceMasterProfile, self).__init__(**kwargs) 993 self.count = count 994 self.dns_prefix = dns_prefix 995 self.vm_size = vm_size 996 self.os_disk_size_gb = os_disk_size_gb 997 self.vnet_subnet_id = vnet_subnet_id 998 self.first_consecutive_static_ip = first_consecutive_static_ip 999 self.storage_profile = storage_profile 1000 self.fqdn = None 1001 1002 1003class ContainerServiceNetworkProfile(msrest.serialization.Model): 1004 """Profile of network configuration. 1005 1006 :param network_plugin: Network plugin used for building Kubernetes network. Possible values 1007 include: "azure", "kubenet". Default value: "kubenet". 1008 :type network_plugin: str or ~azure.mgmt.containerservice.v2020_12_01.models.NetworkPlugin 1009 :param network_policy: Network policy used for building Kubernetes network. Possible values 1010 include: "calico", "azure". 1011 :type network_policy: str or ~azure.mgmt.containerservice.v2020_12_01.models.NetworkPolicy 1012 :param network_mode: Network mode used for building Kubernetes network. Possible values 1013 include: "transparent", "bridge". 1014 :type network_mode: str or ~azure.mgmt.containerservice.v2020_12_01.models.NetworkMode 1015 :param pod_cidr: A CIDR notation IP range from which to assign pod IPs when kubenet is used. 1016 :type pod_cidr: str 1017 :param service_cidr: A CIDR notation IP range from which to assign service cluster IPs. It must 1018 not overlap with any Subnet IP ranges. 1019 :type service_cidr: str 1020 :param dns_service_ip: An IP address assigned to the Kubernetes DNS service. It must be within 1021 the Kubernetes service address range specified in serviceCidr. 1022 :type dns_service_ip: str 1023 :param docker_bridge_cidr: A CIDR notation IP range assigned to the Docker bridge network. It 1024 must not overlap with any Subnet IP ranges or the Kubernetes service address range. 1025 :type docker_bridge_cidr: str 1026 :param outbound_type: The outbound (egress) routing method. Possible values include: 1027 "loadBalancer", "userDefinedRouting". Default value: "loadBalancer". 1028 :type outbound_type: str or ~azure.mgmt.containerservice.v2020_12_01.models.OutboundType 1029 :param load_balancer_sku: The load balancer sku for the managed cluster. Possible values 1030 include: "standard", "basic". 1031 :type load_balancer_sku: str or ~azure.mgmt.containerservice.v2020_12_01.models.LoadBalancerSku 1032 :param load_balancer_profile: Profile of the cluster load balancer. 1033 :type load_balancer_profile: 1034 ~azure.mgmt.containerservice.v2020_12_01.models.ManagedClusterLoadBalancerProfile 1035 """ 1036 1037 _validation = { 1038 'pod_cidr': {'pattern': r'^([0-9]{1,3}\.){3}[0-9]{1,3}(\/([0-9]|[1-2][0-9]|3[0-2]))?$'}, 1039 'service_cidr': {'pattern': r'^([0-9]{1,3}\.){3}[0-9]{1,3}(\/([0-9]|[1-2][0-9]|3[0-2]))?$'}, 1040 'dns_service_ip': {'pattern': r'^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$'}, 1041 'docker_bridge_cidr': {'pattern': r'^([0-9]{1,3}\.){3}[0-9]{1,3}(\/([0-9]|[1-2][0-9]|3[0-2]))?$'}, 1042 } 1043 1044 _attribute_map = { 1045 'network_plugin': {'key': 'networkPlugin', 'type': 'str'}, 1046 'network_policy': {'key': 'networkPolicy', 'type': 'str'}, 1047 'network_mode': {'key': 'networkMode', 'type': 'str'}, 1048 'pod_cidr': {'key': 'podCidr', 'type': 'str'}, 1049 'service_cidr': {'key': 'serviceCidr', 'type': 'str'}, 1050 'dns_service_ip': {'key': 'dnsServiceIP', 'type': 'str'}, 1051 'docker_bridge_cidr': {'key': 'dockerBridgeCidr', 'type': 'str'}, 1052 'outbound_type': {'key': 'outboundType', 'type': 'str'}, 1053 'load_balancer_sku': {'key': 'loadBalancerSku', 'type': 'str'}, 1054 'load_balancer_profile': {'key': 'loadBalancerProfile', 'type': 'ManagedClusterLoadBalancerProfile'}, 1055 } 1056 1057 def __init__( 1058 self, 1059 *, 1060 network_plugin: Optional[Union[str, "NetworkPlugin"]] = "kubenet", 1061 network_policy: Optional[Union[str, "NetworkPolicy"]] = None, 1062 network_mode: Optional[Union[str, "NetworkMode"]] = None, 1063 pod_cidr: Optional[str] = "10.244.0.0/16", 1064 service_cidr: Optional[str] = "10.0.0.0/16", 1065 dns_service_ip: Optional[str] = "10.0.0.10", 1066 docker_bridge_cidr: Optional[str] = "172.17.0.1/16", 1067 outbound_type: Optional[Union[str, "OutboundType"]] = "loadBalancer", 1068 load_balancer_sku: Optional[Union[str, "LoadBalancerSku"]] = None, 1069 load_balancer_profile: Optional["ManagedClusterLoadBalancerProfile"] = None, 1070 **kwargs 1071 ): 1072 super(ContainerServiceNetworkProfile, self).__init__(**kwargs) 1073 self.network_plugin = network_plugin 1074 self.network_policy = network_policy 1075 self.network_mode = network_mode 1076 self.pod_cidr = pod_cidr 1077 self.service_cidr = service_cidr 1078 self.dns_service_ip = dns_service_ip 1079 self.docker_bridge_cidr = docker_bridge_cidr 1080 self.outbound_type = outbound_type 1081 self.load_balancer_sku = load_balancer_sku 1082 self.load_balancer_profile = load_balancer_profile 1083 1084 1085class ContainerServiceSshConfiguration(msrest.serialization.Model): 1086 """SSH configuration for Linux-based VMs running on Azure. 1087 1088 All required parameters must be populated in order to send to Azure. 1089 1090 :param public_keys: Required. The list of SSH public keys used to authenticate with Linux-based 1091 VMs. Only expect one key specified. 1092 :type public_keys: 1093 list[~azure.mgmt.containerservice.v2020_12_01.models.ContainerServiceSshPublicKey] 1094 """ 1095 1096 _validation = { 1097 'public_keys': {'required': True}, 1098 } 1099 1100 _attribute_map = { 1101 'public_keys': {'key': 'publicKeys', 'type': '[ContainerServiceSshPublicKey]'}, 1102 } 1103 1104 def __init__( 1105 self, 1106 *, 1107 public_keys: List["ContainerServiceSshPublicKey"], 1108 **kwargs 1109 ): 1110 super(ContainerServiceSshConfiguration, self).__init__(**kwargs) 1111 self.public_keys = public_keys 1112 1113 1114class ContainerServiceSshPublicKey(msrest.serialization.Model): 1115 """Contains information about SSH certificate public key data. 1116 1117 All required parameters must be populated in order to send to Azure. 1118 1119 :param key_data: Required. Certificate public key used to authenticate with VMs through SSH. 1120 The certificate must be in PEM format with or without headers. 1121 :type key_data: str 1122 """ 1123 1124 _validation = { 1125 'key_data': {'required': True}, 1126 } 1127 1128 _attribute_map = { 1129 'key_data': {'key': 'keyData', 'type': 'str'}, 1130 } 1131 1132 def __init__( 1133 self, 1134 *, 1135 key_data: str, 1136 **kwargs 1137 ): 1138 super(ContainerServiceSshPublicKey, self).__init__(**kwargs) 1139 self.key_data = key_data 1140 1141 1142class ContainerServiceVMDiagnostics(msrest.serialization.Model): 1143 """Profile for diagnostics on the container service VMs. 1144 1145 Variables are only populated by the server, and will be ignored when sending a request. 1146 1147 All required parameters must be populated in order to send to Azure. 1148 1149 :param enabled: Required. Whether the VM diagnostic agent is provisioned on the VM. 1150 :type enabled: bool 1151 :ivar storage_uri: The URI of the storage account where diagnostics are stored. 1152 :vartype storage_uri: str 1153 """ 1154 1155 _validation = { 1156 'enabled': {'required': True}, 1157 'storage_uri': {'readonly': True}, 1158 } 1159 1160 _attribute_map = { 1161 'enabled': {'key': 'enabled', 'type': 'bool'}, 1162 'storage_uri': {'key': 'storageUri', 'type': 'str'}, 1163 } 1164 1165 def __init__( 1166 self, 1167 *, 1168 enabled: bool, 1169 **kwargs 1170 ): 1171 super(ContainerServiceVMDiagnostics, self).__init__(**kwargs) 1172 self.enabled = enabled 1173 self.storage_uri = None 1174 1175 1176class CredentialResult(msrest.serialization.Model): 1177 """The credential result response. 1178 1179 Variables are only populated by the server, and will be ignored when sending a request. 1180 1181 :ivar name: The name of the credential. 1182 :vartype name: str 1183 :ivar value: Base64-encoded Kubernetes configuration file. 1184 :vartype value: bytearray 1185 """ 1186 1187 _validation = { 1188 'name': {'readonly': True}, 1189 'value': {'readonly': True}, 1190 } 1191 1192 _attribute_map = { 1193 'name': {'key': 'name', 'type': 'str'}, 1194 'value': {'key': 'value', 'type': 'bytearray'}, 1195 } 1196 1197 def __init__( 1198 self, 1199 **kwargs 1200 ): 1201 super(CredentialResult, self).__init__(**kwargs) 1202 self.name = None 1203 self.value = None 1204 1205 1206class CredentialResults(msrest.serialization.Model): 1207 """The list of credential result response. 1208 1209 Variables are only populated by the server, and will be ignored when sending a request. 1210 1211 :ivar kubeconfigs: Base64-encoded Kubernetes configuration file. 1212 :vartype kubeconfigs: list[~azure.mgmt.containerservice.v2020_12_01.models.CredentialResult] 1213 """ 1214 1215 _validation = { 1216 'kubeconfigs': {'readonly': True}, 1217 } 1218 1219 _attribute_map = { 1220 'kubeconfigs': {'key': 'kubeconfigs', 'type': '[CredentialResult]'}, 1221 } 1222 1223 def __init__( 1224 self, 1225 **kwargs 1226 ): 1227 super(CredentialResults, self).__init__(**kwargs) 1228 self.kubeconfigs = None 1229 1230 1231class KubeletConfig(msrest.serialization.Model): 1232 """Kubelet configurations of agent nodes. 1233 1234 :param cpu_manager_policy: CPU Manager policy to use. 1235 :type cpu_manager_policy: str 1236 :param cpu_cfs_quota: Enable CPU CFS quota enforcement for containers that specify CPU limits. 1237 :type cpu_cfs_quota: bool 1238 :param cpu_cfs_quota_period: Sets CPU CFS quota period value. 1239 :type cpu_cfs_quota_period: str 1240 :param image_gc_high_threshold: The percent of disk usage after which image garbage collection 1241 is always run. 1242 :type image_gc_high_threshold: int 1243 :param image_gc_low_threshold: The percent of disk usage before which image garbage collection 1244 is never run. 1245 :type image_gc_low_threshold: int 1246 :param topology_manager_policy: Topology Manager policy to use. 1247 :type topology_manager_policy: str 1248 :param allowed_unsafe_sysctls: Allowlist of unsafe sysctls or unsafe sysctl patterns (ending in 1249 ``*``\ ). 1250 :type allowed_unsafe_sysctls: list[str] 1251 :param fail_swap_on: If set to true it will make the Kubelet fail to start if swap is enabled 1252 on the node. 1253 :type fail_swap_on: bool 1254 :param container_log_max_size_mb: The maximum size (e.g. 10Mi) of container log file before it 1255 is rotated. 1256 :type container_log_max_size_mb: int 1257 :param container_log_max_files: The maximum number of container log files that can be present 1258 for a container. The number must be ≥ 2. 1259 :type container_log_max_files: int 1260 :param pod_max_pids: The maximum number of processes per pod. 1261 :type pod_max_pids: int 1262 """ 1263 1264 _validation = { 1265 'container_log_max_files': {'minimum': 2}, 1266 } 1267 1268 _attribute_map = { 1269 'cpu_manager_policy': {'key': 'cpuManagerPolicy', 'type': 'str'}, 1270 'cpu_cfs_quota': {'key': 'cpuCfsQuota', 'type': 'bool'}, 1271 'cpu_cfs_quota_period': {'key': 'cpuCfsQuotaPeriod', 'type': 'str'}, 1272 'image_gc_high_threshold': {'key': 'imageGcHighThreshold', 'type': 'int'}, 1273 'image_gc_low_threshold': {'key': 'imageGcLowThreshold', 'type': 'int'}, 1274 'topology_manager_policy': {'key': 'topologyManagerPolicy', 'type': 'str'}, 1275 'allowed_unsafe_sysctls': {'key': 'allowedUnsafeSysctls', 'type': '[str]'}, 1276 'fail_swap_on': {'key': 'failSwapOn', 'type': 'bool'}, 1277 'container_log_max_size_mb': {'key': 'containerLogMaxSizeMB', 'type': 'int'}, 1278 'container_log_max_files': {'key': 'containerLogMaxFiles', 'type': 'int'}, 1279 'pod_max_pids': {'key': 'podMaxPids', 'type': 'int'}, 1280 } 1281 1282 def __init__( 1283 self, 1284 *, 1285 cpu_manager_policy: Optional[str] = None, 1286 cpu_cfs_quota: Optional[bool] = None, 1287 cpu_cfs_quota_period: Optional[str] = None, 1288 image_gc_high_threshold: Optional[int] = None, 1289 image_gc_low_threshold: Optional[int] = None, 1290 topology_manager_policy: Optional[str] = None, 1291 allowed_unsafe_sysctls: Optional[List[str]] = None, 1292 fail_swap_on: Optional[bool] = None, 1293 container_log_max_size_mb: Optional[int] = None, 1294 container_log_max_files: Optional[int] = None, 1295 pod_max_pids: Optional[int] = None, 1296 **kwargs 1297 ): 1298 super(KubeletConfig, self).__init__(**kwargs) 1299 self.cpu_manager_policy = cpu_manager_policy 1300 self.cpu_cfs_quota = cpu_cfs_quota 1301 self.cpu_cfs_quota_period = cpu_cfs_quota_period 1302 self.image_gc_high_threshold = image_gc_high_threshold 1303 self.image_gc_low_threshold = image_gc_low_threshold 1304 self.topology_manager_policy = topology_manager_policy 1305 self.allowed_unsafe_sysctls = allowed_unsafe_sysctls 1306 self.fail_swap_on = fail_swap_on 1307 self.container_log_max_size_mb = container_log_max_size_mb 1308 self.container_log_max_files = container_log_max_files 1309 self.pod_max_pids = pod_max_pids 1310 1311 1312class LinuxOSConfig(msrest.serialization.Model): 1313 """OS configurations of Linux agent nodes. 1314 1315 :param sysctls: Sysctl settings for Linux agent nodes. 1316 :type sysctls: ~azure.mgmt.containerservice.v2020_12_01.models.SysctlConfig 1317 :param transparent_huge_page_enabled: Transparent Huge Page enabled configuration. 1318 :type transparent_huge_page_enabled: str 1319 :param transparent_huge_page_defrag: Transparent Huge Page defrag configuration. 1320 :type transparent_huge_page_defrag: str 1321 :param swap_file_size_mb: SwapFileSizeMB specifies size in MB of a swap file will be created on 1322 each node. 1323 :type swap_file_size_mb: int 1324 """ 1325 1326 _attribute_map = { 1327 'sysctls': {'key': 'sysctls', 'type': 'SysctlConfig'}, 1328 'transparent_huge_page_enabled': {'key': 'transparentHugePageEnabled', 'type': 'str'}, 1329 'transparent_huge_page_defrag': {'key': 'transparentHugePageDefrag', 'type': 'str'}, 1330 'swap_file_size_mb': {'key': 'swapFileSizeMB', 'type': 'int'}, 1331 } 1332 1333 def __init__( 1334 self, 1335 *, 1336 sysctls: Optional["SysctlConfig"] = None, 1337 transparent_huge_page_enabled: Optional[str] = None, 1338 transparent_huge_page_defrag: Optional[str] = None, 1339 swap_file_size_mb: Optional[int] = None, 1340 **kwargs 1341 ): 1342 super(LinuxOSConfig, self).__init__(**kwargs) 1343 self.sysctls = sysctls 1344 self.transparent_huge_page_enabled = transparent_huge_page_enabled 1345 self.transparent_huge_page_defrag = transparent_huge_page_defrag 1346 self.swap_file_size_mb = swap_file_size_mb 1347 1348 1349class MaintenanceConfiguration(SubResource): 1350 """maintenance configuration. 1351 1352 Variables are only populated by the server, and will be ignored when sending a request. 1353 1354 :ivar id: Resource ID. 1355 :vartype id: str 1356 :ivar name: The name of the resource that is unique within a resource group. This name can be 1357 used to access the resource. 1358 :vartype name: str 1359 :ivar type: Resource type. 1360 :vartype type: str 1361 :ivar system_data: The system meta data relating to this resource. 1362 :vartype system_data: ~azure.mgmt.containerservice.v2020_12_01.models.SystemData 1363 :param time_in_week: Weekday time slots allowed to upgrade. 1364 :type time_in_week: list[~azure.mgmt.containerservice.v2020_12_01.models.TimeInWeek] 1365 :param not_allowed_time: Time slots on which upgrade is not allowed. 1366 :type not_allowed_time: list[~azure.mgmt.containerservice.v2020_12_01.models.TimeSpan] 1367 """ 1368 1369 _validation = { 1370 'id': {'readonly': True}, 1371 'name': {'readonly': True}, 1372 'type': {'readonly': True}, 1373 'system_data': {'readonly': True}, 1374 } 1375 1376 _attribute_map = { 1377 'id': {'key': 'id', 'type': 'str'}, 1378 'name': {'key': 'name', 'type': 'str'}, 1379 'type': {'key': 'type', 'type': 'str'}, 1380 'system_data': {'key': 'systemData', 'type': 'SystemData'}, 1381 'time_in_week': {'key': 'properties.timeInWeek', 'type': '[TimeInWeek]'}, 1382 'not_allowed_time': {'key': 'properties.notAllowedTime', 'type': '[TimeSpan]'}, 1383 } 1384 1385 def __init__( 1386 self, 1387 *, 1388 time_in_week: Optional[List["TimeInWeek"]] = None, 1389 not_allowed_time: Optional[List["TimeSpan"]] = None, 1390 **kwargs 1391 ): 1392 super(MaintenanceConfiguration, self).__init__(**kwargs) 1393 self.system_data = None 1394 self.time_in_week = time_in_week 1395 self.not_allowed_time = not_allowed_time 1396 1397 1398class MaintenanceConfigurationListResult(msrest.serialization.Model): 1399 """The response from the List maintenance configurations operation. 1400 1401 Variables are only populated by the server, and will be ignored when sending a request. 1402 1403 :param value: The list of maintenance configurations. 1404 :type value: list[~azure.mgmt.containerservice.v2020_12_01.models.MaintenanceConfiguration] 1405 :ivar next_link: The URL to get the next set of maintenance configuration results. 1406 :vartype next_link: str 1407 """ 1408 1409 _validation = { 1410 'next_link': {'readonly': True}, 1411 } 1412 1413 _attribute_map = { 1414 'value': {'key': 'value', 'type': '[MaintenanceConfiguration]'}, 1415 'next_link': {'key': 'nextLink', 'type': 'str'}, 1416 } 1417 1418 def __init__( 1419 self, 1420 *, 1421 value: Optional[List["MaintenanceConfiguration"]] = None, 1422 **kwargs 1423 ): 1424 super(MaintenanceConfigurationListResult, self).__init__(**kwargs) 1425 self.value = value 1426 self.next_link = None 1427 1428 1429class Resource(msrest.serialization.Model): 1430 """The Resource model definition. 1431 1432 Variables are only populated by the server, and will be ignored when sending a request. 1433 1434 All required parameters must be populated in order to send to Azure. 1435 1436 :ivar id: Resource Id. 1437 :vartype id: str 1438 :ivar name: Resource name. 1439 :vartype name: str 1440 :ivar type: Resource type. 1441 :vartype type: str 1442 :param location: Required. Resource location. 1443 :type location: str 1444 :param tags: A set of tags. Resource tags. 1445 :type tags: dict[str, str] 1446 """ 1447 1448 _validation = { 1449 'id': {'readonly': True}, 1450 'name': {'readonly': True}, 1451 'type': {'readonly': True}, 1452 'location': {'required': True}, 1453 } 1454 1455 _attribute_map = { 1456 'id': {'key': 'id', 'type': 'str'}, 1457 'name': {'key': 'name', 'type': 'str'}, 1458 'type': {'key': 'type', 'type': 'str'}, 1459 'location': {'key': 'location', 'type': 'str'}, 1460 'tags': {'key': 'tags', 'type': '{str}'}, 1461 } 1462 1463 def __init__( 1464 self, 1465 *, 1466 location: str, 1467 tags: Optional[Dict[str, str]] = None, 1468 **kwargs 1469 ): 1470 super(Resource, self).__init__(**kwargs) 1471 self.id = None 1472 self.name = None 1473 self.type = None 1474 self.location = location 1475 self.tags = tags 1476 1477 1478class ManagedCluster(Resource, Components1Q1Og48SchemasManagedclusterAllof1): 1479 """Managed cluster. 1480 1481 Variables are only populated by the server, and will be ignored when sending a request. 1482 1483 All required parameters must be populated in order to send to Azure. 1484 1485 :param identity: The identity of the managed cluster, if configured. 1486 :type identity: ~azure.mgmt.containerservice.v2020_12_01.models.ManagedClusterIdentity 1487 :ivar provisioning_state: The current deployment or provisioning state, which only appears in 1488 the response. 1489 :vartype provisioning_state: str 1490 :ivar power_state: Represents the Power State of the cluster. 1491 :vartype power_state: ~azure.mgmt.containerservice.v2020_12_01.models.PowerState 1492 :ivar max_agent_pools: The max number of agent pools for the managed cluster. 1493 :vartype max_agent_pools: int 1494 :param kubernetes_version: Version of Kubernetes specified when creating the managed cluster. 1495 :type kubernetes_version: str 1496 :param dns_prefix: DNS prefix specified when creating the managed cluster. 1497 :type dns_prefix: str 1498 :ivar fqdn: FQDN for the master pool. 1499 :vartype fqdn: str 1500 :ivar private_fqdn: FQDN of private cluster. 1501 :vartype private_fqdn: str 1502 :param agent_pool_profiles: Properties of the agent pool. 1503 :type agent_pool_profiles: 1504 list[~azure.mgmt.containerservice.v2020_12_01.models.ManagedClusterAgentPoolProfile] 1505 :param linux_profile: Profile for Linux VMs in the container service cluster. 1506 :type linux_profile: 1507 ~azure.mgmt.containerservice.v2020_12_01.models.ContainerServiceLinuxProfile 1508 :param windows_profile: Profile for Windows VMs in the container service cluster. 1509 :type windows_profile: 1510 ~azure.mgmt.containerservice.v2020_12_01.models.ManagedClusterWindowsProfile 1511 :param service_principal_profile: Information about a service principal identity for the 1512 cluster to use for manipulating Azure APIs. 1513 :type service_principal_profile: 1514 ~azure.mgmt.containerservice.v2020_12_01.models.ManagedClusterServicePrincipalProfile 1515 :param addon_profiles: Profile of managed cluster add-on. 1516 :type addon_profiles: dict[str, 1517 ~azure.mgmt.containerservice.v2020_12_01.models.ManagedClusterAddonProfile] 1518 :param pod_identity_profile: Profile of managed cluster pod identity. 1519 :type pod_identity_profile: 1520 ~azure.mgmt.containerservice.v2020_12_01.models.ManagedClusterPodIdentityProfile 1521 :param node_resource_group: Name of the resource group containing agent pool nodes. 1522 :type node_resource_group: str 1523 :param enable_rbac: Whether to enable Kubernetes Role-Based Access Control. 1524 :type enable_rbac: bool 1525 :param enable_pod_security_policy: (DEPRECATING) Whether to enable Kubernetes pod security 1526 policy (preview). This feature is set for removal on October 15th, 2020. Learn more at 1527 aka.ms/aks/azpodpolicy. 1528 :type enable_pod_security_policy: bool 1529 :param network_profile: Profile of network configuration. 1530 :type network_profile: 1531 ~azure.mgmt.containerservice.v2020_12_01.models.ContainerServiceNetworkProfile 1532 :param aad_profile: Profile of Azure Active Directory configuration. 1533 :type aad_profile: ~azure.mgmt.containerservice.v2020_12_01.models.ManagedClusterAADProfile 1534 :param auto_upgrade_profile: Profile of auto upgrade configuration. 1535 :type auto_upgrade_profile: 1536 ~azure.mgmt.containerservice.v2020_12_01.models.ManagedClusterAutoUpgradeProfile 1537 :param auto_scaler_profile: Parameters to be applied to the cluster-autoscaler when enabled. 1538 :type auto_scaler_profile: 1539 ~azure.mgmt.containerservice.v2020_12_01.models.ManagedClusterPropertiesAutoScalerProfile 1540 :param api_server_access_profile: Access profile for managed cluster API server. 1541 :type api_server_access_profile: 1542 ~azure.mgmt.containerservice.v2020_12_01.models.ManagedClusterAPIServerAccessProfile 1543 :param disk_encryption_set_id: ResourceId of the disk encryption set to use for enabling 1544 encryption at rest. 1545 :type disk_encryption_set_id: str 1546 :param identity_profile: Identities associated with the cluster. 1547 :type identity_profile: dict[str, 1548 ~azure.mgmt.containerservice.v2020_12_01.models.ComponentsQit0EtSchemasManagedclusterpropertiesPropertiesIdentityprofileAdditionalproperties] 1549 :ivar id: Resource Id. 1550 :vartype id: str 1551 :ivar name: Resource name. 1552 :vartype name: str 1553 :ivar type: Resource type. 1554 :vartype type: str 1555 :param location: Required. Resource location. 1556 :type location: str 1557 :param tags: A set of tags. Resource tags. 1558 :type tags: dict[str, str] 1559 :param sku: The managed cluster SKU. 1560 :type sku: ~azure.mgmt.containerservice.v2020_12_01.models.ManagedClusterSKU 1561 """ 1562 1563 _validation = { 1564 'provisioning_state': {'readonly': True}, 1565 'power_state': {'readonly': True}, 1566 'max_agent_pools': {'readonly': True}, 1567 'fqdn': {'readonly': True}, 1568 'private_fqdn': {'readonly': True}, 1569 'id': {'readonly': True}, 1570 'name': {'readonly': True}, 1571 'type': {'readonly': True}, 1572 'location': {'required': True}, 1573 } 1574 1575 _attribute_map = { 1576 'identity': {'key': 'identity', 'type': 'ManagedClusterIdentity'}, 1577 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 1578 'power_state': {'key': 'properties.powerState', 'type': 'PowerState'}, 1579 'max_agent_pools': {'key': 'properties.maxAgentPools', 'type': 'int'}, 1580 'kubernetes_version': {'key': 'properties.kubernetesVersion', 'type': 'str'}, 1581 'dns_prefix': {'key': 'properties.dnsPrefix', 'type': 'str'}, 1582 'fqdn': {'key': 'properties.fqdn', 'type': 'str'}, 1583 'private_fqdn': {'key': 'properties.privateFQDN', 'type': 'str'}, 1584 'agent_pool_profiles': {'key': 'properties.agentPoolProfiles', 'type': '[ManagedClusterAgentPoolProfile]'}, 1585 'linux_profile': {'key': 'properties.linuxProfile', 'type': 'ContainerServiceLinuxProfile'}, 1586 'windows_profile': {'key': 'properties.windowsProfile', 'type': 'ManagedClusterWindowsProfile'}, 1587 'service_principal_profile': {'key': 'properties.servicePrincipalProfile', 'type': 'ManagedClusterServicePrincipalProfile'}, 1588 'addon_profiles': {'key': 'properties.addonProfiles', 'type': '{ManagedClusterAddonProfile}'}, 1589 'pod_identity_profile': {'key': 'properties.podIdentityProfile', 'type': 'ManagedClusterPodIdentityProfile'}, 1590 'node_resource_group': {'key': 'properties.nodeResourceGroup', 'type': 'str'}, 1591 'enable_rbac': {'key': 'properties.enableRBAC', 'type': 'bool'}, 1592 'enable_pod_security_policy': {'key': 'properties.enablePodSecurityPolicy', 'type': 'bool'}, 1593 'network_profile': {'key': 'properties.networkProfile', 'type': 'ContainerServiceNetworkProfile'}, 1594 'aad_profile': {'key': 'properties.aadProfile', 'type': 'ManagedClusterAADProfile'}, 1595 'auto_upgrade_profile': {'key': 'properties.autoUpgradeProfile', 'type': 'ManagedClusterAutoUpgradeProfile'}, 1596 'auto_scaler_profile': {'key': 'properties.autoScalerProfile', 'type': 'ManagedClusterPropertiesAutoScalerProfile'}, 1597 'api_server_access_profile': {'key': 'properties.apiServerAccessProfile', 'type': 'ManagedClusterAPIServerAccessProfile'}, 1598 'disk_encryption_set_id': {'key': 'properties.diskEncryptionSetID', 'type': 'str'}, 1599 'identity_profile': {'key': 'properties.identityProfile', 'type': '{ComponentsQit0EtSchemasManagedclusterpropertiesPropertiesIdentityprofileAdditionalproperties}'}, 1600 'id': {'key': 'id', 'type': 'str'}, 1601 'name': {'key': 'name', 'type': 'str'}, 1602 'type': {'key': 'type', 'type': 'str'}, 1603 'location': {'key': 'location', 'type': 'str'}, 1604 'tags': {'key': 'tags', 'type': '{str}'}, 1605 'sku': {'key': 'sku', 'type': 'ManagedClusterSKU'}, 1606 } 1607 1608 def __init__( 1609 self, 1610 *, 1611 location: str, 1612 identity: Optional["ManagedClusterIdentity"] = None, 1613 kubernetes_version: Optional[str] = None, 1614 dns_prefix: Optional[str] = None, 1615 agent_pool_profiles: Optional[List["ManagedClusterAgentPoolProfile"]] = None, 1616 linux_profile: Optional["ContainerServiceLinuxProfile"] = None, 1617 windows_profile: Optional["ManagedClusterWindowsProfile"] = None, 1618 service_principal_profile: Optional["ManagedClusterServicePrincipalProfile"] = None, 1619 addon_profiles: Optional[Dict[str, "ManagedClusterAddonProfile"]] = None, 1620 pod_identity_profile: Optional["ManagedClusterPodIdentityProfile"] = None, 1621 node_resource_group: Optional[str] = None, 1622 enable_rbac: Optional[bool] = None, 1623 enable_pod_security_policy: Optional[bool] = None, 1624 network_profile: Optional["ContainerServiceNetworkProfile"] = None, 1625 aad_profile: Optional["ManagedClusterAADProfile"] = None, 1626 auto_upgrade_profile: Optional["ManagedClusterAutoUpgradeProfile"] = None, 1627 auto_scaler_profile: Optional["ManagedClusterPropertiesAutoScalerProfile"] = None, 1628 api_server_access_profile: Optional["ManagedClusterAPIServerAccessProfile"] = None, 1629 disk_encryption_set_id: Optional[str] = None, 1630 identity_profile: Optional[Dict[str, "ComponentsQit0EtSchemasManagedclusterpropertiesPropertiesIdentityprofileAdditionalproperties"]] = None, 1631 tags: Optional[Dict[str, str]] = None, 1632 sku: Optional["ManagedClusterSKU"] = None, 1633 **kwargs 1634 ): 1635 super(ManagedCluster, self).__init__(location=location, tags=tags, identity=identity, kubernetes_version=kubernetes_version, dns_prefix=dns_prefix, agent_pool_profiles=agent_pool_profiles, linux_profile=linux_profile, windows_profile=windows_profile, service_principal_profile=service_principal_profile, addon_profiles=addon_profiles, pod_identity_profile=pod_identity_profile, node_resource_group=node_resource_group, enable_rbac=enable_rbac, enable_pod_security_policy=enable_pod_security_policy, network_profile=network_profile, aad_profile=aad_profile, auto_upgrade_profile=auto_upgrade_profile, auto_scaler_profile=auto_scaler_profile, api_server_access_profile=api_server_access_profile, disk_encryption_set_id=disk_encryption_set_id, identity_profile=identity_profile, **kwargs) 1636 self.identity = identity 1637 self.provisioning_state = None 1638 self.power_state = None 1639 self.max_agent_pools = None 1640 self.kubernetes_version = kubernetes_version 1641 self.dns_prefix = dns_prefix 1642 self.fqdn = None 1643 self.private_fqdn = None 1644 self.agent_pool_profiles = agent_pool_profiles 1645 self.linux_profile = linux_profile 1646 self.windows_profile = windows_profile 1647 self.service_principal_profile = service_principal_profile 1648 self.addon_profiles = addon_profiles 1649 self.pod_identity_profile = pod_identity_profile 1650 self.node_resource_group = node_resource_group 1651 self.enable_rbac = enable_rbac 1652 self.enable_pod_security_policy = enable_pod_security_policy 1653 self.network_profile = network_profile 1654 self.aad_profile = aad_profile 1655 self.auto_upgrade_profile = auto_upgrade_profile 1656 self.auto_scaler_profile = auto_scaler_profile 1657 self.api_server_access_profile = api_server_access_profile 1658 self.disk_encryption_set_id = disk_encryption_set_id 1659 self.identity_profile = identity_profile 1660 self.sku = sku 1661 self.id = None 1662 self.name = None 1663 self.type = None 1664 self.location = location 1665 self.tags = tags 1666 self.sku = sku 1667 1668 1669class ManagedClusterAADProfile(msrest.serialization.Model): 1670 """AADProfile specifies attributes for Azure Active Directory integration. 1671 1672 :param managed: Whether to enable managed AAD. 1673 :type managed: bool 1674 :param enable_azure_rbac: Whether to enable Azure RBAC for Kubernetes authorization. 1675 :type enable_azure_rbac: bool 1676 :param admin_group_object_i_ds: AAD group object IDs that will have admin role of the cluster. 1677 :type admin_group_object_i_ds: list[str] 1678 :param client_app_id: The client AAD application ID. 1679 :type client_app_id: str 1680 :param server_app_id: The server AAD application ID. 1681 :type server_app_id: str 1682 :param server_app_secret: The server AAD application secret. 1683 :type server_app_secret: str 1684 :param tenant_id: The AAD tenant ID to use for authentication. If not specified, will use the 1685 tenant of the deployment subscription. 1686 :type tenant_id: str 1687 """ 1688 1689 _attribute_map = { 1690 'managed': {'key': 'managed', 'type': 'bool'}, 1691 'enable_azure_rbac': {'key': 'enableAzureRBAC', 'type': 'bool'}, 1692 'admin_group_object_i_ds': {'key': 'adminGroupObjectIDs', 'type': '[str]'}, 1693 'client_app_id': {'key': 'clientAppID', 'type': 'str'}, 1694 'server_app_id': {'key': 'serverAppID', 'type': 'str'}, 1695 'server_app_secret': {'key': 'serverAppSecret', 'type': 'str'}, 1696 'tenant_id': {'key': 'tenantID', 'type': 'str'}, 1697 } 1698 1699 def __init__( 1700 self, 1701 *, 1702 managed: Optional[bool] = None, 1703 enable_azure_rbac: Optional[bool] = None, 1704 admin_group_object_i_ds: Optional[List[str]] = None, 1705 client_app_id: Optional[str] = None, 1706 server_app_id: Optional[str] = None, 1707 server_app_secret: Optional[str] = None, 1708 tenant_id: Optional[str] = None, 1709 **kwargs 1710 ): 1711 super(ManagedClusterAADProfile, self).__init__(**kwargs) 1712 self.managed = managed 1713 self.enable_azure_rbac = enable_azure_rbac 1714 self.admin_group_object_i_ds = admin_group_object_i_ds 1715 self.client_app_id = client_app_id 1716 self.server_app_id = server_app_id 1717 self.server_app_secret = server_app_secret 1718 self.tenant_id = tenant_id 1719 1720 1721class ManagedClusterAccessProfile(Resource): 1722 """Managed cluster Access Profile. 1723 1724 Variables are only populated by the server, and will be ignored when sending a request. 1725 1726 All required parameters must be populated in order to send to Azure. 1727 1728 :ivar id: Resource Id. 1729 :vartype id: str 1730 :ivar name: Resource name. 1731 :vartype name: str 1732 :ivar type: Resource type. 1733 :vartype type: str 1734 :param location: Required. Resource location. 1735 :type location: str 1736 :param tags: A set of tags. Resource tags. 1737 :type tags: dict[str, str] 1738 :param kube_config: Base64-encoded Kubernetes configuration file. 1739 :type kube_config: bytearray 1740 """ 1741 1742 _validation = { 1743 'id': {'readonly': True}, 1744 'name': {'readonly': True}, 1745 'type': {'readonly': True}, 1746 'location': {'required': True}, 1747 } 1748 1749 _attribute_map = { 1750 'id': {'key': 'id', 'type': 'str'}, 1751 'name': {'key': 'name', 'type': 'str'}, 1752 'type': {'key': 'type', 'type': 'str'}, 1753 'location': {'key': 'location', 'type': 'str'}, 1754 'tags': {'key': 'tags', 'type': '{str}'}, 1755 'kube_config': {'key': 'properties.kubeConfig', 'type': 'bytearray'}, 1756 } 1757 1758 def __init__( 1759 self, 1760 *, 1761 location: str, 1762 tags: Optional[Dict[str, str]] = None, 1763 kube_config: Optional[bytearray] = None, 1764 **kwargs 1765 ): 1766 super(ManagedClusterAccessProfile, self).__init__(location=location, tags=tags, **kwargs) 1767 self.kube_config = kube_config 1768 1769 1770class ManagedClusterAddonProfile(msrest.serialization.Model): 1771 """A Kubernetes add-on profile for a managed cluster. 1772 1773 Variables are only populated by the server, and will be ignored when sending a request. 1774 1775 All required parameters must be populated in order to send to Azure. 1776 1777 :param enabled: Required. Whether the add-on is enabled or not. 1778 :type enabled: bool 1779 :param config: Key-value pairs for configuring an add-on. 1780 :type config: dict[str, str] 1781 :ivar identity: Information of user assigned identity used by this add-on. 1782 :vartype identity: 1783 ~azure.mgmt.containerservice.v2020_12_01.models.ManagedClusterAddonProfileIdentity 1784 """ 1785 1786 _validation = { 1787 'enabled': {'required': True}, 1788 'identity': {'readonly': True}, 1789 } 1790 1791 _attribute_map = { 1792 'enabled': {'key': 'enabled', 'type': 'bool'}, 1793 'config': {'key': 'config', 'type': '{str}'}, 1794 'identity': {'key': 'identity', 'type': 'ManagedClusterAddonProfileIdentity'}, 1795 } 1796 1797 def __init__( 1798 self, 1799 *, 1800 enabled: bool, 1801 config: Optional[Dict[str, str]] = None, 1802 **kwargs 1803 ): 1804 super(ManagedClusterAddonProfile, self).__init__(**kwargs) 1805 self.enabled = enabled 1806 self.config = config 1807 self.identity = None 1808 1809 1810class ManagedClusterAddonProfileIdentity(UserAssignedIdentity): 1811 """Information of user assigned identity used by this add-on. 1812 1813 :param resource_id: The resource id of the user assigned identity. 1814 :type resource_id: str 1815 :param client_id: The client id of the user assigned identity. 1816 :type client_id: str 1817 :param object_id: The object id of the user assigned identity. 1818 :type object_id: str 1819 """ 1820 1821 _attribute_map = { 1822 'resource_id': {'key': 'resourceId', 'type': 'str'}, 1823 'client_id': {'key': 'clientId', 'type': 'str'}, 1824 'object_id': {'key': 'objectId', 'type': 'str'}, 1825 } 1826 1827 def __init__( 1828 self, 1829 *, 1830 resource_id: Optional[str] = None, 1831 client_id: Optional[str] = None, 1832 object_id: Optional[str] = None, 1833 **kwargs 1834 ): 1835 super(ManagedClusterAddonProfileIdentity, self).__init__(resource_id=resource_id, client_id=client_id, object_id=object_id, **kwargs) 1836 1837 1838class ManagedClusterAgentPoolProfileProperties(msrest.serialization.Model): 1839 """Properties for the container service agent pool profile. 1840 1841 Variables are only populated by the server, and will be ignored when sending a request. 1842 1843 :param count: Number of agents (VMs) to host docker containers. Allowed values must be in the 1844 range of 0 to 100 (inclusive) for user pools and in the range of 1 to 100 (inclusive) for 1845 system pools. The default value is 1. 1846 :type count: int 1847 :param vm_size: Size of agent VMs. Possible values include: "Standard_A1", "Standard_A10", 1848 "Standard_A11", "Standard_A1_v2", "Standard_A2", "Standard_A2_v2", "Standard_A2m_v2", 1849 "Standard_A3", "Standard_A4", "Standard_A4_v2", "Standard_A4m_v2", "Standard_A5", 1850 "Standard_A6", "Standard_A7", "Standard_A8", "Standard_A8_v2", "Standard_A8m_v2", 1851 "Standard_A9", "Standard_B2ms", "Standard_B2s", "Standard_B4ms", "Standard_B8ms", 1852 "Standard_D1", "Standard_D11", "Standard_D11_v2", "Standard_D11_v2_Promo", "Standard_D12", 1853 "Standard_D12_v2", "Standard_D12_v2_Promo", "Standard_D13", "Standard_D13_v2", 1854 "Standard_D13_v2_Promo", "Standard_D14", "Standard_D14_v2", "Standard_D14_v2_Promo", 1855 "Standard_D15_v2", "Standard_D16_v3", "Standard_D16s_v3", "Standard_D1_v2", "Standard_D2", 1856 "Standard_D2_v2", "Standard_D2_v2_Promo", "Standard_D2_v3", "Standard_D2s_v3", "Standard_D3", 1857 "Standard_D32_v3", "Standard_D32s_v3", "Standard_D3_v2", "Standard_D3_v2_Promo", "Standard_D4", 1858 "Standard_D4_v2", "Standard_D4_v2_Promo", "Standard_D4_v3", "Standard_D4s_v3", 1859 "Standard_D5_v2", "Standard_D5_v2_Promo", "Standard_D64_v3", "Standard_D64s_v3", 1860 "Standard_D8_v3", "Standard_D8s_v3", "Standard_DS1", "Standard_DS11", "Standard_DS11_v2", 1861 "Standard_DS11_v2_Promo", "Standard_DS12", "Standard_DS12_v2", "Standard_DS12_v2_Promo", 1862 "Standard_DS13", "Standard_DS13-2_v2", "Standard_DS13-4_v2", "Standard_DS13_v2", 1863 "Standard_DS13_v2_Promo", "Standard_DS14", "Standard_DS14-4_v2", "Standard_DS14-8_v2", 1864 "Standard_DS14_v2", "Standard_DS14_v2_Promo", "Standard_DS15_v2", "Standard_DS1_v2", 1865 "Standard_DS2", "Standard_DS2_v2", "Standard_DS2_v2_Promo", "Standard_DS3", "Standard_DS3_v2", 1866 "Standard_DS3_v2_Promo", "Standard_DS4", "Standard_DS4_v2", "Standard_DS4_v2_Promo", 1867 "Standard_DS5_v2", "Standard_DS5_v2_Promo", "Standard_E16_v3", "Standard_E16s_v3", 1868 "Standard_E2_v3", "Standard_E2s_v3", "Standard_E32-16s_v3", "Standard_E32-8s_v3", 1869 "Standard_E32_v3", "Standard_E32s_v3", "Standard_E4_v3", "Standard_E4s_v3", 1870 "Standard_E64-16s_v3", "Standard_E64-32s_v3", "Standard_E64_v3", "Standard_E64s_v3", 1871 "Standard_E8_v3", "Standard_E8s_v3", "Standard_F1", "Standard_F16", "Standard_F16s", 1872 "Standard_F16s_v2", "Standard_F1s", "Standard_F2", "Standard_F2s", "Standard_F2s_v2", 1873 "Standard_F32s_v2", "Standard_F4", "Standard_F4s", "Standard_F4s_v2", "Standard_F64s_v2", 1874 "Standard_F72s_v2", "Standard_F8", "Standard_F8s", "Standard_F8s_v2", "Standard_G1", 1875 "Standard_G2", "Standard_G3", "Standard_G4", "Standard_G5", "Standard_GS1", "Standard_GS2", 1876 "Standard_GS3", "Standard_GS4", "Standard_GS4-4", "Standard_GS4-8", "Standard_GS5", 1877 "Standard_GS5-16", "Standard_GS5-8", "Standard_H16", "Standard_H16m", "Standard_H16mr", 1878 "Standard_H16r", "Standard_H8", "Standard_H8m", "Standard_L16s", "Standard_L32s", 1879 "Standard_L4s", "Standard_L8s", "Standard_M128-32ms", "Standard_M128-64ms", "Standard_M128ms", 1880 "Standard_M128s", "Standard_M64-16ms", "Standard_M64-32ms", "Standard_M64ms", "Standard_M64s", 1881 "Standard_NC12", "Standard_NC12s_v2", "Standard_NC12s_v3", "Standard_NC24", "Standard_NC24r", 1882 "Standard_NC24rs_v2", "Standard_NC24rs_v3", "Standard_NC24s_v2", "Standard_NC24s_v3", 1883 "Standard_NC6", "Standard_NC6s_v2", "Standard_NC6s_v3", "Standard_ND12s", "Standard_ND24rs", 1884 "Standard_ND24s", "Standard_ND6s", "Standard_NV12", "Standard_NV24", "Standard_NV6". 1885 :type vm_size: str or 1886 ~azure.mgmt.containerservice.v2020_12_01.models.ContainerServiceVMSizeTypes 1887 :param os_disk_size_gb: OS Disk Size in GB to be used to specify the disk size for every 1888 machine in this master/agent pool. If you specify 0, it will apply the default osDisk size 1889 according to the vmSize specified. 1890 :type os_disk_size_gb: int 1891 :param os_disk_type: OS disk type to be used for machines in a given agent pool. Allowed values 1892 are 'Ephemeral' and 'Managed'. If unspecified, defaults to 'Ephemeral' when the VM supports 1893 ephemeral OS and has a cache disk larger than the requested OSDiskSizeGB. Otherwise, defaults 1894 to 'Managed'. May not be changed after creation. Possible values include: "Managed", 1895 "Ephemeral". 1896 :type os_disk_type: str or ~azure.mgmt.containerservice.v2020_12_01.models.OSDiskType 1897 :param kubelet_disk_type: KubeletDiskType determines the placement of emptyDir volumes, 1898 container runtime data root, and Kubelet ephemeral storage. Currently allows one value, OS, 1899 resulting in Kubelet using the OS disk for data. Possible values include: "OS". 1900 :type kubelet_disk_type: str or ~azure.mgmt.containerservice.v2020_12_01.models.KubeletDiskType 1901 :param vnet_subnet_id: VNet SubnetID specifies the VNet's subnet identifier for nodes and maybe 1902 pods. 1903 :type vnet_subnet_id: str 1904 :param pod_subnet_id: Pod SubnetID specifies the VNet's subnet identifier for pods. 1905 :type pod_subnet_id: str 1906 :param max_pods: Maximum number of pods that can run on a node. 1907 :type max_pods: int 1908 :param os_type: OsType to be used to specify os type. Choose from Linux and Windows. Default to 1909 Linux. Possible values include: "Linux", "Windows". Default value: "Linux". 1910 :type os_type: str or ~azure.mgmt.containerservice.v2020_12_01.models.OSType 1911 :param max_count: Maximum number of nodes for auto-scaling. 1912 :type max_count: int 1913 :param min_count: Minimum number of nodes for auto-scaling. 1914 :type min_count: int 1915 :param enable_auto_scaling: Whether to enable auto-scaler. 1916 :type enable_auto_scaling: bool 1917 :param type: AgentPoolType represents types of an agent pool. Possible values include: 1918 "VirtualMachineScaleSets", "AvailabilitySet". 1919 :type type: str or ~azure.mgmt.containerservice.v2020_12_01.models.AgentPoolType 1920 :param mode: AgentPoolMode represents mode of an agent pool. Possible values include: "System", 1921 "User". 1922 :type mode: str or ~azure.mgmt.containerservice.v2020_12_01.models.AgentPoolMode 1923 :param orchestrator_version: Version of orchestrator specified when creating the managed 1924 cluster. 1925 :type orchestrator_version: str 1926 :ivar node_image_version: Version of node image. 1927 :vartype node_image_version: str 1928 :param upgrade_settings: Settings for upgrading the agentpool. 1929 :type upgrade_settings: 1930 ~azure.mgmt.containerservice.v2020_12_01.models.AgentPoolUpgradeSettings 1931 :ivar provisioning_state: The current deployment or provisioning state, which only appears in 1932 the response. 1933 :vartype provisioning_state: str 1934 :ivar power_state: Describes whether the Agent Pool is Running or Stopped. 1935 :vartype power_state: ~azure.mgmt.containerservice.v2020_12_01.models.PowerState 1936 :param availability_zones: Availability zones for nodes. Must use VirtualMachineScaleSets 1937 AgentPoolType. 1938 :type availability_zones: list[str] 1939 :param enable_node_public_ip: Enable public IP for nodes. 1940 :type enable_node_public_ip: bool 1941 :param scale_set_priority: ScaleSetPriority to be used to specify virtual machine scale set 1942 priority. Default to regular. Possible values include: "Spot", "Regular". Default value: 1943 "Regular". 1944 :type scale_set_priority: str or 1945 ~azure.mgmt.containerservice.v2020_12_01.models.ScaleSetPriority 1946 :param scale_set_eviction_policy: ScaleSetEvictionPolicy to be used to specify eviction policy 1947 for Spot virtual machine scale set. Default to Delete. Possible values include: "Delete", 1948 "Deallocate". Default value: "Delete". 1949 :type scale_set_eviction_policy: str or 1950 ~azure.mgmt.containerservice.v2020_12_01.models.ScaleSetEvictionPolicy 1951 :param spot_max_price: SpotMaxPrice to be used to specify the maximum price you are willing to 1952 pay in US Dollars. Possible values are any decimal value greater than zero or -1 which 1953 indicates default price to be up-to on-demand. 1954 :type spot_max_price: float 1955 :param tags: A set of tags. Agent pool tags to be persisted on the agent pool virtual machine 1956 scale set. 1957 :type tags: dict[str, str] 1958 :param node_labels: Agent pool node labels to be persisted across all nodes in agent pool. 1959 :type node_labels: dict[str, str] 1960 :param node_taints: Taints added to new nodes during node pool create and scale. For example, 1961 key=value:NoSchedule. 1962 :type node_taints: list[str] 1963 :param proximity_placement_group_id: The ID for Proximity Placement Group. 1964 :type proximity_placement_group_id: str 1965 :param kubelet_config: KubeletConfig specifies the configuration of kubelet on agent nodes. 1966 :type kubelet_config: ~azure.mgmt.containerservice.v2020_12_01.models.KubeletConfig 1967 :param linux_os_config: LinuxOSConfig specifies the OS configuration of linux agent nodes. 1968 :type linux_os_config: ~azure.mgmt.containerservice.v2020_12_01.models.LinuxOSConfig 1969 :param enable_encryption_at_host: Whether to enable EncryptionAtHost. 1970 :type enable_encryption_at_host: bool 1971 """ 1972 1973 _validation = { 1974 'os_disk_size_gb': {'maximum': 1023, 'minimum': 0}, 1975 'node_image_version': {'readonly': True}, 1976 'provisioning_state': {'readonly': True}, 1977 'power_state': {'readonly': True}, 1978 } 1979 1980 _attribute_map = { 1981 'count': {'key': 'count', 'type': 'int'}, 1982 'vm_size': {'key': 'vmSize', 'type': 'str'}, 1983 'os_disk_size_gb': {'key': 'osDiskSizeGB', 'type': 'int'}, 1984 'os_disk_type': {'key': 'osDiskType', 'type': 'str'}, 1985 'kubelet_disk_type': {'key': 'kubeletDiskType', 'type': 'str'}, 1986 'vnet_subnet_id': {'key': 'vnetSubnetID', 'type': 'str'}, 1987 'pod_subnet_id': {'key': 'podSubnetID', 'type': 'str'}, 1988 'max_pods': {'key': 'maxPods', 'type': 'int'}, 1989 'os_type': {'key': 'osType', 'type': 'str'}, 1990 'max_count': {'key': 'maxCount', 'type': 'int'}, 1991 'min_count': {'key': 'minCount', 'type': 'int'}, 1992 'enable_auto_scaling': {'key': 'enableAutoScaling', 'type': 'bool'}, 1993 'type': {'key': 'type', 'type': 'str'}, 1994 'mode': {'key': 'mode', 'type': 'str'}, 1995 'orchestrator_version': {'key': 'orchestratorVersion', 'type': 'str'}, 1996 'node_image_version': {'key': 'nodeImageVersion', 'type': 'str'}, 1997 'upgrade_settings': {'key': 'upgradeSettings', 'type': 'AgentPoolUpgradeSettings'}, 1998 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, 1999 'power_state': {'key': 'powerState', 'type': 'PowerState'}, 2000 'availability_zones': {'key': 'availabilityZones', 'type': '[str]'}, 2001 'enable_node_public_ip': {'key': 'enableNodePublicIP', 'type': 'bool'}, 2002 'scale_set_priority': {'key': 'scaleSetPriority', 'type': 'str'}, 2003 'scale_set_eviction_policy': {'key': 'scaleSetEvictionPolicy', 'type': 'str'}, 2004 'spot_max_price': {'key': 'spotMaxPrice', 'type': 'float'}, 2005 'tags': {'key': 'tags', 'type': '{str}'}, 2006 'node_labels': {'key': 'nodeLabels', 'type': '{str}'}, 2007 'node_taints': {'key': 'nodeTaints', 'type': '[str]'}, 2008 'proximity_placement_group_id': {'key': 'proximityPlacementGroupID', 'type': 'str'}, 2009 'kubelet_config': {'key': 'kubeletConfig', 'type': 'KubeletConfig'}, 2010 'linux_os_config': {'key': 'linuxOSConfig', 'type': 'LinuxOSConfig'}, 2011 'enable_encryption_at_host': {'key': 'enableEncryptionAtHost', 'type': 'bool'}, 2012 } 2013 2014 def __init__( 2015 self, 2016 *, 2017 count: Optional[int] = None, 2018 vm_size: Optional[Union[str, "ContainerServiceVMSizeTypes"]] = None, 2019 os_disk_size_gb: Optional[int] = None, 2020 os_disk_type: Optional[Union[str, "OSDiskType"]] = None, 2021 kubelet_disk_type: Optional[Union[str, "KubeletDiskType"]] = None, 2022 vnet_subnet_id: Optional[str] = None, 2023 pod_subnet_id: Optional[str] = None, 2024 max_pods: Optional[int] = None, 2025 os_type: Optional[Union[str, "OSType"]] = "Linux", 2026 max_count: Optional[int] = None, 2027 min_count: Optional[int] = None, 2028 enable_auto_scaling: Optional[bool] = None, 2029 type: Optional[Union[str, "AgentPoolType"]] = None, 2030 mode: Optional[Union[str, "AgentPoolMode"]] = None, 2031 orchestrator_version: Optional[str] = None, 2032 upgrade_settings: Optional["AgentPoolUpgradeSettings"] = None, 2033 availability_zones: Optional[List[str]] = None, 2034 enable_node_public_ip: Optional[bool] = None, 2035 scale_set_priority: Optional[Union[str, "ScaleSetPriority"]] = "Regular", 2036 scale_set_eviction_policy: Optional[Union[str, "ScaleSetEvictionPolicy"]] = "Delete", 2037 spot_max_price: Optional[float] = -1, 2038 tags: Optional[Dict[str, str]] = None, 2039 node_labels: Optional[Dict[str, str]] = None, 2040 node_taints: Optional[List[str]] = None, 2041 proximity_placement_group_id: Optional[str] = None, 2042 kubelet_config: Optional["KubeletConfig"] = None, 2043 linux_os_config: Optional["LinuxOSConfig"] = None, 2044 enable_encryption_at_host: Optional[bool] = None, 2045 **kwargs 2046 ): 2047 super(ManagedClusterAgentPoolProfileProperties, self).__init__(**kwargs) 2048 self.count = count 2049 self.vm_size = vm_size 2050 self.os_disk_size_gb = os_disk_size_gb 2051 self.os_disk_type = os_disk_type 2052 self.kubelet_disk_type = kubelet_disk_type 2053 self.vnet_subnet_id = vnet_subnet_id 2054 self.pod_subnet_id = pod_subnet_id 2055 self.max_pods = max_pods 2056 self.os_type = os_type 2057 self.max_count = max_count 2058 self.min_count = min_count 2059 self.enable_auto_scaling = enable_auto_scaling 2060 self.type = type 2061 self.mode = mode 2062 self.orchestrator_version = orchestrator_version 2063 self.node_image_version = None 2064 self.upgrade_settings = upgrade_settings 2065 self.provisioning_state = None 2066 self.power_state = None 2067 self.availability_zones = availability_zones 2068 self.enable_node_public_ip = enable_node_public_ip 2069 self.scale_set_priority = scale_set_priority 2070 self.scale_set_eviction_policy = scale_set_eviction_policy 2071 self.spot_max_price = spot_max_price 2072 self.tags = tags 2073 self.node_labels = node_labels 2074 self.node_taints = node_taints 2075 self.proximity_placement_group_id = proximity_placement_group_id 2076 self.kubelet_config = kubelet_config 2077 self.linux_os_config = linux_os_config 2078 self.enable_encryption_at_host = enable_encryption_at_host 2079 2080 2081class ManagedClusterAgentPoolProfile(ManagedClusterAgentPoolProfileProperties): 2082 """Profile for the container service agent pool. 2083 2084 Variables are only populated by the server, and will be ignored when sending a request. 2085 2086 All required parameters must be populated in order to send to Azure. 2087 2088 :param count: Number of agents (VMs) to host docker containers. Allowed values must be in the 2089 range of 0 to 100 (inclusive) for user pools and in the range of 1 to 100 (inclusive) for 2090 system pools. The default value is 1. 2091 :type count: int 2092 :param vm_size: Size of agent VMs. Possible values include: "Standard_A1", "Standard_A10", 2093 "Standard_A11", "Standard_A1_v2", "Standard_A2", "Standard_A2_v2", "Standard_A2m_v2", 2094 "Standard_A3", "Standard_A4", "Standard_A4_v2", "Standard_A4m_v2", "Standard_A5", 2095 "Standard_A6", "Standard_A7", "Standard_A8", "Standard_A8_v2", "Standard_A8m_v2", 2096 "Standard_A9", "Standard_B2ms", "Standard_B2s", "Standard_B4ms", "Standard_B8ms", 2097 "Standard_D1", "Standard_D11", "Standard_D11_v2", "Standard_D11_v2_Promo", "Standard_D12", 2098 "Standard_D12_v2", "Standard_D12_v2_Promo", "Standard_D13", "Standard_D13_v2", 2099 "Standard_D13_v2_Promo", "Standard_D14", "Standard_D14_v2", "Standard_D14_v2_Promo", 2100 "Standard_D15_v2", "Standard_D16_v3", "Standard_D16s_v3", "Standard_D1_v2", "Standard_D2", 2101 "Standard_D2_v2", "Standard_D2_v2_Promo", "Standard_D2_v3", "Standard_D2s_v3", "Standard_D3", 2102 "Standard_D32_v3", "Standard_D32s_v3", "Standard_D3_v2", "Standard_D3_v2_Promo", "Standard_D4", 2103 "Standard_D4_v2", "Standard_D4_v2_Promo", "Standard_D4_v3", "Standard_D4s_v3", 2104 "Standard_D5_v2", "Standard_D5_v2_Promo", "Standard_D64_v3", "Standard_D64s_v3", 2105 "Standard_D8_v3", "Standard_D8s_v3", "Standard_DS1", "Standard_DS11", "Standard_DS11_v2", 2106 "Standard_DS11_v2_Promo", "Standard_DS12", "Standard_DS12_v2", "Standard_DS12_v2_Promo", 2107 "Standard_DS13", "Standard_DS13-2_v2", "Standard_DS13-4_v2", "Standard_DS13_v2", 2108 "Standard_DS13_v2_Promo", "Standard_DS14", "Standard_DS14-4_v2", "Standard_DS14-8_v2", 2109 "Standard_DS14_v2", "Standard_DS14_v2_Promo", "Standard_DS15_v2", "Standard_DS1_v2", 2110 "Standard_DS2", "Standard_DS2_v2", "Standard_DS2_v2_Promo", "Standard_DS3", "Standard_DS3_v2", 2111 "Standard_DS3_v2_Promo", "Standard_DS4", "Standard_DS4_v2", "Standard_DS4_v2_Promo", 2112 "Standard_DS5_v2", "Standard_DS5_v2_Promo", "Standard_E16_v3", "Standard_E16s_v3", 2113 "Standard_E2_v3", "Standard_E2s_v3", "Standard_E32-16s_v3", "Standard_E32-8s_v3", 2114 "Standard_E32_v3", "Standard_E32s_v3", "Standard_E4_v3", "Standard_E4s_v3", 2115 "Standard_E64-16s_v3", "Standard_E64-32s_v3", "Standard_E64_v3", "Standard_E64s_v3", 2116 "Standard_E8_v3", "Standard_E8s_v3", "Standard_F1", "Standard_F16", "Standard_F16s", 2117 "Standard_F16s_v2", "Standard_F1s", "Standard_F2", "Standard_F2s", "Standard_F2s_v2", 2118 "Standard_F32s_v2", "Standard_F4", "Standard_F4s", "Standard_F4s_v2", "Standard_F64s_v2", 2119 "Standard_F72s_v2", "Standard_F8", "Standard_F8s", "Standard_F8s_v2", "Standard_G1", 2120 "Standard_G2", "Standard_G3", "Standard_G4", "Standard_G5", "Standard_GS1", "Standard_GS2", 2121 "Standard_GS3", "Standard_GS4", "Standard_GS4-4", "Standard_GS4-8", "Standard_GS5", 2122 "Standard_GS5-16", "Standard_GS5-8", "Standard_H16", "Standard_H16m", "Standard_H16mr", 2123 "Standard_H16r", "Standard_H8", "Standard_H8m", "Standard_L16s", "Standard_L32s", 2124 "Standard_L4s", "Standard_L8s", "Standard_M128-32ms", "Standard_M128-64ms", "Standard_M128ms", 2125 "Standard_M128s", "Standard_M64-16ms", "Standard_M64-32ms", "Standard_M64ms", "Standard_M64s", 2126 "Standard_NC12", "Standard_NC12s_v2", "Standard_NC12s_v3", "Standard_NC24", "Standard_NC24r", 2127 "Standard_NC24rs_v2", "Standard_NC24rs_v3", "Standard_NC24s_v2", "Standard_NC24s_v3", 2128 "Standard_NC6", "Standard_NC6s_v2", "Standard_NC6s_v3", "Standard_ND12s", "Standard_ND24rs", 2129 "Standard_ND24s", "Standard_ND6s", "Standard_NV12", "Standard_NV24", "Standard_NV6". 2130 :type vm_size: str or 2131 ~azure.mgmt.containerservice.v2020_12_01.models.ContainerServiceVMSizeTypes 2132 :param os_disk_size_gb: OS Disk Size in GB to be used to specify the disk size for every 2133 machine in this master/agent pool. If you specify 0, it will apply the default osDisk size 2134 according to the vmSize specified. 2135 :type os_disk_size_gb: int 2136 :param os_disk_type: OS disk type to be used for machines in a given agent pool. Allowed values 2137 are 'Ephemeral' and 'Managed'. If unspecified, defaults to 'Ephemeral' when the VM supports 2138 ephemeral OS and has a cache disk larger than the requested OSDiskSizeGB. Otherwise, defaults 2139 to 'Managed'. May not be changed after creation. Possible values include: "Managed", 2140 "Ephemeral". 2141 :type os_disk_type: str or ~azure.mgmt.containerservice.v2020_12_01.models.OSDiskType 2142 :param kubelet_disk_type: KubeletDiskType determines the placement of emptyDir volumes, 2143 container runtime data root, and Kubelet ephemeral storage. Currently allows one value, OS, 2144 resulting in Kubelet using the OS disk for data. Possible values include: "OS". 2145 :type kubelet_disk_type: str or ~azure.mgmt.containerservice.v2020_12_01.models.KubeletDiskType 2146 :param vnet_subnet_id: VNet SubnetID specifies the VNet's subnet identifier for nodes and maybe 2147 pods. 2148 :type vnet_subnet_id: str 2149 :param pod_subnet_id: Pod SubnetID specifies the VNet's subnet identifier for pods. 2150 :type pod_subnet_id: str 2151 :param max_pods: Maximum number of pods that can run on a node. 2152 :type max_pods: int 2153 :param os_type: OsType to be used to specify os type. Choose from Linux and Windows. Default to 2154 Linux. Possible values include: "Linux", "Windows". Default value: "Linux". 2155 :type os_type: str or ~azure.mgmt.containerservice.v2020_12_01.models.OSType 2156 :param max_count: Maximum number of nodes for auto-scaling. 2157 :type max_count: int 2158 :param min_count: Minimum number of nodes for auto-scaling. 2159 :type min_count: int 2160 :param enable_auto_scaling: Whether to enable auto-scaler. 2161 :type enable_auto_scaling: bool 2162 :param type: AgentPoolType represents types of an agent pool. Possible values include: 2163 "VirtualMachineScaleSets", "AvailabilitySet". 2164 :type type: str or ~azure.mgmt.containerservice.v2020_12_01.models.AgentPoolType 2165 :param mode: AgentPoolMode represents mode of an agent pool. Possible values include: "System", 2166 "User". 2167 :type mode: str or ~azure.mgmt.containerservice.v2020_12_01.models.AgentPoolMode 2168 :param orchestrator_version: Version of orchestrator specified when creating the managed 2169 cluster. 2170 :type orchestrator_version: str 2171 :ivar node_image_version: Version of node image. 2172 :vartype node_image_version: str 2173 :param upgrade_settings: Settings for upgrading the agentpool. 2174 :type upgrade_settings: 2175 ~azure.mgmt.containerservice.v2020_12_01.models.AgentPoolUpgradeSettings 2176 :ivar provisioning_state: The current deployment or provisioning state, which only appears in 2177 the response. 2178 :vartype provisioning_state: str 2179 :ivar power_state: Describes whether the Agent Pool is Running or Stopped. 2180 :vartype power_state: ~azure.mgmt.containerservice.v2020_12_01.models.PowerState 2181 :param availability_zones: Availability zones for nodes. Must use VirtualMachineScaleSets 2182 AgentPoolType. 2183 :type availability_zones: list[str] 2184 :param enable_node_public_ip: Enable public IP for nodes. 2185 :type enable_node_public_ip: bool 2186 :param scale_set_priority: ScaleSetPriority to be used to specify virtual machine scale set 2187 priority. Default to regular. Possible values include: "Spot", "Regular". Default value: 2188 "Regular". 2189 :type scale_set_priority: str or 2190 ~azure.mgmt.containerservice.v2020_12_01.models.ScaleSetPriority 2191 :param scale_set_eviction_policy: ScaleSetEvictionPolicy to be used to specify eviction policy 2192 for Spot virtual machine scale set. Default to Delete. Possible values include: "Delete", 2193 "Deallocate". Default value: "Delete". 2194 :type scale_set_eviction_policy: str or 2195 ~azure.mgmt.containerservice.v2020_12_01.models.ScaleSetEvictionPolicy 2196 :param spot_max_price: SpotMaxPrice to be used to specify the maximum price you are willing to 2197 pay in US Dollars. Possible values are any decimal value greater than zero or -1 which 2198 indicates default price to be up-to on-demand. 2199 :type spot_max_price: float 2200 :param tags: A set of tags. Agent pool tags to be persisted on the agent pool virtual machine 2201 scale set. 2202 :type tags: dict[str, str] 2203 :param node_labels: Agent pool node labels to be persisted across all nodes in agent pool. 2204 :type node_labels: dict[str, str] 2205 :param node_taints: Taints added to new nodes during node pool create and scale. For example, 2206 key=value:NoSchedule. 2207 :type node_taints: list[str] 2208 :param proximity_placement_group_id: The ID for Proximity Placement Group. 2209 :type proximity_placement_group_id: str 2210 :param kubelet_config: KubeletConfig specifies the configuration of kubelet on agent nodes. 2211 :type kubelet_config: ~azure.mgmt.containerservice.v2020_12_01.models.KubeletConfig 2212 :param linux_os_config: LinuxOSConfig specifies the OS configuration of linux agent nodes. 2213 :type linux_os_config: ~azure.mgmt.containerservice.v2020_12_01.models.LinuxOSConfig 2214 :param enable_encryption_at_host: Whether to enable EncryptionAtHost. 2215 :type enable_encryption_at_host: bool 2216 :param name: Required. Unique name of the agent pool profile in the context of the subscription 2217 and resource group. 2218 :type name: str 2219 """ 2220 2221 _validation = { 2222 'os_disk_size_gb': {'maximum': 1023, 'minimum': 0}, 2223 'node_image_version': {'readonly': True}, 2224 'provisioning_state': {'readonly': True}, 2225 'power_state': {'readonly': True}, 2226 'name': {'required': True, 'pattern': r'^[a-z][a-z0-9]{0,11}$'}, 2227 } 2228 2229 _attribute_map = { 2230 'count': {'key': 'count', 'type': 'int'}, 2231 'vm_size': {'key': 'vmSize', 'type': 'str'}, 2232 'os_disk_size_gb': {'key': 'osDiskSizeGB', 'type': 'int'}, 2233 'os_disk_type': {'key': 'osDiskType', 'type': 'str'}, 2234 'kubelet_disk_type': {'key': 'kubeletDiskType', 'type': 'str'}, 2235 'vnet_subnet_id': {'key': 'vnetSubnetID', 'type': 'str'}, 2236 'pod_subnet_id': {'key': 'podSubnetID', 'type': 'str'}, 2237 'max_pods': {'key': 'maxPods', 'type': 'int'}, 2238 'os_type': {'key': 'osType', 'type': 'str'}, 2239 'max_count': {'key': 'maxCount', 'type': 'int'}, 2240 'min_count': {'key': 'minCount', 'type': 'int'}, 2241 'enable_auto_scaling': {'key': 'enableAutoScaling', 'type': 'bool'}, 2242 'type': {'key': 'type', 'type': 'str'}, 2243 'mode': {'key': 'mode', 'type': 'str'}, 2244 'orchestrator_version': {'key': 'orchestratorVersion', 'type': 'str'}, 2245 'node_image_version': {'key': 'nodeImageVersion', 'type': 'str'}, 2246 'upgrade_settings': {'key': 'upgradeSettings', 'type': 'AgentPoolUpgradeSettings'}, 2247 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, 2248 'power_state': {'key': 'powerState', 'type': 'PowerState'}, 2249 'availability_zones': {'key': 'availabilityZones', 'type': '[str]'}, 2250 'enable_node_public_ip': {'key': 'enableNodePublicIP', 'type': 'bool'}, 2251 'scale_set_priority': {'key': 'scaleSetPriority', 'type': 'str'}, 2252 'scale_set_eviction_policy': {'key': 'scaleSetEvictionPolicy', 'type': 'str'}, 2253 'spot_max_price': {'key': 'spotMaxPrice', 'type': 'float'}, 2254 'tags': {'key': 'tags', 'type': '{str}'}, 2255 'node_labels': {'key': 'nodeLabels', 'type': '{str}'}, 2256 'node_taints': {'key': 'nodeTaints', 'type': '[str]'}, 2257 'proximity_placement_group_id': {'key': 'proximityPlacementGroupID', 'type': 'str'}, 2258 'kubelet_config': {'key': 'kubeletConfig', 'type': 'KubeletConfig'}, 2259 'linux_os_config': {'key': 'linuxOSConfig', 'type': 'LinuxOSConfig'}, 2260 'enable_encryption_at_host': {'key': 'enableEncryptionAtHost', 'type': 'bool'}, 2261 'name': {'key': 'name', 'type': 'str'}, 2262 } 2263 2264 def __init__( 2265 self, 2266 *, 2267 name: str, 2268 count: Optional[int] = None, 2269 vm_size: Optional[Union[str, "ContainerServiceVMSizeTypes"]] = None, 2270 os_disk_size_gb: Optional[int] = None, 2271 os_disk_type: Optional[Union[str, "OSDiskType"]] = None, 2272 kubelet_disk_type: Optional[Union[str, "KubeletDiskType"]] = None, 2273 vnet_subnet_id: Optional[str] = None, 2274 pod_subnet_id: Optional[str] = None, 2275 max_pods: Optional[int] = None, 2276 os_type: Optional[Union[str, "OSType"]] = "Linux", 2277 max_count: Optional[int] = None, 2278 min_count: Optional[int] = None, 2279 enable_auto_scaling: Optional[bool] = None, 2280 type: Optional[Union[str, "AgentPoolType"]] = None, 2281 mode: Optional[Union[str, "AgentPoolMode"]] = None, 2282 orchestrator_version: Optional[str] = None, 2283 upgrade_settings: Optional["AgentPoolUpgradeSettings"] = None, 2284 availability_zones: Optional[List[str]] = None, 2285 enable_node_public_ip: Optional[bool] = None, 2286 scale_set_priority: Optional[Union[str, "ScaleSetPriority"]] = "Regular", 2287 scale_set_eviction_policy: Optional[Union[str, "ScaleSetEvictionPolicy"]] = "Delete", 2288 spot_max_price: Optional[float] = -1, 2289 tags: Optional[Dict[str, str]] = None, 2290 node_labels: Optional[Dict[str, str]] = None, 2291 node_taints: Optional[List[str]] = None, 2292 proximity_placement_group_id: Optional[str] = None, 2293 kubelet_config: Optional["KubeletConfig"] = None, 2294 linux_os_config: Optional["LinuxOSConfig"] = None, 2295 enable_encryption_at_host: Optional[bool] = None, 2296 **kwargs 2297 ): 2298 super(ManagedClusterAgentPoolProfile, self).__init__(count=count, vm_size=vm_size, os_disk_size_gb=os_disk_size_gb, os_disk_type=os_disk_type, kubelet_disk_type=kubelet_disk_type, vnet_subnet_id=vnet_subnet_id, pod_subnet_id=pod_subnet_id, max_pods=max_pods, os_type=os_type, max_count=max_count, min_count=min_count, enable_auto_scaling=enable_auto_scaling, type=type, mode=mode, orchestrator_version=orchestrator_version, upgrade_settings=upgrade_settings, availability_zones=availability_zones, enable_node_public_ip=enable_node_public_ip, scale_set_priority=scale_set_priority, scale_set_eviction_policy=scale_set_eviction_policy, spot_max_price=spot_max_price, tags=tags, node_labels=node_labels, node_taints=node_taints, proximity_placement_group_id=proximity_placement_group_id, kubelet_config=kubelet_config, linux_os_config=linux_os_config, enable_encryption_at_host=enable_encryption_at_host, **kwargs) 2299 self.name = name 2300 2301 2302class ManagedClusterAPIServerAccessProfile(msrest.serialization.Model): 2303 """Access profile for managed cluster API server. 2304 2305 :param authorized_ip_ranges: Authorized IP Ranges to kubernetes API server. 2306 :type authorized_ip_ranges: list[str] 2307 :param enable_private_cluster: Whether to create the cluster as a private cluster or not. 2308 :type enable_private_cluster: bool 2309 :param private_dns_zone: Private dns zone mode for private cluster. 2310 :type private_dns_zone: str 2311 """ 2312 2313 _attribute_map = { 2314 'authorized_ip_ranges': {'key': 'authorizedIPRanges', 'type': '[str]'}, 2315 'enable_private_cluster': {'key': 'enablePrivateCluster', 'type': 'bool'}, 2316 'private_dns_zone': {'key': 'privateDNSZone', 'type': 'str'}, 2317 } 2318 2319 def __init__( 2320 self, 2321 *, 2322 authorized_ip_ranges: Optional[List[str]] = None, 2323 enable_private_cluster: Optional[bool] = None, 2324 private_dns_zone: Optional[str] = None, 2325 **kwargs 2326 ): 2327 super(ManagedClusterAPIServerAccessProfile, self).__init__(**kwargs) 2328 self.authorized_ip_ranges = authorized_ip_ranges 2329 self.enable_private_cluster = enable_private_cluster 2330 self.private_dns_zone = private_dns_zone 2331 2332 2333class ManagedClusterAutoUpgradeProfile(msrest.serialization.Model): 2334 """Auto upgrade profile for a managed cluster. 2335 2336 :param upgrade_channel: upgrade channel for auto upgrade. Possible values include: "rapid", 2337 "stable", "patch", "none". 2338 :type upgrade_channel: str or ~azure.mgmt.containerservice.v2020_12_01.models.UpgradeChannel 2339 """ 2340 2341 _attribute_map = { 2342 'upgrade_channel': {'key': 'upgradeChannel', 'type': 'str'}, 2343 } 2344 2345 def __init__( 2346 self, 2347 *, 2348 upgrade_channel: Optional[Union[str, "UpgradeChannel"]] = None, 2349 **kwargs 2350 ): 2351 super(ManagedClusterAutoUpgradeProfile, self).__init__(**kwargs) 2352 self.upgrade_channel = upgrade_channel 2353 2354 2355class ManagedClusterIdentity(msrest.serialization.Model): 2356 """Identity for the managed cluster. 2357 2358 Variables are only populated by the server, and will be ignored when sending a request. 2359 2360 :ivar principal_id: The principal id of the system assigned identity which is used by master 2361 components. 2362 :vartype principal_id: str 2363 :ivar tenant_id: The tenant id of the system assigned identity which is used by master 2364 components. 2365 :vartype tenant_id: str 2366 :param type: The type of identity used for the managed cluster. Type 'SystemAssigned' will use 2367 an implicitly created identity in master components and an auto-created user assigned identity 2368 in MC_ resource group in agent nodes. Type 'None' will not use MSI for the managed cluster, 2369 service principal will be used instead. Possible values include: "SystemAssigned", 2370 "UserAssigned", "None". 2371 :type type: str or ~azure.mgmt.containerservice.v2020_12_01.models.ResourceIdentityType 2372 :param user_assigned_identities: The user identity associated with the managed cluster. This 2373 identity will be used in control plane and only one user assigned identity is allowed. The user 2374 identity dictionary key references will be ARM resource ids in the form: 2375 '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. 2376 :type user_assigned_identities: dict[str, 2377 ~azure.mgmt.containerservice.v2020_12_01.models.Components1Umhcm8SchemasManagedclusteridentityPropertiesUserassignedidentitiesAdditionalproperties] 2378 """ 2379 2380 _validation = { 2381 'principal_id': {'readonly': True}, 2382 'tenant_id': {'readonly': True}, 2383 } 2384 2385 _attribute_map = { 2386 'principal_id': {'key': 'principalId', 'type': 'str'}, 2387 'tenant_id': {'key': 'tenantId', 'type': 'str'}, 2388 'type': {'key': 'type', 'type': 'str'}, 2389 'user_assigned_identities': {'key': 'userAssignedIdentities', 'type': '{Components1Umhcm8SchemasManagedclusteridentityPropertiesUserassignedidentitiesAdditionalproperties}'}, 2390 } 2391 2392 def __init__( 2393 self, 2394 *, 2395 type: Optional[Union[str, "ResourceIdentityType"]] = None, 2396 user_assigned_identities: Optional[Dict[str, "Components1Umhcm8SchemasManagedclusteridentityPropertiesUserassignedidentitiesAdditionalproperties"]] = None, 2397 **kwargs 2398 ): 2399 super(ManagedClusterIdentity, self).__init__(**kwargs) 2400 self.principal_id = None 2401 self.tenant_id = None 2402 self.type = type 2403 self.user_assigned_identities = user_assigned_identities 2404 2405 2406class ManagedClusterListResult(msrest.serialization.Model): 2407 """The response from the List Managed Clusters operation. 2408 2409 Variables are only populated by the server, and will be ignored when sending a request. 2410 2411 :param value: The list of managed clusters. 2412 :type value: list[~azure.mgmt.containerservice.v2020_12_01.models.ManagedCluster] 2413 :ivar next_link: The URL to get the next set of managed cluster results. 2414 :vartype next_link: str 2415 """ 2416 2417 _validation = { 2418 'next_link': {'readonly': True}, 2419 } 2420 2421 _attribute_map = { 2422 'value': {'key': 'value', 'type': '[ManagedCluster]'}, 2423 'next_link': {'key': 'nextLink', 'type': 'str'}, 2424 } 2425 2426 def __init__( 2427 self, 2428 *, 2429 value: Optional[List["ManagedCluster"]] = None, 2430 **kwargs 2431 ): 2432 super(ManagedClusterListResult, self).__init__(**kwargs) 2433 self.value = value 2434 self.next_link = None 2435 2436 2437class ManagedClusterLoadBalancerProfile(msrest.serialization.Model): 2438 """Profile of the managed cluster load balancer. 2439 2440 :param managed_outbound_i_ps: Desired managed outbound IPs for the cluster load balancer. 2441 :type managed_outbound_i_ps: 2442 ~azure.mgmt.containerservice.v2020_12_01.models.ManagedClusterLoadBalancerProfileManagedOutboundIPs 2443 :param outbound_ip_prefixes: Desired outbound IP Prefix resources for the cluster load 2444 balancer. 2445 :type outbound_ip_prefixes: 2446 ~azure.mgmt.containerservice.v2020_12_01.models.ManagedClusterLoadBalancerProfileOutboundIPPrefixes 2447 :param outbound_i_ps: Desired outbound IP resources for the cluster load balancer. 2448 :type outbound_i_ps: 2449 ~azure.mgmt.containerservice.v2020_12_01.models.ManagedClusterLoadBalancerProfileOutboundIPs 2450 :param effective_outbound_i_ps: The effective outbound IP resources of the cluster load 2451 balancer. 2452 :type effective_outbound_i_ps: 2453 list[~azure.mgmt.containerservice.v2020_12_01.models.ResourceReference] 2454 :param allocated_outbound_ports: Desired number of allocated SNAT ports per VM. Allowed values 2455 must be in the range of 0 to 64000 (inclusive). The default value is 0 which results in Azure 2456 dynamically allocating ports. 2457 :type allocated_outbound_ports: int 2458 :param idle_timeout_in_minutes: Desired outbound flow idle timeout in minutes. Allowed values 2459 must be in the range of 4 to 120 (inclusive). The default value is 30 minutes. 2460 :type idle_timeout_in_minutes: int 2461 """ 2462 2463 _validation = { 2464 'allocated_outbound_ports': {'maximum': 64000, 'minimum': 0}, 2465 'idle_timeout_in_minutes': {'maximum': 120, 'minimum': 4}, 2466 } 2467 2468 _attribute_map = { 2469 'managed_outbound_i_ps': {'key': 'managedOutboundIPs', 'type': 'ManagedClusterLoadBalancerProfileManagedOutboundIPs'}, 2470 'outbound_ip_prefixes': {'key': 'outboundIPPrefixes', 'type': 'ManagedClusterLoadBalancerProfileOutboundIPPrefixes'}, 2471 'outbound_i_ps': {'key': 'outboundIPs', 'type': 'ManagedClusterLoadBalancerProfileOutboundIPs'}, 2472 'effective_outbound_i_ps': {'key': 'effectiveOutboundIPs', 'type': '[ResourceReference]'}, 2473 'allocated_outbound_ports': {'key': 'allocatedOutboundPorts', 'type': 'int'}, 2474 'idle_timeout_in_minutes': {'key': 'idleTimeoutInMinutes', 'type': 'int'}, 2475 } 2476 2477 def __init__( 2478 self, 2479 *, 2480 managed_outbound_i_ps: Optional["ManagedClusterLoadBalancerProfileManagedOutboundIPs"] = None, 2481 outbound_ip_prefixes: Optional["ManagedClusterLoadBalancerProfileOutboundIPPrefixes"] = None, 2482 outbound_i_ps: Optional["ManagedClusterLoadBalancerProfileOutboundIPs"] = None, 2483 effective_outbound_i_ps: Optional[List["ResourceReference"]] = None, 2484 allocated_outbound_ports: Optional[int] = 0, 2485 idle_timeout_in_minutes: Optional[int] = 30, 2486 **kwargs 2487 ): 2488 super(ManagedClusterLoadBalancerProfile, self).__init__(**kwargs) 2489 self.managed_outbound_i_ps = managed_outbound_i_ps 2490 self.outbound_ip_prefixes = outbound_ip_prefixes 2491 self.outbound_i_ps = outbound_i_ps 2492 self.effective_outbound_i_ps = effective_outbound_i_ps 2493 self.allocated_outbound_ports = allocated_outbound_ports 2494 self.idle_timeout_in_minutes = idle_timeout_in_minutes 2495 2496 2497class ManagedClusterLoadBalancerProfileManagedOutboundIPs(msrest.serialization.Model): 2498 """Desired managed outbound IPs for the cluster load balancer. 2499 2500 :param count: Desired number of outbound IP created/managed by Azure for the cluster load 2501 balancer. Allowed values must be in the range of 1 to 100 (inclusive). The default value is 1. 2502 :type count: int 2503 """ 2504 2505 _validation = { 2506 'count': {'maximum': 100, 'minimum': 1}, 2507 } 2508 2509 _attribute_map = { 2510 'count': {'key': 'count', 'type': 'int'}, 2511 } 2512 2513 def __init__( 2514 self, 2515 *, 2516 count: Optional[int] = 1, 2517 **kwargs 2518 ): 2519 super(ManagedClusterLoadBalancerProfileManagedOutboundIPs, self).__init__(**kwargs) 2520 self.count = count 2521 2522 2523class ManagedClusterLoadBalancerProfileOutboundIPPrefixes(msrest.serialization.Model): 2524 """Desired outbound IP Prefix resources for the cluster load balancer. 2525 2526 :param public_ip_prefixes: A list of public IP prefix resources. 2527 :type public_ip_prefixes: 2528 list[~azure.mgmt.containerservice.v2020_12_01.models.ResourceReference] 2529 """ 2530 2531 _attribute_map = { 2532 'public_ip_prefixes': {'key': 'publicIPPrefixes', 'type': '[ResourceReference]'}, 2533 } 2534 2535 def __init__( 2536 self, 2537 *, 2538 public_ip_prefixes: Optional[List["ResourceReference"]] = None, 2539 **kwargs 2540 ): 2541 super(ManagedClusterLoadBalancerProfileOutboundIPPrefixes, self).__init__(**kwargs) 2542 self.public_ip_prefixes = public_ip_prefixes 2543 2544 2545class ManagedClusterLoadBalancerProfileOutboundIPs(msrest.serialization.Model): 2546 """Desired outbound IP resources for the cluster load balancer. 2547 2548 :param public_i_ps: A list of public IP resources. 2549 :type public_i_ps: list[~azure.mgmt.containerservice.v2020_12_01.models.ResourceReference] 2550 """ 2551 2552 _attribute_map = { 2553 'public_i_ps': {'key': 'publicIPs', 'type': '[ResourceReference]'}, 2554 } 2555 2556 def __init__( 2557 self, 2558 *, 2559 public_i_ps: Optional[List["ResourceReference"]] = None, 2560 **kwargs 2561 ): 2562 super(ManagedClusterLoadBalancerProfileOutboundIPs, self).__init__(**kwargs) 2563 self.public_i_ps = public_i_ps 2564 2565 2566class ManagedClusterPodIdentity(msrest.serialization.Model): 2567 """ManagedClusterPodIdentity. 2568 2569 Variables are only populated by the server, and will be ignored when sending a request. 2570 2571 All required parameters must be populated in order to send to Azure. 2572 2573 :param name: Required. Name of the pod identity. 2574 :type name: str 2575 :param namespace: Required. Namespace of the pod identity. 2576 :type namespace: str 2577 :param identity: Required. Information of the user assigned identity. 2578 :type identity: ~azure.mgmt.containerservice.v2020_12_01.models.UserAssignedIdentity 2579 :ivar provisioning_state: The current provisioning state of the pod identity. Possible values 2580 include: "Assigned", "Updating", "Deleting", "Failed". 2581 :vartype provisioning_state: str or 2582 ~azure.mgmt.containerservice.v2020_12_01.models.ManagedClusterPodIdentityProvisioningState 2583 :ivar provisioning_info: 2584 :vartype provisioning_info: 2585 ~azure.mgmt.containerservice.v2020_12_01.models.ManagedClusterPodIdentityProvisioningInfo 2586 """ 2587 2588 _validation = { 2589 'name': {'required': True}, 2590 'namespace': {'required': True}, 2591 'identity': {'required': True}, 2592 'provisioning_state': {'readonly': True}, 2593 'provisioning_info': {'readonly': True}, 2594 } 2595 2596 _attribute_map = { 2597 'name': {'key': 'name', 'type': 'str'}, 2598 'namespace': {'key': 'namespace', 'type': 'str'}, 2599 'identity': {'key': 'identity', 'type': 'UserAssignedIdentity'}, 2600 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, 2601 'provisioning_info': {'key': 'provisioningInfo', 'type': 'ManagedClusterPodIdentityProvisioningInfo'}, 2602 } 2603 2604 def __init__( 2605 self, 2606 *, 2607 name: str, 2608 namespace: str, 2609 identity: "UserAssignedIdentity", 2610 **kwargs 2611 ): 2612 super(ManagedClusterPodIdentity, self).__init__(**kwargs) 2613 self.name = name 2614 self.namespace = namespace 2615 self.identity = identity 2616 self.provisioning_state = None 2617 self.provisioning_info = None 2618 2619 2620class ManagedClusterPodIdentityException(msrest.serialization.Model): 2621 """ManagedClusterPodIdentityException. 2622 2623 All required parameters must be populated in order to send to Azure. 2624 2625 :param name: Required. Name of the pod identity exception. 2626 :type name: str 2627 :param namespace: Required. Namespace of the pod identity exception. 2628 :type namespace: str 2629 :param pod_labels: Required. Pod labels to match. 2630 :type pod_labels: dict[str, str] 2631 """ 2632 2633 _validation = { 2634 'name': {'required': True}, 2635 'namespace': {'required': True}, 2636 'pod_labels': {'required': True}, 2637 } 2638 2639 _attribute_map = { 2640 'name': {'key': 'name', 'type': 'str'}, 2641 'namespace': {'key': 'namespace', 'type': 'str'}, 2642 'pod_labels': {'key': 'podLabels', 'type': '{str}'}, 2643 } 2644 2645 def __init__( 2646 self, 2647 *, 2648 name: str, 2649 namespace: str, 2650 pod_labels: Dict[str, str], 2651 **kwargs 2652 ): 2653 super(ManagedClusterPodIdentityException, self).__init__(**kwargs) 2654 self.name = name 2655 self.namespace = namespace 2656 self.pod_labels = pod_labels 2657 2658 2659class ManagedClusterPodIdentityProfile(msrest.serialization.Model): 2660 """ManagedClusterPodIdentityProfile. 2661 2662 :param enabled: Whether the pod identity addon is enabled. 2663 :type enabled: bool 2664 :param user_assigned_identities: User assigned pod identity settings. 2665 :type user_assigned_identities: 2666 list[~azure.mgmt.containerservice.v2020_12_01.models.ManagedClusterPodIdentity] 2667 :param user_assigned_identity_exceptions: User assigned pod identity exception settings. 2668 :type user_assigned_identity_exceptions: 2669 list[~azure.mgmt.containerservice.v2020_12_01.models.ManagedClusterPodIdentityException] 2670 """ 2671 2672 _attribute_map = { 2673 'enabled': {'key': 'enabled', 'type': 'bool'}, 2674 'user_assigned_identities': {'key': 'userAssignedIdentities', 'type': '[ManagedClusterPodIdentity]'}, 2675 'user_assigned_identity_exceptions': {'key': 'userAssignedIdentityExceptions', 'type': '[ManagedClusterPodIdentityException]'}, 2676 } 2677 2678 def __init__( 2679 self, 2680 *, 2681 enabled: Optional[bool] = None, 2682 user_assigned_identities: Optional[List["ManagedClusterPodIdentity"]] = None, 2683 user_assigned_identity_exceptions: Optional[List["ManagedClusterPodIdentityException"]] = None, 2684 **kwargs 2685 ): 2686 super(ManagedClusterPodIdentityProfile, self).__init__(**kwargs) 2687 self.enabled = enabled 2688 self.user_assigned_identities = user_assigned_identities 2689 self.user_assigned_identity_exceptions = user_assigned_identity_exceptions 2690 2691 2692class ManagedClusterPodIdentityProvisioningInfo(msrest.serialization.Model): 2693 """ManagedClusterPodIdentityProvisioningInfo. 2694 2695 :param error: Pod identity assignment error (if any). 2696 :type error: ~azure.mgmt.containerservice.v2020_12_01.models.CloudError 2697 """ 2698 2699 _attribute_map = { 2700 'error': {'key': 'error', 'type': 'CloudError'}, 2701 } 2702 2703 def __init__( 2704 self, 2705 *, 2706 error: Optional["CloudError"] = None, 2707 **kwargs 2708 ): 2709 super(ManagedClusterPodIdentityProvisioningInfo, self).__init__(**kwargs) 2710 self.error = error 2711 2712 2713class ManagedClusterPoolUpgradeProfile(msrest.serialization.Model): 2714 """The list of available upgrade versions. 2715 2716 All required parameters must be populated in order to send to Azure. 2717 2718 :param kubernetes_version: Required. Kubernetes version (major, minor, patch). 2719 :type kubernetes_version: str 2720 :param name: Pool name. 2721 :type name: str 2722 :param os_type: Required. OsType to be used to specify os type. Choose from Linux and Windows. 2723 Default to Linux. Possible values include: "Linux", "Windows". Default value: "Linux". 2724 :type os_type: str or ~azure.mgmt.containerservice.v2020_12_01.models.OSType 2725 :param upgrades: List of orchestrator types and versions available for upgrade. 2726 :type upgrades: 2727 list[~azure.mgmt.containerservice.v2020_12_01.models.ManagedClusterPoolUpgradeProfileUpgradesItem] 2728 """ 2729 2730 _validation = { 2731 'kubernetes_version': {'required': True}, 2732 'os_type': {'required': True}, 2733 } 2734 2735 _attribute_map = { 2736 'kubernetes_version': {'key': 'kubernetesVersion', 'type': 'str'}, 2737 'name': {'key': 'name', 'type': 'str'}, 2738 'os_type': {'key': 'osType', 'type': 'str'}, 2739 'upgrades': {'key': 'upgrades', 'type': '[ManagedClusterPoolUpgradeProfileUpgradesItem]'}, 2740 } 2741 2742 def __init__( 2743 self, 2744 *, 2745 kubernetes_version: str, 2746 os_type: Union[str, "OSType"] = "Linux", 2747 name: Optional[str] = None, 2748 upgrades: Optional[List["ManagedClusterPoolUpgradeProfileUpgradesItem"]] = None, 2749 **kwargs 2750 ): 2751 super(ManagedClusterPoolUpgradeProfile, self).__init__(**kwargs) 2752 self.kubernetes_version = kubernetes_version 2753 self.name = name 2754 self.os_type = os_type 2755 self.upgrades = upgrades 2756 2757 2758class ManagedClusterPoolUpgradeProfileUpgradesItem(msrest.serialization.Model): 2759 """ManagedClusterPoolUpgradeProfileUpgradesItem. 2760 2761 :param kubernetes_version: Kubernetes version (major, minor, patch). 2762 :type kubernetes_version: str 2763 :param is_preview: Whether Kubernetes version is currently in preview. 2764 :type is_preview: bool 2765 """ 2766 2767 _attribute_map = { 2768 'kubernetes_version': {'key': 'kubernetesVersion', 'type': 'str'}, 2769 'is_preview': {'key': 'isPreview', 'type': 'bool'}, 2770 } 2771 2772 def __init__( 2773 self, 2774 *, 2775 kubernetes_version: Optional[str] = None, 2776 is_preview: Optional[bool] = None, 2777 **kwargs 2778 ): 2779 super(ManagedClusterPoolUpgradeProfileUpgradesItem, self).__init__(**kwargs) 2780 self.kubernetes_version = kubernetes_version 2781 self.is_preview = is_preview 2782 2783 2784class ManagedClusterPropertiesAutoScalerProfile(msrest.serialization.Model): 2785 """Parameters to be applied to the cluster-autoscaler when enabled. 2786 2787 :param balance_similar_node_groups: 2788 :type balance_similar_node_groups: str 2789 :param expander: Possible values include: "least-waste", "most-pods", "priority", "random". 2790 :type expander: str or ~azure.mgmt.containerservice.v2020_12_01.models.Expander 2791 :param max_empty_bulk_delete: 2792 :type max_empty_bulk_delete: str 2793 :param max_graceful_termination_sec: 2794 :type max_graceful_termination_sec: str 2795 :param max_node_provision_time: 2796 :type max_node_provision_time: str 2797 :param max_total_unready_percentage: 2798 :type max_total_unready_percentage: str 2799 :param new_pod_scale_up_delay: 2800 :type new_pod_scale_up_delay: str 2801 :param ok_total_unready_count: 2802 :type ok_total_unready_count: str 2803 :param scan_interval: 2804 :type scan_interval: str 2805 :param scale_down_delay_after_add: 2806 :type scale_down_delay_after_add: str 2807 :param scale_down_delay_after_delete: 2808 :type scale_down_delay_after_delete: str 2809 :param scale_down_delay_after_failure: 2810 :type scale_down_delay_after_failure: str 2811 :param scale_down_unneeded_time: 2812 :type scale_down_unneeded_time: str 2813 :param scale_down_unready_time: 2814 :type scale_down_unready_time: str 2815 :param scale_down_utilization_threshold: 2816 :type scale_down_utilization_threshold: str 2817 :param skip_nodes_with_local_storage: 2818 :type skip_nodes_with_local_storage: str 2819 :param skip_nodes_with_system_pods: 2820 :type skip_nodes_with_system_pods: str 2821 """ 2822 2823 _attribute_map = { 2824 'balance_similar_node_groups': {'key': 'balance-similar-node-groups', 'type': 'str'}, 2825 'expander': {'key': 'expander', 'type': 'str'}, 2826 'max_empty_bulk_delete': {'key': 'max-empty-bulk-delete', 'type': 'str'}, 2827 'max_graceful_termination_sec': {'key': 'max-graceful-termination-sec', 'type': 'str'}, 2828 'max_node_provision_time': {'key': 'max-node-provision-time', 'type': 'str'}, 2829 'max_total_unready_percentage': {'key': 'max-total-unready-percentage', 'type': 'str'}, 2830 'new_pod_scale_up_delay': {'key': 'new-pod-scale-up-delay', 'type': 'str'}, 2831 'ok_total_unready_count': {'key': 'ok-total-unready-count', 'type': 'str'}, 2832 'scan_interval': {'key': 'scan-interval', 'type': 'str'}, 2833 'scale_down_delay_after_add': {'key': 'scale-down-delay-after-add', 'type': 'str'}, 2834 'scale_down_delay_after_delete': {'key': 'scale-down-delay-after-delete', 'type': 'str'}, 2835 'scale_down_delay_after_failure': {'key': 'scale-down-delay-after-failure', 'type': 'str'}, 2836 'scale_down_unneeded_time': {'key': 'scale-down-unneeded-time', 'type': 'str'}, 2837 'scale_down_unready_time': {'key': 'scale-down-unready-time', 'type': 'str'}, 2838 'scale_down_utilization_threshold': {'key': 'scale-down-utilization-threshold', 'type': 'str'}, 2839 'skip_nodes_with_local_storage': {'key': 'skip-nodes-with-local-storage', 'type': 'str'}, 2840 'skip_nodes_with_system_pods': {'key': 'skip-nodes-with-system-pods', 'type': 'str'}, 2841 } 2842 2843 def __init__( 2844 self, 2845 *, 2846 balance_similar_node_groups: Optional[str] = None, 2847 expander: Optional[Union[str, "Expander"]] = None, 2848 max_empty_bulk_delete: Optional[str] = None, 2849 max_graceful_termination_sec: Optional[str] = None, 2850 max_node_provision_time: Optional[str] = None, 2851 max_total_unready_percentage: Optional[str] = None, 2852 new_pod_scale_up_delay: Optional[str] = None, 2853 ok_total_unready_count: Optional[str] = None, 2854 scan_interval: Optional[str] = None, 2855 scale_down_delay_after_add: Optional[str] = None, 2856 scale_down_delay_after_delete: Optional[str] = None, 2857 scale_down_delay_after_failure: Optional[str] = None, 2858 scale_down_unneeded_time: Optional[str] = None, 2859 scale_down_unready_time: Optional[str] = None, 2860 scale_down_utilization_threshold: Optional[str] = None, 2861 skip_nodes_with_local_storage: Optional[str] = None, 2862 skip_nodes_with_system_pods: Optional[str] = None, 2863 **kwargs 2864 ): 2865 super(ManagedClusterPropertiesAutoScalerProfile, self).__init__(**kwargs) 2866 self.balance_similar_node_groups = balance_similar_node_groups 2867 self.expander = expander 2868 self.max_empty_bulk_delete = max_empty_bulk_delete 2869 self.max_graceful_termination_sec = max_graceful_termination_sec 2870 self.max_node_provision_time = max_node_provision_time 2871 self.max_total_unready_percentage = max_total_unready_percentage 2872 self.new_pod_scale_up_delay = new_pod_scale_up_delay 2873 self.ok_total_unready_count = ok_total_unready_count 2874 self.scan_interval = scan_interval 2875 self.scale_down_delay_after_add = scale_down_delay_after_add 2876 self.scale_down_delay_after_delete = scale_down_delay_after_delete 2877 self.scale_down_delay_after_failure = scale_down_delay_after_failure 2878 self.scale_down_unneeded_time = scale_down_unneeded_time 2879 self.scale_down_unready_time = scale_down_unready_time 2880 self.scale_down_utilization_threshold = scale_down_utilization_threshold 2881 self.skip_nodes_with_local_storage = skip_nodes_with_local_storage 2882 self.skip_nodes_with_system_pods = skip_nodes_with_system_pods 2883 2884 2885class ManagedClusterServicePrincipalProfile(msrest.serialization.Model): 2886 """Information about a service principal identity for the cluster to use for manipulating Azure APIs. 2887 2888 All required parameters must be populated in order to send to Azure. 2889 2890 :param client_id: Required. The ID for the service principal. 2891 :type client_id: str 2892 :param secret: The secret password associated with the service principal in plain text. 2893 :type secret: str 2894 """ 2895 2896 _validation = { 2897 'client_id': {'required': True}, 2898 } 2899 2900 _attribute_map = { 2901 'client_id': {'key': 'clientId', 'type': 'str'}, 2902 'secret': {'key': 'secret', 'type': 'str'}, 2903 } 2904 2905 def __init__( 2906 self, 2907 *, 2908 client_id: str, 2909 secret: Optional[str] = None, 2910 **kwargs 2911 ): 2912 super(ManagedClusterServicePrincipalProfile, self).__init__(**kwargs) 2913 self.client_id = client_id 2914 self.secret = secret 2915 2916 2917class ManagedClusterSKU(msrest.serialization.Model): 2918 """ManagedClusterSKU. 2919 2920 :param name: Name of a managed cluster SKU. Possible values include: "Basic". 2921 :type name: str or ~azure.mgmt.containerservice.v2020_12_01.models.ManagedClusterSKUName 2922 :param tier: Tier of a managed cluster SKU. Possible values include: "Paid", "Free". 2923 :type tier: str or ~azure.mgmt.containerservice.v2020_12_01.models.ManagedClusterSKUTier 2924 """ 2925 2926 _attribute_map = { 2927 'name': {'key': 'name', 'type': 'str'}, 2928 'tier': {'key': 'tier', 'type': 'str'}, 2929 } 2930 2931 def __init__( 2932 self, 2933 *, 2934 name: Optional[Union[str, "ManagedClusterSKUName"]] = None, 2935 tier: Optional[Union[str, "ManagedClusterSKUTier"]] = None, 2936 **kwargs 2937 ): 2938 super(ManagedClusterSKU, self).__init__(**kwargs) 2939 self.name = name 2940 self.tier = tier 2941 2942 2943class ManagedClusterUpgradeProfile(msrest.serialization.Model): 2944 """The list of available upgrades for compute pools. 2945 2946 Variables are only populated by the server, and will be ignored when sending a request. 2947 2948 All required parameters must be populated in order to send to Azure. 2949 2950 :ivar id: Id of upgrade profile. 2951 :vartype id: str 2952 :ivar name: Name of upgrade profile. 2953 :vartype name: str 2954 :ivar type: Type of upgrade profile. 2955 :vartype type: str 2956 :param control_plane_profile: Required. The list of available upgrade versions for the control 2957 plane. 2958 :type control_plane_profile: 2959 ~azure.mgmt.containerservice.v2020_12_01.models.ManagedClusterPoolUpgradeProfile 2960 :param agent_pool_profiles: Required. The list of available upgrade versions for agent pools. 2961 :type agent_pool_profiles: 2962 list[~azure.mgmt.containerservice.v2020_12_01.models.ManagedClusterPoolUpgradeProfile] 2963 """ 2964 2965 _validation = { 2966 'id': {'readonly': True}, 2967 'name': {'readonly': True}, 2968 'type': {'readonly': True}, 2969 'control_plane_profile': {'required': True}, 2970 'agent_pool_profiles': {'required': True}, 2971 } 2972 2973 _attribute_map = { 2974 'id': {'key': 'id', 'type': 'str'}, 2975 'name': {'key': 'name', 'type': 'str'}, 2976 'type': {'key': 'type', 'type': 'str'}, 2977 'control_plane_profile': {'key': 'properties.controlPlaneProfile', 'type': 'ManagedClusterPoolUpgradeProfile'}, 2978 'agent_pool_profiles': {'key': 'properties.agentPoolProfiles', 'type': '[ManagedClusterPoolUpgradeProfile]'}, 2979 } 2980 2981 def __init__( 2982 self, 2983 *, 2984 control_plane_profile: "ManagedClusterPoolUpgradeProfile", 2985 agent_pool_profiles: List["ManagedClusterPoolUpgradeProfile"], 2986 **kwargs 2987 ): 2988 super(ManagedClusterUpgradeProfile, self).__init__(**kwargs) 2989 self.id = None 2990 self.name = None 2991 self.type = None 2992 self.control_plane_profile = control_plane_profile 2993 self.agent_pool_profiles = agent_pool_profiles 2994 2995 2996class ManagedClusterWindowsProfile(msrest.serialization.Model): 2997 """Profile for Windows VMs in the container service cluster. 2998 2999 All required parameters must be populated in order to send to Azure. 3000 3001 :param admin_username: Required. Specifies the name of the administrator account. 3002 :code:`<br>`:code:`<br>` **restriction:** Cannot end in "." :code:`<br>`:code:`<br>` 3003 **Disallowed values:** "administrator", "admin", "user", "user1", "test", "user2", "test1", 3004 "user3", "admin1", "1", "123", "a", "actuser", "adm", "admin2", "aspnet", "backup", "console", 3005 "david", "guest", "john", "owner", "root", "server", "sql", "support", "support_388945a0", 3006 "sys", "test2", "test3", "user4", "user5". :code:`<br>`:code:`<br>` **Minimum-length:** 1 3007 character :code:`<br>`:code:`<br>` **Max-length:** 20 characters. 3008 :type admin_username: str 3009 :param admin_password: Specifies the password of the administrator account. 3010 :code:`<br>`:code:`<br>` **Minimum-length:** 8 characters :code:`<br>`:code:`<br>` 3011 **Max-length:** 123 characters :code:`<br>`:code:`<br>` **Complexity requirements:** 3 out of 4 3012 conditions below need to be fulfilled :code:`<br>` Has lower characters :code:`<br>`Has upper 3013 characters :code:`<br>` Has a digit :code:`<br>` Has a special character (Regex match [\W_]) 3014 :code:`<br>`:code:`<br>` **Disallowed values:** "abc@123", "P@$$w0rd", "P@ssw0rd", 3015 "P@ssword123", "Pa$$word", "pass@word1", "Password!", "Password1", "Password22", "iloveyou!". 3016 :type admin_password: str 3017 :param license_type: The licenseType to use for Windows VMs. Windows_Server is used to enable 3018 Azure Hybrid User Benefits for Windows VMs. Possible values include: "None", "Windows_Server". 3019 :type license_type: str or ~azure.mgmt.containerservice.v2020_12_01.models.LicenseType 3020 """ 3021 3022 _validation = { 3023 'admin_username': {'required': True}, 3024 } 3025 3026 _attribute_map = { 3027 'admin_username': {'key': 'adminUsername', 'type': 'str'}, 3028 'admin_password': {'key': 'adminPassword', 'type': 'str'}, 3029 'license_type': {'key': 'licenseType', 'type': 'str'}, 3030 } 3031 3032 def __init__( 3033 self, 3034 *, 3035 admin_username: str, 3036 admin_password: Optional[str] = None, 3037 license_type: Optional[Union[str, "LicenseType"]] = None, 3038 **kwargs 3039 ): 3040 super(ManagedClusterWindowsProfile, self).__init__(**kwargs) 3041 self.admin_username = admin_username 3042 self.admin_password = admin_password 3043 self.license_type = license_type 3044 3045 3046class OperationListResult(msrest.serialization.Model): 3047 """The List Compute Operation operation response. 3048 3049 Variables are only populated by the server, and will be ignored when sending a request. 3050 3051 :ivar value: The list of compute operations. 3052 :vartype value: list[~azure.mgmt.containerservice.v2020_12_01.models.OperationValue] 3053 """ 3054 3055 _validation = { 3056 'value': {'readonly': True}, 3057 } 3058 3059 _attribute_map = { 3060 'value': {'key': 'value', 'type': '[OperationValue]'}, 3061 } 3062 3063 def __init__( 3064 self, 3065 **kwargs 3066 ): 3067 super(OperationListResult, self).__init__(**kwargs) 3068 self.value = None 3069 3070 3071class OperationValue(msrest.serialization.Model): 3072 """Describes the properties of a Compute Operation value. 3073 3074 Variables are only populated by the server, and will be ignored when sending a request. 3075 3076 :ivar origin: The origin of the compute operation. 3077 :vartype origin: str 3078 :ivar name: The name of the compute operation. 3079 :vartype name: str 3080 :ivar operation: The display name of the compute operation. 3081 :vartype operation: str 3082 :ivar resource: The display name of the resource the operation applies to. 3083 :vartype resource: str 3084 :ivar description: The description of the operation. 3085 :vartype description: str 3086 :ivar provider: The resource provider for the operation. 3087 :vartype provider: str 3088 """ 3089 3090 _validation = { 3091 'origin': {'readonly': True}, 3092 'name': {'readonly': True}, 3093 'operation': {'readonly': True}, 3094 'resource': {'readonly': True}, 3095 'description': {'readonly': True}, 3096 'provider': {'readonly': True}, 3097 } 3098 3099 _attribute_map = { 3100 'origin': {'key': 'origin', 'type': 'str'}, 3101 'name': {'key': 'name', 'type': 'str'}, 3102 'operation': {'key': 'display.operation', 'type': 'str'}, 3103 'resource': {'key': 'display.resource', 'type': 'str'}, 3104 'description': {'key': 'display.description', 'type': 'str'}, 3105 'provider': {'key': 'display.provider', 'type': 'str'}, 3106 } 3107 3108 def __init__( 3109 self, 3110 **kwargs 3111 ): 3112 super(OperationValue, self).__init__(**kwargs) 3113 self.origin = None 3114 self.name = None 3115 self.operation = None 3116 self.resource = None 3117 self.description = None 3118 self.provider = None 3119 3120 3121class PowerState(msrest.serialization.Model): 3122 """Describes the Power State of the cluster. 3123 3124 :param code: Tells whether the cluster is Running or Stopped. Possible values include: 3125 "Running", "Stopped". 3126 :type code: str or ~azure.mgmt.containerservice.v2020_12_01.models.Code 3127 """ 3128 3129 _attribute_map = { 3130 'code': {'key': 'code', 'type': 'str'}, 3131 } 3132 3133 def __init__( 3134 self, 3135 *, 3136 code: Optional[Union[str, "Code"]] = None, 3137 **kwargs 3138 ): 3139 super(PowerState, self).__init__(**kwargs) 3140 self.code = code 3141 3142 3143class PrivateEndpoint(msrest.serialization.Model): 3144 """Private endpoint which a connection belongs to. 3145 3146 :param id: The resource Id for private endpoint. 3147 :type id: str 3148 """ 3149 3150 _attribute_map = { 3151 'id': {'key': 'id', 'type': 'str'}, 3152 } 3153 3154 def __init__( 3155 self, 3156 *, 3157 id: Optional[str] = None, 3158 **kwargs 3159 ): 3160 super(PrivateEndpoint, self).__init__(**kwargs) 3161 self.id = id 3162 3163 3164class PrivateEndpointConnection(msrest.serialization.Model): 3165 """A private endpoint connection. 3166 3167 Variables are only populated by the server, and will be ignored when sending a request. 3168 3169 :ivar id: The ID of the private endpoint connection. 3170 :vartype id: str 3171 :ivar name: The name of the private endpoint connection. 3172 :vartype name: str 3173 :ivar type: The resource type. 3174 :vartype type: str 3175 :ivar provisioning_state: The current provisioning state. Possible values include: "Succeeded", 3176 "Creating", "Deleting", "Failed". 3177 :vartype provisioning_state: str or 3178 ~azure.mgmt.containerservice.v2020_12_01.models.PrivateEndpointConnectionProvisioningState 3179 :param private_endpoint: The resource of private endpoint. 3180 :type private_endpoint: ~azure.mgmt.containerservice.v2020_12_01.models.PrivateEndpoint 3181 :param private_link_service_connection_state: A collection of information about the state of 3182 the connection between service consumer and provider. 3183 :type private_link_service_connection_state: 3184 ~azure.mgmt.containerservice.v2020_12_01.models.PrivateLinkServiceConnectionState 3185 """ 3186 3187 _validation = { 3188 'id': {'readonly': True}, 3189 'name': {'readonly': True}, 3190 'type': {'readonly': True}, 3191 'provisioning_state': {'readonly': True}, 3192 } 3193 3194 _attribute_map = { 3195 'id': {'key': 'id', 'type': 'str'}, 3196 'name': {'key': 'name', 'type': 'str'}, 3197 'type': {'key': 'type', 'type': 'str'}, 3198 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 3199 'private_endpoint': {'key': 'properties.privateEndpoint', 'type': 'PrivateEndpoint'}, 3200 'private_link_service_connection_state': {'key': 'properties.privateLinkServiceConnectionState', 'type': 'PrivateLinkServiceConnectionState'}, 3201 } 3202 3203 def __init__( 3204 self, 3205 *, 3206 private_endpoint: Optional["PrivateEndpoint"] = None, 3207 private_link_service_connection_state: Optional["PrivateLinkServiceConnectionState"] = None, 3208 **kwargs 3209 ): 3210 super(PrivateEndpointConnection, self).__init__(**kwargs) 3211 self.id = None 3212 self.name = None 3213 self.type = None 3214 self.provisioning_state = None 3215 self.private_endpoint = private_endpoint 3216 self.private_link_service_connection_state = private_link_service_connection_state 3217 3218 3219class PrivateEndpointConnectionListResult(msrest.serialization.Model): 3220 """A list of private endpoint connections. 3221 3222 :param value: The collection value. 3223 :type value: list[~azure.mgmt.containerservice.v2020_12_01.models.PrivateEndpointConnection] 3224 """ 3225 3226 _attribute_map = { 3227 'value': {'key': 'value', 'type': '[PrivateEndpointConnection]'}, 3228 } 3229 3230 def __init__( 3231 self, 3232 *, 3233 value: Optional[List["PrivateEndpointConnection"]] = None, 3234 **kwargs 3235 ): 3236 super(PrivateEndpointConnectionListResult, self).__init__(**kwargs) 3237 self.value = value 3238 3239 3240class PrivateLinkResource(msrest.serialization.Model): 3241 """A private link resource. 3242 3243 Variables are only populated by the server, and will be ignored when sending a request. 3244 3245 :param id: The ID of the private link resource. 3246 :type id: str 3247 :param name: The name of the private link resource. 3248 :type name: str 3249 :param type: The resource type. 3250 :type type: str 3251 :param group_id: The group ID of the resource. 3252 :type group_id: str 3253 :param required_members: RequiredMembers of the resource. 3254 :type required_members: list[str] 3255 :ivar private_link_service_id: The private link service ID of the resource, this field is 3256 exposed only to NRP internally. 3257 :vartype private_link_service_id: str 3258 """ 3259 3260 _validation = { 3261 'private_link_service_id': {'readonly': True}, 3262 } 3263 3264 _attribute_map = { 3265 'id': {'key': 'id', 'type': 'str'}, 3266 'name': {'key': 'name', 'type': 'str'}, 3267 'type': {'key': 'type', 'type': 'str'}, 3268 'group_id': {'key': 'groupId', 'type': 'str'}, 3269 'required_members': {'key': 'requiredMembers', 'type': '[str]'}, 3270 'private_link_service_id': {'key': 'privateLinkServiceID', 'type': 'str'}, 3271 } 3272 3273 def __init__( 3274 self, 3275 *, 3276 id: Optional[str] = None, 3277 name: Optional[str] = None, 3278 type: Optional[str] = None, 3279 group_id: Optional[str] = None, 3280 required_members: Optional[List[str]] = None, 3281 **kwargs 3282 ): 3283 super(PrivateLinkResource, self).__init__(**kwargs) 3284 self.id = id 3285 self.name = name 3286 self.type = type 3287 self.group_id = group_id 3288 self.required_members = required_members 3289 self.private_link_service_id = None 3290 3291 3292class PrivateLinkResourcesListResult(msrest.serialization.Model): 3293 """A list of private link resources. 3294 3295 :param value: The collection value. 3296 :type value: list[~azure.mgmt.containerservice.v2020_12_01.models.PrivateLinkResource] 3297 """ 3298 3299 _attribute_map = { 3300 'value': {'key': 'value', 'type': '[PrivateLinkResource]'}, 3301 } 3302 3303 def __init__( 3304 self, 3305 *, 3306 value: Optional[List["PrivateLinkResource"]] = None, 3307 **kwargs 3308 ): 3309 super(PrivateLinkResourcesListResult, self).__init__(**kwargs) 3310 self.value = value 3311 3312 3313class PrivateLinkServiceConnectionState(msrest.serialization.Model): 3314 """The state of a private link service connection. 3315 3316 :param status: The private link service connection status. Possible values include: "Pending", 3317 "Approved", "Rejected", "Disconnected". 3318 :type status: str or ~azure.mgmt.containerservice.v2020_12_01.models.ConnectionStatus 3319 :param description: The private link service connection description. 3320 :type description: str 3321 """ 3322 3323 _attribute_map = { 3324 'status': {'key': 'status', 'type': 'str'}, 3325 'description': {'key': 'description', 'type': 'str'}, 3326 } 3327 3328 def __init__( 3329 self, 3330 *, 3331 status: Optional[Union[str, "ConnectionStatus"]] = None, 3332 description: Optional[str] = None, 3333 **kwargs 3334 ): 3335 super(PrivateLinkServiceConnectionState, self).__init__(**kwargs) 3336 self.status = status 3337 self.description = description 3338 3339 3340class ResourceReference(msrest.serialization.Model): 3341 """A reference to an Azure resource. 3342 3343 :param id: The fully qualified Azure resource id. 3344 :type id: str 3345 """ 3346 3347 _attribute_map = { 3348 'id': {'key': 'id', 'type': 'str'}, 3349 } 3350 3351 def __init__( 3352 self, 3353 *, 3354 id: Optional[str] = None, 3355 **kwargs 3356 ): 3357 super(ResourceReference, self).__init__(**kwargs) 3358 self.id = id 3359 3360 3361class SysctlConfig(msrest.serialization.Model): 3362 """Sysctl settings for Linux agent nodes. 3363 3364 :param net_core_somaxconn: Sysctl setting net.core.somaxconn. 3365 :type net_core_somaxconn: int 3366 :param net_core_netdev_max_backlog: Sysctl setting net.core.netdev_max_backlog. 3367 :type net_core_netdev_max_backlog: int 3368 :param net_core_rmem_default: Sysctl setting net.core.rmem_default. 3369 :type net_core_rmem_default: int 3370 :param net_core_rmem_max: Sysctl setting net.core.rmem_max. 3371 :type net_core_rmem_max: int 3372 :param net_core_wmem_default: Sysctl setting net.core.wmem_default. 3373 :type net_core_wmem_default: int 3374 :param net_core_wmem_max: Sysctl setting net.core.wmem_max. 3375 :type net_core_wmem_max: int 3376 :param net_core_optmem_max: Sysctl setting net.core.optmem_max. 3377 :type net_core_optmem_max: int 3378 :param net_ipv4_tcp_max_syn_backlog: Sysctl setting net.ipv4.tcp_max_syn_backlog. 3379 :type net_ipv4_tcp_max_syn_backlog: int 3380 :param net_ipv4_tcp_max_tw_buckets: Sysctl setting net.ipv4.tcp_max_tw_buckets. 3381 :type net_ipv4_tcp_max_tw_buckets: int 3382 :param net_ipv4_tcp_fin_timeout: Sysctl setting net.ipv4.tcp_fin_timeout. 3383 :type net_ipv4_tcp_fin_timeout: int 3384 :param net_ipv4_tcp_keepalive_time: Sysctl setting net.ipv4.tcp_keepalive_time. 3385 :type net_ipv4_tcp_keepalive_time: int 3386 :param net_ipv4_tcp_keepalive_probes: Sysctl setting net.ipv4.tcp_keepalive_probes. 3387 :type net_ipv4_tcp_keepalive_probes: int 3388 :param net_ipv4_tcpkeepalive_intvl: Sysctl setting net.ipv4.tcp_keepalive_intvl. 3389 :type net_ipv4_tcpkeepalive_intvl: int 3390 :param net_ipv4_tcp_tw_reuse: Sysctl setting net.ipv4.tcp_tw_reuse. 3391 :type net_ipv4_tcp_tw_reuse: bool 3392 :param net_ipv4_ip_local_port_range: Sysctl setting net.ipv4.ip_local_port_range. 3393 :type net_ipv4_ip_local_port_range: str 3394 :param net_ipv4_neigh_default_gc_thresh1: Sysctl setting net.ipv4.neigh.default.gc_thresh1. 3395 :type net_ipv4_neigh_default_gc_thresh1: int 3396 :param net_ipv4_neigh_default_gc_thresh2: Sysctl setting net.ipv4.neigh.default.gc_thresh2. 3397 :type net_ipv4_neigh_default_gc_thresh2: int 3398 :param net_ipv4_neigh_default_gc_thresh3: Sysctl setting net.ipv4.neigh.default.gc_thresh3. 3399 :type net_ipv4_neigh_default_gc_thresh3: int 3400 :param net_netfilter_nf_conntrack_max: Sysctl setting net.netfilter.nf_conntrack_max. 3401 :type net_netfilter_nf_conntrack_max: int 3402 :param net_netfilter_nf_conntrack_buckets: Sysctl setting net.netfilter.nf_conntrack_buckets. 3403 :type net_netfilter_nf_conntrack_buckets: int 3404 :param fs_inotify_max_user_watches: Sysctl setting fs.inotify.max_user_watches. 3405 :type fs_inotify_max_user_watches: int 3406 :param fs_file_max: Sysctl setting fs.file-max. 3407 :type fs_file_max: int 3408 :param fs_aio_max_nr: Sysctl setting fs.aio-max-nr. 3409 :type fs_aio_max_nr: int 3410 :param fs_nr_open: Sysctl setting fs.nr_open. 3411 :type fs_nr_open: int 3412 :param kernel_threads_max: Sysctl setting kernel.threads-max. 3413 :type kernel_threads_max: int 3414 :param vm_max_map_count: Sysctl setting vm.max_map_count. 3415 :type vm_max_map_count: int 3416 :param vm_swappiness: Sysctl setting vm.swappiness. 3417 :type vm_swappiness: int 3418 :param vm_vfs_cache_pressure: Sysctl setting vm.vfs_cache_pressure. 3419 :type vm_vfs_cache_pressure: int 3420 """ 3421 3422 _attribute_map = { 3423 'net_core_somaxconn': {'key': 'netCoreSomaxconn', 'type': 'int'}, 3424 'net_core_netdev_max_backlog': {'key': 'netCoreNetdevMaxBacklog', 'type': 'int'}, 3425 'net_core_rmem_default': {'key': 'netCoreRmemDefault', 'type': 'int'}, 3426 'net_core_rmem_max': {'key': 'netCoreRmemMax', 'type': 'int'}, 3427 'net_core_wmem_default': {'key': 'netCoreWmemDefault', 'type': 'int'}, 3428 'net_core_wmem_max': {'key': 'netCoreWmemMax', 'type': 'int'}, 3429 'net_core_optmem_max': {'key': 'netCoreOptmemMax', 'type': 'int'}, 3430 'net_ipv4_tcp_max_syn_backlog': {'key': 'netIpv4TcpMaxSynBacklog', 'type': 'int'}, 3431 'net_ipv4_tcp_max_tw_buckets': {'key': 'netIpv4TcpMaxTwBuckets', 'type': 'int'}, 3432 'net_ipv4_tcp_fin_timeout': {'key': 'netIpv4TcpFinTimeout', 'type': 'int'}, 3433 'net_ipv4_tcp_keepalive_time': {'key': 'netIpv4TcpKeepaliveTime', 'type': 'int'}, 3434 'net_ipv4_tcp_keepalive_probes': {'key': 'netIpv4TcpKeepaliveProbes', 'type': 'int'}, 3435 'net_ipv4_tcpkeepalive_intvl': {'key': 'netIpv4TcpkeepaliveIntvl', 'type': 'int'}, 3436 'net_ipv4_tcp_tw_reuse': {'key': 'netIpv4TcpTwReuse', 'type': 'bool'}, 3437 'net_ipv4_ip_local_port_range': {'key': 'netIpv4IpLocalPortRange', 'type': 'str'}, 3438 'net_ipv4_neigh_default_gc_thresh1': {'key': 'netIpv4NeighDefaultGcThresh1', 'type': 'int'}, 3439 'net_ipv4_neigh_default_gc_thresh2': {'key': 'netIpv4NeighDefaultGcThresh2', 'type': 'int'}, 3440 'net_ipv4_neigh_default_gc_thresh3': {'key': 'netIpv4NeighDefaultGcThresh3', 'type': 'int'}, 3441 'net_netfilter_nf_conntrack_max': {'key': 'netNetfilterNfConntrackMax', 'type': 'int'}, 3442 'net_netfilter_nf_conntrack_buckets': {'key': 'netNetfilterNfConntrackBuckets', 'type': 'int'}, 3443 'fs_inotify_max_user_watches': {'key': 'fsInotifyMaxUserWatches', 'type': 'int'}, 3444 'fs_file_max': {'key': 'fsFileMax', 'type': 'int'}, 3445 'fs_aio_max_nr': {'key': 'fsAioMaxNr', 'type': 'int'}, 3446 'fs_nr_open': {'key': 'fsNrOpen', 'type': 'int'}, 3447 'kernel_threads_max': {'key': 'kernelThreadsMax', 'type': 'int'}, 3448 'vm_max_map_count': {'key': 'vmMaxMapCount', 'type': 'int'}, 3449 'vm_swappiness': {'key': 'vmSwappiness', 'type': 'int'}, 3450 'vm_vfs_cache_pressure': {'key': 'vmVfsCachePressure', 'type': 'int'}, 3451 } 3452 3453 def __init__( 3454 self, 3455 *, 3456 net_core_somaxconn: Optional[int] = None, 3457 net_core_netdev_max_backlog: Optional[int] = None, 3458 net_core_rmem_default: Optional[int] = None, 3459 net_core_rmem_max: Optional[int] = None, 3460 net_core_wmem_default: Optional[int] = None, 3461 net_core_wmem_max: Optional[int] = None, 3462 net_core_optmem_max: Optional[int] = None, 3463 net_ipv4_tcp_max_syn_backlog: Optional[int] = None, 3464 net_ipv4_tcp_max_tw_buckets: Optional[int] = None, 3465 net_ipv4_tcp_fin_timeout: Optional[int] = None, 3466 net_ipv4_tcp_keepalive_time: Optional[int] = None, 3467 net_ipv4_tcp_keepalive_probes: Optional[int] = None, 3468 net_ipv4_tcpkeepalive_intvl: Optional[int] = None, 3469 net_ipv4_tcp_tw_reuse: Optional[bool] = None, 3470 net_ipv4_ip_local_port_range: Optional[str] = None, 3471 net_ipv4_neigh_default_gc_thresh1: Optional[int] = None, 3472 net_ipv4_neigh_default_gc_thresh2: Optional[int] = None, 3473 net_ipv4_neigh_default_gc_thresh3: Optional[int] = None, 3474 net_netfilter_nf_conntrack_max: Optional[int] = None, 3475 net_netfilter_nf_conntrack_buckets: Optional[int] = None, 3476 fs_inotify_max_user_watches: Optional[int] = None, 3477 fs_file_max: Optional[int] = None, 3478 fs_aio_max_nr: Optional[int] = None, 3479 fs_nr_open: Optional[int] = None, 3480 kernel_threads_max: Optional[int] = None, 3481 vm_max_map_count: Optional[int] = None, 3482 vm_swappiness: Optional[int] = None, 3483 vm_vfs_cache_pressure: Optional[int] = None, 3484 **kwargs 3485 ): 3486 super(SysctlConfig, self).__init__(**kwargs) 3487 self.net_core_somaxconn = net_core_somaxconn 3488 self.net_core_netdev_max_backlog = net_core_netdev_max_backlog 3489 self.net_core_rmem_default = net_core_rmem_default 3490 self.net_core_rmem_max = net_core_rmem_max 3491 self.net_core_wmem_default = net_core_wmem_default 3492 self.net_core_wmem_max = net_core_wmem_max 3493 self.net_core_optmem_max = net_core_optmem_max 3494 self.net_ipv4_tcp_max_syn_backlog = net_ipv4_tcp_max_syn_backlog 3495 self.net_ipv4_tcp_max_tw_buckets = net_ipv4_tcp_max_tw_buckets 3496 self.net_ipv4_tcp_fin_timeout = net_ipv4_tcp_fin_timeout 3497 self.net_ipv4_tcp_keepalive_time = net_ipv4_tcp_keepalive_time 3498 self.net_ipv4_tcp_keepalive_probes = net_ipv4_tcp_keepalive_probes 3499 self.net_ipv4_tcpkeepalive_intvl = net_ipv4_tcpkeepalive_intvl 3500 self.net_ipv4_tcp_tw_reuse = net_ipv4_tcp_tw_reuse 3501 self.net_ipv4_ip_local_port_range = net_ipv4_ip_local_port_range 3502 self.net_ipv4_neigh_default_gc_thresh1 = net_ipv4_neigh_default_gc_thresh1 3503 self.net_ipv4_neigh_default_gc_thresh2 = net_ipv4_neigh_default_gc_thresh2 3504 self.net_ipv4_neigh_default_gc_thresh3 = net_ipv4_neigh_default_gc_thresh3 3505 self.net_netfilter_nf_conntrack_max = net_netfilter_nf_conntrack_max 3506 self.net_netfilter_nf_conntrack_buckets = net_netfilter_nf_conntrack_buckets 3507 self.fs_inotify_max_user_watches = fs_inotify_max_user_watches 3508 self.fs_file_max = fs_file_max 3509 self.fs_aio_max_nr = fs_aio_max_nr 3510 self.fs_nr_open = fs_nr_open 3511 self.kernel_threads_max = kernel_threads_max 3512 self.vm_max_map_count = vm_max_map_count 3513 self.vm_swappiness = vm_swappiness 3514 self.vm_vfs_cache_pressure = vm_vfs_cache_pressure 3515 3516 3517class SystemData(msrest.serialization.Model): 3518 """Metadata pertaining to creation and last modification of the resource. 3519 3520 :param created_by: The identity that created the resource. 3521 :type created_by: str 3522 :param created_by_type: The type of identity that created the resource. Possible values 3523 include: "User", "Application", "ManagedIdentity", "Key". 3524 :type created_by_type: str or ~azure.mgmt.containerservice.v2020_12_01.models.CreatedByType 3525 :param created_at: The timestamp of resource creation (UTC). 3526 :type created_at: ~datetime.datetime 3527 :param last_modified_by: The identity that last modified the resource. 3528 :type last_modified_by: str 3529 :param last_modified_by_type: The type of identity that last modified the resource. Possible 3530 values include: "User", "Application", "ManagedIdentity", "Key". 3531 :type last_modified_by_type: str or 3532 ~azure.mgmt.containerservice.v2020_12_01.models.CreatedByType 3533 :param last_modified_at: The type of identity that last modified the resource. 3534 :type last_modified_at: ~datetime.datetime 3535 """ 3536 3537 _attribute_map = { 3538 'created_by': {'key': 'createdBy', 'type': 'str'}, 3539 'created_by_type': {'key': 'createdByType', 'type': 'str'}, 3540 'created_at': {'key': 'createdAt', 'type': 'iso-8601'}, 3541 'last_modified_by': {'key': 'lastModifiedBy', 'type': 'str'}, 3542 'last_modified_by_type': {'key': 'lastModifiedByType', 'type': 'str'}, 3543 'last_modified_at': {'key': 'lastModifiedAt', 'type': 'iso-8601'}, 3544 } 3545 3546 def __init__( 3547 self, 3548 *, 3549 created_by: Optional[str] = None, 3550 created_by_type: Optional[Union[str, "CreatedByType"]] = None, 3551 created_at: Optional[datetime.datetime] = None, 3552 last_modified_by: Optional[str] = None, 3553 last_modified_by_type: Optional[Union[str, "CreatedByType"]] = None, 3554 last_modified_at: Optional[datetime.datetime] = None, 3555 **kwargs 3556 ): 3557 super(SystemData, self).__init__(**kwargs) 3558 self.created_by = created_by 3559 self.created_by_type = created_by_type 3560 self.created_at = created_at 3561 self.last_modified_by = last_modified_by 3562 self.last_modified_by_type = last_modified_by_type 3563 self.last_modified_at = last_modified_at 3564 3565 3566class TagsObject(msrest.serialization.Model): 3567 """Tags object for patch operations. 3568 3569 :param tags: A set of tags. Resource tags. 3570 :type tags: dict[str, str] 3571 """ 3572 3573 _attribute_map = { 3574 'tags': {'key': 'tags', 'type': '{str}'}, 3575 } 3576 3577 def __init__( 3578 self, 3579 *, 3580 tags: Optional[Dict[str, str]] = None, 3581 **kwargs 3582 ): 3583 super(TagsObject, self).__init__(**kwargs) 3584 self.tags = tags 3585 3586 3587class TimeInWeek(msrest.serialization.Model): 3588 """Time in a week. 3589 3590 :param day: A day in a week. Possible values include: "Sunday", "Monday", "Tuesday", 3591 "Wednesday", "Thursday", "Friday", "Saturday". 3592 :type day: str or ~azure.mgmt.containerservice.v2020_12_01.models.WeekDay 3593 :param hour_slots: hour slots in a day. 3594 :type hour_slots: list[int] 3595 """ 3596 3597 _attribute_map = { 3598 'day': {'key': 'day', 'type': 'str'}, 3599 'hour_slots': {'key': 'hourSlots', 'type': '[int]'}, 3600 } 3601 3602 def __init__( 3603 self, 3604 *, 3605 day: Optional[Union[str, "WeekDay"]] = None, 3606 hour_slots: Optional[List[int]] = None, 3607 **kwargs 3608 ): 3609 super(TimeInWeek, self).__init__(**kwargs) 3610 self.day = day 3611 self.hour_slots = hour_slots 3612 3613 3614class TimeSpan(msrest.serialization.Model): 3615 """The time span with start and end properties. 3616 3617 :param start: The start of a time span. 3618 :type start: ~datetime.datetime 3619 :param end: The end of a time span. 3620 :type end: ~datetime.datetime 3621 """ 3622 3623 _attribute_map = { 3624 'start': {'key': 'start', 'type': 'iso-8601'}, 3625 'end': {'key': 'end', 'type': 'iso-8601'}, 3626 } 3627 3628 def __init__( 3629 self, 3630 *, 3631 start: Optional[datetime.datetime] = None, 3632 end: Optional[datetime.datetime] = None, 3633 **kwargs 3634 ): 3635 super(TimeSpan, self).__init__(**kwargs) 3636 self.start = start 3637 self.end = end 3638