Source code for azure.mgmt.containerservice.v2017_07_01.models._models_py3

# coding=utf-8
# --------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License. See License.txt in the project root for
# license information.
#
# Code generated by Microsoft (R) AutoRest Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is
# regenerated.
# --------------------------------------------------------------------------

from msrest.serialization import Model


class CloudError(Model):
    """CloudError.
    """

    _attribute_map = {
    }


[docs]class Resource(Model): """The Resource model definition. Variables are only populated by the server, and will be ignored when sending a request. All required parameters must be populated in order to send to Azure. :ivar id: Resource Id :vartype id: str :ivar name: Resource name :vartype name: str :ivar type: Resource type :vartype type: str :param location: Required. Resource location :type location: str :param tags: Resource tags :type tags: dict[str, str] """ _validation = { 'id': {'readonly': True}, 'name': {'readonly': True}, 'type': {'readonly': True}, 'location': {'required': True}, } _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, 'type': {'key': 'type', 'type': 'str'}, 'location': {'key': 'location', 'type': 'str'}, 'tags': {'key': 'tags', 'type': '{str}'}, } def __init__(self, *, location: str, tags=None, **kwargs) -> None: super(Resource, self).__init__(**kwargs) self.id = None self.name = None self.type = None self.location = location self.tags = tags
[docs]class ContainerService(Resource): """Container service. Variables are only populated by the server, and will be ignored when sending a request. All required parameters must be populated in order to send to Azure. :ivar id: Resource Id :vartype id: str :ivar name: Resource name :vartype name: str :ivar type: Resource type :vartype type: str :param location: Required. Resource location :type location: str :param tags: Resource tags :type tags: dict[str, str] :ivar provisioning_state: The current deployment or provisioning state, which only appears in the response. :vartype provisioning_state: str :param orchestrator_profile: Required. Profile for the container service orchestrator. :type orchestrator_profile: ~azure.mgmt.containerservice.v2017_07_01.models.ContainerServiceOrchestratorProfile :param custom_profile: Properties to configure a custom container service cluster. :type custom_profile: ~azure.mgmt.containerservice.v2017_07_01.models.ContainerServiceCustomProfile :param service_principal_profile: Information about a service principal identity for the cluster to use for manipulating Azure APIs. Exact one of secret or keyVaultSecretRef need to be specified. :type service_principal_profile: ~azure.mgmt.containerservice.v2017_07_01.models.ContainerServiceServicePrincipalProfile :param master_profile: Required. Profile for the container service master. :type master_profile: ~azure.mgmt.containerservice.v2017_07_01.models.ContainerServiceMasterProfile :param agent_pool_profiles: Properties of the agent pool. :type agent_pool_profiles: list[~azure.mgmt.containerservice.v2017_07_01.models.ContainerServiceAgentPoolProfile] :param windows_profile: Profile for Windows VMs in the container service cluster. :type windows_profile: ~azure.mgmt.containerservice.v2017_07_01.models.ContainerServiceWindowsProfile :param linux_profile: Required. Profile for Linux VMs in the container service cluster. :type linux_profile: ~azure.mgmt.containerservice.v2017_07_01.models.ContainerServiceLinuxProfile :param diagnostics_profile: Profile for diagnostics in the container service cluster. :type diagnostics_profile: ~azure.mgmt.containerservice.v2017_07_01.models.ContainerServiceDiagnosticsProfile """ _validation = { 'id': {'readonly': True}, 'name': {'readonly': True}, 'type': {'readonly': True}, 'location': {'required': True}, 'provisioning_state': {'readonly': True}, 'orchestrator_profile': {'required': True}, 'master_profile': {'required': True}, 'linux_profile': {'required': True}, } _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, 'type': {'key': 'type', 'type': 'str'}, 'location': {'key': 'location', 'type': 'str'}, 'tags': {'key': 'tags', 'type': '{str}'}, 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 'orchestrator_profile': {'key': 'properties.orchestratorProfile', 'type': 'ContainerServiceOrchestratorProfile'}, 'custom_profile': {'key': 'properties.customProfile', 'type': 'ContainerServiceCustomProfile'}, 'service_principal_profile': {'key': 'properties.servicePrincipalProfile', 'type': 'ContainerServiceServicePrincipalProfile'}, 'master_profile': {'key': 'properties.masterProfile', 'type': 'ContainerServiceMasterProfile'}, 'agent_pool_profiles': {'key': 'properties.agentPoolProfiles', 'type': '[ContainerServiceAgentPoolProfile]'}, 'windows_profile': {'key': 'properties.windowsProfile', 'type': 'ContainerServiceWindowsProfile'}, 'linux_profile': {'key': 'properties.linuxProfile', 'type': 'ContainerServiceLinuxProfile'}, 'diagnostics_profile': {'key': 'properties.diagnosticsProfile', 'type': 'ContainerServiceDiagnosticsProfile'}, } def __init__(self, *, location: str, orchestrator_profile, master_profile, linux_profile, tags=None, custom_profile=None, service_principal_profile=None, agent_pool_profiles=None, windows_profile=None, diagnostics_profile=None, **kwargs) -> None: super(ContainerService, self).__init__(location=location, tags=tags, **kwargs) self.provisioning_state = None self.orchestrator_profile = orchestrator_profile self.custom_profile = custom_profile self.service_principal_profile = service_principal_profile self.master_profile = master_profile self.agent_pool_profiles = agent_pool_profiles self.windows_profile = windows_profile self.linux_profile = linux_profile self.diagnostics_profile = diagnostics_profile
[docs]class ContainerServiceAgentPoolProfile(Model): """Profile for the container service agent pool. Variables are only populated by the server, and will be ignored when sending a request. All required parameters must be populated in order to send to Azure. :param name: Required. Unique name of the agent pool profile in the context of the subscription and resource group. :type name: str :param count: Number of agents (VMs) to host docker containers. Allowed values must be in the range of 1 to 100 (inclusive). The default value is 1. . Default value: 1 . :type count: int :param vm_size: Required. Size of agent VMs. Possible values include: 'Standard_A1', 'Standard_A10', 'Standard_A11', 'Standard_A1_v2', 'Standard_A2', 'Standard_A2_v2', 'Standard_A2m_v2', 'Standard_A3', 'Standard_A4', 'Standard_A4_v2', 'Standard_A4m_v2', 'Standard_A5', 'Standard_A6', 'Standard_A7', 'Standard_A8', 'Standard_A8_v2', 'Standard_A8m_v2', 'Standard_A9', 'Standard_B2ms', 'Standard_B2s', 'Standard_B4ms', 'Standard_B8ms', 'Standard_D1', 'Standard_D11', 'Standard_D11_v2', 'Standard_D11_v2_Promo', 'Standard_D12', 'Standard_D12_v2', 'Standard_D12_v2_Promo', 'Standard_D13', 'Standard_D13_v2', 'Standard_D13_v2_Promo', 'Standard_D14', 'Standard_D14_v2', 'Standard_D14_v2_Promo', 'Standard_D15_v2', 'Standard_D16_v3', 'Standard_D16s_v3', 'Standard_D1_v2', 'Standard_D2', 'Standard_D2_v2', 'Standard_D2_v2_Promo', 'Standard_D2_v3', 'Standard_D2s_v3', 'Standard_D3', 'Standard_D32_v3', 'Standard_D32s_v3', 'Standard_D3_v2', 'Standard_D3_v2_Promo', 'Standard_D4', 'Standard_D4_v2', 'Standard_D4_v2_Promo', 'Standard_D4_v3', 'Standard_D4s_v3', 'Standard_D5_v2', 'Standard_D5_v2_Promo', 'Standard_D64_v3', 'Standard_D64s_v3', 'Standard_D8_v3', 'Standard_D8s_v3', 'Standard_DS1', 'Standard_DS11', 'Standard_DS11_v2', 'Standard_DS11_v2_Promo', 'Standard_DS12', 'Standard_DS12_v2', 'Standard_DS12_v2_Promo', 'Standard_DS13', 'Standard_DS13-2_v2', 'Standard_DS13-4_v2', 'Standard_DS13_v2', 'Standard_DS13_v2_Promo', 'Standard_DS14', 'Standard_DS14-4_v2', 'Standard_DS14-8_v2', 'Standard_DS14_v2', 'Standard_DS14_v2_Promo', 'Standard_DS15_v2', 'Standard_DS1_v2', 'Standard_DS2', 'Standard_DS2_v2', 'Standard_DS2_v2_Promo', 'Standard_DS3', 'Standard_DS3_v2', 'Standard_DS3_v2_Promo', 'Standard_DS4', 'Standard_DS4_v2', 'Standard_DS4_v2_Promo', 'Standard_DS5_v2', 'Standard_DS5_v2_Promo', 'Standard_E16_v3', 'Standard_E16s_v3', 'Standard_E2_v3', 'Standard_E2s_v3', 'Standard_E32-16s_v3', 'Standard_E32-8s_v3', 'Standard_E32_v3', 'Standard_E32s_v3', 'Standard_E4_v3', 'Standard_E4s_v3', 'Standard_E64-16s_v3', 'Standard_E64-32s_v3', 'Standard_E64_v3', 'Standard_E64s_v3', 'Standard_E8_v3', 'Standard_E8s_v3', 'Standard_F1', 'Standard_F16', 'Standard_F16s', 'Standard_F16s_v2', 'Standard_F1s', 'Standard_F2', 'Standard_F2s', 'Standard_F2s_v2', 'Standard_F32s_v2', 'Standard_F4', 'Standard_F4s', 'Standard_F4s_v2', 'Standard_F64s_v2', 'Standard_F72s_v2', 'Standard_F8', 'Standard_F8s', 'Standard_F8s_v2', 'Standard_G1', 'Standard_G2', 'Standard_G3', 'Standard_G4', 'Standard_G5', 'Standard_GS1', 'Standard_GS2', 'Standard_GS3', 'Standard_GS4', 'Standard_GS4-4', 'Standard_GS4-8', 'Standard_GS5', 'Standard_GS5-16', 'Standard_GS5-8', 'Standard_H16', 'Standard_H16m', 'Standard_H16mr', 'Standard_H16r', 'Standard_H8', 'Standard_H8m', 'Standard_L16s', 'Standard_L32s', 'Standard_L4s', 'Standard_L8s', 'Standard_M128-32ms', 'Standard_M128-64ms', 'Standard_M128ms', 'Standard_M128s', 'Standard_M64-16ms', 'Standard_M64-32ms', 'Standard_M64ms', 'Standard_M64s', 'Standard_NC12', 'Standard_NC12s_v2', 'Standard_NC12s_v3', 'Standard_NC24', 'Standard_NC24r', 'Standard_NC24rs_v2', 'Standard_NC24rs_v3', 'Standard_NC24s_v2', 'Standard_NC24s_v3', 'Standard_NC6', 'Standard_NC6s_v2', 'Standard_NC6s_v3', 'Standard_ND12s', 'Standard_ND24rs', 'Standard_ND24s', 'Standard_ND6s', 'Standard_NV12', 'Standard_NV24', 'Standard_NV6' :type vm_size: str or ~azure.mgmt.containerservice.v2017_07_01.models.ContainerServiceVMSizeTypes :param os_disk_size_gb: OS Disk Size in GB to be used to specify the disk size for every machine in this master/agent pool. If you specify 0, it will apply the default osDisk size according to the vmSize specified. :type os_disk_size_gb: int :param dns_prefix: DNS prefix to be used to create the FQDN for the agent pool. :type dns_prefix: str :ivar fqdn: FQDN for the agent pool. :vartype fqdn: str :param ports: Ports number array used to expose on this agent pool. The default opened ports are different based on your choice of orchestrator. :type ports: list[int] :param storage_profile: Storage profile specifies what kind of storage used. Choose from StorageAccount and ManagedDisks. Leave it empty, we will choose for you based on the orchestrator choice. Possible values include: 'StorageAccount', 'ManagedDisks' :type storage_profile: str or ~azure.mgmt.containerservice.v2017_07_01.models.ContainerServiceStorageProfileTypes :param vnet_subnet_id: VNet SubnetID specifies the VNet's subnet identifier. :type vnet_subnet_id: str :param os_type: OsType to be used to specify os type. Choose from Linux and Windows. Default to Linux. Possible values include: 'Linux', 'Windows'. Default value: "Linux" . :type os_type: str or ~azure.mgmt.containerservice.v2017_07_01.models.OSType """ _validation = { 'name': {'required': True}, 'count': {'maximum': 100, 'minimum': 1}, 'vm_size': {'required': True}, 'fqdn': {'readonly': True}, } _attribute_map = { 'name': {'key': 'name', 'type': 'str'}, 'count': {'key': 'count', 'type': 'int'}, 'vm_size': {'key': 'vmSize', 'type': 'str'}, 'os_disk_size_gb': {'key': 'osDiskSizeGB', 'type': 'int'}, 'dns_prefix': {'key': 'dnsPrefix', 'type': 'str'}, 'fqdn': {'key': 'fqdn', 'type': 'str'}, 'ports': {'key': 'ports', 'type': '[int]'}, 'storage_profile': {'key': 'storageProfile', 'type': 'str'}, 'vnet_subnet_id': {'key': 'vnetSubnetID', 'type': 'str'}, 'os_type': {'key': 'osType', 'type': 'str'}, } def __init__(self, *, name: str, vm_size, count: int=1, os_disk_size_gb: int=None, dns_prefix: str=None, ports=None, storage_profile=None, vnet_subnet_id: str=None, os_type="Linux", **kwargs) -> None: super(ContainerServiceAgentPoolProfile, self).__init__(**kwargs) self.name = name self.count = count self.vm_size = vm_size self.os_disk_size_gb = os_disk_size_gb self.dns_prefix = dns_prefix self.fqdn = None self.ports = ports self.storage_profile = storage_profile self.vnet_subnet_id = vnet_subnet_id self.os_type = os_type
[docs]class ContainerServiceCustomProfile(Model): """Properties to configure a custom container service cluster. All required parameters must be populated in order to send to Azure. :param orchestrator: Required. The name of the custom orchestrator to use. :type orchestrator: str """ _validation = { 'orchestrator': {'required': True}, } _attribute_map = { 'orchestrator': {'key': 'orchestrator', 'type': 'str'}, } def __init__(self, *, orchestrator: str, **kwargs) -> None: super(ContainerServiceCustomProfile, self).__init__(**kwargs) self.orchestrator = orchestrator
[docs]class ContainerServiceDiagnosticsProfile(Model): """Profile for diagnostics on the container service cluster. All required parameters must be populated in order to send to Azure. :param vm_diagnostics: Required. Profile for diagnostics on the container service VMs. :type vm_diagnostics: ~azure.mgmt.containerservice.v2017_07_01.models.ContainerServiceVMDiagnostics """ _validation = { 'vm_diagnostics': {'required': True}, } _attribute_map = { 'vm_diagnostics': {'key': 'vmDiagnostics', 'type': 'ContainerServiceVMDiagnostics'}, } def __init__(self, *, vm_diagnostics, **kwargs) -> None: super(ContainerServiceDiagnosticsProfile, self).__init__(**kwargs) self.vm_diagnostics = vm_diagnostics
[docs]class ContainerServiceLinuxProfile(Model): """Profile for Linux VMs in the container service cluster. All required parameters must be populated in order to send to Azure. :param admin_username: Required. The administrator username to use for Linux VMs. :type admin_username: str :param ssh: Required. SSH configuration for Linux-based VMs running on Azure. :type ssh: ~azure.mgmt.containerservice.v2017_07_01.models.ContainerServiceSshConfiguration """ _validation = { 'admin_username': {'required': True, 'pattern': r'^[A-Za-z][-A-Za-z0-9_]*$'}, 'ssh': {'required': True}, } _attribute_map = { 'admin_username': {'key': 'adminUsername', 'type': 'str'}, 'ssh': {'key': 'ssh', 'type': 'ContainerServiceSshConfiguration'}, } def __init__(self, *, admin_username: str, ssh, **kwargs) -> None: super(ContainerServiceLinuxProfile, self).__init__(**kwargs) self.admin_username = admin_username self.ssh = ssh
[docs]class ContainerServiceMasterProfile(Model): """Profile for the container service master. Variables are only populated by the server, and will be ignored when sending a request. All required parameters must be populated in order to send to Azure. :param count: Number of masters (VMs) in the container service cluster. Allowed values are 1, 3, and 5. The default value is 1. Default value: 1 . :type count: int :param dns_prefix: Required. DNS prefix to be used to create the FQDN for the master pool. :type dns_prefix: str :param vm_size: Required. Size of agent VMs. Possible values include: 'Standard_A1', 'Standard_A10', 'Standard_A11', 'Standard_A1_v2', 'Standard_A2', 'Standard_A2_v2', 'Standard_A2m_v2', 'Standard_A3', 'Standard_A4', 'Standard_A4_v2', 'Standard_A4m_v2', 'Standard_A5', 'Standard_A6', 'Standard_A7', 'Standard_A8', 'Standard_A8_v2', 'Standard_A8m_v2', 'Standard_A9', 'Standard_B2ms', 'Standard_B2s', 'Standard_B4ms', 'Standard_B8ms', 'Standard_D1', 'Standard_D11', 'Standard_D11_v2', 'Standard_D11_v2_Promo', 'Standard_D12', 'Standard_D12_v2', 'Standard_D12_v2_Promo', 'Standard_D13', 'Standard_D13_v2', 'Standard_D13_v2_Promo', 'Standard_D14', 'Standard_D14_v2', 'Standard_D14_v2_Promo', 'Standard_D15_v2', 'Standard_D16_v3', 'Standard_D16s_v3', 'Standard_D1_v2', 'Standard_D2', 'Standard_D2_v2', 'Standard_D2_v2_Promo', 'Standard_D2_v3', 'Standard_D2s_v3', 'Standard_D3', 'Standard_D32_v3', 'Standard_D32s_v3', 'Standard_D3_v2', 'Standard_D3_v2_Promo', 'Standard_D4', 'Standard_D4_v2', 'Standard_D4_v2_Promo', 'Standard_D4_v3', 'Standard_D4s_v3', 'Standard_D5_v2', 'Standard_D5_v2_Promo', 'Standard_D64_v3', 'Standard_D64s_v3', 'Standard_D8_v3', 'Standard_D8s_v3', 'Standard_DS1', 'Standard_DS11', 'Standard_DS11_v2', 'Standard_DS11_v2_Promo', 'Standard_DS12', 'Standard_DS12_v2', 'Standard_DS12_v2_Promo', 'Standard_DS13', 'Standard_DS13-2_v2', 'Standard_DS13-4_v2', 'Standard_DS13_v2', 'Standard_DS13_v2_Promo', 'Standard_DS14', 'Standard_DS14-4_v2', 'Standard_DS14-8_v2', 'Standard_DS14_v2', 'Standard_DS14_v2_Promo', 'Standard_DS15_v2', 'Standard_DS1_v2', 'Standard_DS2', 'Standard_DS2_v2', 'Standard_DS2_v2_Promo', 'Standard_DS3', 'Standard_DS3_v2', 'Standard_DS3_v2_Promo', 'Standard_DS4', 'Standard_DS4_v2', 'Standard_DS4_v2_Promo', 'Standard_DS5_v2', 'Standard_DS5_v2_Promo', 'Standard_E16_v3', 'Standard_E16s_v3', 'Standard_E2_v3', 'Standard_E2s_v3', 'Standard_E32-16s_v3', 'Standard_E32-8s_v3', 'Standard_E32_v3', 'Standard_E32s_v3', 'Standard_E4_v3', 'Standard_E4s_v3', 'Standard_E64-16s_v3', 'Standard_E64-32s_v3', 'Standard_E64_v3', 'Standard_E64s_v3', 'Standard_E8_v3', 'Standard_E8s_v3', 'Standard_F1', 'Standard_F16', 'Standard_F16s', 'Standard_F16s_v2', 'Standard_F1s', 'Standard_F2', 'Standard_F2s', 'Standard_F2s_v2', 'Standard_F32s_v2', 'Standard_F4', 'Standard_F4s', 'Standard_F4s_v2', 'Standard_F64s_v2', 'Standard_F72s_v2', 'Standard_F8', 'Standard_F8s', 'Standard_F8s_v2', 'Standard_G1', 'Standard_G2', 'Standard_G3', 'Standard_G4', 'Standard_G5', 'Standard_GS1', 'Standard_GS2', 'Standard_GS3', 'Standard_GS4', 'Standard_GS4-4', 'Standard_GS4-8', 'Standard_GS5', 'Standard_GS5-16', 'Standard_GS5-8', 'Standard_H16', 'Standard_H16m', 'Standard_H16mr', 'Standard_H16r', 'Standard_H8', 'Standard_H8m', 'Standard_L16s', 'Standard_L32s', 'Standard_L4s', 'Standard_L8s', 'Standard_M128-32ms', 'Standard_M128-64ms', 'Standard_M128ms', 'Standard_M128s', 'Standard_M64-16ms', 'Standard_M64-32ms', 'Standard_M64ms', 'Standard_M64s', 'Standard_NC12', 'Standard_NC12s_v2', 'Standard_NC12s_v3', 'Standard_NC24', 'Standard_NC24r', 'Standard_NC24rs_v2', 'Standard_NC24rs_v3', 'Standard_NC24s_v2', 'Standard_NC24s_v3', 'Standard_NC6', 'Standard_NC6s_v2', 'Standard_NC6s_v3', 'Standard_ND12s', 'Standard_ND24rs', 'Standard_ND24s', 'Standard_ND6s', 'Standard_NV12', 'Standard_NV24', 'Standard_NV6' :type vm_size: str or ~azure.mgmt.containerservice.v2017_07_01.models.ContainerServiceVMSizeTypes :param os_disk_size_gb: OS Disk Size in GB to be used to specify the disk size for every machine in this master/agent pool. If you specify 0, it will apply the default osDisk size according to the vmSize specified. :type os_disk_size_gb: int :param vnet_subnet_id: VNet SubnetID specifies the VNet's subnet identifier. :type vnet_subnet_id: str :param first_consecutive_static_ip: FirstConsecutiveStaticIP used to specify the first static ip of masters. Default value: "10.240.255.5" . :type first_consecutive_static_ip: str :param storage_profile: Storage profile specifies what kind of storage used. Choose from StorageAccount and ManagedDisks. Leave it empty, we will choose for you based on the orchestrator choice. Possible values include: 'StorageAccount', 'ManagedDisks' :type storage_profile: str or ~azure.mgmt.containerservice.v2017_07_01.models.ContainerServiceStorageProfileTypes :ivar fqdn: FQDN for the master pool. :vartype fqdn: str """ _validation = { 'dns_prefix': {'required': True}, 'vm_size': {'required': True}, 'fqdn': {'readonly': True}, } _attribute_map = { 'count': {'key': 'count', 'type': 'int'}, 'dns_prefix': {'key': 'dnsPrefix', 'type': 'str'}, 'vm_size': {'key': 'vmSize', 'type': 'str'}, 'os_disk_size_gb': {'key': 'osDiskSizeGB', 'type': 'int'}, 'vnet_subnet_id': {'key': 'vnetSubnetID', 'type': 'str'}, 'first_consecutive_static_ip': {'key': 'firstConsecutiveStaticIP', 'type': 'str'}, 'storage_profile': {'key': 'storageProfile', 'type': 'str'}, 'fqdn': {'key': 'fqdn', 'type': 'str'}, } def __init__(self, *, dns_prefix: str, vm_size, count: int=1, os_disk_size_gb: int=None, vnet_subnet_id: str=None, first_consecutive_static_ip: str="10.240.255.5", storage_profile=None, **kwargs) -> None: super(ContainerServiceMasterProfile, self).__init__(**kwargs) self.count = count self.dns_prefix = dns_prefix self.vm_size = vm_size self.os_disk_size_gb = os_disk_size_gb self.vnet_subnet_id = vnet_subnet_id self.first_consecutive_static_ip = first_consecutive_static_ip self.storage_profile = storage_profile self.fqdn = None
[docs]class ContainerServiceOrchestratorProfile(Model): """Profile for the container service orchestrator. All required parameters must be populated in order to send to Azure. :param orchestrator_type: Required. The orchestrator to use to manage container service cluster resources. Valid values are Kubernetes, Swarm, DCOS, DockerCE and Custom. Possible values include: 'Kubernetes', 'Swarm', 'DCOS', 'DockerCE', 'Custom' :type orchestrator_type: str or ~azure.mgmt.containerservice.v2017_07_01.models.ContainerServiceOrchestratorTypes :param orchestrator_version: The version of the orchestrator to use. You can specify the major.minor.patch part of the actual version.For example, you can specify version as "1.6.11". :type orchestrator_version: str """ _validation = { 'orchestrator_type': {'required': True}, } _attribute_map = { 'orchestrator_type': {'key': 'orchestratorType', 'type': 'str'}, 'orchestrator_version': {'key': 'orchestratorVersion', 'type': 'str'}, } def __init__(self, *, orchestrator_type, orchestrator_version: str=None, **kwargs) -> None: super(ContainerServiceOrchestratorProfile, self).__init__(**kwargs) self.orchestrator_type = orchestrator_type self.orchestrator_version = orchestrator_version
[docs]class ContainerServiceServicePrincipalProfile(Model): """Information about a service principal identity for the cluster to use for manipulating Azure APIs. Either secret or keyVaultSecretRef must be specified. All required parameters must be populated in order to send to Azure. :param client_id: Required. The ID for the service principal. :type client_id: str :param secret: The secret password associated with the service principal in plain text. :type secret: str :param key_vault_secret_ref: Reference to a secret stored in Azure Key Vault. :type key_vault_secret_ref: ~azure.mgmt.containerservice.v2017_07_01.models.KeyVaultSecretRef """ _validation = { 'client_id': {'required': True}, } _attribute_map = { 'client_id': {'key': 'clientId', 'type': 'str'}, 'secret': {'key': 'secret', 'type': 'str'}, 'key_vault_secret_ref': {'key': 'keyVaultSecretRef', 'type': 'KeyVaultSecretRef'}, } def __init__(self, *, client_id: str, secret: str=None, key_vault_secret_ref=None, **kwargs) -> None: super(ContainerServiceServicePrincipalProfile, self).__init__(**kwargs) self.client_id = client_id self.secret = secret self.key_vault_secret_ref = key_vault_secret_ref
[docs]class ContainerServiceSshConfiguration(Model): """SSH configuration for Linux-based VMs running on Azure. All required parameters must be populated in order to send to Azure. :param public_keys: Required. The list of SSH public keys used to authenticate with Linux-based VMs. Only expect one key specified. :type public_keys: list[~azure.mgmt.containerservice.v2017_07_01.models.ContainerServiceSshPublicKey] """ _validation = { 'public_keys': {'required': True}, } _attribute_map = { 'public_keys': {'key': 'publicKeys', 'type': '[ContainerServiceSshPublicKey]'}, } def __init__(self, *, public_keys, **kwargs) -> None: super(ContainerServiceSshConfiguration, self).__init__(**kwargs) self.public_keys = public_keys
[docs]class ContainerServiceSshPublicKey(Model): """Contains information about SSH certificate public key data. All required parameters must be populated in order to send to Azure. :param key_data: Required. Certificate public key used to authenticate with VMs through SSH. The certificate must be in PEM format with or without headers. :type key_data: str """ _validation = { 'key_data': {'required': True}, } _attribute_map = { 'key_data': {'key': 'keyData', 'type': 'str'}, } def __init__(self, *, key_data: str, **kwargs) -> None: super(ContainerServiceSshPublicKey, self).__init__(**kwargs) self.key_data = key_data
[docs]class ContainerServiceVMDiagnostics(Model): """Profile for diagnostics on the container service VMs. Variables are only populated by the server, and will be ignored when sending a request. All required parameters must be populated in order to send to Azure. :param enabled: Required. Whether the VM diagnostic agent is provisioned on the VM. :type enabled: bool :ivar storage_uri: The URI of the storage account where diagnostics are stored. :vartype storage_uri: str """ _validation = { 'enabled': {'required': True}, 'storage_uri': {'readonly': True}, } _attribute_map = { 'enabled': {'key': 'enabled', 'type': 'bool'}, 'storage_uri': {'key': 'storageUri', 'type': 'str'}, } def __init__(self, *, enabled: bool, **kwargs) -> None: super(ContainerServiceVMDiagnostics, self).__init__(**kwargs) self.enabled = enabled self.storage_uri = None
[docs]class ContainerServiceWindowsProfile(Model): """Profile for Windows VMs in the container service cluster. All required parameters must be populated in order to send to Azure. :param admin_username: Required. The administrator username to use for Windows VMs. :type admin_username: str :param admin_password: Required. The administrator password to use for Windows VMs. :type admin_password: str """ _validation = { 'admin_username': {'required': True, 'pattern': r'^[a-zA-Z0-9]+([._]?[a-zA-Z0-9]+)*$'}, 'admin_password': {'required': True, 'pattern': r'^(?=.*[a-z])(?=.*[A-Z])(?=.*[!@#$%\^&\*\(\)])[a-zA-Z\d!@#$%\^&\*\(\)]{12,123}$'}, } _attribute_map = { 'admin_username': {'key': 'adminUsername', 'type': 'str'}, 'admin_password': {'key': 'adminPassword', 'type': 'str'}, } def __init__(self, *, admin_username: str, admin_password: str, **kwargs) -> None: super(ContainerServiceWindowsProfile, self).__init__(**kwargs) self.admin_username = admin_username self.admin_password = admin_password
[docs]class KeyVaultSecretRef(Model): """Reference to a secret stored in Azure Key Vault. All required parameters must be populated in order to send to Azure. :param vault_id: Required. Key vault identifier. :type vault_id: str :param secret_name: Required. The secret name. :type secret_name: str :param version: The secret version. :type version: str """ _validation = { 'vault_id': {'required': True}, 'secret_name': {'required': True}, } _attribute_map = { 'vault_id': {'key': 'vaultID', 'type': 'str'}, 'secret_name': {'key': 'secretName', 'type': 'str'}, 'version': {'key': 'version', 'type': 'str'}, } def __init__(self, *, vault_id: str, secret_name: str, version: str=None, **kwargs) -> None: super(KeyVaultSecretRef, self).__init__(**kwargs) self.vault_id = vault_id self.secret_name = secret_name self.version = version
[docs]class OrchestratorProfile(Model): """Contains information about orchestrator. All required parameters must be populated in order to send to Azure. :param orchestrator_type: Orchestrator type. :type orchestrator_type: str :param orchestrator_version: Required. Orchestrator version (major, minor, patch). :type orchestrator_version: str :param is_preview: Whether Kubernetes version is currently in preview. :type is_preview: bool """ _validation = { 'orchestrator_version': {'required': True}, } _attribute_map = { 'orchestrator_type': {'key': 'orchestratorType', 'type': 'str'}, 'orchestrator_version': {'key': 'orchestratorVersion', 'type': 'str'}, 'is_preview': {'key': 'isPreview', 'type': 'bool'}, } def __init__(self, *, orchestrator_version: str, orchestrator_type: str=None, is_preview: bool=None, **kwargs) -> None: super(OrchestratorProfile, self).__init__(**kwargs) self.orchestrator_type = orchestrator_type self.orchestrator_version = orchestrator_version self.is_preview = is_preview
[docs]class OrchestratorVersionProfile(Model): """The profile of an orchestrator and its available versions. All required parameters must be populated in order to send to Azure. :param orchestrator_type: Required. Orchestrator type. :type orchestrator_type: str :param orchestrator_version: Required. Orchestrator version (major, minor, patch). :type orchestrator_version: str :param default: Installed by default if version is not specified. :type default: bool :param is_preview: Whether Kubernetes version is currently in preview. :type is_preview: bool :param upgrades: The list of available upgrade versions. :type upgrades: list[~azure.mgmt.containerservice.v2017_07_01.models.OrchestratorProfile] """ _validation = { 'orchestrator_type': {'required': True}, 'orchestrator_version': {'required': True}, } _attribute_map = { 'orchestrator_type': {'key': 'orchestratorType', 'type': 'str'}, 'orchestrator_version': {'key': 'orchestratorVersion', 'type': 'str'}, 'default': {'key': 'default', 'type': 'bool'}, 'is_preview': {'key': 'isPreview', 'type': 'bool'}, 'upgrades': {'key': 'upgrades', 'type': '[OrchestratorProfile]'}, } def __init__(self, *, orchestrator_type: str, orchestrator_version: str, default: bool=None, is_preview: bool=None, upgrades=None, **kwargs) -> None: super(OrchestratorVersionProfile, self).__init__(**kwargs) self.orchestrator_type = orchestrator_type self.orchestrator_version = orchestrator_version self.default = default self.is_preview = is_preview self.upgrades = upgrades
[docs]class OrchestratorVersionProfileListResult(Model): """The list of versions for supported orchestrators. Variables are only populated by the server, and will be ignored when sending a request. All required parameters must be populated in order to send to Azure. :ivar id: Id of the orchestrator version profile list result. :vartype id: str :ivar name: Name of the orchestrator version profile list result. :vartype name: str :ivar type: Type of the orchestrator version profile list result. :vartype type: str :param orchestrators: Required. List of orchestrator version profiles. :type orchestrators: list[~azure.mgmt.containerservice.v2017_07_01.models.OrchestratorVersionProfile] """ _validation = { 'id': {'readonly': True}, 'name': {'readonly': True}, 'type': {'readonly': True}, 'orchestrators': {'required': True}, } _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, 'type': {'key': 'type', 'type': 'str'}, 'orchestrators': {'key': 'properties.orchestrators', 'type': '[OrchestratorVersionProfile]'}, } def __init__(self, *, orchestrators, **kwargs) -> None: super(OrchestratorVersionProfileListResult, self).__init__(**kwargs) self.id = None self.name = None self.type = None self.orchestrators = orchestrators