1# coding=utf-8 2# -------------------------------------------------------------------------- 3# Copyright (c) Microsoft Corporation. All rights reserved. 4# Licensed under the MIT License. See License.txt in the project root for license information. 5# Code generated by Microsoft (R) AutoRest Code Generator. 6# Changes may cause incorrect behavior and will be lost if the code is regenerated. 7# -------------------------------------------------------------------------- 8 9import msrest.serialization 10 11 12class SubResource(msrest.serialization.Model): 13 """Reference to another subresource. 14 15 Variables are only populated by the server, and will be ignored when sending a request. 16 17 :ivar id: Resource ID. 18 :vartype id: str 19 :ivar name: The name of the resource that is unique within a resource group. This name can be 20 used to access the resource. 21 :vartype name: str 22 :ivar type: Resource type. 23 :vartype type: str 24 """ 25 26 _validation = { 27 'id': {'readonly': True}, 28 'name': {'readonly': True}, 29 'type': {'readonly': True}, 30 } 31 32 _attribute_map = { 33 'id': {'key': 'id', 'type': 'str'}, 34 'name': {'key': 'name', 'type': 'str'}, 35 'type': {'key': 'type', 'type': 'str'}, 36 } 37 38 def __init__( 39 self, 40 **kwargs 41 ): 42 super(SubResource, self).__init__(**kwargs) 43 self.id = None 44 self.name = None 45 self.type = None 46 47 48class AgentPool(SubResource): 49 """Agent Pool. 50 51 Variables are only populated by the server, and will be ignored when sending a request. 52 53 :ivar id: Resource ID. 54 :vartype id: str 55 :ivar name: The name of the resource that is unique within a resource group. This name can be 56 used to access the resource. 57 :vartype name: str 58 :ivar type: Resource type. 59 :vartype type: str 60 :param count: Number of agents (VMs) to host docker containers. Allowed values must be in the 61 range of 1 to 100 (inclusive). The default value is 1. 62 :type count: int 63 :param vm_size: Size of agent VMs. Possible values include: "Standard_A1", "Standard_A10", 64 "Standard_A11", "Standard_A1_v2", "Standard_A2", "Standard_A2_v2", "Standard_A2m_v2", 65 "Standard_A3", "Standard_A4", "Standard_A4_v2", "Standard_A4m_v2", "Standard_A5", 66 "Standard_A6", "Standard_A7", "Standard_A8", "Standard_A8_v2", "Standard_A8m_v2", 67 "Standard_A9", "Standard_B2ms", "Standard_B2s", "Standard_B4ms", "Standard_B8ms", 68 "Standard_D1", "Standard_D11", "Standard_D11_v2", "Standard_D11_v2_Promo", "Standard_D12", 69 "Standard_D12_v2", "Standard_D12_v2_Promo", "Standard_D13", "Standard_D13_v2", 70 "Standard_D13_v2_Promo", "Standard_D14", "Standard_D14_v2", "Standard_D14_v2_Promo", 71 "Standard_D15_v2", "Standard_D16_v3", "Standard_D16s_v3", "Standard_D1_v2", "Standard_D2", 72 "Standard_D2_v2", "Standard_D2_v2_Promo", "Standard_D2_v3", "Standard_D2s_v3", "Standard_D3", 73 "Standard_D32_v3", "Standard_D32s_v3", "Standard_D3_v2", "Standard_D3_v2_Promo", "Standard_D4", 74 "Standard_D4_v2", "Standard_D4_v2_Promo", "Standard_D4_v3", "Standard_D4s_v3", 75 "Standard_D5_v2", "Standard_D5_v2_Promo", "Standard_D64_v3", "Standard_D64s_v3", 76 "Standard_D8_v3", "Standard_D8s_v3", "Standard_DS1", "Standard_DS11", "Standard_DS11_v2", 77 "Standard_DS11_v2_Promo", "Standard_DS12", "Standard_DS12_v2", "Standard_DS12_v2_Promo", 78 "Standard_DS13", "Standard_DS13-2_v2", "Standard_DS13-4_v2", "Standard_DS13_v2", 79 "Standard_DS13_v2_Promo", "Standard_DS14", "Standard_DS14-4_v2", "Standard_DS14-8_v2", 80 "Standard_DS14_v2", "Standard_DS14_v2_Promo", "Standard_DS15_v2", "Standard_DS1_v2", 81 "Standard_DS2", "Standard_DS2_v2", "Standard_DS2_v2_Promo", "Standard_DS3", "Standard_DS3_v2", 82 "Standard_DS3_v2_Promo", "Standard_DS4", "Standard_DS4_v2", "Standard_DS4_v2_Promo", 83 "Standard_DS5_v2", "Standard_DS5_v2_Promo", "Standard_E16_v3", "Standard_E16s_v3", 84 "Standard_E2_v3", "Standard_E2s_v3", "Standard_E32-16s_v3", "Standard_E32-8s_v3", 85 "Standard_E32_v3", "Standard_E32s_v3", "Standard_E4_v3", "Standard_E4s_v3", 86 "Standard_E64-16s_v3", "Standard_E64-32s_v3", "Standard_E64_v3", "Standard_E64s_v3", 87 "Standard_E8_v3", "Standard_E8s_v3", "Standard_F1", "Standard_F16", "Standard_F16s", 88 "Standard_F16s_v2", "Standard_F1s", "Standard_F2", "Standard_F2s", "Standard_F2s_v2", 89 "Standard_F32s_v2", "Standard_F4", "Standard_F4s", "Standard_F4s_v2", "Standard_F64s_v2", 90 "Standard_F72s_v2", "Standard_F8", "Standard_F8s", "Standard_F8s_v2", "Standard_G1", 91 "Standard_G2", "Standard_G3", "Standard_G4", "Standard_G5", "Standard_GS1", "Standard_GS2", 92 "Standard_GS3", "Standard_GS4", "Standard_GS4-4", "Standard_GS4-8", "Standard_GS5", 93 "Standard_GS5-16", "Standard_GS5-8", "Standard_H16", "Standard_H16m", "Standard_H16mr", 94 "Standard_H16r", "Standard_H8", "Standard_H8m", "Standard_L16s", "Standard_L32s", 95 "Standard_L4s", "Standard_L8s", "Standard_M128-32ms", "Standard_M128-64ms", "Standard_M128ms", 96 "Standard_M128s", "Standard_M64-16ms", "Standard_M64-32ms", "Standard_M64ms", "Standard_M64s", 97 "Standard_NC12", "Standard_NC12s_v2", "Standard_NC12s_v3", "Standard_NC24", "Standard_NC24r", 98 "Standard_NC24rs_v2", "Standard_NC24rs_v3", "Standard_NC24s_v2", "Standard_NC24s_v3", 99 "Standard_NC6", "Standard_NC6s_v2", "Standard_NC6s_v3", "Standard_ND12s", "Standard_ND24rs", 100 "Standard_ND24s", "Standard_ND6s", "Standard_NV12", "Standard_NV24", "Standard_NV6". 101 :type vm_size: str or 102 ~azure.mgmt.containerservice.v2020_02_01.models.ContainerServiceVMSizeTypes 103 :param os_disk_size_gb: OS Disk Size in GB to be used to specify the disk size for every 104 machine in this master/agent pool. If you specify 0, it will apply the default osDisk size 105 according to the vmSize specified. 106 :type os_disk_size_gb: int 107 :param vnet_subnet_id: VNet SubnetID specifies the VNet's subnet identifier. 108 :type vnet_subnet_id: str 109 :param max_pods: Maximum number of pods that can run on a node. 110 :type max_pods: int 111 :param os_type: OsType to be used to specify os type. Choose from Linux and Windows. Default to 112 Linux. Possible values include: "Linux", "Windows". Default value: "Linux". 113 :type os_type: str or ~azure.mgmt.containerservice.v2020_02_01.models.OSType 114 :param max_count: Maximum number of nodes for auto-scaling. 115 :type max_count: int 116 :param min_count: Minimum number of nodes for auto-scaling. 117 :type min_count: int 118 :param enable_auto_scaling: Whether to enable auto-scaler. 119 :type enable_auto_scaling: bool 120 :param type_properties_type: AgentPoolType represents types of an agent pool. Possible values 121 include: "VirtualMachineScaleSets", "AvailabilitySet". 122 :type type_properties_type: str or 123 ~azure.mgmt.containerservice.v2020_02_01.models.AgentPoolType 124 :param orchestrator_version: Version of orchestrator specified when creating the managed 125 cluster. 126 :type orchestrator_version: str 127 :ivar provisioning_state: The current deployment or provisioning state, which only appears in 128 the response. 129 :vartype provisioning_state: str 130 :param availability_zones: Availability zones for nodes. Must use VirtualMachineScaleSets 131 AgentPoolType. 132 :type availability_zones: list[str] 133 :param enable_node_public_ip: Enable public IP for nodes. 134 :type enable_node_public_ip: bool 135 :param scale_set_priority: ScaleSetPriority to be used to specify virtual machine scale set 136 priority. Default to regular. Possible values include: "Spot", "Low", "Regular". Default value: 137 "Regular". 138 :type scale_set_priority: str or 139 ~azure.mgmt.containerservice.v2020_02_01.models.ScaleSetPriority 140 :param scale_set_eviction_policy: ScaleSetEvictionPolicy to be used to specify eviction policy 141 for Spot or low priority virtual machine scale set. Default to Delete. Possible values include: 142 "Delete", "Deallocate". Default value: "Delete". 143 :type scale_set_eviction_policy: str or 144 ~azure.mgmt.containerservice.v2020_02_01.models.ScaleSetEvictionPolicy 145 :param spot_max_price: SpotMaxPrice to be used to specify the maximum price you are willing to 146 pay in US Dollars. Possible values are any decimal value greater than zero or -1 which 147 indicates default price to be up-to on-demand. 148 :type spot_max_price: float 149 :param tags: A set of tags. Agent pool tags to be persisted on the agent pool virtual machine 150 scale set. 151 :type tags: dict[str, str] 152 :param node_labels: Agent pool node labels to be persisted across all nodes in agent pool. 153 :type node_labels: dict[str, str] 154 :param node_taints: Taints added to new nodes during node pool create and scale. For example, 155 key=value:NoSchedule. 156 :type node_taints: list[str] 157 """ 158 159 _validation = { 160 'id': {'readonly': True}, 161 'name': {'readonly': True}, 162 'type': {'readonly': True}, 163 'os_disk_size_gb': {'maximum': 1023, 'minimum': 0}, 164 'provisioning_state': {'readonly': True}, 165 } 166 167 _attribute_map = { 168 'id': {'key': 'id', 'type': 'str'}, 169 'name': {'key': 'name', 'type': 'str'}, 170 'type': {'key': 'type', 'type': 'str'}, 171 'count': {'key': 'properties.count', 'type': 'int'}, 172 'vm_size': {'key': 'properties.vmSize', 'type': 'str'}, 173 'os_disk_size_gb': {'key': 'properties.osDiskSizeGB', 'type': 'int'}, 174 'vnet_subnet_id': {'key': 'properties.vnetSubnetID', 'type': 'str'}, 175 'max_pods': {'key': 'properties.maxPods', 'type': 'int'}, 176 'os_type': {'key': 'properties.osType', 'type': 'str'}, 177 'max_count': {'key': 'properties.maxCount', 'type': 'int'}, 178 'min_count': {'key': 'properties.minCount', 'type': 'int'}, 179 'enable_auto_scaling': {'key': 'properties.enableAutoScaling', 'type': 'bool'}, 180 'type_properties_type': {'key': 'properties.type', 'type': 'str'}, 181 'orchestrator_version': {'key': 'properties.orchestratorVersion', 'type': 'str'}, 182 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 183 'availability_zones': {'key': 'properties.availabilityZones', 'type': '[str]'}, 184 'enable_node_public_ip': {'key': 'properties.enableNodePublicIP', 'type': 'bool'}, 185 'scale_set_priority': {'key': 'properties.scaleSetPriority', 'type': 'str'}, 186 'scale_set_eviction_policy': {'key': 'properties.scaleSetEvictionPolicy', 'type': 'str'}, 187 'spot_max_price': {'key': 'properties.spotMaxPrice', 'type': 'float'}, 188 'tags': {'key': 'properties.tags', 'type': '{str}'}, 189 'node_labels': {'key': 'properties.nodeLabels', 'type': '{str}'}, 190 'node_taints': {'key': 'properties.nodeTaints', 'type': '[str]'}, 191 } 192 193 def __init__( 194 self, 195 **kwargs 196 ): 197 super(AgentPool, self).__init__(**kwargs) 198 self.count = kwargs.get('count', None) 199 self.vm_size = kwargs.get('vm_size', None) 200 self.os_disk_size_gb = kwargs.get('os_disk_size_gb', None) 201 self.vnet_subnet_id = kwargs.get('vnet_subnet_id', None) 202 self.max_pods = kwargs.get('max_pods', None) 203 self.os_type = kwargs.get('os_type', "Linux") 204 self.max_count = kwargs.get('max_count', None) 205 self.min_count = kwargs.get('min_count', None) 206 self.enable_auto_scaling = kwargs.get('enable_auto_scaling', None) 207 self.type_properties_type = kwargs.get('type_properties_type', None) 208 self.orchestrator_version = kwargs.get('orchestrator_version', None) 209 self.provisioning_state = None 210 self.availability_zones = kwargs.get('availability_zones', None) 211 self.enable_node_public_ip = kwargs.get('enable_node_public_ip', None) 212 self.scale_set_priority = kwargs.get('scale_set_priority', "Regular") 213 self.scale_set_eviction_policy = kwargs.get('scale_set_eviction_policy', "Delete") 214 self.spot_max_price = kwargs.get('spot_max_price', -1) 215 self.tags = kwargs.get('tags', None) 216 self.node_labels = kwargs.get('node_labels', None) 217 self.node_taints = kwargs.get('node_taints', None) 218 219 220class AgentPoolAvailableVersions(msrest.serialization.Model): 221 """The list of available versions for an agent pool. 222 223 Variables are only populated by the server, and will be ignored when sending a request. 224 225 :ivar id: Id of the agent pool available versions. 226 :vartype id: str 227 :ivar name: Name of the agent pool available versions. 228 :vartype name: str 229 :ivar type: Type of the agent pool available versions. 230 :vartype type: str 231 :param agent_pool_versions: List of versions available for agent pool. 232 :type agent_pool_versions: 233 list[~azure.mgmt.containerservice.v2020_02_01.models.AgentPoolAvailableVersionsPropertiesAgentPoolVersionsItem] 234 """ 235 236 _validation = { 237 'id': {'readonly': True}, 238 'name': {'readonly': True}, 239 'type': {'readonly': True}, 240 } 241 242 _attribute_map = { 243 'id': {'key': 'id', 'type': 'str'}, 244 'name': {'key': 'name', 'type': 'str'}, 245 'type': {'key': 'type', 'type': 'str'}, 246 'agent_pool_versions': {'key': 'properties.agentPoolVersions', 'type': '[AgentPoolAvailableVersionsPropertiesAgentPoolVersionsItem]'}, 247 } 248 249 def __init__( 250 self, 251 **kwargs 252 ): 253 super(AgentPoolAvailableVersions, self).__init__(**kwargs) 254 self.id = None 255 self.name = None 256 self.type = None 257 self.agent_pool_versions = kwargs.get('agent_pool_versions', None) 258 259 260class AgentPoolAvailableVersionsPropertiesAgentPoolVersionsItem(msrest.serialization.Model): 261 """AgentPoolAvailableVersionsPropertiesAgentPoolVersionsItem. 262 263 :param default: Whether this version is the default agent pool version. 264 :type default: bool 265 :param kubernetes_version: Kubernetes version (major, minor, patch). 266 :type kubernetes_version: str 267 :param is_preview: Whether Kubernetes version is currently in preview. 268 :type is_preview: bool 269 """ 270 271 _attribute_map = { 272 'default': {'key': 'default', 'type': 'bool'}, 273 'kubernetes_version': {'key': 'kubernetesVersion', 'type': 'str'}, 274 'is_preview': {'key': 'isPreview', 'type': 'bool'}, 275 } 276 277 def __init__( 278 self, 279 **kwargs 280 ): 281 super(AgentPoolAvailableVersionsPropertiesAgentPoolVersionsItem, self).__init__(**kwargs) 282 self.default = kwargs.get('default', None) 283 self.kubernetes_version = kwargs.get('kubernetes_version', None) 284 self.is_preview = kwargs.get('is_preview', None) 285 286 287class AgentPoolListResult(msrest.serialization.Model): 288 """The response from the List Agent Pools operation. 289 290 Variables are only populated by the server, and will be ignored when sending a request. 291 292 :param value: The list of agent pools. 293 :type value: list[~azure.mgmt.containerservice.v2020_02_01.models.AgentPool] 294 :ivar next_link: The URL to get the next set of agent pool results. 295 :vartype next_link: str 296 """ 297 298 _validation = { 299 'next_link': {'readonly': True}, 300 } 301 302 _attribute_map = { 303 'value': {'key': 'value', 'type': '[AgentPool]'}, 304 'next_link': {'key': 'nextLink', 'type': 'str'}, 305 } 306 307 def __init__( 308 self, 309 **kwargs 310 ): 311 super(AgentPoolListResult, self).__init__(**kwargs) 312 self.value = kwargs.get('value', None) 313 self.next_link = None 314 315 316class AgentPoolUpgradeProfile(msrest.serialization.Model): 317 """The list of available upgrades for an agent pool. 318 319 Variables are only populated by the server, and will be ignored when sending a request. 320 321 All required parameters must be populated in order to send to Azure. 322 323 :ivar id: Id of the agent pool upgrade profile. 324 :vartype id: str 325 :ivar name: Name of the agent pool upgrade profile. 326 :vartype name: str 327 :ivar type: Type of the agent pool upgrade profile. 328 :vartype type: str 329 :param kubernetes_version: Required. Kubernetes version (major, minor, patch). 330 :type kubernetes_version: str 331 :param os_type: Required. OsType to be used to specify os type. Choose from Linux and Windows. 332 Default to Linux. Possible values include: "Linux", "Windows". Default value: "Linux". 333 :type os_type: str or ~azure.mgmt.containerservice.v2020_02_01.models.OSType 334 :param upgrades: List of orchestrator types and versions available for upgrade. 335 :type upgrades: 336 list[~azure.mgmt.containerservice.v2020_02_01.models.AgentPoolUpgradeProfilePropertiesUpgradesItem] 337 """ 338 339 _validation = { 340 'id': {'readonly': True}, 341 'name': {'readonly': True}, 342 'type': {'readonly': True}, 343 'kubernetes_version': {'required': True}, 344 'os_type': {'required': True}, 345 } 346 347 _attribute_map = { 348 'id': {'key': 'id', 'type': 'str'}, 349 'name': {'key': 'name', 'type': 'str'}, 350 'type': {'key': 'type', 'type': 'str'}, 351 'kubernetes_version': {'key': 'properties.kubernetesVersion', 'type': 'str'}, 352 'os_type': {'key': 'properties.osType', 'type': 'str'}, 353 'upgrades': {'key': 'properties.upgrades', 'type': '[AgentPoolUpgradeProfilePropertiesUpgradesItem]'}, 354 } 355 356 def __init__( 357 self, 358 **kwargs 359 ): 360 super(AgentPoolUpgradeProfile, self).__init__(**kwargs) 361 self.id = None 362 self.name = None 363 self.type = None 364 self.kubernetes_version = kwargs['kubernetes_version'] 365 self.os_type = kwargs.get('os_type', "Linux") 366 self.upgrades = kwargs.get('upgrades', None) 367 368 369class AgentPoolUpgradeProfilePropertiesUpgradesItem(msrest.serialization.Model): 370 """AgentPoolUpgradeProfilePropertiesUpgradesItem. 371 372 :param kubernetes_version: Kubernetes version (major, minor, patch). 373 :type kubernetes_version: str 374 :param is_preview: Whether Kubernetes version is currently in preview. 375 :type is_preview: bool 376 """ 377 378 _attribute_map = { 379 'kubernetes_version': {'key': 'kubernetesVersion', 'type': 'str'}, 380 'is_preview': {'key': 'isPreview', 'type': 'bool'}, 381 } 382 383 def __init__( 384 self, 385 **kwargs 386 ): 387 super(AgentPoolUpgradeProfilePropertiesUpgradesItem, self).__init__(**kwargs) 388 self.kubernetes_version = kwargs.get('kubernetes_version', None) 389 self.is_preview = kwargs.get('is_preview', None) 390 391 392class CloudErrorBody(msrest.serialization.Model): 393 """An error response from the Container service. 394 395 :param code: An identifier for the error. Codes are invariant and are intended to be consumed 396 programmatically. 397 :type code: str 398 :param message: A message describing the error, intended to be suitable for display in a user 399 interface. 400 :type message: str 401 :param target: The target of the particular error. For example, the name of the property in 402 error. 403 :type target: str 404 :param details: A list of additional details about the error. 405 :type details: list[~azure.mgmt.containerservice.v2020_02_01.models.CloudErrorBody] 406 """ 407 408 _attribute_map = { 409 'code': {'key': 'code', 'type': 'str'}, 410 'message': {'key': 'message', 'type': 'str'}, 411 'target': {'key': 'target', 'type': 'str'}, 412 'details': {'key': 'details', 'type': '[CloudErrorBody]'}, 413 } 414 415 def __init__( 416 self, 417 **kwargs 418 ): 419 super(CloudErrorBody, self).__init__(**kwargs) 420 self.code = kwargs.get('code', None) 421 self.message = kwargs.get('message', None) 422 self.target = kwargs.get('target', None) 423 self.details = kwargs.get('details', None) 424 425 426class ContainerServiceDiagnosticsProfile(msrest.serialization.Model): 427 """Profile for diagnostics on the container service cluster. 428 429 All required parameters must be populated in order to send to Azure. 430 431 :param vm_diagnostics: Required. Profile for diagnostics on the container service VMs. 432 :type vm_diagnostics: 433 ~azure.mgmt.containerservice.v2020_02_01.models.ContainerServiceVMDiagnostics 434 """ 435 436 _validation = { 437 'vm_diagnostics': {'required': True}, 438 } 439 440 _attribute_map = { 441 'vm_diagnostics': {'key': 'vmDiagnostics', 'type': 'ContainerServiceVMDiagnostics'}, 442 } 443 444 def __init__( 445 self, 446 **kwargs 447 ): 448 super(ContainerServiceDiagnosticsProfile, self).__init__(**kwargs) 449 self.vm_diagnostics = kwargs['vm_diagnostics'] 450 451 452class ContainerServiceLinuxProfile(msrest.serialization.Model): 453 """Profile for Linux VMs in the container service cluster. 454 455 All required parameters must be populated in order to send to Azure. 456 457 :param admin_username: Required. The administrator username to use for Linux VMs. 458 :type admin_username: str 459 :param ssh: Required. SSH configuration for Linux-based VMs running on Azure. 460 :type ssh: ~azure.mgmt.containerservice.v2020_02_01.models.ContainerServiceSshConfiguration 461 """ 462 463 _validation = { 464 'admin_username': {'required': True, 'pattern': r'^[A-Za-z][-A-Za-z0-9_]*$'}, 465 'ssh': {'required': True}, 466 } 467 468 _attribute_map = { 469 'admin_username': {'key': 'adminUsername', 'type': 'str'}, 470 'ssh': {'key': 'ssh', 'type': 'ContainerServiceSshConfiguration'}, 471 } 472 473 def __init__( 474 self, 475 **kwargs 476 ): 477 super(ContainerServiceLinuxProfile, self).__init__(**kwargs) 478 self.admin_username = kwargs['admin_username'] 479 self.ssh = kwargs['ssh'] 480 481 482class ContainerServiceMasterProfile(msrest.serialization.Model): 483 """Profile for the container service master. 484 485 Variables are only populated by the server, and will be ignored when sending a request. 486 487 All required parameters must be populated in order to send to Azure. 488 489 :param count: Number of masters (VMs) in the container service cluster. Allowed values are 1, 490 3, and 5. The default value is 1. Possible values include: 1, 3, 5. Default value: "1". 491 :type count: str or ~azure.mgmt.containerservice.v2020_02_01.models.Count 492 :param dns_prefix: Required. DNS prefix to be used to create the FQDN for the master pool. 493 :type dns_prefix: str 494 :param vm_size: Required. Size of agent VMs. Possible values include: "Standard_A1", 495 "Standard_A10", "Standard_A11", "Standard_A1_v2", "Standard_A2", "Standard_A2_v2", 496 "Standard_A2m_v2", "Standard_A3", "Standard_A4", "Standard_A4_v2", "Standard_A4m_v2", 497 "Standard_A5", "Standard_A6", "Standard_A7", "Standard_A8", "Standard_A8_v2", 498 "Standard_A8m_v2", "Standard_A9", "Standard_B2ms", "Standard_B2s", "Standard_B4ms", 499 "Standard_B8ms", "Standard_D1", "Standard_D11", "Standard_D11_v2", "Standard_D11_v2_Promo", 500 "Standard_D12", "Standard_D12_v2", "Standard_D12_v2_Promo", "Standard_D13", "Standard_D13_v2", 501 "Standard_D13_v2_Promo", "Standard_D14", "Standard_D14_v2", "Standard_D14_v2_Promo", 502 "Standard_D15_v2", "Standard_D16_v3", "Standard_D16s_v3", "Standard_D1_v2", "Standard_D2", 503 "Standard_D2_v2", "Standard_D2_v2_Promo", "Standard_D2_v3", "Standard_D2s_v3", "Standard_D3", 504 "Standard_D32_v3", "Standard_D32s_v3", "Standard_D3_v2", "Standard_D3_v2_Promo", "Standard_D4", 505 "Standard_D4_v2", "Standard_D4_v2_Promo", "Standard_D4_v3", "Standard_D4s_v3", 506 "Standard_D5_v2", "Standard_D5_v2_Promo", "Standard_D64_v3", "Standard_D64s_v3", 507 "Standard_D8_v3", "Standard_D8s_v3", "Standard_DS1", "Standard_DS11", "Standard_DS11_v2", 508 "Standard_DS11_v2_Promo", "Standard_DS12", "Standard_DS12_v2", "Standard_DS12_v2_Promo", 509 "Standard_DS13", "Standard_DS13-2_v2", "Standard_DS13-4_v2", "Standard_DS13_v2", 510 "Standard_DS13_v2_Promo", "Standard_DS14", "Standard_DS14-4_v2", "Standard_DS14-8_v2", 511 "Standard_DS14_v2", "Standard_DS14_v2_Promo", "Standard_DS15_v2", "Standard_DS1_v2", 512 "Standard_DS2", "Standard_DS2_v2", "Standard_DS2_v2_Promo", "Standard_DS3", "Standard_DS3_v2", 513 "Standard_DS3_v2_Promo", "Standard_DS4", "Standard_DS4_v2", "Standard_DS4_v2_Promo", 514 "Standard_DS5_v2", "Standard_DS5_v2_Promo", "Standard_E16_v3", "Standard_E16s_v3", 515 "Standard_E2_v3", "Standard_E2s_v3", "Standard_E32-16s_v3", "Standard_E32-8s_v3", 516 "Standard_E32_v3", "Standard_E32s_v3", "Standard_E4_v3", "Standard_E4s_v3", 517 "Standard_E64-16s_v3", "Standard_E64-32s_v3", "Standard_E64_v3", "Standard_E64s_v3", 518 "Standard_E8_v3", "Standard_E8s_v3", "Standard_F1", "Standard_F16", "Standard_F16s", 519 "Standard_F16s_v2", "Standard_F1s", "Standard_F2", "Standard_F2s", "Standard_F2s_v2", 520 "Standard_F32s_v2", "Standard_F4", "Standard_F4s", "Standard_F4s_v2", "Standard_F64s_v2", 521 "Standard_F72s_v2", "Standard_F8", "Standard_F8s", "Standard_F8s_v2", "Standard_G1", 522 "Standard_G2", "Standard_G3", "Standard_G4", "Standard_G5", "Standard_GS1", "Standard_GS2", 523 "Standard_GS3", "Standard_GS4", "Standard_GS4-4", "Standard_GS4-8", "Standard_GS5", 524 "Standard_GS5-16", "Standard_GS5-8", "Standard_H16", "Standard_H16m", "Standard_H16mr", 525 "Standard_H16r", "Standard_H8", "Standard_H8m", "Standard_L16s", "Standard_L32s", 526 "Standard_L4s", "Standard_L8s", "Standard_M128-32ms", "Standard_M128-64ms", "Standard_M128ms", 527 "Standard_M128s", "Standard_M64-16ms", "Standard_M64-32ms", "Standard_M64ms", "Standard_M64s", 528 "Standard_NC12", "Standard_NC12s_v2", "Standard_NC12s_v3", "Standard_NC24", "Standard_NC24r", 529 "Standard_NC24rs_v2", "Standard_NC24rs_v3", "Standard_NC24s_v2", "Standard_NC24s_v3", 530 "Standard_NC6", "Standard_NC6s_v2", "Standard_NC6s_v3", "Standard_ND12s", "Standard_ND24rs", 531 "Standard_ND24s", "Standard_ND6s", "Standard_NV12", "Standard_NV24", "Standard_NV6". 532 :type vm_size: str or 533 ~azure.mgmt.containerservice.v2020_02_01.models.ContainerServiceVMSizeTypes 534 :param os_disk_size_gb: OS Disk Size in GB to be used to specify the disk size for every 535 machine in this master/agent pool. If you specify 0, it will apply the default osDisk size 536 according to the vmSize specified. 537 :type os_disk_size_gb: int 538 :param vnet_subnet_id: VNet SubnetID specifies the VNet's subnet identifier. 539 :type vnet_subnet_id: str 540 :param first_consecutive_static_ip: FirstConsecutiveStaticIP used to specify the first static 541 ip of masters. 542 :type first_consecutive_static_ip: str 543 :param storage_profile: Storage profile specifies what kind of storage used. Choose from 544 StorageAccount and ManagedDisks. Leave it empty, we will choose for you based on the 545 orchestrator choice. Possible values include: "StorageAccount", "ManagedDisks". 546 :type storage_profile: str or 547 ~azure.mgmt.containerservice.v2020_02_01.models.ContainerServiceStorageProfileTypes 548 :ivar fqdn: FQDN for the master pool. 549 :vartype fqdn: str 550 """ 551 552 _validation = { 553 'dns_prefix': {'required': True}, 554 'vm_size': {'required': True}, 555 'os_disk_size_gb': {'maximum': 1023, 'minimum': 0}, 556 'fqdn': {'readonly': True}, 557 } 558 559 _attribute_map = { 560 'count': {'key': 'count', 'type': 'int'}, 561 'dns_prefix': {'key': 'dnsPrefix', 'type': 'str'}, 562 'vm_size': {'key': 'vmSize', 'type': 'str'}, 563 'os_disk_size_gb': {'key': 'osDiskSizeGB', 'type': 'int'}, 564 'vnet_subnet_id': {'key': 'vnetSubnetID', 'type': 'str'}, 565 'first_consecutive_static_ip': {'key': 'firstConsecutiveStaticIP', 'type': 'str'}, 566 'storage_profile': {'key': 'storageProfile', 'type': 'str'}, 567 'fqdn': {'key': 'fqdn', 'type': 'str'}, 568 } 569 570 def __init__( 571 self, 572 **kwargs 573 ): 574 super(ContainerServiceMasterProfile, self).__init__(**kwargs) 575 self.count = kwargs.get('count', "1") 576 self.dns_prefix = kwargs['dns_prefix'] 577 self.vm_size = kwargs['vm_size'] 578 self.os_disk_size_gb = kwargs.get('os_disk_size_gb', None) 579 self.vnet_subnet_id = kwargs.get('vnet_subnet_id', None) 580 self.first_consecutive_static_ip = kwargs.get('first_consecutive_static_ip', "10.240.255.5") 581 self.storage_profile = kwargs.get('storage_profile', None) 582 self.fqdn = None 583 584 585class ContainerServiceNetworkProfile(msrest.serialization.Model): 586 """Profile of network configuration. 587 588 :param network_plugin: Network plugin used for building Kubernetes network. Possible values 589 include: "azure", "kubenet". Default value: "kubenet". 590 :type network_plugin: str or ~azure.mgmt.containerservice.v2020_02_01.models.NetworkPlugin 591 :param network_policy: Network policy used for building Kubernetes network. Possible values 592 include: "calico", "azure". 593 :type network_policy: str or ~azure.mgmt.containerservice.v2020_02_01.models.NetworkPolicy 594 :param network_mode: Network mode used for building Kubernetes network. Possible values 595 include: "transparent", "bridge". 596 :type network_mode: str or ~azure.mgmt.containerservice.v2020_02_01.models.NetworkMode 597 :param pod_cidr: A CIDR notation IP range from which to assign pod IPs when kubenet is used. 598 :type pod_cidr: str 599 :param service_cidr: A CIDR notation IP range from which to assign service cluster IPs. It must 600 not overlap with any Subnet IP ranges. 601 :type service_cidr: str 602 :param dns_service_ip: An IP address assigned to the Kubernetes DNS service. It must be within 603 the Kubernetes service address range specified in serviceCidr. 604 :type dns_service_ip: str 605 :param docker_bridge_cidr: A CIDR notation IP range assigned to the Docker bridge network. It 606 must not overlap with any Subnet IP ranges or the Kubernetes service address range. 607 :type docker_bridge_cidr: str 608 :param outbound_type: The outbound (egress) routing method. Possible values include: 609 "loadBalancer", "userDefinedRouting". Default value: "loadBalancer". 610 :type outbound_type: str or ~azure.mgmt.containerservice.v2020_02_01.models.OutboundType 611 :param load_balancer_sku: The load balancer sku for the managed cluster. Possible values 612 include: "standard", "basic". 613 :type load_balancer_sku: str or ~azure.mgmt.containerservice.v2020_02_01.models.LoadBalancerSku 614 :param load_balancer_profile: Profile of the cluster load balancer. 615 :type load_balancer_profile: 616 ~azure.mgmt.containerservice.v2020_02_01.models.ManagedClusterLoadBalancerProfile 617 """ 618 619 _validation = { 620 'pod_cidr': {'pattern': r'^([0-9]{1,3}\.){3}[0-9]{1,3}(\/([0-9]|[1-2][0-9]|3[0-2]))?$'}, 621 'service_cidr': {'pattern': r'^([0-9]{1,3}\.){3}[0-9]{1,3}(\/([0-9]|[1-2][0-9]|3[0-2]))?$'}, 622 '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]?)$'}, 623 'docker_bridge_cidr': {'pattern': r'^([0-9]{1,3}\.){3}[0-9]{1,3}(\/([0-9]|[1-2][0-9]|3[0-2]))?$'}, 624 } 625 626 _attribute_map = { 627 'network_plugin': {'key': 'networkPlugin', 'type': 'str'}, 628 'network_policy': {'key': 'networkPolicy', 'type': 'str'}, 629 'network_mode': {'key': 'networkMode', 'type': 'str'}, 630 'pod_cidr': {'key': 'podCidr', 'type': 'str'}, 631 'service_cidr': {'key': 'serviceCidr', 'type': 'str'}, 632 'dns_service_ip': {'key': 'dnsServiceIP', 'type': 'str'}, 633 'docker_bridge_cidr': {'key': 'dockerBridgeCidr', 'type': 'str'}, 634 'outbound_type': {'key': 'outboundType', 'type': 'str'}, 635 'load_balancer_sku': {'key': 'loadBalancerSku', 'type': 'str'}, 636 'load_balancer_profile': {'key': 'loadBalancerProfile', 'type': 'ManagedClusterLoadBalancerProfile'}, 637 } 638 639 def __init__( 640 self, 641 **kwargs 642 ): 643 super(ContainerServiceNetworkProfile, self).__init__(**kwargs) 644 self.network_plugin = kwargs.get('network_plugin', "kubenet") 645 self.network_policy = kwargs.get('network_policy', None) 646 self.network_mode = kwargs.get('network_mode', None) 647 self.pod_cidr = kwargs.get('pod_cidr', "10.244.0.0/16") 648 self.service_cidr = kwargs.get('service_cidr', "10.0.0.0/16") 649 self.dns_service_ip = kwargs.get('dns_service_ip', "10.0.0.10") 650 self.docker_bridge_cidr = kwargs.get('docker_bridge_cidr', "172.17.0.1/16") 651 self.outbound_type = kwargs.get('outbound_type', "loadBalancer") 652 self.load_balancer_sku = kwargs.get('load_balancer_sku', None) 653 self.load_balancer_profile = kwargs.get('load_balancer_profile', None) 654 655 656class ContainerServiceSshConfiguration(msrest.serialization.Model): 657 """SSH configuration for Linux-based VMs running on Azure. 658 659 All required parameters must be populated in order to send to Azure. 660 661 :param public_keys: Required. The list of SSH public keys used to authenticate with Linux-based 662 VMs. Only expect one key specified. 663 :type public_keys: 664 list[~azure.mgmt.containerservice.v2020_02_01.models.ContainerServiceSshPublicKey] 665 """ 666 667 _validation = { 668 'public_keys': {'required': True}, 669 } 670 671 _attribute_map = { 672 'public_keys': {'key': 'publicKeys', 'type': '[ContainerServiceSshPublicKey]'}, 673 } 674 675 def __init__( 676 self, 677 **kwargs 678 ): 679 super(ContainerServiceSshConfiguration, self).__init__(**kwargs) 680 self.public_keys = kwargs['public_keys'] 681 682 683class ContainerServiceSshPublicKey(msrest.serialization.Model): 684 """Contains information about SSH certificate public key data. 685 686 All required parameters must be populated in order to send to Azure. 687 688 :param key_data: Required. Certificate public key used to authenticate with VMs through SSH. 689 The certificate must be in PEM format with or without headers. 690 :type key_data: str 691 """ 692 693 _validation = { 694 'key_data': {'required': True}, 695 } 696 697 _attribute_map = { 698 'key_data': {'key': 'keyData', 'type': 'str'}, 699 } 700 701 def __init__( 702 self, 703 **kwargs 704 ): 705 super(ContainerServiceSshPublicKey, self).__init__(**kwargs) 706 self.key_data = kwargs['key_data'] 707 708 709class ContainerServiceVMDiagnostics(msrest.serialization.Model): 710 """Profile for diagnostics on the container service VMs. 711 712 Variables are only populated by the server, and will be ignored when sending a request. 713 714 All required parameters must be populated in order to send to Azure. 715 716 :param enabled: Required. Whether the VM diagnostic agent is provisioned on the VM. 717 :type enabled: bool 718 :ivar storage_uri: The URI of the storage account where diagnostics are stored. 719 :vartype storage_uri: str 720 """ 721 722 _validation = { 723 'enabled': {'required': True}, 724 'storage_uri': {'readonly': True}, 725 } 726 727 _attribute_map = { 728 'enabled': {'key': 'enabled', 'type': 'bool'}, 729 'storage_uri': {'key': 'storageUri', 'type': 'str'}, 730 } 731 732 def __init__( 733 self, 734 **kwargs 735 ): 736 super(ContainerServiceVMDiagnostics, self).__init__(**kwargs) 737 self.enabled = kwargs['enabled'] 738 self.storage_uri = None 739 740 741class CredentialResult(msrest.serialization.Model): 742 """The credential result response. 743 744 Variables are only populated by the server, and will be ignored when sending a request. 745 746 :ivar name: The name of the credential. 747 :vartype name: str 748 :ivar value: Base64-encoded Kubernetes configuration file. 749 :vartype value: bytearray 750 """ 751 752 _validation = { 753 'name': {'readonly': True}, 754 'value': {'readonly': True}, 755 } 756 757 _attribute_map = { 758 'name': {'key': 'name', 'type': 'str'}, 759 'value': {'key': 'value', 'type': 'bytearray'}, 760 } 761 762 def __init__( 763 self, 764 **kwargs 765 ): 766 super(CredentialResult, self).__init__(**kwargs) 767 self.name = None 768 self.value = None 769 770 771class CredentialResults(msrest.serialization.Model): 772 """The list of credential result response. 773 774 Variables are only populated by the server, and will be ignored when sending a request. 775 776 :ivar kubeconfigs: Base64-encoded Kubernetes configuration file. 777 :vartype kubeconfigs: list[~azure.mgmt.containerservice.v2020_02_01.models.CredentialResult] 778 """ 779 780 _validation = { 781 'kubeconfigs': {'readonly': True}, 782 } 783 784 _attribute_map = { 785 'kubeconfigs': {'key': 'kubeconfigs', 'type': '[CredentialResult]'}, 786 } 787 788 def __init__( 789 self, 790 **kwargs 791 ): 792 super(CredentialResults, self).__init__(**kwargs) 793 self.kubeconfigs = None 794 795 796class Resource(msrest.serialization.Model): 797 """The Resource model definition. 798 799 Variables are only populated by the server, and will be ignored when sending a request. 800 801 All required parameters must be populated in order to send to Azure. 802 803 :ivar id: Resource Id. 804 :vartype id: str 805 :ivar name: Resource name. 806 :vartype name: str 807 :ivar type: Resource type. 808 :vartype type: str 809 :param location: Required. Resource location. 810 :type location: str 811 :param tags: A set of tags. Resource tags. 812 :type tags: dict[str, str] 813 """ 814 815 _validation = { 816 'id': {'readonly': True}, 817 'name': {'readonly': True}, 818 'type': {'readonly': True}, 819 'location': {'required': True}, 820 } 821 822 _attribute_map = { 823 'id': {'key': 'id', 'type': 'str'}, 824 'name': {'key': 'name', 'type': 'str'}, 825 'type': {'key': 'type', 'type': 'str'}, 826 'location': {'key': 'location', 'type': 'str'}, 827 'tags': {'key': 'tags', 'type': '{str}'}, 828 } 829 830 def __init__( 831 self, 832 **kwargs 833 ): 834 super(Resource, self).__init__(**kwargs) 835 self.id = None 836 self.name = None 837 self.type = None 838 self.location = kwargs['location'] 839 self.tags = kwargs.get('tags', None) 840 841 842class ManagedCluster(Resource): 843 """Managed cluster. 844 845 Variables are only populated by the server, and will be ignored when sending a request. 846 847 All required parameters must be populated in order to send to Azure. 848 849 :ivar id: Resource Id. 850 :vartype id: str 851 :ivar name: Resource name. 852 :vartype name: str 853 :ivar type: Resource type. 854 :vartype type: str 855 :param location: Required. Resource location. 856 :type location: str 857 :param tags: A set of tags. Resource tags. 858 :type tags: dict[str, str] 859 :param identity: The identity of the managed cluster, if configured. 860 :type identity: ~azure.mgmt.containerservice.v2020_02_01.models.ManagedClusterIdentity 861 :ivar provisioning_state: The current deployment or provisioning state, which only appears in 862 the response. 863 :vartype provisioning_state: str 864 :ivar max_agent_pools: The max number of agent pools for the managed cluster. 865 :vartype max_agent_pools: int 866 :param kubernetes_version: Version of Kubernetes specified when creating the managed cluster. 867 :type kubernetes_version: str 868 :param dns_prefix: DNS prefix specified when creating the managed cluster. 869 :type dns_prefix: str 870 :ivar fqdn: FQDN for the master pool. 871 :vartype fqdn: str 872 :ivar private_fqdn: FQDN of private cluster. 873 :vartype private_fqdn: str 874 :param agent_pool_profiles: Properties of the agent pool. 875 :type agent_pool_profiles: 876 list[~azure.mgmt.containerservice.v2020_02_01.models.ManagedClusterAgentPoolProfile] 877 :param linux_profile: Profile for Linux VMs in the container service cluster. 878 :type linux_profile: 879 ~azure.mgmt.containerservice.v2020_02_01.models.ContainerServiceLinuxProfile 880 :param windows_profile: Profile for Windows VMs in the container service cluster. 881 :type windows_profile: 882 ~azure.mgmt.containerservice.v2020_02_01.models.ManagedClusterWindowsProfile 883 :param service_principal_profile: Information about a service principal identity for the 884 cluster to use for manipulating Azure APIs. 885 :type service_principal_profile: 886 ~azure.mgmt.containerservice.v2020_02_01.models.ManagedClusterServicePrincipalProfile 887 :param addon_profiles: Profile of managed cluster add-on. 888 :type addon_profiles: dict[str, 889 ~azure.mgmt.containerservice.v2020_02_01.models.ManagedClusterAddonProfile] 890 :param node_resource_group: Name of the resource group containing agent pool nodes. 891 :type node_resource_group: str 892 :param enable_rbac: Whether to enable Kubernetes Role-Based Access Control. 893 :type enable_rbac: bool 894 :param enable_pod_security_policy: (DEPRECATING) Whether to enable Kubernetes pod security 895 policy (preview). This feature is set for removal on October 15th, 2020. Learn more at 896 aka.ms/aks/azpodpolicy. 897 :type enable_pod_security_policy: bool 898 :param network_profile: Profile of network configuration. 899 :type network_profile: 900 ~azure.mgmt.containerservice.v2020_02_01.models.ContainerServiceNetworkProfile 901 :param aad_profile: Profile of Azure Active Directory configuration. 902 :type aad_profile: ~azure.mgmt.containerservice.v2020_02_01.models.ManagedClusterAADProfile 903 :param auto_scaler_profile: Parameters to be applied to the cluster-autoscaler when enabled. 904 :type auto_scaler_profile: 905 ~azure.mgmt.containerservice.v2020_02_01.models.ManagedClusterPropertiesAutoScalerProfile 906 :param api_server_access_profile: Access profile for managed cluster API server. 907 :type api_server_access_profile: 908 ~azure.mgmt.containerservice.v2020_02_01.models.ManagedClusterAPIServerAccessProfile 909 :param disk_encryption_set_id: ResourceId of the disk encryption set to use for enabling 910 encryption at rest. 911 :type disk_encryption_set_id: str 912 :param identity_profile: Identities associated with the cluster. 913 :type identity_profile: dict[str, 914 ~azure.mgmt.containerservice.v2020_02_01.models.ManagedClusterPropertiesIdentityProfileValue] 915 """ 916 917 _validation = { 918 'id': {'readonly': True}, 919 'name': {'readonly': True}, 920 'type': {'readonly': True}, 921 'location': {'required': True}, 922 'provisioning_state': {'readonly': True}, 923 'max_agent_pools': {'readonly': True}, 924 'fqdn': {'readonly': True}, 925 'private_fqdn': {'readonly': True}, 926 } 927 928 _attribute_map = { 929 'id': {'key': 'id', 'type': 'str'}, 930 'name': {'key': 'name', 'type': 'str'}, 931 'type': {'key': 'type', 'type': 'str'}, 932 'location': {'key': 'location', 'type': 'str'}, 933 'tags': {'key': 'tags', 'type': '{str}'}, 934 'identity': {'key': 'identity', 'type': 'ManagedClusterIdentity'}, 935 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 936 'max_agent_pools': {'key': 'properties.maxAgentPools', 'type': 'int'}, 937 'kubernetes_version': {'key': 'properties.kubernetesVersion', 'type': 'str'}, 938 'dns_prefix': {'key': 'properties.dnsPrefix', 'type': 'str'}, 939 'fqdn': {'key': 'properties.fqdn', 'type': 'str'}, 940 'private_fqdn': {'key': 'properties.privateFQDN', 'type': 'str'}, 941 'agent_pool_profiles': {'key': 'properties.agentPoolProfiles', 'type': '[ManagedClusterAgentPoolProfile]'}, 942 'linux_profile': {'key': 'properties.linuxProfile', 'type': 'ContainerServiceLinuxProfile'}, 943 'windows_profile': {'key': 'properties.windowsProfile', 'type': 'ManagedClusterWindowsProfile'}, 944 'service_principal_profile': {'key': 'properties.servicePrincipalProfile', 'type': 'ManagedClusterServicePrincipalProfile'}, 945 'addon_profiles': {'key': 'properties.addonProfiles', 'type': '{ManagedClusterAddonProfile}'}, 946 'node_resource_group': {'key': 'properties.nodeResourceGroup', 'type': 'str'}, 947 'enable_rbac': {'key': 'properties.enableRBAC', 'type': 'bool'}, 948 'enable_pod_security_policy': {'key': 'properties.enablePodSecurityPolicy', 'type': 'bool'}, 949 'network_profile': {'key': 'properties.networkProfile', 'type': 'ContainerServiceNetworkProfile'}, 950 'aad_profile': {'key': 'properties.aadProfile', 'type': 'ManagedClusterAADProfile'}, 951 'auto_scaler_profile': {'key': 'properties.autoScalerProfile', 'type': 'ManagedClusterPropertiesAutoScalerProfile'}, 952 'api_server_access_profile': {'key': 'properties.apiServerAccessProfile', 'type': 'ManagedClusterAPIServerAccessProfile'}, 953 'disk_encryption_set_id': {'key': 'properties.diskEncryptionSetID', 'type': 'str'}, 954 'identity_profile': {'key': 'properties.identityProfile', 'type': '{ManagedClusterPropertiesIdentityProfileValue}'}, 955 } 956 957 def __init__( 958 self, 959 **kwargs 960 ): 961 super(ManagedCluster, self).__init__(**kwargs) 962 self.identity = kwargs.get('identity', None) 963 self.provisioning_state = None 964 self.max_agent_pools = None 965 self.kubernetes_version = kwargs.get('kubernetes_version', None) 966 self.dns_prefix = kwargs.get('dns_prefix', None) 967 self.fqdn = None 968 self.private_fqdn = None 969 self.agent_pool_profiles = kwargs.get('agent_pool_profiles', None) 970 self.linux_profile = kwargs.get('linux_profile', None) 971 self.windows_profile = kwargs.get('windows_profile', None) 972 self.service_principal_profile = kwargs.get('service_principal_profile', None) 973 self.addon_profiles = kwargs.get('addon_profiles', None) 974 self.node_resource_group = kwargs.get('node_resource_group', None) 975 self.enable_rbac = kwargs.get('enable_rbac', None) 976 self.enable_pod_security_policy = kwargs.get('enable_pod_security_policy', None) 977 self.network_profile = kwargs.get('network_profile', None) 978 self.aad_profile = kwargs.get('aad_profile', None) 979 self.auto_scaler_profile = kwargs.get('auto_scaler_profile', None) 980 self.api_server_access_profile = kwargs.get('api_server_access_profile', None) 981 self.disk_encryption_set_id = kwargs.get('disk_encryption_set_id', None) 982 self.identity_profile = kwargs.get('identity_profile', None) 983 984 985class ManagedClusterAADProfile(msrest.serialization.Model): 986 """AADProfile specifies attributes for Azure Active Directory integration. 987 988 All required parameters must be populated in order to send to Azure. 989 990 :param client_app_id: Required. The client AAD application ID. 991 :type client_app_id: str 992 :param server_app_id: Required. The server AAD application ID. 993 :type server_app_id: str 994 :param server_app_secret: The server AAD application secret. 995 :type server_app_secret: str 996 :param tenant_id: The AAD tenant ID to use for authentication. If not specified, will use the 997 tenant of the deployment subscription. 998 :type tenant_id: str 999 """ 1000 1001 _validation = { 1002 'client_app_id': {'required': True}, 1003 'server_app_id': {'required': True}, 1004 } 1005 1006 _attribute_map = { 1007 'client_app_id': {'key': 'clientAppID', 'type': 'str'}, 1008 'server_app_id': {'key': 'serverAppID', 'type': 'str'}, 1009 'server_app_secret': {'key': 'serverAppSecret', 'type': 'str'}, 1010 'tenant_id': {'key': 'tenantID', 'type': 'str'}, 1011 } 1012 1013 def __init__( 1014 self, 1015 **kwargs 1016 ): 1017 super(ManagedClusterAADProfile, self).__init__(**kwargs) 1018 self.client_app_id = kwargs['client_app_id'] 1019 self.server_app_id = kwargs['server_app_id'] 1020 self.server_app_secret = kwargs.get('server_app_secret', None) 1021 self.tenant_id = kwargs.get('tenant_id', None) 1022 1023 1024class ManagedClusterAccessProfile(Resource): 1025 """Managed cluster Access Profile. 1026 1027 Variables are only populated by the server, and will be ignored when sending a request. 1028 1029 All required parameters must be populated in order to send to Azure. 1030 1031 :ivar id: Resource Id. 1032 :vartype id: str 1033 :ivar name: Resource name. 1034 :vartype name: str 1035 :ivar type: Resource type. 1036 :vartype type: str 1037 :param location: Required. Resource location. 1038 :type location: str 1039 :param tags: A set of tags. Resource tags. 1040 :type tags: dict[str, str] 1041 :param kube_config: Base64-encoded Kubernetes configuration file. 1042 :type kube_config: bytearray 1043 """ 1044 1045 _validation = { 1046 'id': {'readonly': True}, 1047 'name': {'readonly': True}, 1048 'type': {'readonly': True}, 1049 'location': {'required': True}, 1050 } 1051 1052 _attribute_map = { 1053 'id': {'key': 'id', 'type': 'str'}, 1054 'name': {'key': 'name', 'type': 'str'}, 1055 'type': {'key': 'type', 'type': 'str'}, 1056 'location': {'key': 'location', 'type': 'str'}, 1057 'tags': {'key': 'tags', 'type': '{str}'}, 1058 'kube_config': {'key': 'properties.kubeConfig', 'type': 'bytearray'}, 1059 } 1060 1061 def __init__( 1062 self, 1063 **kwargs 1064 ): 1065 super(ManagedClusterAccessProfile, self).__init__(**kwargs) 1066 self.kube_config = kwargs.get('kube_config', None) 1067 1068 1069class ManagedClusterAddonProfile(msrest.serialization.Model): 1070 """A Kubernetes add-on profile for a managed cluster. 1071 1072 Variables are only populated by the server, and will be ignored when sending a request. 1073 1074 All required parameters must be populated in order to send to Azure. 1075 1076 :param enabled: Required. Whether the add-on is enabled or not. 1077 :type enabled: bool 1078 :param config: Key-value pairs for configuring an add-on. 1079 :type config: dict[str, str] 1080 :ivar identity: Information of user assigned identity used by this add-on. 1081 :vartype identity: 1082 ~azure.mgmt.containerservice.v2020_02_01.models.ManagedClusterAddonProfileIdentity 1083 """ 1084 1085 _validation = { 1086 'enabled': {'required': True}, 1087 'identity': {'readonly': True}, 1088 } 1089 1090 _attribute_map = { 1091 'enabled': {'key': 'enabled', 'type': 'bool'}, 1092 'config': {'key': 'config', 'type': '{str}'}, 1093 'identity': {'key': 'identity', 'type': 'ManagedClusterAddonProfileIdentity'}, 1094 } 1095 1096 def __init__( 1097 self, 1098 **kwargs 1099 ): 1100 super(ManagedClusterAddonProfile, self).__init__(**kwargs) 1101 self.enabled = kwargs['enabled'] 1102 self.config = kwargs.get('config', None) 1103 self.identity = None 1104 1105 1106class UserAssignedIdentity(msrest.serialization.Model): 1107 """UserAssignedIdentity. 1108 1109 :param resource_id: The resource id of the user assigned identity. 1110 :type resource_id: str 1111 :param client_id: The client id of the user assigned identity. 1112 :type client_id: str 1113 :param object_id: The object id of the user assigned identity. 1114 :type object_id: str 1115 """ 1116 1117 _attribute_map = { 1118 'resource_id': {'key': 'resourceId', 'type': 'str'}, 1119 'client_id': {'key': 'clientId', 'type': 'str'}, 1120 'object_id': {'key': 'objectId', 'type': 'str'}, 1121 } 1122 1123 def __init__( 1124 self, 1125 **kwargs 1126 ): 1127 super(UserAssignedIdentity, self).__init__(**kwargs) 1128 self.resource_id = kwargs.get('resource_id', None) 1129 self.client_id = kwargs.get('client_id', None) 1130 self.object_id = kwargs.get('object_id', None) 1131 1132 1133class ManagedClusterAddonProfileIdentity(UserAssignedIdentity): 1134 """Information of user assigned identity used by this add-on. 1135 1136 :param resource_id: The resource id of the user assigned identity. 1137 :type resource_id: str 1138 :param client_id: The client id of the user assigned identity. 1139 :type client_id: str 1140 :param object_id: The object id of the user assigned identity. 1141 :type object_id: str 1142 """ 1143 1144 _attribute_map = { 1145 'resource_id': {'key': 'resourceId', 'type': 'str'}, 1146 'client_id': {'key': 'clientId', 'type': 'str'}, 1147 'object_id': {'key': 'objectId', 'type': 'str'}, 1148 } 1149 1150 def __init__( 1151 self, 1152 **kwargs 1153 ): 1154 super(ManagedClusterAddonProfileIdentity, self).__init__(**kwargs) 1155 1156 1157class ManagedClusterAgentPoolProfileProperties(msrest.serialization.Model): 1158 """Properties for the container service agent pool profile. 1159 1160 Variables are only populated by the server, and will be ignored when sending a request. 1161 1162 :param count: Number of agents (VMs) to host docker containers. Allowed values must be in the 1163 range of 1 to 100 (inclusive). The default value is 1. 1164 :type count: int 1165 :param vm_size: Size of agent VMs. Possible values include: "Standard_A1", "Standard_A10", 1166 "Standard_A11", "Standard_A1_v2", "Standard_A2", "Standard_A2_v2", "Standard_A2m_v2", 1167 "Standard_A3", "Standard_A4", "Standard_A4_v2", "Standard_A4m_v2", "Standard_A5", 1168 "Standard_A6", "Standard_A7", "Standard_A8", "Standard_A8_v2", "Standard_A8m_v2", 1169 "Standard_A9", "Standard_B2ms", "Standard_B2s", "Standard_B4ms", "Standard_B8ms", 1170 "Standard_D1", "Standard_D11", "Standard_D11_v2", "Standard_D11_v2_Promo", "Standard_D12", 1171 "Standard_D12_v2", "Standard_D12_v2_Promo", "Standard_D13", "Standard_D13_v2", 1172 "Standard_D13_v2_Promo", "Standard_D14", "Standard_D14_v2", "Standard_D14_v2_Promo", 1173 "Standard_D15_v2", "Standard_D16_v3", "Standard_D16s_v3", "Standard_D1_v2", "Standard_D2", 1174 "Standard_D2_v2", "Standard_D2_v2_Promo", "Standard_D2_v3", "Standard_D2s_v3", "Standard_D3", 1175 "Standard_D32_v3", "Standard_D32s_v3", "Standard_D3_v2", "Standard_D3_v2_Promo", "Standard_D4", 1176 "Standard_D4_v2", "Standard_D4_v2_Promo", "Standard_D4_v3", "Standard_D4s_v3", 1177 "Standard_D5_v2", "Standard_D5_v2_Promo", "Standard_D64_v3", "Standard_D64s_v3", 1178 "Standard_D8_v3", "Standard_D8s_v3", "Standard_DS1", "Standard_DS11", "Standard_DS11_v2", 1179 "Standard_DS11_v2_Promo", "Standard_DS12", "Standard_DS12_v2", "Standard_DS12_v2_Promo", 1180 "Standard_DS13", "Standard_DS13-2_v2", "Standard_DS13-4_v2", "Standard_DS13_v2", 1181 "Standard_DS13_v2_Promo", "Standard_DS14", "Standard_DS14-4_v2", "Standard_DS14-8_v2", 1182 "Standard_DS14_v2", "Standard_DS14_v2_Promo", "Standard_DS15_v2", "Standard_DS1_v2", 1183 "Standard_DS2", "Standard_DS2_v2", "Standard_DS2_v2_Promo", "Standard_DS3", "Standard_DS3_v2", 1184 "Standard_DS3_v2_Promo", "Standard_DS4", "Standard_DS4_v2", "Standard_DS4_v2_Promo", 1185 "Standard_DS5_v2", "Standard_DS5_v2_Promo", "Standard_E16_v3", "Standard_E16s_v3", 1186 "Standard_E2_v3", "Standard_E2s_v3", "Standard_E32-16s_v3", "Standard_E32-8s_v3", 1187 "Standard_E32_v3", "Standard_E32s_v3", "Standard_E4_v3", "Standard_E4s_v3", 1188 "Standard_E64-16s_v3", "Standard_E64-32s_v3", "Standard_E64_v3", "Standard_E64s_v3", 1189 "Standard_E8_v3", "Standard_E8s_v3", "Standard_F1", "Standard_F16", "Standard_F16s", 1190 "Standard_F16s_v2", "Standard_F1s", "Standard_F2", "Standard_F2s", "Standard_F2s_v2", 1191 "Standard_F32s_v2", "Standard_F4", "Standard_F4s", "Standard_F4s_v2", "Standard_F64s_v2", 1192 "Standard_F72s_v2", "Standard_F8", "Standard_F8s", "Standard_F8s_v2", "Standard_G1", 1193 "Standard_G2", "Standard_G3", "Standard_G4", "Standard_G5", "Standard_GS1", "Standard_GS2", 1194 "Standard_GS3", "Standard_GS4", "Standard_GS4-4", "Standard_GS4-8", "Standard_GS5", 1195 "Standard_GS5-16", "Standard_GS5-8", "Standard_H16", "Standard_H16m", "Standard_H16mr", 1196 "Standard_H16r", "Standard_H8", "Standard_H8m", "Standard_L16s", "Standard_L32s", 1197 "Standard_L4s", "Standard_L8s", "Standard_M128-32ms", "Standard_M128-64ms", "Standard_M128ms", 1198 "Standard_M128s", "Standard_M64-16ms", "Standard_M64-32ms", "Standard_M64ms", "Standard_M64s", 1199 "Standard_NC12", "Standard_NC12s_v2", "Standard_NC12s_v3", "Standard_NC24", "Standard_NC24r", 1200 "Standard_NC24rs_v2", "Standard_NC24rs_v3", "Standard_NC24s_v2", "Standard_NC24s_v3", 1201 "Standard_NC6", "Standard_NC6s_v2", "Standard_NC6s_v3", "Standard_ND12s", "Standard_ND24rs", 1202 "Standard_ND24s", "Standard_ND6s", "Standard_NV12", "Standard_NV24", "Standard_NV6". 1203 :type vm_size: str or 1204 ~azure.mgmt.containerservice.v2020_02_01.models.ContainerServiceVMSizeTypes 1205 :param os_disk_size_gb: OS Disk Size in GB to be used to specify the disk size for every 1206 machine in this master/agent pool. If you specify 0, it will apply the default osDisk size 1207 according to the vmSize specified. 1208 :type os_disk_size_gb: int 1209 :param vnet_subnet_id: VNet SubnetID specifies the VNet's subnet identifier. 1210 :type vnet_subnet_id: str 1211 :param max_pods: Maximum number of pods that can run on a node. 1212 :type max_pods: int 1213 :param os_type: OsType to be used to specify os type. Choose from Linux and Windows. Default to 1214 Linux. Possible values include: "Linux", "Windows". Default value: "Linux". 1215 :type os_type: str or ~azure.mgmt.containerservice.v2020_02_01.models.OSType 1216 :param max_count: Maximum number of nodes for auto-scaling. 1217 :type max_count: int 1218 :param min_count: Minimum number of nodes for auto-scaling. 1219 :type min_count: int 1220 :param enable_auto_scaling: Whether to enable auto-scaler. 1221 :type enable_auto_scaling: bool 1222 :param type: AgentPoolType represents types of an agent pool. Possible values include: 1223 "VirtualMachineScaleSets", "AvailabilitySet". 1224 :type type: str or ~azure.mgmt.containerservice.v2020_02_01.models.AgentPoolType 1225 :param orchestrator_version: Version of orchestrator specified when creating the managed 1226 cluster. 1227 :type orchestrator_version: str 1228 :ivar provisioning_state: The current deployment or provisioning state, which only appears in 1229 the response. 1230 :vartype provisioning_state: str 1231 :param availability_zones: Availability zones for nodes. Must use VirtualMachineScaleSets 1232 AgentPoolType. 1233 :type availability_zones: list[str] 1234 :param enable_node_public_ip: Enable public IP for nodes. 1235 :type enable_node_public_ip: bool 1236 :param scale_set_priority: ScaleSetPriority to be used to specify virtual machine scale set 1237 priority. Default to regular. Possible values include: "Spot", "Low", "Regular". Default value: 1238 "Regular". 1239 :type scale_set_priority: str or 1240 ~azure.mgmt.containerservice.v2020_02_01.models.ScaleSetPriority 1241 :param scale_set_eviction_policy: ScaleSetEvictionPolicy to be used to specify eviction policy 1242 for Spot or low priority virtual machine scale set. Default to Delete. Possible values include: 1243 "Delete", "Deallocate". Default value: "Delete". 1244 :type scale_set_eviction_policy: str or 1245 ~azure.mgmt.containerservice.v2020_02_01.models.ScaleSetEvictionPolicy 1246 :param spot_max_price: SpotMaxPrice to be used to specify the maximum price you are willing to 1247 pay in US Dollars. Possible values are any decimal value greater than zero or -1 which 1248 indicates default price to be up-to on-demand. 1249 :type spot_max_price: float 1250 :param tags: A set of tags. Agent pool tags to be persisted on the agent pool virtual machine 1251 scale set. 1252 :type tags: dict[str, str] 1253 :param node_labels: Agent pool node labels to be persisted across all nodes in agent pool. 1254 :type node_labels: dict[str, str] 1255 :param node_taints: Taints added to new nodes during node pool create and scale. For example, 1256 key=value:NoSchedule. 1257 :type node_taints: list[str] 1258 """ 1259 1260 _validation = { 1261 'os_disk_size_gb': {'maximum': 1023, 'minimum': 0}, 1262 'provisioning_state': {'readonly': True}, 1263 } 1264 1265 _attribute_map = { 1266 'count': {'key': 'count', 'type': 'int'}, 1267 'vm_size': {'key': 'vmSize', 'type': 'str'}, 1268 'os_disk_size_gb': {'key': 'osDiskSizeGB', 'type': 'int'}, 1269 'vnet_subnet_id': {'key': 'vnetSubnetID', 'type': 'str'}, 1270 'max_pods': {'key': 'maxPods', 'type': 'int'}, 1271 'os_type': {'key': 'osType', 'type': 'str'}, 1272 'max_count': {'key': 'maxCount', 'type': 'int'}, 1273 'min_count': {'key': 'minCount', 'type': 'int'}, 1274 'enable_auto_scaling': {'key': 'enableAutoScaling', 'type': 'bool'}, 1275 'type': {'key': 'type', 'type': 'str'}, 1276 'orchestrator_version': {'key': 'orchestratorVersion', 'type': 'str'}, 1277 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, 1278 'availability_zones': {'key': 'availabilityZones', 'type': '[str]'}, 1279 'enable_node_public_ip': {'key': 'enableNodePublicIP', 'type': 'bool'}, 1280 'scale_set_priority': {'key': 'scaleSetPriority', 'type': 'str'}, 1281 'scale_set_eviction_policy': {'key': 'scaleSetEvictionPolicy', 'type': 'str'}, 1282 'spot_max_price': {'key': 'spotMaxPrice', 'type': 'float'}, 1283 'tags': {'key': 'tags', 'type': '{str}'}, 1284 'node_labels': {'key': 'nodeLabels', 'type': '{str}'}, 1285 'node_taints': {'key': 'nodeTaints', 'type': '[str]'}, 1286 } 1287 1288 def __init__( 1289 self, 1290 **kwargs 1291 ): 1292 super(ManagedClusterAgentPoolProfileProperties, self).__init__(**kwargs) 1293 self.count = kwargs.get('count', None) 1294 self.vm_size = kwargs.get('vm_size', None) 1295 self.os_disk_size_gb = kwargs.get('os_disk_size_gb', None) 1296 self.vnet_subnet_id = kwargs.get('vnet_subnet_id', None) 1297 self.max_pods = kwargs.get('max_pods', None) 1298 self.os_type = kwargs.get('os_type', "Linux") 1299 self.max_count = kwargs.get('max_count', None) 1300 self.min_count = kwargs.get('min_count', None) 1301 self.enable_auto_scaling = kwargs.get('enable_auto_scaling', None) 1302 self.type = kwargs.get('type', None) 1303 self.orchestrator_version = kwargs.get('orchestrator_version', None) 1304 self.provisioning_state = None 1305 self.availability_zones = kwargs.get('availability_zones', None) 1306 self.enable_node_public_ip = kwargs.get('enable_node_public_ip', None) 1307 self.scale_set_priority = kwargs.get('scale_set_priority', "Regular") 1308 self.scale_set_eviction_policy = kwargs.get('scale_set_eviction_policy', "Delete") 1309 self.spot_max_price = kwargs.get('spot_max_price', -1) 1310 self.tags = kwargs.get('tags', None) 1311 self.node_labels = kwargs.get('node_labels', None) 1312 self.node_taints = kwargs.get('node_taints', None) 1313 1314 1315class ManagedClusterAgentPoolProfile(ManagedClusterAgentPoolProfileProperties): 1316 """Profile for the container service agent pool. 1317 1318 Variables are only populated by the server, and will be ignored when sending a request. 1319 1320 All required parameters must be populated in order to send to Azure. 1321 1322 :param count: Number of agents (VMs) to host docker containers. Allowed values must be in the 1323 range of 1 to 100 (inclusive). The default value is 1. 1324 :type count: int 1325 :param vm_size: Size of agent VMs. Possible values include: "Standard_A1", "Standard_A10", 1326 "Standard_A11", "Standard_A1_v2", "Standard_A2", "Standard_A2_v2", "Standard_A2m_v2", 1327 "Standard_A3", "Standard_A4", "Standard_A4_v2", "Standard_A4m_v2", "Standard_A5", 1328 "Standard_A6", "Standard_A7", "Standard_A8", "Standard_A8_v2", "Standard_A8m_v2", 1329 "Standard_A9", "Standard_B2ms", "Standard_B2s", "Standard_B4ms", "Standard_B8ms", 1330 "Standard_D1", "Standard_D11", "Standard_D11_v2", "Standard_D11_v2_Promo", "Standard_D12", 1331 "Standard_D12_v2", "Standard_D12_v2_Promo", "Standard_D13", "Standard_D13_v2", 1332 "Standard_D13_v2_Promo", "Standard_D14", "Standard_D14_v2", "Standard_D14_v2_Promo", 1333 "Standard_D15_v2", "Standard_D16_v3", "Standard_D16s_v3", "Standard_D1_v2", "Standard_D2", 1334 "Standard_D2_v2", "Standard_D2_v2_Promo", "Standard_D2_v3", "Standard_D2s_v3", "Standard_D3", 1335 "Standard_D32_v3", "Standard_D32s_v3", "Standard_D3_v2", "Standard_D3_v2_Promo", "Standard_D4", 1336 "Standard_D4_v2", "Standard_D4_v2_Promo", "Standard_D4_v3", "Standard_D4s_v3", 1337 "Standard_D5_v2", "Standard_D5_v2_Promo", "Standard_D64_v3", "Standard_D64s_v3", 1338 "Standard_D8_v3", "Standard_D8s_v3", "Standard_DS1", "Standard_DS11", "Standard_DS11_v2", 1339 "Standard_DS11_v2_Promo", "Standard_DS12", "Standard_DS12_v2", "Standard_DS12_v2_Promo", 1340 "Standard_DS13", "Standard_DS13-2_v2", "Standard_DS13-4_v2", "Standard_DS13_v2", 1341 "Standard_DS13_v2_Promo", "Standard_DS14", "Standard_DS14-4_v2", "Standard_DS14-8_v2", 1342 "Standard_DS14_v2", "Standard_DS14_v2_Promo", "Standard_DS15_v2", "Standard_DS1_v2", 1343 "Standard_DS2", "Standard_DS2_v2", "Standard_DS2_v2_Promo", "Standard_DS3", "Standard_DS3_v2", 1344 "Standard_DS3_v2_Promo", "Standard_DS4", "Standard_DS4_v2", "Standard_DS4_v2_Promo", 1345 "Standard_DS5_v2", "Standard_DS5_v2_Promo", "Standard_E16_v3", "Standard_E16s_v3", 1346 "Standard_E2_v3", "Standard_E2s_v3", "Standard_E32-16s_v3", "Standard_E32-8s_v3", 1347 "Standard_E32_v3", "Standard_E32s_v3", "Standard_E4_v3", "Standard_E4s_v3", 1348 "Standard_E64-16s_v3", "Standard_E64-32s_v3", "Standard_E64_v3", "Standard_E64s_v3", 1349 "Standard_E8_v3", "Standard_E8s_v3", "Standard_F1", "Standard_F16", "Standard_F16s", 1350 "Standard_F16s_v2", "Standard_F1s", "Standard_F2", "Standard_F2s", "Standard_F2s_v2", 1351 "Standard_F32s_v2", "Standard_F4", "Standard_F4s", "Standard_F4s_v2", "Standard_F64s_v2", 1352 "Standard_F72s_v2", "Standard_F8", "Standard_F8s", "Standard_F8s_v2", "Standard_G1", 1353 "Standard_G2", "Standard_G3", "Standard_G4", "Standard_G5", "Standard_GS1", "Standard_GS2", 1354 "Standard_GS3", "Standard_GS4", "Standard_GS4-4", "Standard_GS4-8", "Standard_GS5", 1355 "Standard_GS5-16", "Standard_GS5-8", "Standard_H16", "Standard_H16m", "Standard_H16mr", 1356 "Standard_H16r", "Standard_H8", "Standard_H8m", "Standard_L16s", "Standard_L32s", 1357 "Standard_L4s", "Standard_L8s", "Standard_M128-32ms", "Standard_M128-64ms", "Standard_M128ms", 1358 "Standard_M128s", "Standard_M64-16ms", "Standard_M64-32ms", "Standard_M64ms", "Standard_M64s", 1359 "Standard_NC12", "Standard_NC12s_v2", "Standard_NC12s_v3", "Standard_NC24", "Standard_NC24r", 1360 "Standard_NC24rs_v2", "Standard_NC24rs_v3", "Standard_NC24s_v2", "Standard_NC24s_v3", 1361 "Standard_NC6", "Standard_NC6s_v2", "Standard_NC6s_v3", "Standard_ND12s", "Standard_ND24rs", 1362 "Standard_ND24s", "Standard_ND6s", "Standard_NV12", "Standard_NV24", "Standard_NV6". 1363 :type vm_size: str or 1364 ~azure.mgmt.containerservice.v2020_02_01.models.ContainerServiceVMSizeTypes 1365 :param os_disk_size_gb: OS Disk Size in GB to be used to specify the disk size for every 1366 machine in this master/agent pool. If you specify 0, it will apply the default osDisk size 1367 according to the vmSize specified. 1368 :type os_disk_size_gb: int 1369 :param vnet_subnet_id: VNet SubnetID specifies the VNet's subnet identifier. 1370 :type vnet_subnet_id: str 1371 :param max_pods: Maximum number of pods that can run on a node. 1372 :type max_pods: int 1373 :param os_type: OsType to be used to specify os type. Choose from Linux and Windows. Default to 1374 Linux. Possible values include: "Linux", "Windows". Default value: "Linux". 1375 :type os_type: str or ~azure.mgmt.containerservice.v2020_02_01.models.OSType 1376 :param max_count: Maximum number of nodes for auto-scaling. 1377 :type max_count: int 1378 :param min_count: Minimum number of nodes for auto-scaling. 1379 :type min_count: int 1380 :param enable_auto_scaling: Whether to enable auto-scaler. 1381 :type enable_auto_scaling: bool 1382 :param type: AgentPoolType represents types of an agent pool. Possible values include: 1383 "VirtualMachineScaleSets", "AvailabilitySet". 1384 :type type: str or ~azure.mgmt.containerservice.v2020_02_01.models.AgentPoolType 1385 :param orchestrator_version: Version of orchestrator specified when creating the managed 1386 cluster. 1387 :type orchestrator_version: str 1388 :ivar provisioning_state: The current deployment or provisioning state, which only appears in 1389 the response. 1390 :vartype provisioning_state: str 1391 :param availability_zones: Availability zones for nodes. Must use VirtualMachineScaleSets 1392 AgentPoolType. 1393 :type availability_zones: list[str] 1394 :param enable_node_public_ip: Enable public IP for nodes. 1395 :type enable_node_public_ip: bool 1396 :param scale_set_priority: ScaleSetPriority to be used to specify virtual machine scale set 1397 priority. Default to regular. Possible values include: "Spot", "Low", "Regular". Default value: 1398 "Regular". 1399 :type scale_set_priority: str or 1400 ~azure.mgmt.containerservice.v2020_02_01.models.ScaleSetPriority 1401 :param scale_set_eviction_policy: ScaleSetEvictionPolicy to be used to specify eviction policy 1402 for Spot or low priority virtual machine scale set. Default to Delete. Possible values include: 1403 "Delete", "Deallocate". Default value: "Delete". 1404 :type scale_set_eviction_policy: str or 1405 ~azure.mgmt.containerservice.v2020_02_01.models.ScaleSetEvictionPolicy 1406 :param spot_max_price: SpotMaxPrice to be used to specify the maximum price you are willing to 1407 pay in US Dollars. Possible values are any decimal value greater than zero or -1 which 1408 indicates default price to be up-to on-demand. 1409 :type spot_max_price: float 1410 :param tags: A set of tags. Agent pool tags to be persisted on the agent pool virtual machine 1411 scale set. 1412 :type tags: dict[str, str] 1413 :param node_labels: Agent pool node labels to be persisted across all nodes in agent pool. 1414 :type node_labels: dict[str, str] 1415 :param node_taints: Taints added to new nodes during node pool create and scale. For example, 1416 key=value:NoSchedule. 1417 :type node_taints: list[str] 1418 :param name: Required. Unique name of the agent pool profile in the context of the subscription 1419 and resource group. 1420 :type name: str 1421 """ 1422 1423 _validation = { 1424 'os_disk_size_gb': {'maximum': 1023, 'minimum': 0}, 1425 'provisioning_state': {'readonly': True}, 1426 'name': {'required': True, 'pattern': r'^[a-z][a-z0-9]{0,11}$'}, 1427 } 1428 1429 _attribute_map = { 1430 'count': {'key': 'count', 'type': 'int'}, 1431 'vm_size': {'key': 'vmSize', 'type': 'str'}, 1432 'os_disk_size_gb': {'key': 'osDiskSizeGB', 'type': 'int'}, 1433 'vnet_subnet_id': {'key': 'vnetSubnetID', 'type': 'str'}, 1434 'max_pods': {'key': 'maxPods', 'type': 'int'}, 1435 'os_type': {'key': 'osType', 'type': 'str'}, 1436 'max_count': {'key': 'maxCount', 'type': 'int'}, 1437 'min_count': {'key': 'minCount', 'type': 'int'}, 1438 'enable_auto_scaling': {'key': 'enableAutoScaling', 'type': 'bool'}, 1439 'type': {'key': 'type', 'type': 'str'}, 1440 'orchestrator_version': {'key': 'orchestratorVersion', 'type': 'str'}, 1441 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, 1442 'availability_zones': {'key': 'availabilityZones', 'type': '[str]'}, 1443 'enable_node_public_ip': {'key': 'enableNodePublicIP', 'type': 'bool'}, 1444 'scale_set_priority': {'key': 'scaleSetPriority', 'type': 'str'}, 1445 'scale_set_eviction_policy': {'key': 'scaleSetEvictionPolicy', 'type': 'str'}, 1446 'spot_max_price': {'key': 'spotMaxPrice', 'type': 'float'}, 1447 'tags': {'key': 'tags', 'type': '{str}'}, 1448 'node_labels': {'key': 'nodeLabels', 'type': '{str}'}, 1449 'node_taints': {'key': 'nodeTaints', 'type': '[str]'}, 1450 'name': {'key': 'name', 'type': 'str'}, 1451 } 1452 1453 def __init__( 1454 self, 1455 **kwargs 1456 ): 1457 super(ManagedClusterAgentPoolProfile, self).__init__(**kwargs) 1458 self.name = kwargs['name'] 1459 1460 1461class ManagedClusterAPIServerAccessProfile(msrest.serialization.Model): 1462 """Access profile for managed cluster API server. 1463 1464 :param authorized_ip_ranges: Authorized IP Ranges to kubernetes API server. 1465 :type authorized_ip_ranges: list[str] 1466 :param enable_private_cluster: Whether to create the cluster as a private cluster or not. 1467 :type enable_private_cluster: bool 1468 """ 1469 1470 _attribute_map = { 1471 'authorized_ip_ranges': {'key': 'authorizedIPRanges', 'type': '[str]'}, 1472 'enable_private_cluster': {'key': 'enablePrivateCluster', 'type': 'bool'}, 1473 } 1474 1475 def __init__( 1476 self, 1477 **kwargs 1478 ): 1479 super(ManagedClusterAPIServerAccessProfile, self).__init__(**kwargs) 1480 self.authorized_ip_ranges = kwargs.get('authorized_ip_ranges', None) 1481 self.enable_private_cluster = kwargs.get('enable_private_cluster', None) 1482 1483 1484class ManagedClusterIdentity(msrest.serialization.Model): 1485 """Identity for the managed cluster. 1486 1487 Variables are only populated by the server, and will be ignored when sending a request. 1488 1489 :ivar principal_id: The principal id of the system assigned identity which is used by master 1490 components. 1491 :vartype principal_id: str 1492 :ivar tenant_id: The tenant id of the system assigned identity which is used by master 1493 components. 1494 :vartype tenant_id: str 1495 :param type: The type of identity used for the managed cluster. Type 'SystemAssigned' will use 1496 an implicitly created identity in master components and an auto-created user assigned identity 1497 in MC_ resource group in agent nodes. Type 'None' will not use MSI for the managed cluster, 1498 service principal will be used instead. Possible values include: "SystemAssigned", "None". 1499 :type type: str or ~azure.mgmt.containerservice.v2020_02_01.models.ResourceIdentityType 1500 """ 1501 1502 _validation = { 1503 'principal_id': {'readonly': True}, 1504 'tenant_id': {'readonly': True}, 1505 } 1506 1507 _attribute_map = { 1508 'principal_id': {'key': 'principalId', 'type': 'str'}, 1509 'tenant_id': {'key': 'tenantId', 'type': 'str'}, 1510 'type': {'key': 'type', 'type': 'str'}, 1511 } 1512 1513 def __init__( 1514 self, 1515 **kwargs 1516 ): 1517 super(ManagedClusterIdentity, self).__init__(**kwargs) 1518 self.principal_id = None 1519 self.tenant_id = None 1520 self.type = kwargs.get('type', None) 1521 1522 1523class ManagedClusterListResult(msrest.serialization.Model): 1524 """The response from the List Managed Clusters operation. 1525 1526 Variables are only populated by the server, and will be ignored when sending a request. 1527 1528 :param value: The list of managed clusters. 1529 :type value: list[~azure.mgmt.containerservice.v2020_02_01.models.ManagedCluster] 1530 :ivar next_link: The URL to get the next set of managed cluster results. 1531 :vartype next_link: str 1532 """ 1533 1534 _validation = { 1535 'next_link': {'readonly': True}, 1536 } 1537 1538 _attribute_map = { 1539 'value': {'key': 'value', 'type': '[ManagedCluster]'}, 1540 'next_link': {'key': 'nextLink', 'type': 'str'}, 1541 } 1542 1543 def __init__( 1544 self, 1545 **kwargs 1546 ): 1547 super(ManagedClusterListResult, self).__init__(**kwargs) 1548 self.value = kwargs.get('value', None) 1549 self.next_link = None 1550 1551 1552class ManagedClusterLoadBalancerProfile(msrest.serialization.Model): 1553 """Profile of the managed cluster load balancer. 1554 1555 :param managed_outbound_i_ps: Desired managed outbound IPs for the cluster load balancer. 1556 :type managed_outbound_i_ps: 1557 ~azure.mgmt.containerservice.v2020_02_01.models.ManagedClusterLoadBalancerProfileManagedOutboundIPs 1558 :param outbound_ip_prefixes: Desired outbound IP Prefix resources for the cluster load 1559 balancer. 1560 :type outbound_ip_prefixes: 1561 ~azure.mgmt.containerservice.v2020_02_01.models.ManagedClusterLoadBalancerProfileOutboundIPPrefixes 1562 :param outbound_i_ps: Desired outbound IP resources for the cluster load balancer. 1563 :type outbound_i_ps: 1564 ~azure.mgmt.containerservice.v2020_02_01.models.ManagedClusterLoadBalancerProfileOutboundIPs 1565 :param effective_outbound_i_ps: The effective outbound IP resources of the cluster load 1566 balancer. 1567 :type effective_outbound_i_ps: 1568 list[~azure.mgmt.containerservice.v2020_02_01.models.ResourceReference] 1569 :param allocated_outbound_ports: Desired number of allocated SNAT ports per VM. Allowed values 1570 must be in the range of 0 to 64000 (inclusive). The default value is 0 which results in Azure 1571 dynamically allocating ports. 1572 :type allocated_outbound_ports: int 1573 :param idle_timeout_in_minutes: Desired outbound flow idle timeout in minutes. Allowed values 1574 must be in the range of 4 to 120 (inclusive). The default value is 30 minutes. 1575 :type idle_timeout_in_minutes: int 1576 """ 1577 1578 _validation = { 1579 'allocated_outbound_ports': {'maximum': 64000, 'minimum': 0}, 1580 'idle_timeout_in_minutes': {'maximum': 120, 'minimum': 4}, 1581 } 1582 1583 _attribute_map = { 1584 'managed_outbound_i_ps': {'key': 'managedOutboundIPs', 'type': 'ManagedClusterLoadBalancerProfileManagedOutboundIPs'}, 1585 'outbound_ip_prefixes': {'key': 'outboundIPPrefixes', 'type': 'ManagedClusterLoadBalancerProfileOutboundIPPrefixes'}, 1586 'outbound_i_ps': {'key': 'outboundIPs', 'type': 'ManagedClusterLoadBalancerProfileOutboundIPs'}, 1587 'effective_outbound_i_ps': {'key': 'effectiveOutboundIPs', 'type': '[ResourceReference]'}, 1588 'allocated_outbound_ports': {'key': 'allocatedOutboundPorts', 'type': 'int'}, 1589 'idle_timeout_in_minutes': {'key': 'idleTimeoutInMinutes', 'type': 'int'}, 1590 } 1591 1592 def __init__( 1593 self, 1594 **kwargs 1595 ): 1596 super(ManagedClusterLoadBalancerProfile, self).__init__(**kwargs) 1597 self.managed_outbound_i_ps = kwargs.get('managed_outbound_i_ps', None) 1598 self.outbound_ip_prefixes = kwargs.get('outbound_ip_prefixes', None) 1599 self.outbound_i_ps = kwargs.get('outbound_i_ps', None) 1600 self.effective_outbound_i_ps = kwargs.get('effective_outbound_i_ps', None) 1601 self.allocated_outbound_ports = kwargs.get('allocated_outbound_ports', 0) 1602 self.idle_timeout_in_minutes = kwargs.get('idle_timeout_in_minutes', 30) 1603 1604 1605class ManagedClusterLoadBalancerProfileManagedOutboundIPs(msrest.serialization.Model): 1606 """Desired managed outbound IPs for the cluster load balancer. 1607 1608 :param count: Desired number of outbound IP created/managed by Azure for the cluster load 1609 balancer. Allowed values must be in the range of 1 to 100 (inclusive). The default value is 1. 1610 :type count: int 1611 """ 1612 1613 _validation = { 1614 'count': {'maximum': 100, 'minimum': 1}, 1615 } 1616 1617 _attribute_map = { 1618 'count': {'key': 'count', 'type': 'int'}, 1619 } 1620 1621 def __init__( 1622 self, 1623 **kwargs 1624 ): 1625 super(ManagedClusterLoadBalancerProfileManagedOutboundIPs, self).__init__(**kwargs) 1626 self.count = kwargs.get('count', 1) 1627 1628 1629class ManagedClusterLoadBalancerProfileOutboundIPPrefixes(msrest.serialization.Model): 1630 """Desired outbound IP Prefix resources for the cluster load balancer. 1631 1632 :param public_ip_prefixes: A list of public IP prefix resources. 1633 :type public_ip_prefixes: 1634 list[~azure.mgmt.containerservice.v2020_02_01.models.ResourceReference] 1635 """ 1636 1637 _attribute_map = { 1638 'public_ip_prefixes': {'key': 'publicIPPrefixes', 'type': '[ResourceReference]'}, 1639 } 1640 1641 def __init__( 1642 self, 1643 **kwargs 1644 ): 1645 super(ManagedClusterLoadBalancerProfileOutboundIPPrefixes, self).__init__(**kwargs) 1646 self.public_ip_prefixes = kwargs.get('public_ip_prefixes', None) 1647 1648 1649class ManagedClusterLoadBalancerProfileOutboundIPs(msrest.serialization.Model): 1650 """Desired outbound IP resources for the cluster load balancer. 1651 1652 :param public_i_ps: A list of public IP resources. 1653 :type public_i_ps: list[~azure.mgmt.containerservice.v2020_02_01.models.ResourceReference] 1654 """ 1655 1656 _attribute_map = { 1657 'public_i_ps': {'key': 'publicIPs', 'type': '[ResourceReference]'}, 1658 } 1659 1660 def __init__( 1661 self, 1662 **kwargs 1663 ): 1664 super(ManagedClusterLoadBalancerProfileOutboundIPs, self).__init__(**kwargs) 1665 self.public_i_ps = kwargs.get('public_i_ps', None) 1666 1667 1668class ManagedClusterPoolUpgradeProfile(msrest.serialization.Model): 1669 """The list of available upgrade versions. 1670 1671 All required parameters must be populated in order to send to Azure. 1672 1673 :param kubernetes_version: Required. Kubernetes version (major, minor, patch). 1674 :type kubernetes_version: str 1675 :param name: Pool name. 1676 :type name: str 1677 :param os_type: Required. OsType to be used to specify os type. Choose from Linux and Windows. 1678 Default to Linux. Possible values include: "Linux", "Windows". Default value: "Linux". 1679 :type os_type: str or ~azure.mgmt.containerservice.v2020_02_01.models.OSType 1680 :param upgrades: List of orchestrator types and versions available for upgrade. 1681 :type upgrades: 1682 list[~azure.mgmt.containerservice.v2020_02_01.models.ManagedClusterPoolUpgradeProfileUpgradesItem] 1683 """ 1684 1685 _validation = { 1686 'kubernetes_version': {'required': True}, 1687 'os_type': {'required': True}, 1688 } 1689 1690 _attribute_map = { 1691 'kubernetes_version': {'key': 'kubernetesVersion', 'type': 'str'}, 1692 'name': {'key': 'name', 'type': 'str'}, 1693 'os_type': {'key': 'osType', 'type': 'str'}, 1694 'upgrades': {'key': 'upgrades', 'type': '[ManagedClusterPoolUpgradeProfileUpgradesItem]'}, 1695 } 1696 1697 def __init__( 1698 self, 1699 **kwargs 1700 ): 1701 super(ManagedClusterPoolUpgradeProfile, self).__init__(**kwargs) 1702 self.kubernetes_version = kwargs['kubernetes_version'] 1703 self.name = kwargs.get('name', None) 1704 self.os_type = kwargs.get('os_type', "Linux") 1705 self.upgrades = kwargs.get('upgrades', None) 1706 1707 1708class ManagedClusterPoolUpgradeProfileUpgradesItem(msrest.serialization.Model): 1709 """ManagedClusterPoolUpgradeProfileUpgradesItem. 1710 1711 :param kubernetes_version: Kubernetes version (major, minor, patch). 1712 :type kubernetes_version: str 1713 :param is_preview: Whether Kubernetes version is currently in preview. 1714 :type is_preview: bool 1715 """ 1716 1717 _attribute_map = { 1718 'kubernetes_version': {'key': 'kubernetesVersion', 'type': 'str'}, 1719 'is_preview': {'key': 'isPreview', 'type': 'bool'}, 1720 } 1721 1722 def __init__( 1723 self, 1724 **kwargs 1725 ): 1726 super(ManagedClusterPoolUpgradeProfileUpgradesItem, self).__init__(**kwargs) 1727 self.kubernetes_version = kwargs.get('kubernetes_version', None) 1728 self.is_preview = kwargs.get('is_preview', None) 1729 1730 1731class ManagedClusterPropertiesAutoScalerProfile(msrest.serialization.Model): 1732 """Parameters to be applied to the cluster-autoscaler when enabled. 1733 1734 :param scan_interval: 1735 :type scan_interval: str 1736 :param scale_down_delay_after_add: 1737 :type scale_down_delay_after_add: str 1738 :param scale_down_delay_after_delete: 1739 :type scale_down_delay_after_delete: str 1740 :param scale_down_delay_after_failure: 1741 :type scale_down_delay_after_failure: str 1742 :param scale_down_unneeded_time: 1743 :type scale_down_unneeded_time: str 1744 :param scale_down_unready_time: 1745 :type scale_down_unready_time: str 1746 :param scale_down_utilization_threshold: 1747 :type scale_down_utilization_threshold: str 1748 :param max_graceful_termination_sec: 1749 :type max_graceful_termination_sec: str 1750 """ 1751 1752 _attribute_map = { 1753 'scan_interval': {'key': 'scan-interval', 'type': 'str'}, 1754 'scale_down_delay_after_add': {'key': 'scale-down-delay-after-add', 'type': 'str'}, 1755 'scale_down_delay_after_delete': {'key': 'scale-down-delay-after-delete', 'type': 'str'}, 1756 'scale_down_delay_after_failure': {'key': 'scale-down-delay-after-failure', 'type': 'str'}, 1757 'scale_down_unneeded_time': {'key': 'scale-down-unneeded-time', 'type': 'str'}, 1758 'scale_down_unready_time': {'key': 'scale-down-unready-time', 'type': 'str'}, 1759 'scale_down_utilization_threshold': {'key': 'scale-down-utilization-threshold', 'type': 'str'}, 1760 'max_graceful_termination_sec': {'key': 'max-graceful-termination-sec', 'type': 'str'}, 1761 } 1762 1763 def __init__( 1764 self, 1765 **kwargs 1766 ): 1767 super(ManagedClusterPropertiesAutoScalerProfile, self).__init__(**kwargs) 1768 self.scan_interval = kwargs.get('scan_interval', None) 1769 self.scale_down_delay_after_add = kwargs.get('scale_down_delay_after_add', None) 1770 self.scale_down_delay_after_delete = kwargs.get('scale_down_delay_after_delete', None) 1771 self.scale_down_delay_after_failure = kwargs.get('scale_down_delay_after_failure', None) 1772 self.scale_down_unneeded_time = kwargs.get('scale_down_unneeded_time', None) 1773 self.scale_down_unready_time = kwargs.get('scale_down_unready_time', None) 1774 self.scale_down_utilization_threshold = kwargs.get('scale_down_utilization_threshold', None) 1775 self.max_graceful_termination_sec = kwargs.get('max_graceful_termination_sec', None) 1776 1777 1778class ManagedClusterPropertiesIdentityProfileValue(UserAssignedIdentity): 1779 """ManagedClusterPropertiesIdentityProfileValue. 1780 1781 :param resource_id: The resource id of the user assigned identity. 1782 :type resource_id: str 1783 :param client_id: The client id of the user assigned identity. 1784 :type client_id: str 1785 :param object_id: The object id of the user assigned identity. 1786 :type object_id: str 1787 """ 1788 1789 _attribute_map = { 1790 'resource_id': {'key': 'resourceId', 'type': 'str'}, 1791 'client_id': {'key': 'clientId', 'type': 'str'}, 1792 'object_id': {'key': 'objectId', 'type': 'str'}, 1793 } 1794 1795 def __init__( 1796 self, 1797 **kwargs 1798 ): 1799 super(ManagedClusterPropertiesIdentityProfileValue, self).__init__(**kwargs) 1800 1801 1802class ManagedClusterServicePrincipalProfile(msrest.serialization.Model): 1803 """Information about a service principal identity for the cluster to use for manipulating Azure APIs. 1804 1805 All required parameters must be populated in order to send to Azure. 1806 1807 :param client_id: Required. The ID for the service principal. 1808 :type client_id: str 1809 :param secret: The secret password associated with the service principal in plain text. 1810 :type secret: str 1811 """ 1812 1813 _validation = { 1814 'client_id': {'required': True}, 1815 } 1816 1817 _attribute_map = { 1818 'client_id': {'key': 'clientId', 'type': 'str'}, 1819 'secret': {'key': 'secret', 'type': 'str'}, 1820 } 1821 1822 def __init__( 1823 self, 1824 **kwargs 1825 ): 1826 super(ManagedClusterServicePrincipalProfile, self).__init__(**kwargs) 1827 self.client_id = kwargs['client_id'] 1828 self.secret = kwargs.get('secret', None) 1829 1830 1831class ManagedClusterUpgradeProfile(msrest.serialization.Model): 1832 """The list of available upgrades for compute pools. 1833 1834 Variables are only populated by the server, and will be ignored when sending a request. 1835 1836 All required parameters must be populated in order to send to Azure. 1837 1838 :ivar id: Id of upgrade profile. 1839 :vartype id: str 1840 :ivar name: Name of upgrade profile. 1841 :vartype name: str 1842 :ivar type: Type of upgrade profile. 1843 :vartype type: str 1844 :param control_plane_profile: Required. The list of available upgrade versions for the control 1845 plane. 1846 :type control_plane_profile: 1847 ~azure.mgmt.containerservice.v2020_02_01.models.ManagedClusterPoolUpgradeProfile 1848 :param agent_pool_profiles: Required. The list of available upgrade versions for agent pools. 1849 :type agent_pool_profiles: 1850 list[~azure.mgmt.containerservice.v2020_02_01.models.ManagedClusterPoolUpgradeProfile] 1851 """ 1852 1853 _validation = { 1854 'id': {'readonly': True}, 1855 'name': {'readonly': True}, 1856 'type': {'readonly': True}, 1857 'control_plane_profile': {'required': True}, 1858 'agent_pool_profiles': {'required': True}, 1859 } 1860 1861 _attribute_map = { 1862 'id': {'key': 'id', 'type': 'str'}, 1863 'name': {'key': 'name', 'type': 'str'}, 1864 'type': {'key': 'type', 'type': 'str'}, 1865 'control_plane_profile': {'key': 'properties.controlPlaneProfile', 'type': 'ManagedClusterPoolUpgradeProfile'}, 1866 'agent_pool_profiles': {'key': 'properties.agentPoolProfiles', 'type': '[ManagedClusterPoolUpgradeProfile]'}, 1867 } 1868 1869 def __init__( 1870 self, 1871 **kwargs 1872 ): 1873 super(ManagedClusterUpgradeProfile, self).__init__(**kwargs) 1874 self.id = None 1875 self.name = None 1876 self.type = None 1877 self.control_plane_profile = kwargs['control_plane_profile'] 1878 self.agent_pool_profiles = kwargs['agent_pool_profiles'] 1879 1880 1881class ManagedClusterWindowsProfile(msrest.serialization.Model): 1882 """Profile for Windows VMs in the container service cluster. 1883 1884 All required parameters must be populated in order to send to Azure. 1885 1886 :param admin_username: Required. Specifies the name of the administrator account. 1887 :code:`<br>`:code:`<br>` **restriction:** Cannot end in "." :code:`<br>`:code:`<br>` 1888 **Disallowed values:** "administrator", "admin", "user", "user1", "test", "user2", "test1", 1889 "user3", "admin1", "1", "123", "a", "actuser", "adm", "admin2", "aspnet", "backup", "console", 1890 "david", "guest", "john", "owner", "root", "server", "sql", "support", "support_388945a0", 1891 "sys", "test2", "test3", "user4", "user5". :code:`<br>`:code:`<br>` **Minimum-length:** 1 1892 character :code:`<br>`:code:`<br>` **Max-length:** 20 characters. 1893 :type admin_username: str 1894 :param admin_password: Specifies the password of the administrator account. 1895 :code:`<br>`:code:`<br>` **Minimum-length:** 8 characters :code:`<br>`:code:`<br>` 1896 **Max-length:** 123 characters :code:`<br>`:code:`<br>` **Complexity requirements:** 3 out of 4 1897 conditions below need to be fulfilled :code:`<br>` Has lower characters :code:`<br>`Has upper 1898 characters :code:`<br>` Has a digit :code:`<br>` Has a special character (Regex match [\W_]) 1899 :code:`<br>`:code:`<br>` **Disallowed values:** "abc@123", "P@$$w0rd", "P@ssw0rd", 1900 "P@ssword123", "Pa$$word", "pass@word1", "Password!", "Password1", "Password22", "iloveyou!". 1901 :type admin_password: str 1902 """ 1903 1904 _validation = { 1905 'admin_username': {'required': True}, 1906 } 1907 1908 _attribute_map = { 1909 'admin_username': {'key': 'adminUsername', 'type': 'str'}, 1910 'admin_password': {'key': 'adminPassword', 'type': 'str'}, 1911 } 1912 1913 def __init__( 1914 self, 1915 **kwargs 1916 ): 1917 super(ManagedClusterWindowsProfile, self).__init__(**kwargs) 1918 self.admin_username = kwargs['admin_username'] 1919 self.admin_password = kwargs.get('admin_password', None) 1920 1921 1922class OperationListResult(msrest.serialization.Model): 1923 """The List Compute Operation operation response. 1924 1925 Variables are only populated by the server, and will be ignored when sending a request. 1926 1927 :ivar value: The list of compute operations. 1928 :vartype value: list[~azure.mgmt.containerservice.v2020_02_01.models.OperationValue] 1929 """ 1930 1931 _validation = { 1932 'value': {'readonly': True}, 1933 } 1934 1935 _attribute_map = { 1936 'value': {'key': 'value', 'type': '[OperationValue]'}, 1937 } 1938 1939 def __init__( 1940 self, 1941 **kwargs 1942 ): 1943 super(OperationListResult, self).__init__(**kwargs) 1944 self.value = None 1945 1946 1947class OperationValue(msrest.serialization.Model): 1948 """Describes the properties of a Compute Operation value. 1949 1950 Variables are only populated by the server, and will be ignored when sending a request. 1951 1952 :ivar origin: The origin of the compute operation. 1953 :vartype origin: str 1954 :ivar name: The name of the compute operation. 1955 :vartype name: str 1956 :ivar operation: The display name of the compute operation. 1957 :vartype operation: str 1958 :ivar resource: The display name of the resource the operation applies to. 1959 :vartype resource: str 1960 :ivar description: The description of the operation. 1961 :vartype description: str 1962 :ivar provider: The resource provider for the operation. 1963 :vartype provider: str 1964 """ 1965 1966 _validation = { 1967 'origin': {'readonly': True}, 1968 'name': {'readonly': True}, 1969 'operation': {'readonly': True}, 1970 'resource': {'readonly': True}, 1971 'description': {'readonly': True}, 1972 'provider': {'readonly': True}, 1973 } 1974 1975 _attribute_map = { 1976 'origin': {'key': 'origin', 'type': 'str'}, 1977 'name': {'key': 'name', 'type': 'str'}, 1978 'operation': {'key': 'display.operation', 'type': 'str'}, 1979 'resource': {'key': 'display.resource', 'type': 'str'}, 1980 'description': {'key': 'display.description', 'type': 'str'}, 1981 'provider': {'key': 'display.provider', 'type': 'str'}, 1982 } 1983 1984 def __init__( 1985 self, 1986 **kwargs 1987 ): 1988 super(OperationValue, self).__init__(**kwargs) 1989 self.origin = None 1990 self.name = None 1991 self.operation = None 1992 self.resource = None 1993 self.description = None 1994 self.provider = None 1995 1996 1997class ResourceReference(msrest.serialization.Model): 1998 """A reference to an Azure resource. 1999 2000 :param id: The fully qualified Azure resource id. 2001 :type id: str 2002 """ 2003 2004 _attribute_map = { 2005 'id': {'key': 'id', 'type': 'str'}, 2006 } 2007 2008 def __init__( 2009 self, 2010 **kwargs 2011 ): 2012 super(ResourceReference, self).__init__(**kwargs) 2013 self.id = kwargs.get('id', None) 2014 2015 2016class TagsObject(msrest.serialization.Model): 2017 """Tags object for patch operations. 2018 2019 :param tags: A set of tags. Resource tags. 2020 :type tags: dict[str, str] 2021 """ 2022 2023 _attribute_map = { 2024 'tags': {'key': 'tags', 'type': '{str}'}, 2025 } 2026 2027 def __init__( 2028 self, 2029 **kwargs 2030 ): 2031 super(TagsObject, self).__init__(**kwargs) 2032 self.tags = kwargs.get('tags', None) 2033