Source code for azure.mgmt.compute.v2018_09_30.models._models_py3

# coding=utf-8
# pylint: disable=too-many-lines
# --------------------------------------------------------------------------
# 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 typing import Any, Dict, List, Optional, TYPE_CHECKING, Union

from ... import _serialization

if TYPE_CHECKING:
    # pylint: disable=unused-import,ungrouped-imports
    from .. import models as _models


[docs]class AccessUri(_serialization.Model): """A disk access SAS uri. Variables are only populated by the server, and will be ignored when sending a request. :ivar access_sas: A SAS uri for accessing a disk. :vartype access_sas: str """ _validation = { "access_sas": {"readonly": True}, } _attribute_map = { "access_sas": {"key": "accessSAS", "type": "str"}, } def __init__(self, **kwargs: Any) -> None: """ """ super().__init__(**kwargs) self.access_sas = None
[docs]class CreationData(_serialization.Model): """Data used when creating a disk. All required parameters must be populated in order to send to Azure. :ivar create_option: This enumerates the possible sources of a disk's creation. Required. Known values are: "Empty", "Attach", "FromImage", "Import", "Copy", "Restore", and "Upload". :vartype create_option: str or ~azure.mgmt.compute.v2018_09_30.models.DiskCreateOption :ivar storage_account_id: If createOption is Import, the Azure Resource Manager identifier of the storage account containing the blob to import as a disk. Required only if the blob is in a different subscription. :vartype storage_account_id: str :ivar image_reference: Disk source information. :vartype image_reference: ~azure.mgmt.compute.v2018_09_30.models.ImageDiskReference :ivar source_uri: If createOption is Import, this is the URI of a blob to be imported into a managed disk. :vartype source_uri: str :ivar source_resource_id: If createOption is Copy, this is the ARM id of the source snapshot or disk. :vartype source_resource_id: str """ _validation = { "create_option": {"required": True}, } _attribute_map = { "create_option": {"key": "createOption", "type": "str"}, "storage_account_id": {"key": "storageAccountId", "type": "str"}, "image_reference": {"key": "imageReference", "type": "ImageDiskReference"}, "source_uri": {"key": "sourceUri", "type": "str"}, "source_resource_id": {"key": "sourceResourceId", "type": "str"}, } def __init__( self, *, create_option: Union[str, "_models.DiskCreateOption"], storage_account_id: Optional[str] = None, image_reference: Optional["_models.ImageDiskReference"] = None, source_uri: Optional[str] = None, source_resource_id: Optional[str] = None, **kwargs: Any ) -> None: """ :keyword create_option: This enumerates the possible sources of a disk's creation. Required. Known values are: "Empty", "Attach", "FromImage", "Import", "Copy", "Restore", and "Upload". :paramtype create_option: str or ~azure.mgmt.compute.v2018_09_30.models.DiskCreateOption :keyword storage_account_id: If createOption is Import, the Azure Resource Manager identifier of the storage account containing the blob to import as a disk. Required only if the blob is in a different subscription. :paramtype storage_account_id: str :keyword image_reference: Disk source information. :paramtype image_reference: ~azure.mgmt.compute.v2018_09_30.models.ImageDiskReference :keyword source_uri: If createOption is Import, this is the URI of a blob to be imported into a managed disk. :paramtype source_uri: str :keyword source_resource_id: If createOption is Copy, this is the ARM id of the source snapshot or disk. :paramtype source_resource_id: str """ super().__init__(**kwargs) self.create_option = create_option self.storage_account_id = storage_account_id self.image_reference = image_reference self.source_uri = source_uri self.source_resource_id = source_resource_id
[docs]class Resource(_serialization.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 :ivar location: Resource location. Required. :vartype location: str :ivar tags: Resource tags. :vartype 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: Optional[Dict[str, str]] = None, **kwargs: Any) -> None: """ :keyword location: Resource location. Required. :paramtype location: str :keyword tags: Resource tags. :paramtype tags: dict[str, str] """ super().__init__(**kwargs) self.id = None self.name = None self.type = None self.location = location self.tags = tags
[docs]class Disk(Resource): # pylint: disable=too-many-instance-attributes """Disk resource. 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 :ivar location: Resource location. Required. :vartype location: str :ivar tags: Resource tags. :vartype tags: dict[str, str] :ivar managed_by: A relative URI containing the ID of the VM that has the disk attached. :vartype managed_by: str :ivar sku: The disks sku name. Can be Standard_LRS, Premium_LRS, StandardSSD_LRS, or UltraSSD_LRS. :vartype sku: ~azure.mgmt.compute.v2018_09_30.models.DiskSku :ivar zones: The Logical zone list for Disk. :vartype zones: list[str] :ivar time_created: The time when the disk was created. :vartype time_created: ~datetime.datetime :ivar os_type: The Operating System type. Known values are: "Windows" and "Linux". :vartype os_type: str or ~azure.mgmt.compute.v2018_09_30.models.OperatingSystemTypes :ivar hyper_v_generation: The hypervisor generation of the Virtual Machine. Applicable to OS disks only. Known values are: "V1" and "V2". :vartype hyper_v_generation: str or ~azure.mgmt.compute.v2018_09_30.models.HyperVGeneration :ivar creation_data: Disk source information. CreationData information cannot be changed after the disk has been created. :vartype creation_data: ~azure.mgmt.compute.v2018_09_30.models.CreationData :ivar disk_size_gb: If creationData.createOption is Empty, this field is mandatory and it indicates the size of the VHD to create. If this field is present for updates or creation with other options, it indicates a resize. Resizes are only allowed if the disk is not attached to a running VM, and can only increase the disk's size. :vartype disk_size_gb: int :ivar encryption_settings_collection: Encryption settings collection used for Azure Disk Encryption, can contain multiple encryption settings per disk or snapshot. :vartype encryption_settings_collection: ~azure.mgmt.compute.v2018_09_30.models.EncryptionSettingsCollection :ivar provisioning_state: The disk provisioning state. :vartype provisioning_state: str :ivar disk_iops_read_write: The number of IOPS allowed for this disk; only settable for UltraSSD disks. One operation can transfer between 4k and 256k bytes. :vartype disk_iops_read_write: int :ivar disk_m_bps_read_write: The bandwidth allowed for this disk; only settable for UltraSSD disks. MBps means millions of bytes per second - MB here uses the ISO notation, of powers of 10. :vartype disk_m_bps_read_write: int :ivar disk_state: The state of the disk. Known values are: "Unattached", "Attached", "Reserved", "ActiveSAS", "ReadyToUpload", and "ActiveUpload". :vartype disk_state: str or ~azure.mgmt.compute.v2018_09_30.models.DiskState """ _validation = { "id": {"readonly": True}, "name": {"readonly": True}, "type": {"readonly": True}, "location": {"required": True}, "managed_by": {"readonly": True}, "time_created": {"readonly": True}, "provisioning_state": {"readonly": True}, "disk_state": {"readonly": 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}"}, "managed_by": {"key": "managedBy", "type": "str"}, "sku": {"key": "sku", "type": "DiskSku"}, "zones": {"key": "zones", "type": "[str]"}, "time_created": {"key": "properties.timeCreated", "type": "iso-8601"}, "os_type": {"key": "properties.osType", "type": "str"}, "hyper_v_generation": {"key": "properties.hyperVGeneration", "type": "str"}, "creation_data": {"key": "properties.creationData", "type": "CreationData"}, "disk_size_gb": {"key": "properties.diskSizeGB", "type": "int"}, "encryption_settings_collection": { "key": "properties.encryptionSettingsCollection", "type": "EncryptionSettingsCollection", }, "provisioning_state": {"key": "properties.provisioningState", "type": "str"}, "disk_iops_read_write": {"key": "properties.diskIOPSReadWrite", "type": "int"}, "disk_m_bps_read_write": {"key": "properties.diskMBpsReadWrite", "type": "int"}, "disk_state": {"key": "properties.diskState", "type": "str"}, } def __init__( self, *, location: str, tags: Optional[Dict[str, str]] = None, sku: Optional["_models.DiskSku"] = None, zones: Optional[List[str]] = None, os_type: Optional[Union[str, "_models.OperatingSystemTypes"]] = None, hyper_v_generation: Optional[Union[str, "_models.HyperVGeneration"]] = None, creation_data: Optional["_models.CreationData"] = None, disk_size_gb: Optional[int] = None, encryption_settings_collection: Optional["_models.EncryptionSettingsCollection"] = None, disk_iops_read_write: Optional[int] = None, disk_m_bps_read_write: Optional[int] = None, **kwargs: Any ) -> None: """ :keyword location: Resource location. Required. :paramtype location: str :keyword tags: Resource tags. :paramtype tags: dict[str, str] :keyword sku: The disks sku name. Can be Standard_LRS, Premium_LRS, StandardSSD_LRS, or UltraSSD_LRS. :paramtype sku: ~azure.mgmt.compute.v2018_09_30.models.DiskSku :keyword zones: The Logical zone list for Disk. :paramtype zones: list[str] :keyword os_type: The Operating System type. Known values are: "Windows" and "Linux". :paramtype os_type: str or ~azure.mgmt.compute.v2018_09_30.models.OperatingSystemTypes :keyword hyper_v_generation: The hypervisor generation of the Virtual Machine. Applicable to OS disks only. Known values are: "V1" and "V2". :paramtype hyper_v_generation: str or ~azure.mgmt.compute.v2018_09_30.models.HyperVGeneration :keyword creation_data: Disk source information. CreationData information cannot be changed after the disk has been created. :paramtype creation_data: ~azure.mgmt.compute.v2018_09_30.models.CreationData :keyword disk_size_gb: If creationData.createOption is Empty, this field is mandatory and it indicates the size of the VHD to create. If this field is present for updates or creation with other options, it indicates a resize. Resizes are only allowed if the disk is not attached to a running VM, and can only increase the disk's size. :paramtype disk_size_gb: int :keyword encryption_settings_collection: Encryption settings collection used for Azure Disk Encryption, can contain multiple encryption settings per disk or snapshot. :paramtype encryption_settings_collection: ~azure.mgmt.compute.v2018_09_30.models.EncryptionSettingsCollection :keyword disk_iops_read_write: The number of IOPS allowed for this disk; only settable for UltraSSD disks. One operation can transfer between 4k and 256k bytes. :paramtype disk_iops_read_write: int :keyword disk_m_bps_read_write: The bandwidth allowed for this disk; only settable for UltraSSD disks. MBps means millions of bytes per second - MB here uses the ISO notation, of powers of 10. :paramtype disk_m_bps_read_write: int """ super().__init__(location=location, tags=tags, **kwargs) self.managed_by = None self.sku = sku self.zones = zones self.time_created = None self.os_type = os_type self.hyper_v_generation = hyper_v_generation self.creation_data = creation_data self.disk_size_gb = disk_size_gb self.encryption_settings_collection = encryption_settings_collection self.provisioning_state = None self.disk_iops_read_write = disk_iops_read_write self.disk_m_bps_read_write = disk_m_bps_read_write self.disk_state = None
[docs]class DiskList(_serialization.Model): """The List Disks operation response. All required parameters must be populated in order to send to Azure. :ivar value: A list of disks. Required. :vartype value: list[~azure.mgmt.compute.v2018_09_30.models.Disk] :ivar next_link: The uri to fetch the next page of disks. Call ListNext() with this to fetch the next page of disks. :vartype next_link: str """ _validation = { "value": {"required": True}, } _attribute_map = { "value": {"key": "value", "type": "[Disk]"}, "next_link": {"key": "nextLink", "type": "str"}, } def __init__(self, *, value: List["_models.Disk"], next_link: Optional[str] = None, **kwargs: Any) -> None: """ :keyword value: A list of disks. Required. :paramtype value: list[~azure.mgmt.compute.v2018_09_30.models.Disk] :keyword next_link: The uri to fetch the next page of disks. Call ListNext() with this to fetch the next page of disks. :paramtype next_link: str """ super().__init__(**kwargs) self.value = value self.next_link = next_link
[docs]class DiskSku(_serialization.Model): """The disks sku name. Can be Standard_LRS, Premium_LRS, StandardSSD_LRS, or UltraSSD_LRS. Variables are only populated by the server, and will be ignored when sending a request. :ivar name: The sku name. Known values are: "Standard_LRS", "Premium_LRS", "StandardSSD_LRS", and "UltraSSD_LRS". :vartype name: str or ~azure.mgmt.compute.v2018_09_30.models.DiskStorageAccountTypes :ivar tier: The sku tier. :vartype tier: str """ _validation = { "tier": {"readonly": True}, } _attribute_map = { "name": {"key": "name", "type": "str"}, "tier": {"key": "tier", "type": "str"}, } def __init__(self, *, name: Optional[Union[str, "_models.DiskStorageAccountTypes"]] = None, **kwargs: Any) -> None: """ :keyword name: The sku name. Known values are: "Standard_LRS", "Premium_LRS", "StandardSSD_LRS", and "UltraSSD_LRS". :paramtype name: str or ~azure.mgmt.compute.v2018_09_30.models.DiskStorageAccountTypes """ super().__init__(**kwargs) self.name = name self.tier = None
[docs]class DiskUpdate(_serialization.Model): """Disk update resource. :ivar tags: Resource tags. :vartype tags: dict[str, str] :ivar sku: The disks sku name. Can be Standard_LRS, Premium_LRS, StandardSSD_LRS, or UltraSSD_LRS. :vartype sku: ~azure.mgmt.compute.v2018_09_30.models.DiskSku :ivar os_type: the Operating System type. Known values are: "Windows" and "Linux". :vartype os_type: str or ~azure.mgmt.compute.v2018_09_30.models.OperatingSystemTypes :ivar disk_size_gb: If creationData.createOption is Empty, this field is mandatory and it indicates the size of the VHD to create. If this field is present for updates or creation with other options, it indicates a resize. Resizes are only allowed if the disk is not attached to a running VM, and can only increase the disk's size. :vartype disk_size_gb: int :ivar encryption_settings_collection: Encryption settings collection used be Azure Disk Encryption, can contain multiple encryption settings per disk or snapshot. :vartype encryption_settings_collection: ~azure.mgmt.compute.v2018_09_30.models.EncryptionSettingsCollection :ivar disk_iops_read_write: The number of IOPS allowed for this disk; only settable for UltraSSD disks. One operation can transfer between 4k and 256k bytes. :vartype disk_iops_read_write: int :ivar disk_m_bps_read_write: The bandwidth allowed for this disk; only settable for UltraSSD disks. MBps means millions of bytes per second - MB here uses the ISO notation, of powers of 10. :vartype disk_m_bps_read_write: int """ _attribute_map = { "tags": {"key": "tags", "type": "{str}"}, "sku": {"key": "sku", "type": "DiskSku"}, "os_type": {"key": "properties.osType", "type": "str"}, "disk_size_gb": {"key": "properties.diskSizeGB", "type": "int"}, "encryption_settings_collection": { "key": "properties.encryptionSettingsCollection", "type": "EncryptionSettingsCollection", }, "disk_iops_read_write": {"key": "properties.diskIOPSReadWrite", "type": "int"}, "disk_m_bps_read_write": {"key": "properties.diskMBpsReadWrite", "type": "int"}, } def __init__( self, *, tags: Optional[Dict[str, str]] = None, sku: Optional["_models.DiskSku"] = None, os_type: Optional[Union[str, "_models.OperatingSystemTypes"]] = None, disk_size_gb: Optional[int] = None, encryption_settings_collection: Optional["_models.EncryptionSettingsCollection"] = None, disk_iops_read_write: Optional[int] = None, disk_m_bps_read_write: Optional[int] = None, **kwargs: Any ) -> None: """ :keyword tags: Resource tags. :paramtype tags: dict[str, str] :keyword sku: The disks sku name. Can be Standard_LRS, Premium_LRS, StandardSSD_LRS, or UltraSSD_LRS. :paramtype sku: ~azure.mgmt.compute.v2018_09_30.models.DiskSku :keyword os_type: the Operating System type. Known values are: "Windows" and "Linux". :paramtype os_type: str or ~azure.mgmt.compute.v2018_09_30.models.OperatingSystemTypes :keyword disk_size_gb: If creationData.createOption is Empty, this field is mandatory and it indicates the size of the VHD to create. If this field is present for updates or creation with other options, it indicates a resize. Resizes are only allowed if the disk is not attached to a running VM, and can only increase the disk's size. :paramtype disk_size_gb: int :keyword encryption_settings_collection: Encryption settings collection used be Azure Disk Encryption, can contain multiple encryption settings per disk or snapshot. :paramtype encryption_settings_collection: ~azure.mgmt.compute.v2018_09_30.models.EncryptionSettingsCollection :keyword disk_iops_read_write: The number of IOPS allowed for this disk; only settable for UltraSSD disks. One operation can transfer between 4k and 256k bytes. :paramtype disk_iops_read_write: int :keyword disk_m_bps_read_write: The bandwidth allowed for this disk; only settable for UltraSSD disks. MBps means millions of bytes per second - MB here uses the ISO notation, of powers of 10. :paramtype disk_m_bps_read_write: int """ super().__init__(**kwargs) self.tags = tags self.sku = sku self.os_type = os_type self.disk_size_gb = disk_size_gb self.encryption_settings_collection = encryption_settings_collection self.disk_iops_read_write = disk_iops_read_write self.disk_m_bps_read_write = disk_m_bps_read_write
[docs]class EncryptionSettingsCollection(_serialization.Model): """Encryption settings for disk or snapshot. All required parameters must be populated in order to send to Azure. :ivar enabled: Set this flag to true and provide DiskEncryptionKey and optional KeyEncryptionKey to enable encryption. Set this flag to false and remove DiskEncryptionKey and KeyEncryptionKey to disable encryption. If EncryptionSettings is null in the request object, the existing settings remain unchanged. Required. :vartype enabled: bool :ivar encryption_settings: A collection of encryption settings, one for each disk volume. :vartype encryption_settings: list[~azure.mgmt.compute.v2018_09_30.models.EncryptionSettingsElement] """ _validation = { "enabled": {"required": True}, } _attribute_map = { "enabled": {"key": "enabled", "type": "bool"}, "encryption_settings": {"key": "encryptionSettings", "type": "[EncryptionSettingsElement]"}, } def __init__( self, *, enabled: bool, encryption_settings: Optional[List["_models.EncryptionSettingsElement"]] = None, **kwargs: Any ) -> None: """ :keyword enabled: Set this flag to true and provide DiskEncryptionKey and optional KeyEncryptionKey to enable encryption. Set this flag to false and remove DiskEncryptionKey and KeyEncryptionKey to disable encryption. If EncryptionSettings is null in the request object, the existing settings remain unchanged. Required. :paramtype enabled: bool :keyword encryption_settings: A collection of encryption settings, one for each disk volume. :paramtype encryption_settings: list[~azure.mgmt.compute.v2018_09_30.models.EncryptionSettingsElement] """ super().__init__(**kwargs) self.enabled = enabled self.encryption_settings = encryption_settings
[docs]class EncryptionSettingsElement(_serialization.Model): """Encryption settings for one disk volume. :ivar disk_encryption_key: Key Vault Secret Url and vault id of the disk encryption key. :vartype disk_encryption_key: ~azure.mgmt.compute.v2018_09_30.models.KeyVaultAndSecretReference :ivar key_encryption_key: Key Vault Key Url and vault id of the key encryption key. KeyEncryptionKey is optional and when provided is used to unwrap the disk encryption key. :vartype key_encryption_key: ~azure.mgmt.compute.v2018_09_30.models.KeyVaultAndKeyReference """ _attribute_map = { "disk_encryption_key": {"key": "diskEncryptionKey", "type": "KeyVaultAndSecretReference"}, "key_encryption_key": {"key": "keyEncryptionKey", "type": "KeyVaultAndKeyReference"}, } def __init__( self, *, disk_encryption_key: Optional["_models.KeyVaultAndSecretReference"] = None, key_encryption_key: Optional["_models.KeyVaultAndKeyReference"] = None, **kwargs: Any ) -> None: """ :keyword disk_encryption_key: Key Vault Secret Url and vault id of the disk encryption key. :paramtype disk_encryption_key: ~azure.mgmt.compute.v2018_09_30.models.KeyVaultAndSecretReference :keyword key_encryption_key: Key Vault Key Url and vault id of the key encryption key. KeyEncryptionKey is optional and when provided is used to unwrap the disk encryption key. :paramtype key_encryption_key: ~azure.mgmt.compute.v2018_09_30.models.KeyVaultAndKeyReference """ super().__init__(**kwargs) self.disk_encryption_key = disk_encryption_key self.key_encryption_key = key_encryption_key
[docs]class GrantAccessData(_serialization.Model): """Data used for requesting a SAS. All required parameters must be populated in order to send to Azure. :ivar access: Required. Known values are: "None", "Read", and "Write". :vartype access: str or ~azure.mgmt.compute.v2018_09_30.models.AccessLevel :ivar duration_in_seconds: Time duration in seconds until the SAS access expires. Required. :vartype duration_in_seconds: int """ _validation = { "access": {"required": True}, "duration_in_seconds": {"required": True}, } _attribute_map = { "access": {"key": "access", "type": "str"}, "duration_in_seconds": {"key": "durationInSeconds", "type": "int"}, } def __init__(self, *, access: Union[str, "_models.AccessLevel"], duration_in_seconds: int, **kwargs: Any) -> None: """ :keyword access: Required. Known values are: "None", "Read", and "Write". :paramtype access: str or ~azure.mgmt.compute.v2018_09_30.models.AccessLevel :keyword duration_in_seconds: Time duration in seconds until the SAS access expires. Required. :paramtype duration_in_seconds: int """ super().__init__(**kwargs) self.access = access self.duration_in_seconds = duration_in_seconds
[docs]class ImageDiskReference(_serialization.Model): """The source image used for creating the disk. All required parameters must be populated in order to send to Azure. :ivar id: A relative uri containing either a Platform Image Repository or user image reference. Required. :vartype id: str :ivar lun: If the disk is created from an image's data disk, this is an index that indicates which of the data disks in the image to use. For OS disks, this field is null. :vartype lun: int """ _validation = { "id": {"required": True}, } _attribute_map = { "id": {"key": "id", "type": "str"}, "lun": {"key": "lun", "type": "int"}, } def __init__( self, *, id: str, lun: Optional[int] = None, **kwargs: Any # pylint: disable=redefined-builtin ) -> None: """ :keyword id: A relative uri containing either a Platform Image Repository or user image reference. Required. :paramtype id: str :keyword lun: If the disk is created from an image's data disk, this is an index that indicates which of the data disks in the image to use. For OS disks, this field is null. :paramtype lun: int """ super().__init__(**kwargs) self.id = id self.lun = lun
[docs]class KeyVaultAndKeyReference(_serialization.Model): """Key Vault Key Url and vault id of KeK, KeK is optional and when provided is used to unwrap the encryptionKey. All required parameters must be populated in order to send to Azure. :ivar source_vault: Resource id of the KeyVault containing the key or secret. Required. :vartype source_vault: ~azure.mgmt.compute.v2018_09_30.models.SourceVault :ivar key_url: Url pointing to a key or secret in KeyVault. Required. :vartype key_url: str """ _validation = { "source_vault": {"required": True}, "key_url": {"required": True}, } _attribute_map = { "source_vault": {"key": "sourceVault", "type": "SourceVault"}, "key_url": {"key": "keyUrl", "type": "str"}, } def __init__(self, *, source_vault: "_models.SourceVault", key_url: str, **kwargs: Any) -> None: """ :keyword source_vault: Resource id of the KeyVault containing the key or secret. Required. :paramtype source_vault: ~azure.mgmt.compute.v2018_09_30.models.SourceVault :keyword key_url: Url pointing to a key or secret in KeyVault. Required. :paramtype key_url: str """ super().__init__(**kwargs) self.source_vault = source_vault self.key_url = key_url
[docs]class KeyVaultAndSecretReference(_serialization.Model): """Key Vault Secret Url and vault id of the encryption key. All required parameters must be populated in order to send to Azure. :ivar source_vault: Resource id of the KeyVault containing the key or secret. Required. :vartype source_vault: ~azure.mgmt.compute.v2018_09_30.models.SourceVault :ivar secret_url: Url pointing to a key or secret in KeyVault. Required. :vartype secret_url: str """ _validation = { "source_vault": {"required": True}, "secret_url": {"required": True}, } _attribute_map = { "source_vault": {"key": "sourceVault", "type": "SourceVault"}, "secret_url": {"key": "secretUrl", "type": "str"}, } def __init__(self, *, source_vault: "_models.SourceVault", secret_url: str, **kwargs: Any) -> None: """ :keyword source_vault: Resource id of the KeyVault containing the key or secret. Required. :paramtype source_vault: ~azure.mgmt.compute.v2018_09_30.models.SourceVault :keyword secret_url: Url pointing to a key or secret in KeyVault. Required. :paramtype secret_url: str """ super().__init__(**kwargs) self.source_vault = source_vault self.secret_url = secret_url
[docs]class Snapshot(Resource): # pylint: disable=too-many-instance-attributes """Snapshot resource. 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 :ivar location: Resource location. Required. :vartype location: str :ivar tags: Resource tags. :vartype tags: dict[str, str] :ivar managed_by: Unused. Always Null. :vartype managed_by: str :ivar sku: The snapshots sku name. Can be Standard_LRS, Premium_LRS, or Standard_ZRS. :vartype sku: ~azure.mgmt.compute.v2018_09_30.models.SnapshotSku :ivar time_created: The time when the disk was created. :vartype time_created: ~datetime.datetime :ivar os_type: The Operating System type. Known values are: "Windows" and "Linux". :vartype os_type: str or ~azure.mgmt.compute.v2018_09_30.models.OperatingSystemTypes :ivar hyper_v_generation: The hypervisor generation of the Virtual Machine. Applicable to OS disks only. Known values are: "V1" and "V2". :vartype hyper_v_generation: str or ~azure.mgmt.compute.v2018_09_30.models.HyperVGeneration :ivar creation_data: Disk source information. CreationData information cannot be changed after the disk has been created. :vartype creation_data: ~azure.mgmt.compute.v2018_09_30.models.CreationData :ivar disk_size_gb: If creationData.createOption is Empty, this field is mandatory and it indicates the size of the VHD to create. If this field is present for updates or creation with other options, it indicates a resize. Resizes are only allowed if the disk is not attached to a running VM, and can only increase the disk's size. :vartype disk_size_gb: int :ivar encryption_settings_collection: Encryption settings collection used be Azure Disk Encryption, can contain multiple encryption settings per disk or snapshot. :vartype encryption_settings_collection: ~azure.mgmt.compute.v2018_09_30.models.EncryptionSettingsCollection :ivar provisioning_state: The disk provisioning state. :vartype provisioning_state: str """ _validation = { "id": {"readonly": True}, "name": {"readonly": True}, "type": {"readonly": True}, "location": {"required": True}, "managed_by": {"readonly": True}, "time_created": {"readonly": True}, "provisioning_state": {"readonly": 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}"}, "managed_by": {"key": "managedBy", "type": "str"}, "sku": {"key": "sku", "type": "SnapshotSku"}, "time_created": {"key": "properties.timeCreated", "type": "iso-8601"}, "os_type": {"key": "properties.osType", "type": "str"}, "hyper_v_generation": {"key": "properties.hyperVGeneration", "type": "str"}, "creation_data": {"key": "properties.creationData", "type": "CreationData"}, "disk_size_gb": {"key": "properties.diskSizeGB", "type": "int"}, "encryption_settings_collection": { "key": "properties.encryptionSettingsCollection", "type": "EncryptionSettingsCollection", }, "provisioning_state": {"key": "properties.provisioningState", "type": "str"}, } def __init__( self, *, location: str, tags: Optional[Dict[str, str]] = None, sku: Optional["_models.SnapshotSku"] = None, os_type: Optional[Union[str, "_models.OperatingSystemTypes"]] = None, hyper_v_generation: Optional[Union[str, "_models.HyperVGeneration"]] = None, creation_data: Optional["_models.CreationData"] = None, disk_size_gb: Optional[int] = None, encryption_settings_collection: Optional["_models.EncryptionSettingsCollection"] = None, **kwargs: Any ) -> None: """ :keyword location: Resource location. Required. :paramtype location: str :keyword tags: Resource tags. :paramtype tags: dict[str, str] :keyword sku: The snapshots sku name. Can be Standard_LRS, Premium_LRS, or Standard_ZRS. :paramtype sku: ~azure.mgmt.compute.v2018_09_30.models.SnapshotSku :keyword os_type: The Operating System type. Known values are: "Windows" and "Linux". :paramtype os_type: str or ~azure.mgmt.compute.v2018_09_30.models.OperatingSystemTypes :keyword hyper_v_generation: The hypervisor generation of the Virtual Machine. Applicable to OS disks only. Known values are: "V1" and "V2". :paramtype hyper_v_generation: str or ~azure.mgmt.compute.v2018_09_30.models.HyperVGeneration :keyword creation_data: Disk source information. CreationData information cannot be changed after the disk has been created. :paramtype creation_data: ~azure.mgmt.compute.v2018_09_30.models.CreationData :keyword disk_size_gb: If creationData.createOption is Empty, this field is mandatory and it indicates the size of the VHD to create. If this field is present for updates or creation with other options, it indicates a resize. Resizes are only allowed if the disk is not attached to a running VM, and can only increase the disk's size. :paramtype disk_size_gb: int :keyword encryption_settings_collection: Encryption settings collection used be Azure Disk Encryption, can contain multiple encryption settings per disk or snapshot. :paramtype encryption_settings_collection: ~azure.mgmt.compute.v2018_09_30.models.EncryptionSettingsCollection """ super().__init__(location=location, tags=tags, **kwargs) self.managed_by = None self.sku = sku self.time_created = None self.os_type = os_type self.hyper_v_generation = hyper_v_generation self.creation_data = creation_data self.disk_size_gb = disk_size_gb self.encryption_settings_collection = encryption_settings_collection self.provisioning_state = None
[docs]class SnapshotList(_serialization.Model): """The List Snapshots operation response. All required parameters must be populated in order to send to Azure. :ivar value: A list of snapshots. Required. :vartype value: list[~azure.mgmt.compute.v2018_09_30.models.Snapshot] :ivar next_link: The uri to fetch the next page of snapshots. Call ListNext() with this to fetch the next page of snapshots. :vartype next_link: str """ _validation = { "value": {"required": True}, } _attribute_map = { "value": {"key": "value", "type": "[Snapshot]"}, "next_link": {"key": "nextLink", "type": "str"}, } def __init__(self, *, value: List["_models.Snapshot"], next_link: Optional[str] = None, **kwargs: Any) -> None: """ :keyword value: A list of snapshots. Required. :paramtype value: list[~azure.mgmt.compute.v2018_09_30.models.Snapshot] :keyword next_link: The uri to fetch the next page of snapshots. Call ListNext() with this to fetch the next page of snapshots. :paramtype next_link: str """ super().__init__(**kwargs) self.value = value self.next_link = next_link
[docs]class SnapshotSku(_serialization.Model): """The snapshots sku name. Can be Standard_LRS, Premium_LRS, or Standard_ZRS. Variables are only populated by the server, and will be ignored when sending a request. :ivar name: The sku name. Known values are: "Standard_LRS", "Premium_LRS", and "Standard_ZRS". :vartype name: str or ~azure.mgmt.compute.v2018_09_30.models.SnapshotStorageAccountTypes :ivar tier: The sku tier. :vartype tier: str """ _validation = { "tier": {"readonly": True}, } _attribute_map = { "name": {"key": "name", "type": "str"}, "tier": {"key": "tier", "type": "str"}, } def __init__( self, *, name: Optional[Union[str, "_models.SnapshotStorageAccountTypes"]] = None, **kwargs: Any ) -> None: """ :keyword name: The sku name. Known values are: "Standard_LRS", "Premium_LRS", and "Standard_ZRS". :paramtype name: str or ~azure.mgmt.compute.v2018_09_30.models.SnapshotStorageAccountTypes """ super().__init__(**kwargs) self.name = name self.tier = None
[docs]class SnapshotUpdate(_serialization.Model): """Snapshot update resource. :ivar tags: Resource tags. :vartype tags: dict[str, str] :ivar sku: The snapshots sku name. Can be Standard_LRS, Premium_LRS, or Standard_ZRS. :vartype sku: ~azure.mgmt.compute.v2018_09_30.models.SnapshotSku :ivar os_type: the Operating System type. Known values are: "Windows" and "Linux". :vartype os_type: str or ~azure.mgmt.compute.v2018_09_30.models.OperatingSystemTypes :ivar disk_size_gb: If creationData.createOption is Empty, this field is mandatory and it indicates the size of the VHD to create. If this field is present for updates or creation with other options, it indicates a resize. Resizes are only allowed if the disk is not attached to a running VM, and can only increase the disk's size. :vartype disk_size_gb: int :ivar encryption_settings_collection: Encryption settings collection used be Azure Disk Encryption, can contain multiple encryption settings per disk or snapshot. :vartype encryption_settings_collection: ~azure.mgmt.compute.v2018_09_30.models.EncryptionSettingsCollection """ _attribute_map = { "tags": {"key": "tags", "type": "{str}"}, "sku": {"key": "sku", "type": "SnapshotSku"}, "os_type": {"key": "properties.osType", "type": "str"}, "disk_size_gb": {"key": "properties.diskSizeGB", "type": "int"}, "encryption_settings_collection": { "key": "properties.encryptionSettingsCollection", "type": "EncryptionSettingsCollection", }, } def __init__( self, *, tags: Optional[Dict[str, str]] = None, sku: Optional["_models.SnapshotSku"] = None, os_type: Optional[Union[str, "_models.OperatingSystemTypes"]] = None, disk_size_gb: Optional[int] = None, encryption_settings_collection: Optional["_models.EncryptionSettingsCollection"] = None, **kwargs: Any ) -> None: """ :keyword tags: Resource tags. :paramtype tags: dict[str, str] :keyword sku: The snapshots sku name. Can be Standard_LRS, Premium_LRS, or Standard_ZRS. :paramtype sku: ~azure.mgmt.compute.v2018_09_30.models.SnapshotSku :keyword os_type: the Operating System type. Known values are: "Windows" and "Linux". :paramtype os_type: str or ~azure.mgmt.compute.v2018_09_30.models.OperatingSystemTypes :keyword disk_size_gb: If creationData.createOption is Empty, this field is mandatory and it indicates the size of the VHD to create. If this field is present for updates or creation with other options, it indicates a resize. Resizes are only allowed if the disk is not attached to a running VM, and can only increase the disk's size. :paramtype disk_size_gb: int :keyword encryption_settings_collection: Encryption settings collection used be Azure Disk Encryption, can contain multiple encryption settings per disk or snapshot. :paramtype encryption_settings_collection: ~azure.mgmt.compute.v2018_09_30.models.EncryptionSettingsCollection """ super().__init__(**kwargs) self.tags = tags self.sku = sku self.os_type = os_type self.disk_size_gb = disk_size_gb self.encryption_settings_collection = encryption_settings_collection
[docs]class SourceVault(_serialization.Model): """The vault id is an Azure Resource Manager Resource id in the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}. :ivar id: Resource Id. :vartype id: str """ _attribute_map = { "id": {"key": "id", "type": "str"}, } def __init__(self, *, id: Optional[str] = None, **kwargs: Any) -> None: # pylint: disable=redefined-builtin """ :keyword id: Resource Id. :paramtype id: str """ super().__init__(**kwargs) self.id = id