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 9from typing import Dict, List, Optional, Union 10 11import msrest.serialization 12 13from ._container_service_client_enums import * 14 15 16class SubResource(msrest.serialization.Model): 17 """Reference to another subresource. 18 19 Variables are only populated by the server, and will be ignored when sending a request. 20 21 :ivar id: Resource ID. 22 :vartype id: str 23 :ivar name: The name of the resource that is unique within a resource group. This name can be 24 used to access the resource. 25 :vartype name: str 26 :ivar type: Resource type. 27 :vartype type: str 28 """ 29 30 _validation = { 31 'id': {'readonly': True}, 32 'name': {'readonly': True}, 33 'type': {'readonly': True}, 34 } 35 36 _attribute_map = { 37 'id': {'key': 'id', 'type': 'str'}, 38 'name': {'key': 'name', 'type': 'str'}, 39 'type': {'key': 'type', 'type': 'str'}, 40 } 41 42 def __init__( 43 self, 44 **kwargs 45 ): 46 super(SubResource, self).__init__(**kwargs) 47 self.id = None 48 self.name = None 49 self.type = None 50 51 52class AgentPool(SubResource): 53 """Agent Pool. 54 55 Variables are only populated by the server, and will be ignored when sending a request. 56 57 :ivar id: Resource ID. 58 :vartype id: str 59 :ivar name: The name of the resource that is unique within a resource group. This name can be 60 used to access the resource. 61 :vartype name: str 62 :ivar type: Resource type. 63 :vartype type: str 64 :param count: Number of agents (VMs) to host docker containers. Allowed values must be in the 65 range of 0 to 100 (inclusive) for user pools and in the range of 1 to 100 (inclusive) for 66 system pools. The default value is 1. 67 :type count: int 68 :param vm_size: Size of agent VMs. Possible values include: "Standard_A1", "Standard_A10", 69 "Standard_A11", "Standard_A1_v2", "Standard_A2", "Standard_A2_v2", "Standard_A2m_v2", 70 "Standard_A3", "Standard_A4", "Standard_A4_v2", "Standard_A4m_v2", "Standard_A5", 71 "Standard_A6", "Standard_A7", "Standard_A8", "Standard_A8_v2", "Standard_A8m_v2", 72 "Standard_A9", "Standard_B2ms", "Standard_B2s", "Standard_B4ms", "Standard_B8ms", 73 "Standard_D1", "Standard_D11", "Standard_D11_v2", "Standard_D11_v2_Promo", "Standard_D12", 74 "Standard_D12_v2", "Standard_D12_v2_Promo", "Standard_D13", "Standard_D13_v2", 75 "Standard_D13_v2_Promo", "Standard_D14", "Standard_D14_v2", "Standard_D14_v2_Promo", 76 "Standard_D15_v2", "Standard_D16_v3", "Standard_D16s_v3", "Standard_D1_v2", "Standard_D2", 77 "Standard_D2_v2", "Standard_D2_v2_Promo", "Standard_D2_v3", "Standard_D2s_v3", "Standard_D3", 78 "Standard_D32_v3", "Standard_D32s_v3", "Standard_D3_v2", "Standard_D3_v2_Promo", "Standard_D4", 79 "Standard_D4_v2", "Standard_D4_v2_Promo", "Standard_D4_v3", "Standard_D4s_v3", 80 "Standard_D5_v2", "Standard_D5_v2_Promo", "Standard_D64_v3", "Standard_D64s_v3", 81 "Standard_D8_v3", "Standard_D8s_v3", "Standard_DS1", "Standard_DS11", "Standard_DS11_v2", 82 "Standard_DS11_v2_Promo", "Standard_DS12", "Standard_DS12_v2", "Standard_DS12_v2_Promo", 83 "Standard_DS13", "Standard_DS13-2_v2", "Standard_DS13-4_v2", "Standard_DS13_v2", 84 "Standard_DS13_v2_Promo", "Standard_DS14", "Standard_DS14-4_v2", "Standard_DS14-8_v2", 85 "Standard_DS14_v2", "Standard_DS14_v2_Promo", "Standard_DS15_v2", "Standard_DS1_v2", 86 "Standard_DS2", "Standard_DS2_v2", "Standard_DS2_v2_Promo", "Standard_DS3", "Standard_DS3_v2", 87 "Standard_DS3_v2_Promo", "Standard_DS4", "Standard_DS4_v2", "Standard_DS4_v2_Promo", 88 "Standard_DS5_v2", "Standard_DS5_v2_Promo", "Standard_E16_v3", "Standard_E16s_v3", 89 "Standard_E2_v3", "Standard_E2s_v3", "Standard_E32-16s_v3", "Standard_E32-8s_v3", 90 "Standard_E32_v3", "Standard_E32s_v3", "Standard_E4_v3", "Standard_E4s_v3", 91 "Standard_E64-16s_v3", "Standard_E64-32s_v3", "Standard_E64_v3", "Standard_E64s_v3", 92 "Standard_E8_v3", "Standard_E8s_v3", "Standard_F1", "Standard_F16", "Standard_F16s", 93 "Standard_F16s_v2", "Standard_F1s", "Standard_F2", "Standard_F2s", "Standard_F2s_v2", 94 "Standard_F32s_v2", "Standard_F4", "Standard_F4s", "Standard_F4s_v2", "Standard_F64s_v2", 95 "Standard_F72s_v2", "Standard_F8", "Standard_F8s", "Standard_F8s_v2", "Standard_G1", 96 "Standard_G2", "Standard_G3", "Standard_G4", "Standard_G5", "Standard_GS1", "Standard_GS2", 97 "Standard_GS3", "Standard_GS4", "Standard_GS4-4", "Standard_GS4-8", "Standard_GS5", 98 "Standard_GS5-16", "Standard_GS5-8", "Standard_H16", "Standard_H16m", "Standard_H16mr", 99 "Standard_H16r", "Standard_H8", "Standard_H8m", "Standard_L16s", "Standard_L32s", 100 "Standard_L4s", "Standard_L8s", "Standard_M128-32ms", "Standard_M128-64ms", "Standard_M128ms", 101 "Standard_M128s", "Standard_M64-16ms", "Standard_M64-32ms", "Standard_M64ms", "Standard_M64s", 102 "Standard_NC12", "Standard_NC12s_v2", "Standard_NC12s_v3", "Standard_NC24", "Standard_NC24r", 103 "Standard_NC24rs_v2", "Standard_NC24rs_v3", "Standard_NC24s_v2", "Standard_NC24s_v3", 104 "Standard_NC6", "Standard_NC6s_v2", "Standard_NC6s_v3", "Standard_ND12s", "Standard_ND24rs", 105 "Standard_ND24s", "Standard_ND6s", "Standard_NV12", "Standard_NV24", "Standard_NV6". 106 :type vm_size: str or 107 ~azure.mgmt.containerservice.v2020_07_01.models.ContainerServiceVMSizeTypes 108 :param os_disk_size_gb: OS Disk Size in GB to be used to specify the disk size for every 109 machine in this master/agent pool. If you specify 0, it will apply the default osDisk size 110 according to the vmSize specified. 111 :type os_disk_size_gb: int 112 :param vnet_subnet_id: VNet SubnetID specifies the VNet's subnet identifier. 113 :type vnet_subnet_id: str 114 :param max_pods: Maximum number of pods that can run on a node. 115 :type max_pods: int 116 :param os_type: OsType to be used to specify os type. Choose from Linux and Windows. Default to 117 Linux. Possible values include: "Linux", "Windows". Default value: "Linux". 118 :type os_type: str or ~azure.mgmt.containerservice.v2020_07_01.models.OSType 119 :param max_count: Maximum number of nodes for auto-scaling. 120 :type max_count: int 121 :param min_count: Minimum number of nodes for auto-scaling. 122 :type min_count: int 123 :param enable_auto_scaling: Whether to enable auto-scaler. 124 :type enable_auto_scaling: bool 125 :param type_properties_type: AgentPoolType represents types of an agent pool. Possible values 126 include: "VirtualMachineScaleSets", "AvailabilitySet". 127 :type type_properties_type: str or 128 ~azure.mgmt.containerservice.v2020_07_01.models.AgentPoolType 129 :param mode: AgentPoolMode represents mode of an agent pool. Possible values include: "System", 130 "User". 131 :type mode: str or ~azure.mgmt.containerservice.v2020_07_01.models.AgentPoolMode 132 :param orchestrator_version: Version of orchestrator specified when creating the managed 133 cluster. 134 :type orchestrator_version: str 135 :ivar node_image_version: Version of node image. 136 :vartype node_image_version: str 137 :param upgrade_settings: Settings for upgrading the agentpool. 138 :type upgrade_settings: 139 ~azure.mgmt.containerservice.v2020_07_01.models.AgentPoolUpgradeSettings 140 :ivar provisioning_state: The current deployment or provisioning state, which only appears in 141 the response. 142 :vartype provisioning_state: str 143 :param availability_zones: Availability zones for nodes. Must use VirtualMachineScaleSets 144 AgentPoolType. 145 :type availability_zones: list[str] 146 :param enable_node_public_ip: Enable public IP for nodes. 147 :type enable_node_public_ip: bool 148 :param scale_set_priority: ScaleSetPriority to be used to specify virtual machine scale set 149 priority. Default to regular. Possible values include: "Spot", "Regular". Default value: 150 "Regular". 151 :type scale_set_priority: str or 152 ~azure.mgmt.containerservice.v2020_07_01.models.ScaleSetPriority 153 :param scale_set_eviction_policy: ScaleSetEvictionPolicy to be used to specify eviction policy 154 for Spot virtual machine scale set. Default to Delete. Possible values include: "Delete", 155 "Deallocate". Default value: "Delete". 156 :type scale_set_eviction_policy: str or 157 ~azure.mgmt.containerservice.v2020_07_01.models.ScaleSetEvictionPolicy 158 :param spot_max_price: SpotMaxPrice to be used to specify the maximum price you are willing to 159 pay in US Dollars. Possible values are any decimal value greater than zero or -1 which 160 indicates default price to be up-to on-demand. 161 :type spot_max_price: float 162 :param tags: A set of tags. Agent pool tags to be persisted on the agent pool virtual machine 163 scale set. 164 :type tags: dict[str, str] 165 :param node_labels: Agent pool node labels to be persisted across all nodes in agent pool. 166 :type node_labels: dict[str, str] 167 :param node_taints: Taints added to new nodes during node pool create and scale. For example, 168 key=value:NoSchedule. 169 :type node_taints: list[str] 170 :param proximity_placement_group_id: The ID for Proximity Placement Group. 171 :type proximity_placement_group_id: str 172 """ 173 174 _validation = { 175 'id': {'readonly': True}, 176 'name': {'readonly': True}, 177 'type': {'readonly': True}, 178 'os_disk_size_gb': {'maximum': 1023, 'minimum': 0}, 179 'node_image_version': {'readonly': True}, 180 'provisioning_state': {'readonly': True}, 181 } 182 183 _attribute_map = { 184 'id': {'key': 'id', 'type': 'str'}, 185 'name': {'key': 'name', 'type': 'str'}, 186 'type': {'key': 'type', 'type': 'str'}, 187 'count': {'key': 'properties.count', 'type': 'int'}, 188 'vm_size': {'key': 'properties.vmSize', 'type': 'str'}, 189 'os_disk_size_gb': {'key': 'properties.osDiskSizeGB', 'type': 'int'}, 190 'vnet_subnet_id': {'key': 'properties.vnetSubnetID', 'type': 'str'}, 191 'max_pods': {'key': 'properties.maxPods', 'type': 'int'}, 192 'os_type': {'key': 'properties.osType', 'type': 'str'}, 193 'max_count': {'key': 'properties.maxCount', 'type': 'int'}, 194 'min_count': {'key': 'properties.minCount', 'type': 'int'}, 195 'enable_auto_scaling': {'key': 'properties.enableAutoScaling', 'type': 'bool'}, 196 'type_properties_type': {'key': 'properties.type', 'type': 'str'}, 197 'mode': {'key': 'properties.mode', 'type': 'str'}, 198 'orchestrator_version': {'key': 'properties.orchestratorVersion', 'type': 'str'}, 199 'node_image_version': {'key': 'properties.nodeImageVersion', 'type': 'str'}, 200 'upgrade_settings': {'key': 'properties.upgradeSettings', 'type': 'AgentPoolUpgradeSettings'}, 201 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 202 'availability_zones': {'key': 'properties.availabilityZones', 'type': '[str]'}, 203 'enable_node_public_ip': {'key': 'properties.enableNodePublicIP', 'type': 'bool'}, 204 'scale_set_priority': {'key': 'properties.scaleSetPriority', 'type': 'str'}, 205 'scale_set_eviction_policy': {'key': 'properties.scaleSetEvictionPolicy', 'type': 'str'}, 206 'spot_max_price': {'key': 'properties.spotMaxPrice', 'type': 'float'}, 207 'tags': {'key': 'properties.tags', 'type': '{str}'}, 208 'node_labels': {'key': 'properties.nodeLabels', 'type': '{str}'}, 209 'node_taints': {'key': 'properties.nodeTaints', 'type': '[str]'}, 210 'proximity_placement_group_id': {'key': 'properties.proximityPlacementGroupID', 'type': 'str'}, 211 } 212 213 def __init__( 214 self, 215 *, 216 count: Optional[int] = None, 217 vm_size: Optional[Union[str, "ContainerServiceVMSizeTypes"]] = None, 218 os_disk_size_gb: Optional[int] = None, 219 vnet_subnet_id: Optional[str] = None, 220 max_pods: Optional[int] = None, 221 os_type: Optional[Union[str, "OSType"]] = "Linux", 222 max_count: Optional[int] = None, 223 min_count: Optional[int] = None, 224 enable_auto_scaling: Optional[bool] = None, 225 type_properties_type: Optional[Union[str, "AgentPoolType"]] = None, 226 mode: Optional[Union[str, "AgentPoolMode"]] = None, 227 orchestrator_version: Optional[str] = None, 228 upgrade_settings: Optional["AgentPoolUpgradeSettings"] = None, 229 availability_zones: Optional[List[str]] = None, 230 enable_node_public_ip: Optional[bool] = None, 231 scale_set_priority: Optional[Union[str, "ScaleSetPriority"]] = "Regular", 232 scale_set_eviction_policy: Optional[Union[str, "ScaleSetEvictionPolicy"]] = "Delete", 233 spot_max_price: Optional[float] = -1, 234 tags: Optional[Dict[str, str]] = None, 235 node_labels: Optional[Dict[str, str]] = None, 236 node_taints: Optional[List[str]] = None, 237 proximity_placement_group_id: Optional[str] = None, 238 **kwargs 239 ): 240 super(AgentPool, self).__init__(**kwargs) 241 self.count = count 242 self.vm_size = vm_size 243 self.os_disk_size_gb = os_disk_size_gb 244 self.vnet_subnet_id = vnet_subnet_id 245 self.max_pods = max_pods 246 self.os_type = os_type 247 self.max_count = max_count 248 self.min_count = min_count 249 self.enable_auto_scaling = enable_auto_scaling 250 self.type_properties_type = type_properties_type 251 self.mode = mode 252 self.orchestrator_version = orchestrator_version 253 self.node_image_version = None 254 self.upgrade_settings = upgrade_settings 255 self.provisioning_state = None 256 self.availability_zones = availability_zones 257 self.enable_node_public_ip = enable_node_public_ip 258 self.scale_set_priority = scale_set_priority 259 self.scale_set_eviction_policy = scale_set_eviction_policy 260 self.spot_max_price = spot_max_price 261 self.tags = tags 262 self.node_labels = node_labels 263 self.node_taints = node_taints 264 self.proximity_placement_group_id = proximity_placement_group_id 265 266 267class AgentPoolAvailableVersions(msrest.serialization.Model): 268 """The list of available versions for an agent pool. 269 270 Variables are only populated by the server, and will be ignored when sending a request. 271 272 :ivar id: Id of the agent pool available versions. 273 :vartype id: str 274 :ivar name: Name of the agent pool available versions. 275 :vartype name: str 276 :ivar type: Type of the agent pool available versions. 277 :vartype type: str 278 :param agent_pool_versions: List of versions available for agent pool. 279 :type agent_pool_versions: 280 list[~azure.mgmt.containerservice.v2020_07_01.models.AgentPoolAvailableVersionsPropertiesAgentPoolVersionsItem] 281 """ 282 283 _validation = { 284 'id': {'readonly': True}, 285 'name': {'readonly': True}, 286 'type': {'readonly': True}, 287 } 288 289 _attribute_map = { 290 'id': {'key': 'id', 'type': 'str'}, 291 'name': {'key': 'name', 'type': 'str'}, 292 'type': {'key': 'type', 'type': 'str'}, 293 'agent_pool_versions': {'key': 'properties.agentPoolVersions', 'type': '[AgentPoolAvailableVersionsPropertiesAgentPoolVersionsItem]'}, 294 } 295 296 def __init__( 297 self, 298 *, 299 agent_pool_versions: Optional[List["AgentPoolAvailableVersionsPropertiesAgentPoolVersionsItem"]] = None, 300 **kwargs 301 ): 302 super(AgentPoolAvailableVersions, self).__init__(**kwargs) 303 self.id = None 304 self.name = None 305 self.type = None 306 self.agent_pool_versions = agent_pool_versions 307 308 309class AgentPoolAvailableVersionsPropertiesAgentPoolVersionsItem(msrest.serialization.Model): 310 """AgentPoolAvailableVersionsPropertiesAgentPoolVersionsItem. 311 312 :param default: Whether this version is the default agent pool version. 313 :type default: bool 314 :param kubernetes_version: Kubernetes version (major, minor, patch). 315 :type kubernetes_version: str 316 :param is_preview: Whether Kubernetes version is currently in preview. 317 :type is_preview: bool 318 """ 319 320 _attribute_map = { 321 'default': {'key': 'default', 'type': 'bool'}, 322 'kubernetes_version': {'key': 'kubernetesVersion', 'type': 'str'}, 323 'is_preview': {'key': 'isPreview', 'type': 'bool'}, 324 } 325 326 def __init__( 327 self, 328 *, 329 default: Optional[bool] = None, 330 kubernetes_version: Optional[str] = None, 331 is_preview: Optional[bool] = None, 332 **kwargs 333 ): 334 super(AgentPoolAvailableVersionsPropertiesAgentPoolVersionsItem, self).__init__(**kwargs) 335 self.default = default 336 self.kubernetes_version = kubernetes_version 337 self.is_preview = is_preview 338 339 340class AgentPoolListResult(msrest.serialization.Model): 341 """The response from the List Agent Pools operation. 342 343 Variables are only populated by the server, and will be ignored when sending a request. 344 345 :param value: The list of agent pools. 346 :type value: list[~azure.mgmt.containerservice.v2020_07_01.models.AgentPool] 347 :ivar next_link: The URL to get the next set of agent pool results. 348 :vartype next_link: str 349 """ 350 351 _validation = { 352 'next_link': {'readonly': True}, 353 } 354 355 _attribute_map = { 356 'value': {'key': 'value', 'type': '[AgentPool]'}, 357 'next_link': {'key': 'nextLink', 'type': 'str'}, 358 } 359 360 def __init__( 361 self, 362 *, 363 value: Optional[List["AgentPool"]] = None, 364 **kwargs 365 ): 366 super(AgentPoolListResult, self).__init__(**kwargs) 367 self.value = value 368 self.next_link = None 369 370 371class AgentPoolUpgradeProfile(msrest.serialization.Model): 372 """The list of available upgrades for an agent pool. 373 374 Variables are only populated by the server, and will be ignored when sending a request. 375 376 All required parameters must be populated in order to send to Azure. 377 378 :ivar id: Id of the agent pool upgrade profile. 379 :vartype id: str 380 :ivar name: Name of the agent pool upgrade profile. 381 :vartype name: str 382 :ivar type: Type of the agent pool upgrade profile. 383 :vartype type: str 384 :param kubernetes_version: Required. Kubernetes version (major, minor, patch). 385 :type kubernetes_version: str 386 :param os_type: Required. OsType to be used to specify os type. Choose from Linux and Windows. 387 Default to Linux. Possible values include: "Linux", "Windows". Default value: "Linux". 388 :type os_type: str or ~azure.mgmt.containerservice.v2020_07_01.models.OSType 389 :param upgrades: List of orchestrator types and versions available for upgrade. 390 :type upgrades: 391 list[~azure.mgmt.containerservice.v2020_07_01.models.AgentPoolUpgradeProfilePropertiesUpgradesItem] 392 :param latest_node_image_version: LatestNodeImageVersion is the latest AKS supported node image 393 version. 394 :type latest_node_image_version: str 395 """ 396 397 _validation = { 398 'id': {'readonly': True}, 399 'name': {'readonly': True}, 400 'type': {'readonly': True}, 401 'kubernetes_version': {'required': True}, 402 'os_type': {'required': True}, 403 } 404 405 _attribute_map = { 406 'id': {'key': 'id', 'type': 'str'}, 407 'name': {'key': 'name', 'type': 'str'}, 408 'type': {'key': 'type', 'type': 'str'}, 409 'kubernetes_version': {'key': 'properties.kubernetesVersion', 'type': 'str'}, 410 'os_type': {'key': 'properties.osType', 'type': 'str'}, 411 'upgrades': {'key': 'properties.upgrades', 'type': '[AgentPoolUpgradeProfilePropertiesUpgradesItem]'}, 412 'latest_node_image_version': {'key': 'properties.latestNodeImageVersion', 'type': 'str'}, 413 } 414 415 def __init__( 416 self, 417 *, 418 kubernetes_version: str, 419 os_type: Union[str, "OSType"] = "Linux", 420 upgrades: Optional[List["AgentPoolUpgradeProfilePropertiesUpgradesItem"]] = None, 421 latest_node_image_version: Optional[str] = None, 422 **kwargs 423 ): 424 super(AgentPoolUpgradeProfile, self).__init__(**kwargs) 425 self.id = None 426 self.name = None 427 self.type = None 428 self.kubernetes_version = kubernetes_version 429 self.os_type = os_type 430 self.upgrades = upgrades 431 self.latest_node_image_version = latest_node_image_version 432 433 434class AgentPoolUpgradeProfilePropertiesUpgradesItem(msrest.serialization.Model): 435 """AgentPoolUpgradeProfilePropertiesUpgradesItem. 436 437 :param kubernetes_version: Kubernetes version (major, minor, patch). 438 :type kubernetes_version: str 439 :param is_preview: Whether Kubernetes version is currently in preview. 440 :type is_preview: bool 441 """ 442 443 _attribute_map = { 444 'kubernetes_version': {'key': 'kubernetesVersion', 'type': 'str'}, 445 'is_preview': {'key': 'isPreview', 'type': 'bool'}, 446 } 447 448 def __init__( 449 self, 450 *, 451 kubernetes_version: Optional[str] = None, 452 is_preview: Optional[bool] = None, 453 **kwargs 454 ): 455 super(AgentPoolUpgradeProfilePropertiesUpgradesItem, self).__init__(**kwargs) 456 self.kubernetes_version = kubernetes_version 457 self.is_preview = is_preview 458 459 460class AgentPoolUpgradeSettings(msrest.serialization.Model): 461 """Settings for upgrading an agentpool. 462 463 :param max_surge: Count or percentage of additional nodes to be added during upgrade. If empty 464 uses AKS default. 465 :type max_surge: str 466 """ 467 468 _attribute_map = { 469 'max_surge': {'key': 'maxSurge', 'type': 'str'}, 470 } 471 472 def __init__( 473 self, 474 *, 475 max_surge: Optional[str] = None, 476 **kwargs 477 ): 478 super(AgentPoolUpgradeSettings, self).__init__(**kwargs) 479 self.max_surge = max_surge 480 481 482class BaseManagedCluster(msrest.serialization.Model): 483 """BaseManagedCluster. 484 485 Variables are only populated by the server, and will be ignored when sending a request. 486 487 :param identity: The identity of the managed cluster, if configured. 488 :type identity: ~azure.mgmt.containerservice.v2020_07_01.models.ManagedClusterIdentity 489 :ivar provisioning_state: The current deployment or provisioning state, which only appears in 490 the response. 491 :vartype provisioning_state: str 492 :ivar max_agent_pools: The max number of agent pools for the managed cluster. 493 :vartype max_agent_pools: int 494 :param kubernetes_version: Version of Kubernetes specified when creating the managed cluster. 495 :type kubernetes_version: str 496 :param dns_prefix: DNS prefix specified when creating the managed cluster. 497 :type dns_prefix: str 498 :ivar fqdn: FQDN for the master pool. 499 :vartype fqdn: str 500 :ivar private_fqdn: FQDN of private cluster. 501 :vartype private_fqdn: str 502 :param agent_pool_profiles: Properties of the agent pool. 503 :type agent_pool_profiles: 504 list[~azure.mgmt.containerservice.v2020_07_01.models.ManagedClusterAgentPoolProfile] 505 :param linux_profile: Profile for Linux VMs in the container service cluster. 506 :type linux_profile: 507 ~azure.mgmt.containerservice.v2020_07_01.models.ContainerServiceLinuxProfile 508 :param windows_profile: Profile for Windows VMs in the container service cluster. 509 :type windows_profile: 510 ~azure.mgmt.containerservice.v2020_07_01.models.ManagedClusterWindowsProfile 511 :param service_principal_profile: Information about a service principal identity for the 512 cluster to use for manipulating Azure APIs. 513 :type service_principal_profile: 514 ~azure.mgmt.containerservice.v2020_07_01.models.ManagedClusterServicePrincipalProfile 515 :param addon_profiles: Profile of managed cluster add-on. 516 :type addon_profiles: dict[str, 517 ~azure.mgmt.containerservice.v2020_07_01.models.ManagedClusterAddonProfile] 518 :param node_resource_group: Name of the resource group containing agent pool nodes. 519 :type node_resource_group: str 520 :param enable_rbac: Whether to enable Kubernetes Role-Based Access Control. 521 :type enable_rbac: bool 522 :param enable_pod_security_policy: (DEPRECATING) Whether to enable Kubernetes pod security 523 policy (preview). This feature is set for removal on October 15th, 2020. Learn more at 524 aka.ms/aks/azpodpolicy. 525 :type enable_pod_security_policy: bool 526 :param network_profile: Profile of network configuration. 527 :type network_profile: 528 ~azure.mgmt.containerservice.v2020_07_01.models.ContainerServiceNetworkProfile 529 :param aad_profile: Profile of Azure Active Directory configuration. 530 :type aad_profile: ~azure.mgmt.containerservice.v2020_07_01.models.ManagedClusterAADProfile 531 :param auto_scaler_profile: Parameters to be applied to the cluster-autoscaler when enabled. 532 :type auto_scaler_profile: 533 ~azure.mgmt.containerservice.v2020_07_01.models.ManagedClusterPropertiesAutoScalerProfile 534 :param api_server_access_profile: Access profile for managed cluster API server. 535 :type api_server_access_profile: 536 ~azure.mgmt.containerservice.v2020_07_01.models.ManagedClusterAPIServerAccessProfile 537 :param disk_encryption_set_id: ResourceId of the disk encryption set to use for enabling 538 encryption at rest. 539 :type disk_encryption_set_id: str 540 :param identity_profile: Identities associated with the cluster. 541 :type identity_profile: dict[str, 542 ~azure.mgmt.containerservice.v2020_07_01.models.ManagedClusterPropertiesIdentityProfileValue] 543 """ 544 545 _validation = { 546 'provisioning_state': {'readonly': True}, 547 'max_agent_pools': {'readonly': True}, 548 'fqdn': {'readonly': True}, 549 'private_fqdn': {'readonly': True}, 550 } 551 552 _attribute_map = { 553 'identity': {'key': 'identity', 'type': 'ManagedClusterIdentity'}, 554 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 555 'max_agent_pools': {'key': 'properties.maxAgentPools', 'type': 'int'}, 556 'kubernetes_version': {'key': 'properties.kubernetesVersion', 'type': 'str'}, 557 'dns_prefix': {'key': 'properties.dnsPrefix', 'type': 'str'}, 558 'fqdn': {'key': 'properties.fqdn', 'type': 'str'}, 559 'private_fqdn': {'key': 'properties.privateFQDN', 'type': 'str'}, 560 'agent_pool_profiles': {'key': 'properties.agentPoolProfiles', 'type': '[ManagedClusterAgentPoolProfile]'}, 561 'linux_profile': {'key': 'properties.linuxProfile', 'type': 'ContainerServiceLinuxProfile'}, 562 'windows_profile': {'key': 'properties.windowsProfile', 'type': 'ManagedClusterWindowsProfile'}, 563 'service_principal_profile': {'key': 'properties.servicePrincipalProfile', 'type': 'ManagedClusterServicePrincipalProfile'}, 564 'addon_profiles': {'key': 'properties.addonProfiles', 'type': '{ManagedClusterAddonProfile}'}, 565 'node_resource_group': {'key': 'properties.nodeResourceGroup', 'type': 'str'}, 566 'enable_rbac': {'key': 'properties.enableRBAC', 'type': 'bool'}, 567 'enable_pod_security_policy': {'key': 'properties.enablePodSecurityPolicy', 'type': 'bool'}, 568 'network_profile': {'key': 'properties.networkProfile', 'type': 'ContainerServiceNetworkProfile'}, 569 'aad_profile': {'key': 'properties.aadProfile', 'type': 'ManagedClusterAADProfile'}, 570 'auto_scaler_profile': {'key': 'properties.autoScalerProfile', 'type': 'ManagedClusterPropertiesAutoScalerProfile'}, 571 'api_server_access_profile': {'key': 'properties.apiServerAccessProfile', 'type': 'ManagedClusterAPIServerAccessProfile'}, 572 'disk_encryption_set_id': {'key': 'properties.diskEncryptionSetID', 'type': 'str'}, 573 'identity_profile': {'key': 'properties.identityProfile', 'type': '{ManagedClusterPropertiesIdentityProfileValue}'}, 574 } 575 576 def __init__( 577 self, 578 *, 579 identity: Optional["ManagedClusterIdentity"] = None, 580 kubernetes_version: Optional[str] = None, 581 dns_prefix: Optional[str] = None, 582 agent_pool_profiles: Optional[List["ManagedClusterAgentPoolProfile"]] = None, 583 linux_profile: Optional["ContainerServiceLinuxProfile"] = None, 584 windows_profile: Optional["ManagedClusterWindowsProfile"] = None, 585 service_principal_profile: Optional["ManagedClusterServicePrincipalProfile"] = None, 586 addon_profiles: Optional[Dict[str, "ManagedClusterAddonProfile"]] = None, 587 node_resource_group: Optional[str] = None, 588 enable_rbac: Optional[bool] = None, 589 enable_pod_security_policy: Optional[bool] = None, 590 network_profile: Optional["ContainerServiceNetworkProfile"] = None, 591 aad_profile: Optional["ManagedClusterAADProfile"] = None, 592 auto_scaler_profile: Optional["ManagedClusterPropertiesAutoScalerProfile"] = None, 593 api_server_access_profile: Optional["ManagedClusterAPIServerAccessProfile"] = None, 594 disk_encryption_set_id: Optional[str] = None, 595 identity_profile: Optional[Dict[str, "ManagedClusterPropertiesIdentityProfileValue"]] = None, 596 **kwargs 597 ): 598 super(BaseManagedCluster, self).__init__(**kwargs) 599 self.identity = identity 600 self.provisioning_state = None 601 self.max_agent_pools = None 602 self.kubernetes_version = kubernetes_version 603 self.dns_prefix = dns_prefix 604 self.fqdn = None 605 self.private_fqdn = None 606 self.agent_pool_profiles = agent_pool_profiles 607 self.linux_profile = linux_profile 608 self.windows_profile = windows_profile 609 self.service_principal_profile = service_principal_profile 610 self.addon_profiles = addon_profiles 611 self.node_resource_group = node_resource_group 612 self.enable_rbac = enable_rbac 613 self.enable_pod_security_policy = enable_pod_security_policy 614 self.network_profile = network_profile 615 self.aad_profile = aad_profile 616 self.auto_scaler_profile = auto_scaler_profile 617 self.api_server_access_profile = api_server_access_profile 618 self.disk_encryption_set_id = disk_encryption_set_id 619 self.identity_profile = identity_profile 620 621 622class CloudErrorBody(msrest.serialization.Model): 623 """An error response from the Container service. 624 625 :param code: An identifier for the error. Codes are invariant and are intended to be consumed 626 programmatically. 627 :type code: str 628 :param message: A message describing the error, intended to be suitable for display in a user 629 interface. 630 :type message: str 631 :param target: The target of the particular error. For example, the name of the property in 632 error. 633 :type target: str 634 :param details: A list of additional details about the error. 635 :type details: list[~azure.mgmt.containerservice.v2020_07_01.models.CloudErrorBody] 636 """ 637 638 _attribute_map = { 639 'code': {'key': 'code', 'type': 'str'}, 640 'message': {'key': 'message', 'type': 'str'}, 641 'target': {'key': 'target', 'type': 'str'}, 642 'details': {'key': 'details', 'type': '[CloudErrorBody]'}, 643 } 644 645 def __init__( 646 self, 647 *, 648 code: Optional[str] = None, 649 message: Optional[str] = None, 650 target: Optional[str] = None, 651 details: Optional[List["CloudErrorBody"]] = None, 652 **kwargs 653 ): 654 super(CloudErrorBody, self).__init__(**kwargs) 655 self.code = code 656 self.message = message 657 self.target = target 658 self.details = details 659 660 661class ContainerServiceDiagnosticsProfile(msrest.serialization.Model): 662 """Profile for diagnostics on the container service cluster. 663 664 All required parameters must be populated in order to send to Azure. 665 666 :param vm_diagnostics: Required. Profile for diagnostics on the container service VMs. 667 :type vm_diagnostics: 668 ~azure.mgmt.containerservice.v2020_07_01.models.ContainerServiceVMDiagnostics 669 """ 670 671 _validation = { 672 'vm_diagnostics': {'required': True}, 673 } 674 675 _attribute_map = { 676 'vm_diagnostics': {'key': 'vmDiagnostics', 'type': 'ContainerServiceVMDiagnostics'}, 677 } 678 679 def __init__( 680 self, 681 *, 682 vm_diagnostics: "ContainerServiceVMDiagnostics", 683 **kwargs 684 ): 685 super(ContainerServiceDiagnosticsProfile, self).__init__(**kwargs) 686 self.vm_diagnostics = vm_diagnostics 687 688 689class ContainerServiceLinuxProfile(msrest.serialization.Model): 690 """Profile for Linux VMs in the container service cluster. 691 692 All required parameters must be populated in order to send to Azure. 693 694 :param admin_username: Required. The administrator username to use for Linux VMs. 695 :type admin_username: str 696 :param ssh: Required. SSH configuration for Linux-based VMs running on Azure. 697 :type ssh: ~azure.mgmt.containerservice.v2020_07_01.models.ContainerServiceSshConfiguration 698 """ 699 700 _validation = { 701 'admin_username': {'required': True, 'pattern': r'^[A-Za-z][-A-Za-z0-9_]*$'}, 702 'ssh': {'required': True}, 703 } 704 705 _attribute_map = { 706 'admin_username': {'key': 'adminUsername', 'type': 'str'}, 707 'ssh': {'key': 'ssh', 'type': 'ContainerServiceSshConfiguration'}, 708 } 709 710 def __init__( 711 self, 712 *, 713 admin_username: str, 714 ssh: "ContainerServiceSshConfiguration", 715 **kwargs 716 ): 717 super(ContainerServiceLinuxProfile, self).__init__(**kwargs) 718 self.admin_username = admin_username 719 self.ssh = ssh 720 721 722class ContainerServiceMasterProfile(msrest.serialization.Model): 723 """Profile for the container service master. 724 725 Variables are only populated by the server, and will be ignored when sending a request. 726 727 All required parameters must be populated in order to send to Azure. 728 729 :param count: Number of masters (VMs) in the container service cluster. Allowed values are 1, 730 3, and 5. The default value is 1. Possible values include: 1, 3, 5. Default value: "1". 731 :type count: str or ~azure.mgmt.containerservice.v2020_07_01.models.Count 732 :param dns_prefix: Required. DNS prefix to be used to create the FQDN for the master pool. 733 :type dns_prefix: str 734 :param vm_size: Required. Size of agent VMs. Possible values include: "Standard_A1", 735 "Standard_A10", "Standard_A11", "Standard_A1_v2", "Standard_A2", "Standard_A2_v2", 736 "Standard_A2m_v2", "Standard_A3", "Standard_A4", "Standard_A4_v2", "Standard_A4m_v2", 737 "Standard_A5", "Standard_A6", "Standard_A7", "Standard_A8", "Standard_A8_v2", 738 "Standard_A8m_v2", "Standard_A9", "Standard_B2ms", "Standard_B2s", "Standard_B4ms", 739 "Standard_B8ms", "Standard_D1", "Standard_D11", "Standard_D11_v2", "Standard_D11_v2_Promo", 740 "Standard_D12", "Standard_D12_v2", "Standard_D12_v2_Promo", "Standard_D13", "Standard_D13_v2", 741 "Standard_D13_v2_Promo", "Standard_D14", "Standard_D14_v2", "Standard_D14_v2_Promo", 742 "Standard_D15_v2", "Standard_D16_v3", "Standard_D16s_v3", "Standard_D1_v2", "Standard_D2", 743 "Standard_D2_v2", "Standard_D2_v2_Promo", "Standard_D2_v3", "Standard_D2s_v3", "Standard_D3", 744 "Standard_D32_v3", "Standard_D32s_v3", "Standard_D3_v2", "Standard_D3_v2_Promo", "Standard_D4", 745 "Standard_D4_v2", "Standard_D4_v2_Promo", "Standard_D4_v3", "Standard_D4s_v3", 746 "Standard_D5_v2", "Standard_D5_v2_Promo", "Standard_D64_v3", "Standard_D64s_v3", 747 "Standard_D8_v3", "Standard_D8s_v3", "Standard_DS1", "Standard_DS11", "Standard_DS11_v2", 748 "Standard_DS11_v2_Promo", "Standard_DS12", "Standard_DS12_v2", "Standard_DS12_v2_Promo", 749 "Standard_DS13", "Standard_DS13-2_v2", "Standard_DS13-4_v2", "Standard_DS13_v2", 750 "Standard_DS13_v2_Promo", "Standard_DS14", "Standard_DS14-4_v2", "Standard_DS14-8_v2", 751 "Standard_DS14_v2", "Standard_DS14_v2_Promo", "Standard_DS15_v2", "Standard_DS1_v2", 752 "Standard_DS2", "Standard_DS2_v2", "Standard_DS2_v2_Promo", "Standard_DS3", "Standard_DS3_v2", 753 "Standard_DS3_v2_Promo", "Standard_DS4", "Standard_DS4_v2", "Standard_DS4_v2_Promo", 754 "Standard_DS5_v2", "Standard_DS5_v2_Promo", "Standard_E16_v3", "Standard_E16s_v3", 755 "Standard_E2_v3", "Standard_E2s_v3", "Standard_E32-16s_v3", "Standard_E32-8s_v3", 756 "Standard_E32_v3", "Standard_E32s_v3", "Standard_E4_v3", "Standard_E4s_v3", 757 "Standard_E64-16s_v3", "Standard_E64-32s_v3", "Standard_E64_v3", "Standard_E64s_v3", 758 "Standard_E8_v3", "Standard_E8s_v3", "Standard_F1", "Standard_F16", "Standard_F16s", 759 "Standard_F16s_v2", "Standard_F1s", "Standard_F2", "Standard_F2s", "Standard_F2s_v2", 760 "Standard_F32s_v2", "Standard_F4", "Standard_F4s", "Standard_F4s_v2", "Standard_F64s_v2", 761 "Standard_F72s_v2", "Standard_F8", "Standard_F8s", "Standard_F8s_v2", "Standard_G1", 762 "Standard_G2", "Standard_G3", "Standard_G4", "Standard_G5", "Standard_GS1", "Standard_GS2", 763 "Standard_GS3", "Standard_GS4", "Standard_GS4-4", "Standard_GS4-8", "Standard_GS5", 764 "Standard_GS5-16", "Standard_GS5-8", "Standard_H16", "Standard_H16m", "Standard_H16mr", 765 "Standard_H16r", "Standard_H8", "Standard_H8m", "Standard_L16s", "Standard_L32s", 766 "Standard_L4s", "Standard_L8s", "Standard_M128-32ms", "Standard_M128-64ms", "Standard_M128ms", 767 "Standard_M128s", "Standard_M64-16ms", "Standard_M64-32ms", "Standard_M64ms", "Standard_M64s", 768 "Standard_NC12", "Standard_NC12s_v2", "Standard_NC12s_v3", "Standard_NC24", "Standard_NC24r", 769 "Standard_NC24rs_v2", "Standard_NC24rs_v3", "Standard_NC24s_v2", "Standard_NC24s_v3", 770 "Standard_NC6", "Standard_NC6s_v2", "Standard_NC6s_v3", "Standard_ND12s", "Standard_ND24rs", 771 "Standard_ND24s", "Standard_ND6s", "Standard_NV12", "Standard_NV24", "Standard_NV6". 772 :type vm_size: str or 773 ~azure.mgmt.containerservice.v2020_07_01.models.ContainerServiceVMSizeTypes 774 :param os_disk_size_gb: OS Disk Size in GB to be used to specify the disk size for every 775 machine in this master/agent pool. If you specify 0, it will apply the default osDisk size 776 according to the vmSize specified. 777 :type os_disk_size_gb: int 778 :param vnet_subnet_id: VNet SubnetID specifies the VNet's subnet identifier. 779 :type vnet_subnet_id: str 780 :param first_consecutive_static_ip: FirstConsecutiveStaticIP used to specify the first static 781 ip of masters. 782 :type first_consecutive_static_ip: str 783 :param storage_profile: Storage profile specifies what kind of storage used. Choose from 784 StorageAccount and ManagedDisks. Leave it empty, we will choose for you based on the 785 orchestrator choice. Possible values include: "StorageAccount", "ManagedDisks". 786 :type storage_profile: str or 787 ~azure.mgmt.containerservice.v2020_07_01.models.ContainerServiceStorageProfileTypes 788 :ivar fqdn: FQDN for the master pool. 789 :vartype fqdn: str 790 """ 791 792 _validation = { 793 'dns_prefix': {'required': True}, 794 'vm_size': {'required': True}, 795 'os_disk_size_gb': {'maximum': 1023, 'minimum': 0}, 796 'fqdn': {'readonly': True}, 797 } 798 799 _attribute_map = { 800 'count': {'key': 'count', 'type': 'int'}, 801 'dns_prefix': {'key': 'dnsPrefix', 'type': 'str'}, 802 'vm_size': {'key': 'vmSize', 'type': 'str'}, 803 'os_disk_size_gb': {'key': 'osDiskSizeGB', 'type': 'int'}, 804 'vnet_subnet_id': {'key': 'vnetSubnetID', 'type': 'str'}, 805 'first_consecutive_static_ip': {'key': 'firstConsecutiveStaticIP', 'type': 'str'}, 806 'storage_profile': {'key': 'storageProfile', 'type': 'str'}, 807 'fqdn': {'key': 'fqdn', 'type': 'str'}, 808 } 809 810 def __init__( 811 self, 812 *, 813 dns_prefix: str, 814 vm_size: Union[str, "ContainerServiceVMSizeTypes"], 815 count: Optional[Union[int, "Count"]] = "1", 816 os_disk_size_gb: Optional[int] = None, 817 vnet_subnet_id: Optional[str] = None, 818 first_consecutive_static_ip: Optional[str] = "10.240.255.5", 819 storage_profile: Optional[Union[str, "ContainerServiceStorageProfileTypes"]] = None, 820 **kwargs 821 ): 822 super(ContainerServiceMasterProfile, self).__init__(**kwargs) 823 self.count = count 824 self.dns_prefix = dns_prefix 825 self.vm_size = vm_size 826 self.os_disk_size_gb = os_disk_size_gb 827 self.vnet_subnet_id = vnet_subnet_id 828 self.first_consecutive_static_ip = first_consecutive_static_ip 829 self.storage_profile = storage_profile 830 self.fqdn = None 831 832 833class ContainerServiceNetworkProfile(msrest.serialization.Model): 834 """Profile of network configuration. 835 836 :param network_plugin: Network plugin used for building Kubernetes network. Possible values 837 include: "azure", "kubenet". Default value: "kubenet". 838 :type network_plugin: str or ~azure.mgmt.containerservice.v2020_07_01.models.NetworkPlugin 839 :param network_policy: Network policy used for building Kubernetes network. Possible values 840 include: "calico", "azure". 841 :type network_policy: str or ~azure.mgmt.containerservice.v2020_07_01.models.NetworkPolicy 842 :param network_mode: Network mode used for building Kubernetes network. Possible values 843 include: "transparent", "bridge". 844 :type network_mode: str or ~azure.mgmt.containerservice.v2020_07_01.models.NetworkMode 845 :param pod_cidr: A CIDR notation IP range from which to assign pod IPs when kubenet is used. 846 :type pod_cidr: str 847 :param service_cidr: A CIDR notation IP range from which to assign service cluster IPs. It must 848 not overlap with any Subnet IP ranges. 849 :type service_cidr: str 850 :param dns_service_ip: An IP address assigned to the Kubernetes DNS service. It must be within 851 the Kubernetes service address range specified in serviceCidr. 852 :type dns_service_ip: str 853 :param docker_bridge_cidr: A CIDR notation IP range assigned to the Docker bridge network. It 854 must not overlap with any Subnet IP ranges or the Kubernetes service address range. 855 :type docker_bridge_cidr: str 856 :param outbound_type: The outbound (egress) routing method. Possible values include: 857 "loadBalancer", "userDefinedRouting". Default value: "loadBalancer". 858 :type outbound_type: str or ~azure.mgmt.containerservice.v2020_07_01.models.OutboundType 859 :param load_balancer_sku: The load balancer sku for the managed cluster. Possible values 860 include: "standard", "basic". 861 :type load_balancer_sku: str or ~azure.mgmt.containerservice.v2020_07_01.models.LoadBalancerSku 862 :param load_balancer_profile: Profile of the cluster load balancer. 863 :type load_balancer_profile: 864 ~azure.mgmt.containerservice.v2020_07_01.models.ManagedClusterLoadBalancerProfile 865 """ 866 867 _validation = { 868 'pod_cidr': {'pattern': r'^([0-9]{1,3}\.){3}[0-9]{1,3}(\/([0-9]|[1-2][0-9]|3[0-2]))?$'}, 869 'service_cidr': {'pattern': r'^([0-9]{1,3}\.){3}[0-9]{1,3}(\/([0-9]|[1-2][0-9]|3[0-2]))?$'}, 870 '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]?)$'}, 871 'docker_bridge_cidr': {'pattern': r'^([0-9]{1,3}\.){3}[0-9]{1,3}(\/([0-9]|[1-2][0-9]|3[0-2]))?$'}, 872 } 873 874 _attribute_map = { 875 'network_plugin': {'key': 'networkPlugin', 'type': 'str'}, 876 'network_policy': {'key': 'networkPolicy', 'type': 'str'}, 877 'network_mode': {'key': 'networkMode', 'type': 'str'}, 878 'pod_cidr': {'key': 'podCidr', 'type': 'str'}, 879 'service_cidr': {'key': 'serviceCidr', 'type': 'str'}, 880 'dns_service_ip': {'key': 'dnsServiceIP', 'type': 'str'}, 881 'docker_bridge_cidr': {'key': 'dockerBridgeCidr', 'type': 'str'}, 882 'outbound_type': {'key': 'outboundType', 'type': 'str'}, 883 'load_balancer_sku': {'key': 'loadBalancerSku', 'type': 'str'}, 884 'load_balancer_profile': {'key': 'loadBalancerProfile', 'type': 'ManagedClusterLoadBalancerProfile'}, 885 } 886 887 def __init__( 888 self, 889 *, 890 network_plugin: Optional[Union[str, "NetworkPlugin"]] = "kubenet", 891 network_policy: Optional[Union[str, "NetworkPolicy"]] = None, 892 network_mode: Optional[Union[str, "NetworkMode"]] = None, 893 pod_cidr: Optional[str] = "10.244.0.0/16", 894 service_cidr: Optional[str] = "10.0.0.0/16", 895 dns_service_ip: Optional[str] = "10.0.0.10", 896 docker_bridge_cidr: Optional[str] = "172.17.0.1/16", 897 outbound_type: Optional[Union[str, "OutboundType"]] = "loadBalancer", 898 load_balancer_sku: Optional[Union[str, "LoadBalancerSku"]] = None, 899 load_balancer_profile: Optional["ManagedClusterLoadBalancerProfile"] = None, 900 **kwargs 901 ): 902 super(ContainerServiceNetworkProfile, self).__init__(**kwargs) 903 self.network_plugin = network_plugin 904 self.network_policy = network_policy 905 self.network_mode = network_mode 906 self.pod_cidr = pod_cidr 907 self.service_cidr = service_cidr 908 self.dns_service_ip = dns_service_ip 909 self.docker_bridge_cidr = docker_bridge_cidr 910 self.outbound_type = outbound_type 911 self.load_balancer_sku = load_balancer_sku 912 self.load_balancer_profile = load_balancer_profile 913 914 915class ContainerServiceSshConfiguration(msrest.serialization.Model): 916 """SSH configuration for Linux-based VMs running on Azure. 917 918 All required parameters must be populated in order to send to Azure. 919 920 :param public_keys: Required. The list of SSH public keys used to authenticate with Linux-based 921 VMs. Only expect one key specified. 922 :type public_keys: 923 list[~azure.mgmt.containerservice.v2020_07_01.models.ContainerServiceSshPublicKey] 924 """ 925 926 _validation = { 927 'public_keys': {'required': True}, 928 } 929 930 _attribute_map = { 931 'public_keys': {'key': 'publicKeys', 'type': '[ContainerServiceSshPublicKey]'}, 932 } 933 934 def __init__( 935 self, 936 *, 937 public_keys: List["ContainerServiceSshPublicKey"], 938 **kwargs 939 ): 940 super(ContainerServiceSshConfiguration, self).__init__(**kwargs) 941 self.public_keys = public_keys 942 943 944class ContainerServiceSshPublicKey(msrest.serialization.Model): 945 """Contains information about SSH certificate public key data. 946 947 All required parameters must be populated in order to send to Azure. 948 949 :param key_data: Required. Certificate public key used to authenticate with VMs through SSH. 950 The certificate must be in PEM format with or without headers. 951 :type key_data: str 952 """ 953 954 _validation = { 955 'key_data': {'required': True}, 956 } 957 958 _attribute_map = { 959 'key_data': {'key': 'keyData', 'type': 'str'}, 960 } 961 962 def __init__( 963 self, 964 *, 965 key_data: str, 966 **kwargs 967 ): 968 super(ContainerServiceSshPublicKey, self).__init__(**kwargs) 969 self.key_data = key_data 970 971 972class ContainerServiceVMDiagnostics(msrest.serialization.Model): 973 """Profile for diagnostics on the container service VMs. 974 975 Variables are only populated by the server, and will be ignored when sending a request. 976 977 All required parameters must be populated in order to send to Azure. 978 979 :param enabled: Required. Whether the VM diagnostic agent is provisioned on the VM. 980 :type enabled: bool 981 :ivar storage_uri: The URI of the storage account where diagnostics are stored. 982 :vartype storage_uri: str 983 """ 984 985 _validation = { 986 'enabled': {'required': True}, 987 'storage_uri': {'readonly': True}, 988 } 989 990 _attribute_map = { 991 'enabled': {'key': 'enabled', 'type': 'bool'}, 992 'storage_uri': {'key': 'storageUri', 'type': 'str'}, 993 } 994 995 def __init__( 996 self, 997 *, 998 enabled: bool, 999 **kwargs 1000 ): 1001 super(ContainerServiceVMDiagnostics, self).__init__(**kwargs) 1002 self.enabled = enabled 1003 self.storage_uri = None 1004 1005 1006class CredentialResult(msrest.serialization.Model): 1007 """The credential result response. 1008 1009 Variables are only populated by the server, and will be ignored when sending a request. 1010 1011 :ivar name: The name of the credential. 1012 :vartype name: str 1013 :ivar value: Base64-encoded Kubernetes configuration file. 1014 :vartype value: bytearray 1015 """ 1016 1017 _validation = { 1018 'name': {'readonly': True}, 1019 'value': {'readonly': True}, 1020 } 1021 1022 _attribute_map = { 1023 'name': {'key': 'name', 'type': 'str'}, 1024 'value': {'key': 'value', 'type': 'bytearray'}, 1025 } 1026 1027 def __init__( 1028 self, 1029 **kwargs 1030 ): 1031 super(CredentialResult, self).__init__(**kwargs) 1032 self.name = None 1033 self.value = None 1034 1035 1036class CredentialResults(msrest.serialization.Model): 1037 """The list of credential result response. 1038 1039 Variables are only populated by the server, and will be ignored when sending a request. 1040 1041 :ivar kubeconfigs: Base64-encoded Kubernetes configuration file. 1042 :vartype kubeconfigs: list[~azure.mgmt.containerservice.v2020_07_01.models.CredentialResult] 1043 """ 1044 1045 _validation = { 1046 'kubeconfigs': {'readonly': True}, 1047 } 1048 1049 _attribute_map = { 1050 'kubeconfigs': {'key': 'kubeconfigs', 'type': '[CredentialResult]'}, 1051 } 1052 1053 def __init__( 1054 self, 1055 **kwargs 1056 ): 1057 super(CredentialResults, self).__init__(**kwargs) 1058 self.kubeconfigs = None 1059 1060 1061class Resource(msrest.serialization.Model): 1062 """The Resource model definition. 1063 1064 Variables are only populated by the server, and will be ignored when sending a request. 1065 1066 All required parameters must be populated in order to send to Azure. 1067 1068 :ivar id: Resource Id. 1069 :vartype id: str 1070 :ivar name: Resource name. 1071 :vartype name: str 1072 :ivar type: Resource type. 1073 :vartype type: str 1074 :param location: Required. Resource location. 1075 :type location: str 1076 :param tags: A set of tags. Resource tags. 1077 :type tags: dict[str, str] 1078 """ 1079 1080 _validation = { 1081 'id': {'readonly': True}, 1082 'name': {'readonly': True}, 1083 'type': {'readonly': True}, 1084 'location': {'required': True}, 1085 } 1086 1087 _attribute_map = { 1088 'id': {'key': 'id', 'type': 'str'}, 1089 'name': {'key': 'name', 'type': 'str'}, 1090 'type': {'key': 'type', 'type': 'str'}, 1091 'location': {'key': 'location', 'type': 'str'}, 1092 'tags': {'key': 'tags', 'type': '{str}'}, 1093 } 1094 1095 def __init__( 1096 self, 1097 *, 1098 location: str, 1099 tags: Optional[Dict[str, str]] = None, 1100 **kwargs 1101 ): 1102 super(Resource, self).__init__(**kwargs) 1103 self.id = None 1104 self.name = None 1105 self.type = None 1106 self.location = location 1107 self.tags = tags 1108 1109 1110class ManagedCluster(Resource, BaseManagedCluster): 1111 """Managed cluster. 1112 1113 Variables are only populated by the server, and will be ignored when sending a request. 1114 1115 All required parameters must be populated in order to send to Azure. 1116 1117 :param identity: The identity of the managed cluster, if configured. 1118 :type identity: ~azure.mgmt.containerservice.v2020_07_01.models.ManagedClusterIdentity 1119 :ivar provisioning_state: The current deployment or provisioning state, which only appears in 1120 the response. 1121 :vartype provisioning_state: str 1122 :ivar max_agent_pools: The max number of agent pools for the managed cluster. 1123 :vartype max_agent_pools: int 1124 :param kubernetes_version: Version of Kubernetes specified when creating the managed cluster. 1125 :type kubernetes_version: str 1126 :param dns_prefix: DNS prefix specified when creating the managed cluster. 1127 :type dns_prefix: str 1128 :ivar fqdn: FQDN for the master pool. 1129 :vartype fqdn: str 1130 :ivar private_fqdn: FQDN of private cluster. 1131 :vartype private_fqdn: str 1132 :param agent_pool_profiles: Properties of the agent pool. 1133 :type agent_pool_profiles: 1134 list[~azure.mgmt.containerservice.v2020_07_01.models.ManagedClusterAgentPoolProfile] 1135 :param linux_profile: Profile for Linux VMs in the container service cluster. 1136 :type linux_profile: 1137 ~azure.mgmt.containerservice.v2020_07_01.models.ContainerServiceLinuxProfile 1138 :param windows_profile: Profile for Windows VMs in the container service cluster. 1139 :type windows_profile: 1140 ~azure.mgmt.containerservice.v2020_07_01.models.ManagedClusterWindowsProfile 1141 :param service_principal_profile: Information about a service principal identity for the 1142 cluster to use for manipulating Azure APIs. 1143 :type service_principal_profile: 1144 ~azure.mgmt.containerservice.v2020_07_01.models.ManagedClusterServicePrincipalProfile 1145 :param addon_profiles: Profile of managed cluster add-on. 1146 :type addon_profiles: dict[str, 1147 ~azure.mgmt.containerservice.v2020_07_01.models.ManagedClusterAddonProfile] 1148 :param node_resource_group: Name of the resource group containing agent pool nodes. 1149 :type node_resource_group: str 1150 :param enable_rbac: Whether to enable Kubernetes Role-Based Access Control. 1151 :type enable_rbac: bool 1152 :param enable_pod_security_policy: (DEPRECATING) Whether to enable Kubernetes pod security 1153 policy (preview). This feature is set for removal on October 15th, 2020. Learn more at 1154 aka.ms/aks/azpodpolicy. 1155 :type enable_pod_security_policy: bool 1156 :param network_profile: Profile of network configuration. 1157 :type network_profile: 1158 ~azure.mgmt.containerservice.v2020_07_01.models.ContainerServiceNetworkProfile 1159 :param aad_profile: Profile of Azure Active Directory configuration. 1160 :type aad_profile: ~azure.mgmt.containerservice.v2020_07_01.models.ManagedClusterAADProfile 1161 :param auto_scaler_profile: Parameters to be applied to the cluster-autoscaler when enabled. 1162 :type auto_scaler_profile: 1163 ~azure.mgmt.containerservice.v2020_07_01.models.ManagedClusterPropertiesAutoScalerProfile 1164 :param api_server_access_profile: Access profile for managed cluster API server. 1165 :type api_server_access_profile: 1166 ~azure.mgmt.containerservice.v2020_07_01.models.ManagedClusterAPIServerAccessProfile 1167 :param disk_encryption_set_id: ResourceId of the disk encryption set to use for enabling 1168 encryption at rest. 1169 :type disk_encryption_set_id: str 1170 :param identity_profile: Identities associated with the cluster. 1171 :type identity_profile: dict[str, 1172 ~azure.mgmt.containerservice.v2020_07_01.models.ManagedClusterPropertiesIdentityProfileValue] 1173 :ivar id: Resource Id. 1174 :vartype id: str 1175 :ivar name: Resource name. 1176 :vartype name: str 1177 :ivar type: Resource type. 1178 :vartype type: str 1179 :param location: Required. Resource location. 1180 :type location: str 1181 :param tags: A set of tags. Resource tags. 1182 :type tags: dict[str, str] 1183 :param sku: The managed cluster SKU. 1184 :type sku: ~azure.mgmt.containerservice.v2020_07_01.models.ManagedClusterSKU 1185 """ 1186 1187 _validation = { 1188 'provisioning_state': {'readonly': True}, 1189 'max_agent_pools': {'readonly': True}, 1190 'fqdn': {'readonly': True}, 1191 'private_fqdn': {'readonly': True}, 1192 'id': {'readonly': True}, 1193 'name': {'readonly': True}, 1194 'type': {'readonly': True}, 1195 'location': {'required': True}, 1196 } 1197 1198 _attribute_map = { 1199 'identity': {'key': 'identity', 'type': 'ManagedClusterIdentity'}, 1200 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 1201 'max_agent_pools': {'key': 'properties.maxAgentPools', 'type': 'int'}, 1202 'kubernetes_version': {'key': 'properties.kubernetesVersion', 'type': 'str'}, 1203 'dns_prefix': {'key': 'properties.dnsPrefix', 'type': 'str'}, 1204 'fqdn': {'key': 'properties.fqdn', 'type': 'str'}, 1205 'private_fqdn': {'key': 'properties.privateFQDN', 'type': 'str'}, 1206 'agent_pool_profiles': {'key': 'properties.agentPoolProfiles', 'type': '[ManagedClusterAgentPoolProfile]'}, 1207 'linux_profile': {'key': 'properties.linuxProfile', 'type': 'ContainerServiceLinuxProfile'}, 1208 'windows_profile': {'key': 'properties.windowsProfile', 'type': 'ManagedClusterWindowsProfile'}, 1209 'service_principal_profile': {'key': 'properties.servicePrincipalProfile', 'type': 'ManagedClusterServicePrincipalProfile'}, 1210 'addon_profiles': {'key': 'properties.addonProfiles', 'type': '{ManagedClusterAddonProfile}'}, 1211 'node_resource_group': {'key': 'properties.nodeResourceGroup', 'type': 'str'}, 1212 'enable_rbac': {'key': 'properties.enableRBAC', 'type': 'bool'}, 1213 'enable_pod_security_policy': {'key': 'properties.enablePodSecurityPolicy', 'type': 'bool'}, 1214 'network_profile': {'key': 'properties.networkProfile', 'type': 'ContainerServiceNetworkProfile'}, 1215 'aad_profile': {'key': 'properties.aadProfile', 'type': 'ManagedClusterAADProfile'}, 1216 'auto_scaler_profile': {'key': 'properties.autoScalerProfile', 'type': 'ManagedClusterPropertiesAutoScalerProfile'}, 1217 'api_server_access_profile': {'key': 'properties.apiServerAccessProfile', 'type': 'ManagedClusterAPIServerAccessProfile'}, 1218 'disk_encryption_set_id': {'key': 'properties.diskEncryptionSetID', 'type': 'str'}, 1219 'identity_profile': {'key': 'properties.identityProfile', 'type': '{ManagedClusterPropertiesIdentityProfileValue}'}, 1220 'id': {'key': 'id', 'type': 'str'}, 1221 'name': {'key': 'name', 'type': 'str'}, 1222 'type': {'key': 'type', 'type': 'str'}, 1223 'location': {'key': 'location', 'type': 'str'}, 1224 'tags': {'key': 'tags', 'type': '{str}'}, 1225 'sku': {'key': 'sku', 'type': 'ManagedClusterSKU'}, 1226 } 1227 1228 def __init__( 1229 self, 1230 *, 1231 location: str, 1232 identity: Optional["ManagedClusterIdentity"] = None, 1233 kubernetes_version: Optional[str] = None, 1234 dns_prefix: Optional[str] = None, 1235 agent_pool_profiles: Optional[List["ManagedClusterAgentPoolProfile"]] = None, 1236 linux_profile: Optional["ContainerServiceLinuxProfile"] = None, 1237 windows_profile: Optional["ManagedClusterWindowsProfile"] = None, 1238 service_principal_profile: Optional["ManagedClusterServicePrincipalProfile"] = None, 1239 addon_profiles: Optional[Dict[str, "ManagedClusterAddonProfile"]] = None, 1240 node_resource_group: Optional[str] = None, 1241 enable_rbac: Optional[bool] = None, 1242 enable_pod_security_policy: Optional[bool] = None, 1243 network_profile: Optional["ContainerServiceNetworkProfile"] = None, 1244 aad_profile: Optional["ManagedClusterAADProfile"] = None, 1245 auto_scaler_profile: Optional["ManagedClusterPropertiesAutoScalerProfile"] = None, 1246 api_server_access_profile: Optional["ManagedClusterAPIServerAccessProfile"] = None, 1247 disk_encryption_set_id: Optional[str] = None, 1248 identity_profile: Optional[Dict[str, "ManagedClusterPropertiesIdentityProfileValue"]] = None, 1249 tags: Optional[Dict[str, str]] = None, 1250 sku: Optional["ManagedClusterSKU"] = None, 1251 **kwargs 1252 ): 1253 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, 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_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) 1254 self.identity = identity 1255 self.provisioning_state = None 1256 self.max_agent_pools = None 1257 self.kubernetes_version = kubernetes_version 1258 self.dns_prefix = dns_prefix 1259 self.fqdn = None 1260 self.private_fqdn = None 1261 self.agent_pool_profiles = agent_pool_profiles 1262 self.linux_profile = linux_profile 1263 self.windows_profile = windows_profile 1264 self.service_principal_profile = service_principal_profile 1265 self.addon_profiles = addon_profiles 1266 self.node_resource_group = node_resource_group 1267 self.enable_rbac = enable_rbac 1268 self.enable_pod_security_policy = enable_pod_security_policy 1269 self.network_profile = network_profile 1270 self.aad_profile = aad_profile 1271 self.auto_scaler_profile = auto_scaler_profile 1272 self.api_server_access_profile = api_server_access_profile 1273 self.disk_encryption_set_id = disk_encryption_set_id 1274 self.identity_profile = identity_profile 1275 self.sku = sku 1276 self.id = None 1277 self.name = None 1278 self.type = None 1279 self.location = location 1280 self.tags = tags 1281 self.sku = sku 1282 1283 1284class ManagedClusterAADProfile(msrest.serialization.Model): 1285 """AADProfile specifies attributes for Azure Active Directory integration. 1286 1287 :param managed: Whether to enable managed AAD. 1288 :type managed: bool 1289 :param enable_azure_rbac: Whether to enable Azure RBAC for Kubernetes authorization. 1290 :type enable_azure_rbac: bool 1291 :param admin_group_object_i_ds: AAD group object IDs that will have admin role of the cluster. 1292 :type admin_group_object_i_ds: list[str] 1293 :param client_app_id: The client AAD application ID. 1294 :type client_app_id: str 1295 :param server_app_id: The server AAD application ID. 1296 :type server_app_id: str 1297 :param server_app_secret: The server AAD application secret. 1298 :type server_app_secret: str 1299 :param tenant_id: The AAD tenant ID to use for authentication. If not specified, will use the 1300 tenant of the deployment subscription. 1301 :type tenant_id: str 1302 """ 1303 1304 _attribute_map = { 1305 'managed': {'key': 'managed', 'type': 'bool'}, 1306 'enable_azure_rbac': {'key': 'enableAzureRBAC', 'type': 'bool'}, 1307 'admin_group_object_i_ds': {'key': 'adminGroupObjectIDs', 'type': '[str]'}, 1308 'client_app_id': {'key': 'clientAppID', 'type': 'str'}, 1309 'server_app_id': {'key': 'serverAppID', 'type': 'str'}, 1310 'server_app_secret': {'key': 'serverAppSecret', 'type': 'str'}, 1311 'tenant_id': {'key': 'tenantID', 'type': 'str'}, 1312 } 1313 1314 def __init__( 1315 self, 1316 *, 1317 managed: Optional[bool] = None, 1318 enable_azure_rbac: Optional[bool] = None, 1319 admin_group_object_i_ds: Optional[List[str]] = None, 1320 client_app_id: Optional[str] = None, 1321 server_app_id: Optional[str] = None, 1322 server_app_secret: Optional[str] = None, 1323 tenant_id: Optional[str] = None, 1324 **kwargs 1325 ): 1326 super(ManagedClusterAADProfile, self).__init__(**kwargs) 1327 self.managed = managed 1328 self.enable_azure_rbac = enable_azure_rbac 1329 self.admin_group_object_i_ds = admin_group_object_i_ds 1330 self.client_app_id = client_app_id 1331 self.server_app_id = server_app_id 1332 self.server_app_secret = server_app_secret 1333 self.tenant_id = tenant_id 1334 1335 1336class ManagedClusterAccessProfile(Resource): 1337 """Managed cluster Access Profile. 1338 1339 Variables are only populated by the server, and will be ignored when sending a request. 1340 1341 All required parameters must be populated in order to send to Azure. 1342 1343 :ivar id: Resource Id. 1344 :vartype id: str 1345 :ivar name: Resource name. 1346 :vartype name: str 1347 :ivar type: Resource type. 1348 :vartype type: str 1349 :param location: Required. Resource location. 1350 :type location: str 1351 :param tags: A set of tags. Resource tags. 1352 :type tags: dict[str, str] 1353 :param kube_config: Base64-encoded Kubernetes configuration file. 1354 :type kube_config: bytearray 1355 """ 1356 1357 _validation = { 1358 'id': {'readonly': True}, 1359 'name': {'readonly': True}, 1360 'type': {'readonly': True}, 1361 'location': {'required': True}, 1362 } 1363 1364 _attribute_map = { 1365 'id': {'key': 'id', 'type': 'str'}, 1366 'name': {'key': 'name', 'type': 'str'}, 1367 'type': {'key': 'type', 'type': 'str'}, 1368 'location': {'key': 'location', 'type': 'str'}, 1369 'tags': {'key': 'tags', 'type': '{str}'}, 1370 'kube_config': {'key': 'properties.kubeConfig', 'type': 'bytearray'}, 1371 } 1372 1373 def __init__( 1374 self, 1375 *, 1376 location: str, 1377 tags: Optional[Dict[str, str]] = None, 1378 kube_config: Optional[bytearray] = None, 1379 **kwargs 1380 ): 1381 super(ManagedClusterAccessProfile, self).__init__(location=location, tags=tags, **kwargs) 1382 self.kube_config = kube_config 1383 1384 1385class ManagedClusterAddonProfile(msrest.serialization.Model): 1386 """A Kubernetes add-on profile for a managed cluster. 1387 1388 Variables are only populated by the server, and will be ignored when sending a request. 1389 1390 All required parameters must be populated in order to send to Azure. 1391 1392 :param enabled: Required. Whether the add-on is enabled or not. 1393 :type enabled: bool 1394 :param config: Key-value pairs for configuring an add-on. 1395 :type config: dict[str, str] 1396 :ivar identity: Information of user assigned identity used by this add-on. 1397 :vartype identity: 1398 ~azure.mgmt.containerservice.v2020_07_01.models.ManagedClusterAddonProfileIdentity 1399 """ 1400 1401 _validation = { 1402 'enabled': {'required': True}, 1403 'identity': {'readonly': True}, 1404 } 1405 1406 _attribute_map = { 1407 'enabled': {'key': 'enabled', 'type': 'bool'}, 1408 'config': {'key': 'config', 'type': '{str}'}, 1409 'identity': {'key': 'identity', 'type': 'ManagedClusterAddonProfileIdentity'}, 1410 } 1411 1412 def __init__( 1413 self, 1414 *, 1415 enabled: bool, 1416 config: Optional[Dict[str, str]] = None, 1417 **kwargs 1418 ): 1419 super(ManagedClusterAddonProfile, self).__init__(**kwargs) 1420 self.enabled = enabled 1421 self.config = config 1422 self.identity = None 1423 1424 1425class UserAssignedIdentity(msrest.serialization.Model): 1426 """UserAssignedIdentity. 1427 1428 :param resource_id: The resource id of the user assigned identity. 1429 :type resource_id: str 1430 :param client_id: The client id of the user assigned identity. 1431 :type client_id: str 1432 :param object_id: The object id of the user assigned identity. 1433 :type object_id: str 1434 """ 1435 1436 _attribute_map = { 1437 'resource_id': {'key': 'resourceId', 'type': 'str'}, 1438 'client_id': {'key': 'clientId', 'type': 'str'}, 1439 'object_id': {'key': 'objectId', 'type': 'str'}, 1440 } 1441 1442 def __init__( 1443 self, 1444 *, 1445 resource_id: Optional[str] = None, 1446 client_id: Optional[str] = None, 1447 object_id: Optional[str] = None, 1448 **kwargs 1449 ): 1450 super(UserAssignedIdentity, self).__init__(**kwargs) 1451 self.resource_id = resource_id 1452 self.client_id = client_id 1453 self.object_id = object_id 1454 1455 1456class ManagedClusterAddonProfileIdentity(UserAssignedIdentity): 1457 """Information of user assigned identity used by this add-on. 1458 1459 :param resource_id: The resource id of the user assigned identity. 1460 :type resource_id: str 1461 :param client_id: The client id of the user assigned identity. 1462 :type client_id: str 1463 :param object_id: The object id of the user assigned identity. 1464 :type object_id: str 1465 """ 1466 1467 _attribute_map = { 1468 'resource_id': {'key': 'resourceId', 'type': 'str'}, 1469 'client_id': {'key': 'clientId', 'type': 'str'}, 1470 'object_id': {'key': 'objectId', 'type': 'str'}, 1471 } 1472 1473 def __init__( 1474 self, 1475 *, 1476 resource_id: Optional[str] = None, 1477 client_id: Optional[str] = None, 1478 object_id: Optional[str] = None, 1479 **kwargs 1480 ): 1481 super(ManagedClusterAddonProfileIdentity, self).__init__(resource_id=resource_id, client_id=client_id, object_id=object_id, **kwargs) 1482 1483 1484class ManagedClusterAgentPoolProfileProperties(msrest.serialization.Model): 1485 """Properties for the container service agent pool profile. 1486 1487 Variables are only populated by the server, and will be ignored when sending a request. 1488 1489 :param count: Number of agents (VMs) to host docker containers. Allowed values must be in the 1490 range of 0 to 100 (inclusive) for user pools and in the range of 1 to 100 (inclusive) for 1491 system pools. The default value is 1. 1492 :type count: int 1493 :param vm_size: Size of agent VMs. Possible values include: "Standard_A1", "Standard_A10", 1494 "Standard_A11", "Standard_A1_v2", "Standard_A2", "Standard_A2_v2", "Standard_A2m_v2", 1495 "Standard_A3", "Standard_A4", "Standard_A4_v2", "Standard_A4m_v2", "Standard_A5", 1496 "Standard_A6", "Standard_A7", "Standard_A8", "Standard_A8_v2", "Standard_A8m_v2", 1497 "Standard_A9", "Standard_B2ms", "Standard_B2s", "Standard_B4ms", "Standard_B8ms", 1498 "Standard_D1", "Standard_D11", "Standard_D11_v2", "Standard_D11_v2_Promo", "Standard_D12", 1499 "Standard_D12_v2", "Standard_D12_v2_Promo", "Standard_D13", "Standard_D13_v2", 1500 "Standard_D13_v2_Promo", "Standard_D14", "Standard_D14_v2", "Standard_D14_v2_Promo", 1501 "Standard_D15_v2", "Standard_D16_v3", "Standard_D16s_v3", "Standard_D1_v2", "Standard_D2", 1502 "Standard_D2_v2", "Standard_D2_v2_Promo", "Standard_D2_v3", "Standard_D2s_v3", "Standard_D3", 1503 "Standard_D32_v3", "Standard_D32s_v3", "Standard_D3_v2", "Standard_D3_v2_Promo", "Standard_D4", 1504 "Standard_D4_v2", "Standard_D4_v2_Promo", "Standard_D4_v3", "Standard_D4s_v3", 1505 "Standard_D5_v2", "Standard_D5_v2_Promo", "Standard_D64_v3", "Standard_D64s_v3", 1506 "Standard_D8_v3", "Standard_D8s_v3", "Standard_DS1", "Standard_DS11", "Standard_DS11_v2", 1507 "Standard_DS11_v2_Promo", "Standard_DS12", "Standard_DS12_v2", "Standard_DS12_v2_Promo", 1508 "Standard_DS13", "Standard_DS13-2_v2", "Standard_DS13-4_v2", "Standard_DS13_v2", 1509 "Standard_DS13_v2_Promo", "Standard_DS14", "Standard_DS14-4_v2", "Standard_DS14-8_v2", 1510 "Standard_DS14_v2", "Standard_DS14_v2_Promo", "Standard_DS15_v2", "Standard_DS1_v2", 1511 "Standard_DS2", "Standard_DS2_v2", "Standard_DS2_v2_Promo", "Standard_DS3", "Standard_DS3_v2", 1512 "Standard_DS3_v2_Promo", "Standard_DS4", "Standard_DS4_v2", "Standard_DS4_v2_Promo", 1513 "Standard_DS5_v2", "Standard_DS5_v2_Promo", "Standard_E16_v3", "Standard_E16s_v3", 1514 "Standard_E2_v3", "Standard_E2s_v3", "Standard_E32-16s_v3", "Standard_E32-8s_v3", 1515 "Standard_E32_v3", "Standard_E32s_v3", "Standard_E4_v3", "Standard_E4s_v3", 1516 "Standard_E64-16s_v3", "Standard_E64-32s_v3", "Standard_E64_v3", "Standard_E64s_v3", 1517 "Standard_E8_v3", "Standard_E8s_v3", "Standard_F1", "Standard_F16", "Standard_F16s", 1518 "Standard_F16s_v2", "Standard_F1s", "Standard_F2", "Standard_F2s", "Standard_F2s_v2", 1519 "Standard_F32s_v2", "Standard_F4", "Standard_F4s", "Standard_F4s_v2", "Standard_F64s_v2", 1520 "Standard_F72s_v2", "Standard_F8", "Standard_F8s", "Standard_F8s_v2", "Standard_G1", 1521 "Standard_G2", "Standard_G3", "Standard_G4", "Standard_G5", "Standard_GS1", "Standard_GS2", 1522 "Standard_GS3", "Standard_GS4", "Standard_GS4-4", "Standard_GS4-8", "Standard_GS5", 1523 "Standard_GS5-16", "Standard_GS5-8", "Standard_H16", "Standard_H16m", "Standard_H16mr", 1524 "Standard_H16r", "Standard_H8", "Standard_H8m", "Standard_L16s", "Standard_L32s", 1525 "Standard_L4s", "Standard_L8s", "Standard_M128-32ms", "Standard_M128-64ms", "Standard_M128ms", 1526 "Standard_M128s", "Standard_M64-16ms", "Standard_M64-32ms", "Standard_M64ms", "Standard_M64s", 1527 "Standard_NC12", "Standard_NC12s_v2", "Standard_NC12s_v3", "Standard_NC24", "Standard_NC24r", 1528 "Standard_NC24rs_v2", "Standard_NC24rs_v3", "Standard_NC24s_v2", "Standard_NC24s_v3", 1529 "Standard_NC6", "Standard_NC6s_v2", "Standard_NC6s_v3", "Standard_ND12s", "Standard_ND24rs", 1530 "Standard_ND24s", "Standard_ND6s", "Standard_NV12", "Standard_NV24", "Standard_NV6". 1531 :type vm_size: str or 1532 ~azure.mgmt.containerservice.v2020_07_01.models.ContainerServiceVMSizeTypes 1533 :param os_disk_size_gb: OS Disk Size in GB to be used to specify the disk size for every 1534 machine in this master/agent pool. If you specify 0, it will apply the default osDisk size 1535 according to the vmSize specified. 1536 :type os_disk_size_gb: int 1537 :param vnet_subnet_id: VNet SubnetID specifies the VNet's subnet identifier. 1538 :type vnet_subnet_id: str 1539 :param max_pods: Maximum number of pods that can run on a node. 1540 :type max_pods: int 1541 :param os_type: OsType to be used to specify os type. Choose from Linux and Windows. Default to 1542 Linux. Possible values include: "Linux", "Windows". Default value: "Linux". 1543 :type os_type: str or ~azure.mgmt.containerservice.v2020_07_01.models.OSType 1544 :param max_count: Maximum number of nodes for auto-scaling. 1545 :type max_count: int 1546 :param min_count: Minimum number of nodes for auto-scaling. 1547 :type min_count: int 1548 :param enable_auto_scaling: Whether to enable auto-scaler. 1549 :type enable_auto_scaling: bool 1550 :param type: AgentPoolType represents types of an agent pool. Possible values include: 1551 "VirtualMachineScaleSets", "AvailabilitySet". 1552 :type type: str or ~azure.mgmt.containerservice.v2020_07_01.models.AgentPoolType 1553 :param mode: AgentPoolMode represents mode of an agent pool. Possible values include: "System", 1554 "User". 1555 :type mode: str or ~azure.mgmt.containerservice.v2020_07_01.models.AgentPoolMode 1556 :param orchestrator_version: Version of orchestrator specified when creating the managed 1557 cluster. 1558 :type orchestrator_version: str 1559 :ivar node_image_version: Version of node image. 1560 :vartype node_image_version: str 1561 :param upgrade_settings: Settings for upgrading the agentpool. 1562 :type upgrade_settings: 1563 ~azure.mgmt.containerservice.v2020_07_01.models.AgentPoolUpgradeSettings 1564 :ivar provisioning_state: The current deployment or provisioning state, which only appears in 1565 the response. 1566 :vartype provisioning_state: str 1567 :param availability_zones: Availability zones for nodes. Must use VirtualMachineScaleSets 1568 AgentPoolType. 1569 :type availability_zones: list[str] 1570 :param enable_node_public_ip: Enable public IP for nodes. 1571 :type enable_node_public_ip: bool 1572 :param scale_set_priority: ScaleSetPriority to be used to specify virtual machine scale set 1573 priority. Default to regular. Possible values include: "Spot", "Regular". Default value: 1574 "Regular". 1575 :type scale_set_priority: str or 1576 ~azure.mgmt.containerservice.v2020_07_01.models.ScaleSetPriority 1577 :param scale_set_eviction_policy: ScaleSetEvictionPolicy to be used to specify eviction policy 1578 for Spot virtual machine scale set. Default to Delete. Possible values include: "Delete", 1579 "Deallocate". Default value: "Delete". 1580 :type scale_set_eviction_policy: str or 1581 ~azure.mgmt.containerservice.v2020_07_01.models.ScaleSetEvictionPolicy 1582 :param spot_max_price: SpotMaxPrice to be used to specify the maximum price you are willing to 1583 pay in US Dollars. Possible values are any decimal value greater than zero or -1 which 1584 indicates default price to be up-to on-demand. 1585 :type spot_max_price: float 1586 :param tags: A set of tags. Agent pool tags to be persisted on the agent pool virtual machine 1587 scale set. 1588 :type tags: dict[str, str] 1589 :param node_labels: Agent pool node labels to be persisted across all nodes in agent pool. 1590 :type node_labels: dict[str, str] 1591 :param node_taints: Taints added to new nodes during node pool create and scale. For example, 1592 key=value:NoSchedule. 1593 :type node_taints: list[str] 1594 :param proximity_placement_group_id: The ID for Proximity Placement Group. 1595 :type proximity_placement_group_id: str 1596 """ 1597 1598 _validation = { 1599 'os_disk_size_gb': {'maximum': 1023, 'minimum': 0}, 1600 'node_image_version': {'readonly': True}, 1601 'provisioning_state': {'readonly': True}, 1602 } 1603 1604 _attribute_map = { 1605 'count': {'key': 'count', 'type': 'int'}, 1606 'vm_size': {'key': 'vmSize', 'type': 'str'}, 1607 'os_disk_size_gb': {'key': 'osDiskSizeGB', 'type': 'int'}, 1608 'vnet_subnet_id': {'key': 'vnetSubnetID', 'type': 'str'}, 1609 'max_pods': {'key': 'maxPods', 'type': 'int'}, 1610 'os_type': {'key': 'osType', 'type': 'str'}, 1611 'max_count': {'key': 'maxCount', 'type': 'int'}, 1612 'min_count': {'key': 'minCount', 'type': 'int'}, 1613 'enable_auto_scaling': {'key': 'enableAutoScaling', 'type': 'bool'}, 1614 'type': {'key': 'type', 'type': 'str'}, 1615 'mode': {'key': 'mode', 'type': 'str'}, 1616 'orchestrator_version': {'key': 'orchestratorVersion', 'type': 'str'}, 1617 'node_image_version': {'key': 'nodeImageVersion', 'type': 'str'}, 1618 'upgrade_settings': {'key': 'upgradeSettings', 'type': 'AgentPoolUpgradeSettings'}, 1619 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, 1620 'availability_zones': {'key': 'availabilityZones', 'type': '[str]'}, 1621 'enable_node_public_ip': {'key': 'enableNodePublicIP', 'type': 'bool'}, 1622 'scale_set_priority': {'key': 'scaleSetPriority', 'type': 'str'}, 1623 'scale_set_eviction_policy': {'key': 'scaleSetEvictionPolicy', 'type': 'str'}, 1624 'spot_max_price': {'key': 'spotMaxPrice', 'type': 'float'}, 1625 'tags': {'key': 'tags', 'type': '{str}'}, 1626 'node_labels': {'key': 'nodeLabels', 'type': '{str}'}, 1627 'node_taints': {'key': 'nodeTaints', 'type': '[str]'}, 1628 'proximity_placement_group_id': {'key': 'proximityPlacementGroupID', 'type': 'str'}, 1629 } 1630 1631 def __init__( 1632 self, 1633 *, 1634 count: Optional[int] = None, 1635 vm_size: Optional[Union[str, "ContainerServiceVMSizeTypes"]] = None, 1636 os_disk_size_gb: Optional[int] = None, 1637 vnet_subnet_id: Optional[str] = None, 1638 max_pods: Optional[int] = None, 1639 os_type: Optional[Union[str, "OSType"]] = "Linux", 1640 max_count: Optional[int] = None, 1641 min_count: Optional[int] = None, 1642 enable_auto_scaling: Optional[bool] = None, 1643 type: Optional[Union[str, "AgentPoolType"]] = None, 1644 mode: Optional[Union[str, "AgentPoolMode"]] = None, 1645 orchestrator_version: Optional[str] = None, 1646 upgrade_settings: Optional["AgentPoolUpgradeSettings"] = None, 1647 availability_zones: Optional[List[str]] = None, 1648 enable_node_public_ip: Optional[bool] = None, 1649 scale_set_priority: Optional[Union[str, "ScaleSetPriority"]] = "Regular", 1650 scale_set_eviction_policy: Optional[Union[str, "ScaleSetEvictionPolicy"]] = "Delete", 1651 spot_max_price: Optional[float] = -1, 1652 tags: Optional[Dict[str, str]] = None, 1653 node_labels: Optional[Dict[str, str]] = None, 1654 node_taints: Optional[List[str]] = None, 1655 proximity_placement_group_id: Optional[str] = None, 1656 **kwargs 1657 ): 1658 super(ManagedClusterAgentPoolProfileProperties, self).__init__(**kwargs) 1659 self.count = count 1660 self.vm_size = vm_size 1661 self.os_disk_size_gb = os_disk_size_gb 1662 self.vnet_subnet_id = vnet_subnet_id 1663 self.max_pods = max_pods 1664 self.os_type = os_type 1665 self.max_count = max_count 1666 self.min_count = min_count 1667 self.enable_auto_scaling = enable_auto_scaling 1668 self.type = type 1669 self.mode = mode 1670 self.orchestrator_version = orchestrator_version 1671 self.node_image_version = None 1672 self.upgrade_settings = upgrade_settings 1673 self.provisioning_state = None 1674 self.availability_zones = availability_zones 1675 self.enable_node_public_ip = enable_node_public_ip 1676 self.scale_set_priority = scale_set_priority 1677 self.scale_set_eviction_policy = scale_set_eviction_policy 1678 self.spot_max_price = spot_max_price 1679 self.tags = tags 1680 self.node_labels = node_labels 1681 self.node_taints = node_taints 1682 self.proximity_placement_group_id = proximity_placement_group_id 1683 1684 1685class ManagedClusterAgentPoolProfile(ManagedClusterAgentPoolProfileProperties): 1686 """Profile for the container service agent pool. 1687 1688 Variables are only populated by the server, and will be ignored when sending a request. 1689 1690 All required parameters must be populated in order to send to Azure. 1691 1692 :param count: Number of agents (VMs) to host docker containers. Allowed values must be in the 1693 range of 0 to 100 (inclusive) for user pools and in the range of 1 to 100 (inclusive) for 1694 system pools. The default value is 1. 1695 :type count: int 1696 :param vm_size: Size of agent VMs. Possible values include: "Standard_A1", "Standard_A10", 1697 "Standard_A11", "Standard_A1_v2", "Standard_A2", "Standard_A2_v2", "Standard_A2m_v2", 1698 "Standard_A3", "Standard_A4", "Standard_A4_v2", "Standard_A4m_v2", "Standard_A5", 1699 "Standard_A6", "Standard_A7", "Standard_A8", "Standard_A8_v2", "Standard_A8m_v2", 1700 "Standard_A9", "Standard_B2ms", "Standard_B2s", "Standard_B4ms", "Standard_B8ms", 1701 "Standard_D1", "Standard_D11", "Standard_D11_v2", "Standard_D11_v2_Promo", "Standard_D12", 1702 "Standard_D12_v2", "Standard_D12_v2_Promo", "Standard_D13", "Standard_D13_v2", 1703 "Standard_D13_v2_Promo", "Standard_D14", "Standard_D14_v2", "Standard_D14_v2_Promo", 1704 "Standard_D15_v2", "Standard_D16_v3", "Standard_D16s_v3", "Standard_D1_v2", "Standard_D2", 1705 "Standard_D2_v2", "Standard_D2_v2_Promo", "Standard_D2_v3", "Standard_D2s_v3", "Standard_D3", 1706 "Standard_D32_v3", "Standard_D32s_v3", "Standard_D3_v2", "Standard_D3_v2_Promo", "Standard_D4", 1707 "Standard_D4_v2", "Standard_D4_v2_Promo", "Standard_D4_v3", "Standard_D4s_v3", 1708 "Standard_D5_v2", "Standard_D5_v2_Promo", "Standard_D64_v3", "Standard_D64s_v3", 1709 "Standard_D8_v3", "Standard_D8s_v3", "Standard_DS1", "Standard_DS11", "Standard_DS11_v2", 1710 "Standard_DS11_v2_Promo", "Standard_DS12", "Standard_DS12_v2", "Standard_DS12_v2_Promo", 1711 "Standard_DS13", "Standard_DS13-2_v2", "Standard_DS13-4_v2", "Standard_DS13_v2", 1712 "Standard_DS13_v2_Promo", "Standard_DS14", "Standard_DS14-4_v2", "Standard_DS14-8_v2", 1713 "Standard_DS14_v2", "Standard_DS14_v2_Promo", "Standard_DS15_v2", "Standard_DS1_v2", 1714 "Standard_DS2", "Standard_DS2_v2", "Standard_DS2_v2_Promo", "Standard_DS3", "Standard_DS3_v2", 1715 "Standard_DS3_v2_Promo", "Standard_DS4", "Standard_DS4_v2", "Standard_DS4_v2_Promo", 1716 "Standard_DS5_v2", "Standard_DS5_v2_Promo", "Standard_E16_v3", "Standard_E16s_v3", 1717 "Standard_E2_v3", "Standard_E2s_v3", "Standard_E32-16s_v3", "Standard_E32-8s_v3", 1718 "Standard_E32_v3", "Standard_E32s_v3", "Standard_E4_v3", "Standard_E4s_v3", 1719 "Standard_E64-16s_v3", "Standard_E64-32s_v3", "Standard_E64_v3", "Standard_E64s_v3", 1720 "Standard_E8_v3", "Standard_E8s_v3", "Standard_F1", "Standard_F16", "Standard_F16s", 1721 "Standard_F16s_v2", "Standard_F1s", "Standard_F2", "Standard_F2s", "Standard_F2s_v2", 1722 "Standard_F32s_v2", "Standard_F4", "Standard_F4s", "Standard_F4s_v2", "Standard_F64s_v2", 1723 "Standard_F72s_v2", "Standard_F8", "Standard_F8s", "Standard_F8s_v2", "Standard_G1", 1724 "Standard_G2", "Standard_G3", "Standard_G4", "Standard_G5", "Standard_GS1", "Standard_GS2", 1725 "Standard_GS3", "Standard_GS4", "Standard_GS4-4", "Standard_GS4-8", "Standard_GS5", 1726 "Standard_GS5-16", "Standard_GS5-8", "Standard_H16", "Standard_H16m", "Standard_H16mr", 1727 "Standard_H16r", "Standard_H8", "Standard_H8m", "Standard_L16s", "Standard_L32s", 1728 "Standard_L4s", "Standard_L8s", "Standard_M128-32ms", "Standard_M128-64ms", "Standard_M128ms", 1729 "Standard_M128s", "Standard_M64-16ms", "Standard_M64-32ms", "Standard_M64ms", "Standard_M64s", 1730 "Standard_NC12", "Standard_NC12s_v2", "Standard_NC12s_v3", "Standard_NC24", "Standard_NC24r", 1731 "Standard_NC24rs_v2", "Standard_NC24rs_v3", "Standard_NC24s_v2", "Standard_NC24s_v3", 1732 "Standard_NC6", "Standard_NC6s_v2", "Standard_NC6s_v3", "Standard_ND12s", "Standard_ND24rs", 1733 "Standard_ND24s", "Standard_ND6s", "Standard_NV12", "Standard_NV24", "Standard_NV6". 1734 :type vm_size: str or 1735 ~azure.mgmt.containerservice.v2020_07_01.models.ContainerServiceVMSizeTypes 1736 :param os_disk_size_gb: OS Disk Size in GB to be used to specify the disk size for every 1737 machine in this master/agent pool. If you specify 0, it will apply the default osDisk size 1738 according to the vmSize specified. 1739 :type os_disk_size_gb: int 1740 :param vnet_subnet_id: VNet SubnetID specifies the VNet's subnet identifier. 1741 :type vnet_subnet_id: str 1742 :param max_pods: Maximum number of pods that can run on a node. 1743 :type max_pods: int 1744 :param os_type: OsType to be used to specify os type. Choose from Linux and Windows. Default to 1745 Linux. Possible values include: "Linux", "Windows". Default value: "Linux". 1746 :type os_type: str or ~azure.mgmt.containerservice.v2020_07_01.models.OSType 1747 :param max_count: Maximum number of nodes for auto-scaling. 1748 :type max_count: int 1749 :param min_count: Minimum number of nodes for auto-scaling. 1750 :type min_count: int 1751 :param enable_auto_scaling: Whether to enable auto-scaler. 1752 :type enable_auto_scaling: bool 1753 :param type: AgentPoolType represents types of an agent pool. Possible values include: 1754 "VirtualMachineScaleSets", "AvailabilitySet". 1755 :type type: str or ~azure.mgmt.containerservice.v2020_07_01.models.AgentPoolType 1756 :param mode: AgentPoolMode represents mode of an agent pool. Possible values include: "System", 1757 "User". 1758 :type mode: str or ~azure.mgmt.containerservice.v2020_07_01.models.AgentPoolMode 1759 :param orchestrator_version: Version of orchestrator specified when creating the managed 1760 cluster. 1761 :type orchestrator_version: str 1762 :ivar node_image_version: Version of node image. 1763 :vartype node_image_version: str 1764 :param upgrade_settings: Settings for upgrading the agentpool. 1765 :type upgrade_settings: 1766 ~azure.mgmt.containerservice.v2020_07_01.models.AgentPoolUpgradeSettings 1767 :ivar provisioning_state: The current deployment or provisioning state, which only appears in 1768 the response. 1769 :vartype provisioning_state: str 1770 :param availability_zones: Availability zones for nodes. Must use VirtualMachineScaleSets 1771 AgentPoolType. 1772 :type availability_zones: list[str] 1773 :param enable_node_public_ip: Enable public IP for nodes. 1774 :type enable_node_public_ip: bool 1775 :param scale_set_priority: ScaleSetPriority to be used to specify virtual machine scale set 1776 priority. Default to regular. Possible values include: "Spot", "Regular". Default value: 1777 "Regular". 1778 :type scale_set_priority: str or 1779 ~azure.mgmt.containerservice.v2020_07_01.models.ScaleSetPriority 1780 :param scale_set_eviction_policy: ScaleSetEvictionPolicy to be used to specify eviction policy 1781 for Spot virtual machine scale set. Default to Delete. Possible values include: "Delete", 1782 "Deallocate". Default value: "Delete". 1783 :type scale_set_eviction_policy: str or 1784 ~azure.mgmt.containerservice.v2020_07_01.models.ScaleSetEvictionPolicy 1785 :param spot_max_price: SpotMaxPrice to be used to specify the maximum price you are willing to 1786 pay in US Dollars. Possible values are any decimal value greater than zero or -1 which 1787 indicates default price to be up-to on-demand. 1788 :type spot_max_price: float 1789 :param tags: A set of tags. Agent pool tags to be persisted on the agent pool virtual machine 1790 scale set. 1791 :type tags: dict[str, str] 1792 :param node_labels: Agent pool node labels to be persisted across all nodes in agent pool. 1793 :type node_labels: dict[str, str] 1794 :param node_taints: Taints added to new nodes during node pool create and scale. For example, 1795 key=value:NoSchedule. 1796 :type node_taints: list[str] 1797 :param proximity_placement_group_id: The ID for Proximity Placement Group. 1798 :type proximity_placement_group_id: str 1799 :param name: Required. Unique name of the agent pool profile in the context of the subscription 1800 and resource group. 1801 :type name: str 1802 """ 1803 1804 _validation = { 1805 'os_disk_size_gb': {'maximum': 1023, 'minimum': 0}, 1806 'node_image_version': {'readonly': True}, 1807 'provisioning_state': {'readonly': True}, 1808 'name': {'required': True, 'pattern': r'^[a-z][a-z0-9]{0,11}$'}, 1809 } 1810 1811 _attribute_map = { 1812 'count': {'key': 'count', 'type': 'int'}, 1813 'vm_size': {'key': 'vmSize', 'type': 'str'}, 1814 'os_disk_size_gb': {'key': 'osDiskSizeGB', 'type': 'int'}, 1815 'vnet_subnet_id': {'key': 'vnetSubnetID', 'type': 'str'}, 1816 'max_pods': {'key': 'maxPods', 'type': 'int'}, 1817 'os_type': {'key': 'osType', 'type': 'str'}, 1818 'max_count': {'key': 'maxCount', 'type': 'int'}, 1819 'min_count': {'key': 'minCount', 'type': 'int'}, 1820 'enable_auto_scaling': {'key': 'enableAutoScaling', 'type': 'bool'}, 1821 'type': {'key': 'type', 'type': 'str'}, 1822 'mode': {'key': 'mode', 'type': 'str'}, 1823 'orchestrator_version': {'key': 'orchestratorVersion', 'type': 'str'}, 1824 'node_image_version': {'key': 'nodeImageVersion', 'type': 'str'}, 1825 'upgrade_settings': {'key': 'upgradeSettings', 'type': 'AgentPoolUpgradeSettings'}, 1826 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, 1827 'availability_zones': {'key': 'availabilityZones', 'type': '[str]'}, 1828 'enable_node_public_ip': {'key': 'enableNodePublicIP', 'type': 'bool'}, 1829 'scale_set_priority': {'key': 'scaleSetPriority', 'type': 'str'}, 1830 'scale_set_eviction_policy': {'key': 'scaleSetEvictionPolicy', 'type': 'str'}, 1831 'spot_max_price': {'key': 'spotMaxPrice', 'type': 'float'}, 1832 'tags': {'key': 'tags', 'type': '{str}'}, 1833 'node_labels': {'key': 'nodeLabels', 'type': '{str}'}, 1834 'node_taints': {'key': 'nodeTaints', 'type': '[str]'}, 1835 'proximity_placement_group_id': {'key': 'proximityPlacementGroupID', 'type': 'str'}, 1836 'name': {'key': 'name', 'type': 'str'}, 1837 } 1838 1839 def __init__( 1840 self, 1841 *, 1842 name: str, 1843 count: Optional[int] = None, 1844 vm_size: Optional[Union[str, "ContainerServiceVMSizeTypes"]] = None, 1845 os_disk_size_gb: Optional[int] = None, 1846 vnet_subnet_id: Optional[str] = None, 1847 max_pods: Optional[int] = None, 1848 os_type: Optional[Union[str, "OSType"]] = "Linux", 1849 max_count: Optional[int] = None, 1850 min_count: Optional[int] = None, 1851 enable_auto_scaling: Optional[bool] = None, 1852 type: Optional[Union[str, "AgentPoolType"]] = None, 1853 mode: Optional[Union[str, "AgentPoolMode"]] = None, 1854 orchestrator_version: Optional[str] = None, 1855 upgrade_settings: Optional["AgentPoolUpgradeSettings"] = None, 1856 availability_zones: Optional[List[str]] = None, 1857 enable_node_public_ip: Optional[bool] = None, 1858 scale_set_priority: Optional[Union[str, "ScaleSetPriority"]] = "Regular", 1859 scale_set_eviction_policy: Optional[Union[str, "ScaleSetEvictionPolicy"]] = "Delete", 1860 spot_max_price: Optional[float] = -1, 1861 tags: Optional[Dict[str, str]] = None, 1862 node_labels: Optional[Dict[str, str]] = None, 1863 node_taints: Optional[List[str]] = None, 1864 proximity_placement_group_id: Optional[str] = None, 1865 **kwargs 1866 ): 1867 super(ManagedClusterAgentPoolProfile, self).__init__(count=count, vm_size=vm_size, os_disk_size_gb=os_disk_size_gb, vnet_subnet_id=vnet_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, **kwargs) 1868 self.name = name 1869 1870 1871class ManagedClusterAPIServerAccessProfile(msrest.serialization.Model): 1872 """Access profile for managed cluster API server. 1873 1874 :param authorized_ip_ranges: Authorized IP Ranges to kubernetes API server. 1875 :type authorized_ip_ranges: list[str] 1876 :param enable_private_cluster: Whether to create the cluster as a private cluster or not. 1877 :type enable_private_cluster: bool 1878 """ 1879 1880 _attribute_map = { 1881 'authorized_ip_ranges': {'key': 'authorizedIPRanges', 'type': '[str]'}, 1882 'enable_private_cluster': {'key': 'enablePrivateCluster', 'type': 'bool'}, 1883 } 1884 1885 def __init__( 1886 self, 1887 *, 1888 authorized_ip_ranges: Optional[List[str]] = None, 1889 enable_private_cluster: Optional[bool] = None, 1890 **kwargs 1891 ): 1892 super(ManagedClusterAPIServerAccessProfile, self).__init__(**kwargs) 1893 self.authorized_ip_ranges = authorized_ip_ranges 1894 self.enable_private_cluster = enable_private_cluster 1895 1896 1897class ManagedClusterIdentity(msrest.serialization.Model): 1898 """Identity for the managed cluster. 1899 1900 Variables are only populated by the server, and will be ignored when sending a request. 1901 1902 :ivar principal_id: The principal id of the system assigned identity which is used by master 1903 components. 1904 :vartype principal_id: str 1905 :ivar tenant_id: The tenant id of the system assigned identity which is used by master 1906 components. 1907 :vartype tenant_id: str 1908 :param type: The type of identity used for the managed cluster. Type 'SystemAssigned' will use 1909 an implicitly created identity in master components and an auto-created user assigned identity 1910 in MC_ resource group in agent nodes. Type 'None' will not use MSI for the managed cluster, 1911 service principal will be used instead. Possible values include: "SystemAssigned", 1912 "UserAssigned", "None". 1913 :type type: str or ~azure.mgmt.containerservice.v2020_07_01.models.ResourceIdentityType 1914 :param user_assigned_identities: The user identity associated with the managed cluster. This 1915 identity will be used in control plane and only one user assigned identity is allowed. The user 1916 identity dictionary key references will be ARM resource ids in the form: 1917 '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. 1918 :type user_assigned_identities: dict[str, 1919 ~azure.mgmt.containerservice.v2020_07_01.models.ManagedClusterIdentityUserAssignedIdentitiesValue] 1920 """ 1921 1922 _validation = { 1923 'principal_id': {'readonly': True}, 1924 'tenant_id': {'readonly': True}, 1925 } 1926 1927 _attribute_map = { 1928 'principal_id': {'key': 'principalId', 'type': 'str'}, 1929 'tenant_id': {'key': 'tenantId', 'type': 'str'}, 1930 'type': {'key': 'type', 'type': 'str'}, 1931 'user_assigned_identities': {'key': 'userAssignedIdentities', 'type': '{ManagedClusterIdentityUserAssignedIdentitiesValue}'}, 1932 } 1933 1934 def __init__( 1935 self, 1936 *, 1937 type: Optional[Union[str, "ResourceIdentityType"]] = None, 1938 user_assigned_identities: Optional[Dict[str, "ManagedClusterIdentityUserAssignedIdentitiesValue"]] = None, 1939 **kwargs 1940 ): 1941 super(ManagedClusterIdentity, self).__init__(**kwargs) 1942 self.principal_id = None 1943 self.tenant_id = None 1944 self.type = type 1945 self.user_assigned_identities = user_assigned_identities 1946 1947 1948class ManagedClusterIdentityUserAssignedIdentitiesValue(msrest.serialization.Model): 1949 """ManagedClusterIdentityUserAssignedIdentitiesValue. 1950 1951 Variables are only populated by the server, and will be ignored when sending a request. 1952 1953 :ivar principal_id: The principal id of user assigned identity. 1954 :vartype principal_id: str 1955 :ivar client_id: The client id of user assigned identity. 1956 :vartype client_id: str 1957 """ 1958 1959 _validation = { 1960 'principal_id': {'readonly': True}, 1961 'client_id': {'readonly': True}, 1962 } 1963 1964 _attribute_map = { 1965 'principal_id': {'key': 'principalId', 'type': 'str'}, 1966 'client_id': {'key': 'clientId', 'type': 'str'}, 1967 } 1968 1969 def __init__( 1970 self, 1971 **kwargs 1972 ): 1973 super(ManagedClusterIdentityUserAssignedIdentitiesValue, self).__init__(**kwargs) 1974 self.principal_id = None 1975 self.client_id = None 1976 1977 1978class ManagedClusterListResult(msrest.serialization.Model): 1979 """The response from the List Managed Clusters operation. 1980 1981 Variables are only populated by the server, and will be ignored when sending a request. 1982 1983 :param value: The list of managed clusters. 1984 :type value: list[~azure.mgmt.containerservice.v2020_07_01.models.ManagedCluster] 1985 :ivar next_link: The URL to get the next set of managed cluster results. 1986 :vartype next_link: str 1987 """ 1988 1989 _validation = { 1990 'next_link': {'readonly': True}, 1991 } 1992 1993 _attribute_map = { 1994 'value': {'key': 'value', 'type': '[ManagedCluster]'}, 1995 'next_link': {'key': 'nextLink', 'type': 'str'}, 1996 } 1997 1998 def __init__( 1999 self, 2000 *, 2001 value: Optional[List["ManagedCluster"]] = None, 2002 **kwargs 2003 ): 2004 super(ManagedClusterListResult, self).__init__(**kwargs) 2005 self.value = value 2006 self.next_link = None 2007 2008 2009class ManagedClusterLoadBalancerProfile(msrest.serialization.Model): 2010 """Profile of the managed cluster load balancer. 2011 2012 :param managed_outbound_i_ps: Desired managed outbound IPs for the cluster load balancer. 2013 :type managed_outbound_i_ps: 2014 ~azure.mgmt.containerservice.v2020_07_01.models.ManagedClusterLoadBalancerProfileManagedOutboundIPs 2015 :param outbound_ip_prefixes: Desired outbound IP Prefix resources for the cluster load 2016 balancer. 2017 :type outbound_ip_prefixes: 2018 ~azure.mgmt.containerservice.v2020_07_01.models.ManagedClusterLoadBalancerProfileOutboundIPPrefixes 2019 :param outbound_i_ps: Desired outbound IP resources for the cluster load balancer. 2020 :type outbound_i_ps: 2021 ~azure.mgmt.containerservice.v2020_07_01.models.ManagedClusterLoadBalancerProfileOutboundIPs 2022 :param effective_outbound_i_ps: The effective outbound IP resources of the cluster load 2023 balancer. 2024 :type effective_outbound_i_ps: 2025 list[~azure.mgmt.containerservice.v2020_07_01.models.ResourceReference] 2026 :param allocated_outbound_ports: Desired number of allocated SNAT ports per VM. Allowed values 2027 must be in the range of 0 to 64000 (inclusive). The default value is 0 which results in Azure 2028 dynamically allocating ports. 2029 :type allocated_outbound_ports: int 2030 :param idle_timeout_in_minutes: Desired outbound flow idle timeout in minutes. Allowed values 2031 must be in the range of 4 to 120 (inclusive). The default value is 30 minutes. 2032 :type idle_timeout_in_minutes: int 2033 """ 2034 2035 _validation = { 2036 'allocated_outbound_ports': {'maximum': 64000, 'minimum': 0}, 2037 'idle_timeout_in_minutes': {'maximum': 120, 'minimum': 4}, 2038 } 2039 2040 _attribute_map = { 2041 'managed_outbound_i_ps': {'key': 'managedOutboundIPs', 'type': 'ManagedClusterLoadBalancerProfileManagedOutboundIPs'}, 2042 'outbound_ip_prefixes': {'key': 'outboundIPPrefixes', 'type': 'ManagedClusterLoadBalancerProfileOutboundIPPrefixes'}, 2043 'outbound_i_ps': {'key': 'outboundIPs', 'type': 'ManagedClusterLoadBalancerProfileOutboundIPs'}, 2044 'effective_outbound_i_ps': {'key': 'effectiveOutboundIPs', 'type': '[ResourceReference]'}, 2045 'allocated_outbound_ports': {'key': 'allocatedOutboundPorts', 'type': 'int'}, 2046 'idle_timeout_in_minutes': {'key': 'idleTimeoutInMinutes', 'type': 'int'}, 2047 } 2048 2049 def __init__( 2050 self, 2051 *, 2052 managed_outbound_i_ps: Optional["ManagedClusterLoadBalancerProfileManagedOutboundIPs"] = None, 2053 outbound_ip_prefixes: Optional["ManagedClusterLoadBalancerProfileOutboundIPPrefixes"] = None, 2054 outbound_i_ps: Optional["ManagedClusterLoadBalancerProfileOutboundIPs"] = None, 2055 effective_outbound_i_ps: Optional[List["ResourceReference"]] = None, 2056 allocated_outbound_ports: Optional[int] = 0, 2057 idle_timeout_in_minutes: Optional[int] = 30, 2058 **kwargs 2059 ): 2060 super(ManagedClusterLoadBalancerProfile, self).__init__(**kwargs) 2061 self.managed_outbound_i_ps = managed_outbound_i_ps 2062 self.outbound_ip_prefixes = outbound_ip_prefixes 2063 self.outbound_i_ps = outbound_i_ps 2064 self.effective_outbound_i_ps = effective_outbound_i_ps 2065 self.allocated_outbound_ports = allocated_outbound_ports 2066 self.idle_timeout_in_minutes = idle_timeout_in_minutes 2067 2068 2069class ManagedClusterLoadBalancerProfileManagedOutboundIPs(msrest.serialization.Model): 2070 """Desired managed outbound IPs for the cluster load balancer. 2071 2072 :param count: Desired number of outbound IP created/managed by Azure for the cluster load 2073 balancer. Allowed values must be in the range of 1 to 100 (inclusive). The default value is 1. 2074 :type count: int 2075 """ 2076 2077 _validation = { 2078 'count': {'maximum': 100, 'minimum': 1}, 2079 } 2080 2081 _attribute_map = { 2082 'count': {'key': 'count', 'type': 'int'}, 2083 } 2084 2085 def __init__( 2086 self, 2087 *, 2088 count: Optional[int] = 1, 2089 **kwargs 2090 ): 2091 super(ManagedClusterLoadBalancerProfileManagedOutboundIPs, self).__init__(**kwargs) 2092 self.count = count 2093 2094 2095class ManagedClusterLoadBalancerProfileOutboundIPPrefixes(msrest.serialization.Model): 2096 """Desired outbound IP Prefix resources for the cluster load balancer. 2097 2098 :param public_ip_prefixes: A list of public IP prefix resources. 2099 :type public_ip_prefixes: 2100 list[~azure.mgmt.containerservice.v2020_07_01.models.ResourceReference] 2101 """ 2102 2103 _attribute_map = { 2104 'public_ip_prefixes': {'key': 'publicIPPrefixes', 'type': '[ResourceReference]'}, 2105 } 2106 2107 def __init__( 2108 self, 2109 *, 2110 public_ip_prefixes: Optional[List["ResourceReference"]] = None, 2111 **kwargs 2112 ): 2113 super(ManagedClusterLoadBalancerProfileOutboundIPPrefixes, self).__init__(**kwargs) 2114 self.public_ip_prefixes = public_ip_prefixes 2115 2116 2117class ManagedClusterLoadBalancerProfileOutboundIPs(msrest.serialization.Model): 2118 """Desired outbound IP resources for the cluster load balancer. 2119 2120 :param public_i_ps: A list of public IP resources. 2121 :type public_i_ps: list[~azure.mgmt.containerservice.v2020_07_01.models.ResourceReference] 2122 """ 2123 2124 _attribute_map = { 2125 'public_i_ps': {'key': 'publicIPs', 'type': '[ResourceReference]'}, 2126 } 2127 2128 def __init__( 2129 self, 2130 *, 2131 public_i_ps: Optional[List["ResourceReference"]] = None, 2132 **kwargs 2133 ): 2134 super(ManagedClusterLoadBalancerProfileOutboundIPs, self).__init__(**kwargs) 2135 self.public_i_ps = public_i_ps 2136 2137 2138class ManagedClusterPoolUpgradeProfile(msrest.serialization.Model): 2139 """The list of available upgrade versions. 2140 2141 All required parameters must be populated in order to send to Azure. 2142 2143 :param kubernetes_version: Required. Kubernetes version (major, minor, patch). 2144 :type kubernetes_version: str 2145 :param name: Pool name. 2146 :type name: str 2147 :param os_type: Required. OsType to be used to specify os type. Choose from Linux and Windows. 2148 Default to Linux. Possible values include: "Linux", "Windows". Default value: "Linux". 2149 :type os_type: str or ~azure.mgmt.containerservice.v2020_07_01.models.OSType 2150 :param upgrades: List of orchestrator types and versions available for upgrade. 2151 :type upgrades: 2152 list[~azure.mgmt.containerservice.v2020_07_01.models.ManagedClusterPoolUpgradeProfileUpgradesItem] 2153 """ 2154 2155 _validation = { 2156 'kubernetes_version': {'required': True}, 2157 'os_type': {'required': True}, 2158 } 2159 2160 _attribute_map = { 2161 'kubernetes_version': {'key': 'kubernetesVersion', 'type': 'str'}, 2162 'name': {'key': 'name', 'type': 'str'}, 2163 'os_type': {'key': 'osType', 'type': 'str'}, 2164 'upgrades': {'key': 'upgrades', 'type': '[ManagedClusterPoolUpgradeProfileUpgradesItem]'}, 2165 } 2166 2167 def __init__( 2168 self, 2169 *, 2170 kubernetes_version: str, 2171 os_type: Union[str, "OSType"] = "Linux", 2172 name: Optional[str] = None, 2173 upgrades: Optional[List["ManagedClusterPoolUpgradeProfileUpgradesItem"]] = None, 2174 **kwargs 2175 ): 2176 super(ManagedClusterPoolUpgradeProfile, self).__init__(**kwargs) 2177 self.kubernetes_version = kubernetes_version 2178 self.name = name 2179 self.os_type = os_type 2180 self.upgrades = upgrades 2181 2182 2183class ManagedClusterPoolUpgradeProfileUpgradesItem(msrest.serialization.Model): 2184 """ManagedClusterPoolUpgradeProfileUpgradesItem. 2185 2186 :param kubernetes_version: Kubernetes version (major, minor, patch). 2187 :type kubernetes_version: str 2188 :param is_preview: Whether Kubernetes version is currently in preview. 2189 :type is_preview: bool 2190 """ 2191 2192 _attribute_map = { 2193 'kubernetes_version': {'key': 'kubernetesVersion', 'type': 'str'}, 2194 'is_preview': {'key': 'isPreview', 'type': 'bool'}, 2195 } 2196 2197 def __init__( 2198 self, 2199 *, 2200 kubernetes_version: Optional[str] = None, 2201 is_preview: Optional[bool] = None, 2202 **kwargs 2203 ): 2204 super(ManagedClusterPoolUpgradeProfileUpgradesItem, self).__init__(**kwargs) 2205 self.kubernetes_version = kubernetes_version 2206 self.is_preview = is_preview 2207 2208 2209class ManagedClusterPropertiesAutoScalerProfile(msrest.serialization.Model): 2210 """Parameters to be applied to the cluster-autoscaler when enabled. 2211 2212 :param balance_similar_node_groups: 2213 :type balance_similar_node_groups: str 2214 :param scan_interval: 2215 :type scan_interval: str 2216 :param scale_down_delay_after_add: 2217 :type scale_down_delay_after_add: str 2218 :param scale_down_delay_after_delete: 2219 :type scale_down_delay_after_delete: str 2220 :param scale_down_delay_after_failure: 2221 :type scale_down_delay_after_failure: str 2222 :param scale_down_unneeded_time: 2223 :type scale_down_unneeded_time: str 2224 :param scale_down_unready_time: 2225 :type scale_down_unready_time: str 2226 :param scale_down_utilization_threshold: 2227 :type scale_down_utilization_threshold: str 2228 :param max_graceful_termination_sec: 2229 :type max_graceful_termination_sec: str 2230 """ 2231 2232 _attribute_map = { 2233 'balance_similar_node_groups': {'key': 'balance-similar-node-groups', 'type': 'str'}, 2234 'scan_interval': {'key': 'scan-interval', 'type': 'str'}, 2235 'scale_down_delay_after_add': {'key': 'scale-down-delay-after-add', 'type': 'str'}, 2236 'scale_down_delay_after_delete': {'key': 'scale-down-delay-after-delete', 'type': 'str'}, 2237 'scale_down_delay_after_failure': {'key': 'scale-down-delay-after-failure', 'type': 'str'}, 2238 'scale_down_unneeded_time': {'key': 'scale-down-unneeded-time', 'type': 'str'}, 2239 'scale_down_unready_time': {'key': 'scale-down-unready-time', 'type': 'str'}, 2240 'scale_down_utilization_threshold': {'key': 'scale-down-utilization-threshold', 'type': 'str'}, 2241 'max_graceful_termination_sec': {'key': 'max-graceful-termination-sec', 'type': 'str'}, 2242 } 2243 2244 def __init__( 2245 self, 2246 *, 2247 balance_similar_node_groups: Optional[str] = None, 2248 scan_interval: Optional[str] = None, 2249 scale_down_delay_after_add: Optional[str] = None, 2250 scale_down_delay_after_delete: Optional[str] = None, 2251 scale_down_delay_after_failure: Optional[str] = None, 2252 scale_down_unneeded_time: Optional[str] = None, 2253 scale_down_unready_time: Optional[str] = None, 2254 scale_down_utilization_threshold: Optional[str] = None, 2255 max_graceful_termination_sec: Optional[str] = None, 2256 **kwargs 2257 ): 2258 super(ManagedClusterPropertiesAutoScalerProfile, self).__init__(**kwargs) 2259 self.balance_similar_node_groups = balance_similar_node_groups 2260 self.scan_interval = scan_interval 2261 self.scale_down_delay_after_add = scale_down_delay_after_add 2262 self.scale_down_delay_after_delete = scale_down_delay_after_delete 2263 self.scale_down_delay_after_failure = scale_down_delay_after_failure 2264 self.scale_down_unneeded_time = scale_down_unneeded_time 2265 self.scale_down_unready_time = scale_down_unready_time 2266 self.scale_down_utilization_threshold = scale_down_utilization_threshold 2267 self.max_graceful_termination_sec = max_graceful_termination_sec 2268 2269 2270class ManagedClusterPropertiesIdentityProfileValue(UserAssignedIdentity): 2271 """ManagedClusterPropertiesIdentityProfileValue. 2272 2273 :param resource_id: The resource id of the user assigned identity. 2274 :type resource_id: str 2275 :param client_id: The client id of the user assigned identity. 2276 :type client_id: str 2277 :param object_id: The object id of the user assigned identity. 2278 :type object_id: str 2279 """ 2280 2281 _attribute_map = { 2282 'resource_id': {'key': 'resourceId', 'type': 'str'}, 2283 'client_id': {'key': 'clientId', 'type': 'str'}, 2284 'object_id': {'key': 'objectId', 'type': 'str'}, 2285 } 2286 2287 def __init__( 2288 self, 2289 *, 2290 resource_id: Optional[str] = None, 2291 client_id: Optional[str] = None, 2292 object_id: Optional[str] = None, 2293 **kwargs 2294 ): 2295 super(ManagedClusterPropertiesIdentityProfileValue, self).__init__(resource_id=resource_id, client_id=client_id, object_id=object_id, **kwargs) 2296 2297 2298class ManagedClusterServicePrincipalProfile(msrest.serialization.Model): 2299 """Information about a service principal identity for the cluster to use for manipulating Azure APIs. 2300 2301 All required parameters must be populated in order to send to Azure. 2302 2303 :param client_id: Required. The ID for the service principal. 2304 :type client_id: str 2305 :param secret: The secret password associated with the service principal in plain text. 2306 :type secret: str 2307 """ 2308 2309 _validation = { 2310 'client_id': {'required': True}, 2311 } 2312 2313 _attribute_map = { 2314 'client_id': {'key': 'clientId', 'type': 'str'}, 2315 'secret': {'key': 'secret', 'type': 'str'}, 2316 } 2317 2318 def __init__( 2319 self, 2320 *, 2321 client_id: str, 2322 secret: Optional[str] = None, 2323 **kwargs 2324 ): 2325 super(ManagedClusterServicePrincipalProfile, self).__init__(**kwargs) 2326 self.client_id = client_id 2327 self.secret = secret 2328 2329 2330class ManagedClusterSKU(msrest.serialization.Model): 2331 """ManagedClusterSKU. 2332 2333 :param name: Name of a managed cluster SKU. Possible values include: "Basic". 2334 :type name: str or ~azure.mgmt.containerservice.v2020_07_01.models.ManagedClusterSKUName 2335 :param tier: Tier of a managed cluster SKU. Possible values include: "Paid", "Free". 2336 :type tier: str or ~azure.mgmt.containerservice.v2020_07_01.models.ManagedClusterSKUTier 2337 """ 2338 2339 _attribute_map = { 2340 'name': {'key': 'name', 'type': 'str'}, 2341 'tier': {'key': 'tier', 'type': 'str'}, 2342 } 2343 2344 def __init__( 2345 self, 2346 *, 2347 name: Optional[Union[str, "ManagedClusterSKUName"]] = None, 2348 tier: Optional[Union[str, "ManagedClusterSKUTier"]] = None, 2349 **kwargs 2350 ): 2351 super(ManagedClusterSKU, self).__init__(**kwargs) 2352 self.name = name 2353 self.tier = tier 2354 2355 2356class ManagedClusterUpgradeProfile(msrest.serialization.Model): 2357 """The list of available upgrades for compute pools. 2358 2359 Variables are only populated by the server, and will be ignored when sending a request. 2360 2361 All required parameters must be populated in order to send to Azure. 2362 2363 :ivar id: Id of upgrade profile. 2364 :vartype id: str 2365 :ivar name: Name of upgrade profile. 2366 :vartype name: str 2367 :ivar type: Type of upgrade profile. 2368 :vartype type: str 2369 :param control_plane_profile: Required. The list of available upgrade versions for the control 2370 plane. 2371 :type control_plane_profile: 2372 ~azure.mgmt.containerservice.v2020_07_01.models.ManagedClusterPoolUpgradeProfile 2373 :param agent_pool_profiles: Required. The list of available upgrade versions for agent pools. 2374 :type agent_pool_profiles: 2375 list[~azure.mgmt.containerservice.v2020_07_01.models.ManagedClusterPoolUpgradeProfile] 2376 """ 2377 2378 _validation = { 2379 'id': {'readonly': True}, 2380 'name': {'readonly': True}, 2381 'type': {'readonly': True}, 2382 'control_plane_profile': {'required': True}, 2383 'agent_pool_profiles': {'required': True}, 2384 } 2385 2386 _attribute_map = { 2387 'id': {'key': 'id', 'type': 'str'}, 2388 'name': {'key': 'name', 'type': 'str'}, 2389 'type': {'key': 'type', 'type': 'str'}, 2390 'control_plane_profile': {'key': 'properties.controlPlaneProfile', 'type': 'ManagedClusterPoolUpgradeProfile'}, 2391 'agent_pool_profiles': {'key': 'properties.agentPoolProfiles', 'type': '[ManagedClusterPoolUpgradeProfile]'}, 2392 } 2393 2394 def __init__( 2395 self, 2396 *, 2397 control_plane_profile: "ManagedClusterPoolUpgradeProfile", 2398 agent_pool_profiles: List["ManagedClusterPoolUpgradeProfile"], 2399 **kwargs 2400 ): 2401 super(ManagedClusterUpgradeProfile, self).__init__(**kwargs) 2402 self.id = None 2403 self.name = None 2404 self.type = None 2405 self.control_plane_profile = control_plane_profile 2406 self.agent_pool_profiles = agent_pool_profiles 2407 2408 2409class ManagedClusterWindowsProfile(msrest.serialization.Model): 2410 """Profile for Windows VMs in the container service cluster. 2411 2412 All required parameters must be populated in order to send to Azure. 2413 2414 :param admin_username: Required. Specifies the name of the administrator account. 2415 :code:`<br>`:code:`<br>` **restriction:** Cannot end in "." :code:`<br>`:code:`<br>` 2416 **Disallowed values:** "administrator", "admin", "user", "user1", "test", "user2", "test1", 2417 "user3", "admin1", "1", "123", "a", "actuser", "adm", "admin2", "aspnet", "backup", "console", 2418 "david", "guest", "john", "owner", "root", "server", "sql", "support", "support_388945a0", 2419 "sys", "test2", "test3", "user4", "user5". :code:`<br>`:code:`<br>` **Minimum-length:** 1 2420 character :code:`<br>`:code:`<br>` **Max-length:** 20 characters. 2421 :type admin_username: str 2422 :param admin_password: Specifies the password of the administrator account. 2423 :code:`<br>`:code:`<br>` **Minimum-length:** 8 characters :code:`<br>`:code:`<br>` 2424 **Max-length:** 123 characters :code:`<br>`:code:`<br>` **Complexity requirements:** 3 out of 4 2425 conditions below need to be fulfilled :code:`<br>` Has lower characters :code:`<br>`Has upper 2426 characters :code:`<br>` Has a digit :code:`<br>` Has a special character (Regex match [\W_]) 2427 :code:`<br>`:code:`<br>` **Disallowed values:** "abc@123", "P@$$w0rd", "P@ssw0rd", 2428 "P@ssword123", "Pa$$word", "pass@word1", "Password!", "Password1", "Password22", "iloveyou!". 2429 :type admin_password: str 2430 :param license_type: The licenseType to use for Windows VMs. Windows_Server is used to enable 2431 Azure Hybrid User Benefits for Windows VMs. Possible values include: "None", "Windows_Server". 2432 :type license_type: str or ~azure.mgmt.containerservice.v2020_07_01.models.LicenseType 2433 """ 2434 2435 _validation = { 2436 'admin_username': {'required': True}, 2437 } 2438 2439 _attribute_map = { 2440 'admin_username': {'key': 'adminUsername', 'type': 'str'}, 2441 'admin_password': {'key': 'adminPassword', 'type': 'str'}, 2442 'license_type': {'key': 'licenseType', 'type': 'str'}, 2443 } 2444 2445 def __init__( 2446 self, 2447 *, 2448 admin_username: str, 2449 admin_password: Optional[str] = None, 2450 license_type: Optional[Union[str, "LicenseType"]] = None, 2451 **kwargs 2452 ): 2453 super(ManagedClusterWindowsProfile, self).__init__(**kwargs) 2454 self.admin_username = admin_username 2455 self.admin_password = admin_password 2456 self.license_type = license_type 2457 2458 2459class OperationListResult(msrest.serialization.Model): 2460 """The List Compute Operation operation response. 2461 2462 Variables are only populated by the server, and will be ignored when sending a request. 2463 2464 :ivar value: The list of compute operations. 2465 :vartype value: list[~azure.mgmt.containerservice.v2020_07_01.models.OperationValue] 2466 """ 2467 2468 _validation = { 2469 'value': {'readonly': True}, 2470 } 2471 2472 _attribute_map = { 2473 'value': {'key': 'value', 'type': '[OperationValue]'}, 2474 } 2475 2476 def __init__( 2477 self, 2478 **kwargs 2479 ): 2480 super(OperationListResult, self).__init__(**kwargs) 2481 self.value = None 2482 2483 2484class OperationValue(msrest.serialization.Model): 2485 """Describes the properties of a Compute Operation value. 2486 2487 Variables are only populated by the server, and will be ignored when sending a request. 2488 2489 :ivar origin: The origin of the compute operation. 2490 :vartype origin: str 2491 :ivar name: The name of the compute operation. 2492 :vartype name: str 2493 :ivar operation: The display name of the compute operation. 2494 :vartype operation: str 2495 :ivar resource: The display name of the resource the operation applies to. 2496 :vartype resource: str 2497 :ivar description: The description of the operation. 2498 :vartype description: str 2499 :ivar provider: The resource provider for the operation. 2500 :vartype provider: str 2501 """ 2502 2503 _validation = { 2504 'origin': {'readonly': True}, 2505 'name': {'readonly': True}, 2506 'operation': {'readonly': True}, 2507 'resource': {'readonly': True}, 2508 'description': {'readonly': True}, 2509 'provider': {'readonly': True}, 2510 } 2511 2512 _attribute_map = { 2513 'origin': {'key': 'origin', 'type': 'str'}, 2514 'name': {'key': 'name', 'type': 'str'}, 2515 'operation': {'key': 'display.operation', 'type': 'str'}, 2516 'resource': {'key': 'display.resource', 'type': 'str'}, 2517 'description': {'key': 'display.description', 'type': 'str'}, 2518 'provider': {'key': 'display.provider', 'type': 'str'}, 2519 } 2520 2521 def __init__( 2522 self, 2523 **kwargs 2524 ): 2525 super(OperationValue, self).__init__(**kwargs) 2526 self.origin = None 2527 self.name = None 2528 self.operation = None 2529 self.resource = None 2530 self.description = None 2531 self.provider = None 2532 2533 2534class PrivateEndpoint(msrest.serialization.Model): 2535 """Private endpoint which a connection belongs to. 2536 2537 :param id: The resource Id for private endpoint. 2538 :type id: str 2539 """ 2540 2541 _attribute_map = { 2542 'id': {'key': 'id', 'type': 'str'}, 2543 } 2544 2545 def __init__( 2546 self, 2547 *, 2548 id: Optional[str] = None, 2549 **kwargs 2550 ): 2551 super(PrivateEndpoint, self).__init__(**kwargs) 2552 self.id = id 2553 2554 2555class PrivateEndpointConnection(msrest.serialization.Model): 2556 """A private endpoint connection. 2557 2558 Variables are only populated by the server, and will be ignored when sending a request. 2559 2560 :ivar id: The ID of the private endpoint connection. 2561 :vartype id: str 2562 :ivar name: The name of the private endpoint connection. 2563 :vartype name: str 2564 :ivar type: The resource type. 2565 :vartype type: str 2566 :ivar provisioning_state: The current provisioning state. Possible values include: "Succeeded", 2567 "Creating", "Deleting", "Failed". 2568 :vartype provisioning_state: str or 2569 ~azure.mgmt.containerservice.v2020_07_01.models.PrivateEndpointConnectionProvisioningState 2570 :param private_endpoint: The resource of private endpoint. 2571 :type private_endpoint: ~azure.mgmt.containerservice.v2020_07_01.models.PrivateEndpoint 2572 :param private_link_service_connection_state: A collection of information about the state of 2573 the connection between service consumer and provider. 2574 :type private_link_service_connection_state: 2575 ~azure.mgmt.containerservice.v2020_07_01.models.PrivateLinkServiceConnectionState 2576 """ 2577 2578 _validation = { 2579 'id': {'readonly': True}, 2580 'name': {'readonly': True}, 2581 'type': {'readonly': True}, 2582 'provisioning_state': {'readonly': True}, 2583 } 2584 2585 _attribute_map = { 2586 'id': {'key': 'id', 'type': 'str'}, 2587 'name': {'key': 'name', 'type': 'str'}, 2588 'type': {'key': 'type', 'type': 'str'}, 2589 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 2590 'private_endpoint': {'key': 'properties.privateEndpoint', 'type': 'PrivateEndpoint'}, 2591 'private_link_service_connection_state': {'key': 'properties.privateLinkServiceConnectionState', 'type': 'PrivateLinkServiceConnectionState'}, 2592 } 2593 2594 def __init__( 2595 self, 2596 *, 2597 private_endpoint: Optional["PrivateEndpoint"] = None, 2598 private_link_service_connection_state: Optional["PrivateLinkServiceConnectionState"] = None, 2599 **kwargs 2600 ): 2601 super(PrivateEndpointConnection, self).__init__(**kwargs) 2602 self.id = None 2603 self.name = None 2604 self.type = None 2605 self.provisioning_state = None 2606 self.private_endpoint = private_endpoint 2607 self.private_link_service_connection_state = private_link_service_connection_state 2608 2609 2610class PrivateEndpointConnectionListResult(msrest.serialization.Model): 2611 """A list of private endpoint connections. 2612 2613 :param value: The collection value. 2614 :type value: list[~azure.mgmt.containerservice.v2020_07_01.models.PrivateEndpointConnection] 2615 """ 2616 2617 _attribute_map = { 2618 'value': {'key': 'value', 'type': '[PrivateEndpointConnection]'}, 2619 } 2620 2621 def __init__( 2622 self, 2623 *, 2624 value: Optional[List["PrivateEndpointConnection"]] = None, 2625 **kwargs 2626 ): 2627 super(PrivateEndpointConnectionListResult, self).__init__(**kwargs) 2628 self.value = value 2629 2630 2631class PrivateLinkServiceConnectionState(msrest.serialization.Model): 2632 """The state of a private link service connection. 2633 2634 :param status: The private link service connection status. Possible values include: "Pending", 2635 "Approved", "Rejected", "Disconnected". 2636 :type status: str or ~azure.mgmt.containerservice.v2020_07_01.models.ConnectionStatus 2637 :param description: The private link service connection description. 2638 :type description: str 2639 """ 2640 2641 _attribute_map = { 2642 'status': {'key': 'status', 'type': 'str'}, 2643 'description': {'key': 'description', 'type': 'str'}, 2644 } 2645 2646 def __init__( 2647 self, 2648 *, 2649 status: Optional[Union[str, "ConnectionStatus"]] = None, 2650 description: Optional[str] = None, 2651 **kwargs 2652 ): 2653 super(PrivateLinkServiceConnectionState, self).__init__(**kwargs) 2654 self.status = status 2655 self.description = description 2656 2657 2658class ResourceReference(msrest.serialization.Model): 2659 """A reference to an Azure resource. 2660 2661 :param id: The fully qualified Azure resource id. 2662 :type id: str 2663 """ 2664 2665 _attribute_map = { 2666 'id': {'key': 'id', 'type': 'str'}, 2667 } 2668 2669 def __init__( 2670 self, 2671 *, 2672 id: Optional[str] = None, 2673 **kwargs 2674 ): 2675 super(ResourceReference, self).__init__(**kwargs) 2676 self.id = id 2677 2678 2679class TagsObject(msrest.serialization.Model): 2680 """Tags object for patch operations. 2681 2682 :param tags: A set of tags. Resource tags. 2683 :type tags: dict[str, str] 2684 """ 2685 2686 _attribute_map = { 2687 'tags': {'key': 'tags', 'type': '{str}'}, 2688 } 2689 2690 def __init__( 2691 self, 2692 *, 2693 tags: Optional[Dict[str, str]] = None, 2694 **kwargs 2695 ): 2696 super(TagsObject, self).__init__(**kwargs) 2697 self.tags = tags 2698