# 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
[docs]class ActiveDirectory(Model):
"""Active Directory.
Variables are only populated by the server, and will be ignored when
sending a request.
:param active_directory_id: Id of the Active Directory
:type active_directory_id: str
:param username: Username of Active Directory domain administrator
:type username: str
:param password: Plain text password of Active Directory domain
administrator, value is masked in the response
:type password: str
:param domain: Name of the Active Directory domain
:type domain: str
:param dns: Comma separated list of DNS server IP addresses (IPv4 only)
for the Active Directory domain
:type dns: str
:ivar status: Status of the Active Directory. Possible values include:
'Created', 'InUse', 'Deleted', 'Error', 'Updating'
:vartype status: str or ~azure.mgmt.netapp.models.ActiveDirectoryStatus
:ivar status_details: Any details in regards to the Status of the Active
Directory
:vartype status_details: str
:param smb_server_name: NetBIOS name of the SMB server. This name will be
registered as a computer account in the AD and used to mount volumes
:type smb_server_name: str
:param organizational_unit: The Organizational Unit (OU) within the
Windows Active Directory
:type organizational_unit: str
:param site: The Active Directory site the service will limit Domain
Controller discovery to
:type site: str
:param backup_operators: Users to be added to the Built-in Backup Operator
active directory group. A list of unique usernames without domain
specifier
:type backup_operators: list[str]
:param kdc_ip: kdc server IP addresses for the active directory machine.
This optional parameter is used only while creating kerberos volume.
:type kdc_ip: str
:param ad_name: Name of the active directory machine. This optional
parameter is used only while creating kerberos volume
:type ad_name: str
:param server_root_ca_certificate: When LDAP over SSL/TLS is enabled, the
LDAP client is required to have base64 encoded Active Directory
Certificate Service's self-signed root CA certificate, this optional
parameter is used only for dual protocol with LDAP user-mapping volumes.
:type server_root_ca_certificate: str
"""
_validation = {
'dns': {'pattern': r'^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)((, ?)(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))*$'},
'status': {'readonly': True},
'status_details': {'readonly': True},
'kdc_ip': {'pattern': r'^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)((, ?)(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))*$'},
'ad_name': {'max_length': 64, 'min_length': 1},
'server_root_ca_certificate': {'max_length': 10240, 'min_length': 1},
}
_attribute_map = {
'active_directory_id': {'key': 'activeDirectoryId', 'type': 'str'},
'username': {'key': 'username', 'type': 'str'},
'password': {'key': 'password', 'type': 'str'},
'domain': {'key': 'domain', 'type': 'str'},
'dns': {'key': 'dns', 'type': 'str'},
'status': {'key': 'status', 'type': 'str'},
'status_details': {'key': 'statusDetails', 'type': 'str'},
'smb_server_name': {'key': 'smbServerName', 'type': 'str'},
'organizational_unit': {'key': 'organizationalUnit', 'type': 'str'},
'site': {'key': 'site', 'type': 'str'},
'backup_operators': {'key': 'backupOperators', 'type': '[str]'},
'kdc_ip': {'key': 'kdcIP', 'type': 'str'},
'ad_name': {'key': 'adName', 'type': 'str'},
'server_root_ca_certificate': {'key': 'serverRootCACertificate', 'type': 'str'},
}
def __init__(self, *, active_directory_id: str=None, username: str=None, password: str=None, domain: str=None, dns: str=None, smb_server_name: str=None, organizational_unit: str=None, site: str=None, backup_operators=None, kdc_ip: str=None, ad_name: str=None, server_root_ca_certificate: str=None, **kwargs) -> None:
super(ActiveDirectory, self).__init__(**kwargs)
self.active_directory_id = active_directory_id
self.username = username
self.password = password
self.domain = domain
self.dns = dns
self.status = None
self.status_details = None
self.smb_server_name = smb_server_name
self.organizational_unit = organizational_unit
self.site = site
self.backup_operators = backup_operators
self.kdc_ip = kdc_ip
self.ad_name = ad_name
self.server_root_ca_certificate = server_root_ca_certificate
[docs]class AuthorizeRequest(Model):
"""Authorize request.
:param remote_volume_resource_id: Resource id of the remote volume
:type remote_volume_resource_id: str
"""
_attribute_map = {
'remote_volume_resource_id': {'key': 'remoteVolumeResourceId', 'type': 'str'},
}
def __init__(self, *, remote_volume_resource_id: str=None, **kwargs) -> None:
super(AuthorizeRequest, self).__init__(**kwargs)
self.remote_volume_resource_id = remote_volume_resource_id
[docs]class Backup(Model):
"""Backup of a Volume.
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 location: Required. Resource location
:type location: str
:ivar id: Resource Id
:vartype id: str
:ivar name: Resource name
:vartype name: str
:ivar type: Resource type
:vartype type: str
:ivar creation_date: name. The creation date of the backup
:vartype creation_date: datetime
:ivar provisioning_state: Azure lifecycle management
:vartype provisioning_state: str
:ivar size: Size of backup
:vartype size: long
:param label: Label for backup
:type label: str
:ivar backup_type: Type of backup adhoc or scheduled
:vartype backup_type: str
"""
_validation = {
'location': {'required': True},
'id': {'readonly': True},
'name': {'readonly': True},
'type': {'readonly': True},
'creation_date': {'readonly': True},
'provisioning_state': {'readonly': True},
'size': {'readonly': True},
'backup_type': {'readonly': True},
}
_attribute_map = {
'location': {'key': 'location', 'type': 'str'},
'id': {'key': 'id', 'type': 'str'},
'name': {'key': 'name', 'type': 'str'},
'type': {'key': 'type', 'type': 'str'},
'creation_date': {'key': 'properties.creationDate', 'type': 'iso-8601'},
'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'},
'size': {'key': 'properties.size', 'type': 'long'},
'label': {'key': 'properties.label', 'type': 'str'},
'backup_type': {'key': 'properties.backupType', 'type': 'str'},
}
def __init__(self, *, location: str, label: str=None, **kwargs) -> None:
super(Backup, self).__init__(**kwargs)
self.location = location
self.id = None
self.name = None
self.type = None
self.creation_date = None
self.provisioning_state = None
self.size = None
self.label = label
self.backup_type = None
[docs]class BackupPatch(Model):
"""Backup patch.
Variables are only populated by the server, and will be ignored when
sending a request.
:param tags: Resource tags
:type tags: dict[str, str]
:ivar creation_date: name. The creation date of the backup
:vartype creation_date: datetime
:ivar provisioning_state: Azure lifecycle management
:vartype provisioning_state: str
:ivar size: Size of backup
:vartype size: long
:param label: Label for backup
:type label: str
:ivar backup_type: Type of backup adhoc or scheduled
:vartype backup_type: str
"""
_validation = {
'creation_date': {'readonly': True},
'provisioning_state': {'readonly': True},
'size': {'readonly': True},
'backup_type': {'readonly': True},
}
_attribute_map = {
'tags': {'key': 'tags', 'type': '{str}'},
'creation_date': {'key': 'properties.creationDate', 'type': 'iso-8601'},
'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'},
'size': {'key': 'properties.size', 'type': 'long'},
'label': {'key': 'properties.label', 'type': 'str'},
'backup_type': {'key': 'properties.backupType', 'type': 'str'},
}
def __init__(self, *, tags=None, label: str=None, **kwargs) -> None:
super(BackupPatch, self).__init__(**kwargs)
self.tags = tags
self.creation_date = None
self.provisioning_state = None
self.size = None
self.label = label
self.backup_type = None
[docs]class BackupPolicy(Model):
"""Backup policy information.
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 location: Required. Resource location
:type location: str
:ivar id: Resource Id
:vartype id: str
:ivar name: Resource name
:vartype name: str
:ivar type: Resource type
:vartype type: str
:param tags: Resource tags
:type tags: dict[str, str]
:ivar name1: Name of backup policy
:vartype name1: str
:ivar provisioning_state: Azure lifecycle management
:vartype provisioning_state: str
:param daily_backups_to_keep: Daily backups count to keep
:type daily_backups_to_keep: int
:param weekly_backups_to_keep: Weekly backups count to keep
:type weekly_backups_to_keep: int
:param monthly_backups_to_keep: Monthly backups count to keep
:type monthly_backups_to_keep: int
:param yearly_backups_to_keep: Yearly backups count to keep
:type yearly_backups_to_keep: int
:param volumes_assigned: Volumes using current backup policy
:type volumes_assigned: int
:param enabled: The property to decide policy is enabled or not
:type enabled: bool
:param volume_backups: A list of volumes assigned to this policy
:type volume_backups: list[~azure.mgmt.netapp.models.VolumeBackups]
"""
_validation = {
'location': {'required': True},
'id': {'readonly': True},
'name': {'readonly': True},
'type': {'readonly': True},
'name1': {'readonly': True},
'provisioning_state': {'readonly': True},
}
_attribute_map = {
'location': {'key': 'location', 'type': 'str'},
'id': {'key': 'id', 'type': 'str'},
'name': {'key': 'name', 'type': 'str'},
'type': {'key': 'type', 'type': 'str'},
'tags': {'key': 'tags', 'type': '{str}'},
'name1': {'key': 'properties.name', 'type': 'str'},
'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'},
'daily_backups_to_keep': {'key': 'properties.dailyBackupsToKeep', 'type': 'int'},
'weekly_backups_to_keep': {'key': 'properties.weeklyBackupsToKeep', 'type': 'int'},
'monthly_backups_to_keep': {'key': 'properties.monthlyBackupsToKeep', 'type': 'int'},
'yearly_backups_to_keep': {'key': 'properties.yearlyBackupsToKeep', 'type': 'int'},
'volumes_assigned': {'key': 'properties.volumesAssigned', 'type': 'int'},
'enabled': {'key': 'properties.enabled', 'type': 'bool'},
'volume_backups': {'key': 'properties.volumeBackups', 'type': '[VolumeBackups]'},
}
def __init__(self, *, location: str, tags=None, daily_backups_to_keep: int=None, weekly_backups_to_keep: int=None, monthly_backups_to_keep: int=None, yearly_backups_to_keep: int=None, volumes_assigned: int=None, enabled: bool=None, volume_backups=None, **kwargs) -> None:
super(BackupPolicy, self).__init__(**kwargs)
self.location = location
self.id = None
self.name = None
self.type = None
self.tags = tags
self.name1 = None
self.provisioning_state = None
self.daily_backups_to_keep = daily_backups_to_keep
self.weekly_backups_to_keep = weekly_backups_to_keep
self.monthly_backups_to_keep = monthly_backups_to_keep
self.yearly_backups_to_keep = yearly_backups_to_keep
self.volumes_assigned = volumes_assigned
self.enabled = enabled
self.volume_backups = volume_backups
[docs]class BackupPolicyDetails(Model):
"""Backup policy properties.
Variables are only populated by the server, and will be ignored when
sending a request.
:param location: Resource location
:type location: str
:ivar id: Resource Id
:vartype id: str
:ivar name: Resource name
:vartype name: str
:ivar type: Resource type
:vartype type: str
:param tags: Resource tags
:type tags: dict[str, str]
:ivar name1: Name of backup policy
:vartype name1: str
:ivar provisioning_state: Azure lifecycle management
:vartype provisioning_state: str
:param daily_backups_to_keep: Daily backups count to keep
:type daily_backups_to_keep: int
:param weekly_backups_to_keep: Weekly backups count to keep
:type weekly_backups_to_keep: int
:param monthly_backups_to_keep: Monthly backups count to keep
:type monthly_backups_to_keep: int
:param yearly_backups_to_keep: Yearly backups count to keep
:type yearly_backups_to_keep: int
:param volumes_assigned: Volumes using current backup policy
:type volumes_assigned: int
:param enabled: The property to decide policy is enabled or not
:type enabled: bool
:param volume_backups: A list of volumes assigned to this policy
:type volume_backups: list[~azure.mgmt.netapp.models.VolumeBackups]
"""
_validation = {
'id': {'readonly': True},
'name': {'readonly': True},
'type': {'readonly': True},
'name1': {'readonly': True},
'provisioning_state': {'readonly': True},
}
_attribute_map = {
'location': {'key': 'location', 'type': 'str'},
'id': {'key': 'id', 'type': 'str'},
'name': {'key': 'name', 'type': 'str'},
'type': {'key': 'type', 'type': 'str'},
'tags': {'key': 'tags', 'type': '{str}'},
'name1': {'key': 'properties.name', 'type': 'str'},
'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'},
'daily_backups_to_keep': {'key': 'properties.dailyBackupsToKeep', 'type': 'int'},
'weekly_backups_to_keep': {'key': 'properties.weeklyBackupsToKeep', 'type': 'int'},
'monthly_backups_to_keep': {'key': 'properties.monthlyBackupsToKeep', 'type': 'int'},
'yearly_backups_to_keep': {'key': 'properties.yearlyBackupsToKeep', 'type': 'int'},
'volumes_assigned': {'key': 'properties.volumesAssigned', 'type': 'int'},
'enabled': {'key': 'properties.enabled', 'type': 'bool'},
'volume_backups': {'key': 'properties.volumeBackups', 'type': '[VolumeBackups]'},
}
def __init__(self, *, location: str=None, tags=None, daily_backups_to_keep: int=None, weekly_backups_to_keep: int=None, monthly_backups_to_keep: int=None, yearly_backups_to_keep: int=None, volumes_assigned: int=None, enabled: bool=None, volume_backups=None, **kwargs) -> None:
super(BackupPolicyDetails, self).__init__(**kwargs)
self.location = location
self.id = None
self.name = None
self.type = None
self.tags = tags
self.name1 = None
self.provisioning_state = None
self.daily_backups_to_keep = daily_backups_to_keep
self.weekly_backups_to_keep = weekly_backups_to_keep
self.monthly_backups_to_keep = monthly_backups_to_keep
self.yearly_backups_to_keep = yearly_backups_to_keep
self.volumes_assigned = volumes_assigned
self.enabled = enabled
self.volume_backups = volume_backups
[docs]class BackupPolicyPatch(Model):
"""Backup policy Details for create and update.
Variables are only populated by the server, and will be ignored when
sending a request.
:param location: Resource location
:type location: str
:ivar name: Name of backup policy
:vartype name: str
:ivar provisioning_state: Azure lifecycle management
:vartype provisioning_state: str
:param daily_backups_to_keep: Daily backups count to keep
:type daily_backups_to_keep: int
:param weekly_backups_to_keep: Weekly backups count to keep
:type weekly_backups_to_keep: int
:param monthly_backups_to_keep: Monthly backups count to keep
:type monthly_backups_to_keep: int
:param yearly_backups_to_keep: Yearly backups count to keep
:type yearly_backups_to_keep: int
:param volumes_assigned: Volumes using current backup policy
:type volumes_assigned: int
:param enabled: The property to decide policy is enabled or not
:type enabled: bool
:param volume_backups: A list of volumes assigned to this policy
:type volume_backups: list[~azure.mgmt.netapp.models.VolumeBackups]
"""
_validation = {
'name': {'readonly': True},
'provisioning_state': {'readonly': True},
}
_attribute_map = {
'location': {'key': 'location', 'type': 'str'},
'name': {'key': 'properties.name', 'type': 'str'},
'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'},
'daily_backups_to_keep': {'key': 'properties.dailyBackupsToKeep', 'type': 'int'},
'weekly_backups_to_keep': {'key': 'properties.weeklyBackupsToKeep', 'type': 'int'},
'monthly_backups_to_keep': {'key': 'properties.monthlyBackupsToKeep', 'type': 'int'},
'yearly_backups_to_keep': {'key': 'properties.yearlyBackupsToKeep', 'type': 'int'},
'volumes_assigned': {'key': 'properties.volumesAssigned', 'type': 'int'},
'enabled': {'key': 'properties.enabled', 'type': 'bool'},
'volume_backups': {'key': 'properties.volumeBackups', 'type': '[VolumeBackups]'},
}
def __init__(self, *, location: str=None, daily_backups_to_keep: int=None, weekly_backups_to_keep: int=None, monthly_backups_to_keep: int=None, yearly_backups_to_keep: int=None, volumes_assigned: int=None, enabled: bool=None, volume_backups=None, **kwargs) -> None:
super(BackupPolicyPatch, self).__init__(**kwargs)
self.location = location
self.name = None
self.provisioning_state = None
self.daily_backups_to_keep = daily_backups_to_keep
self.weekly_backups_to_keep = weekly_backups_to_keep
self.monthly_backups_to_keep = monthly_backups_to_keep
self.yearly_backups_to_keep = yearly_backups_to_keep
self.volumes_assigned = volumes_assigned
self.enabled = enabled
self.volume_backups = volume_backups
[docs]class BackupsList(Model):
"""List of Backups.
:param value: A list of Backups
:type value: list[~azure.mgmt.netapp.models.Backup]
"""
_attribute_map = {
'value': {'key': 'value', 'type': '[Backup]'},
}
def __init__(self, *, value=None, **kwargs) -> None:
super(BackupsList, self).__init__(**kwargs)
self.value = value
[docs]class BreakReplicationRequest(Model):
"""Break replication request.
:param force_break_replication: If replication is in status transferring
and you want to force break the replication, set to true
:type force_break_replication: bool
"""
_attribute_map = {
'force_break_replication': {'key': 'forceBreakReplication', 'type': 'bool'},
}
def __init__(self, *, force_break_replication: bool=None, **kwargs) -> None:
super(BreakReplicationRequest, self).__init__(**kwargs)
self.force_break_replication = force_break_replication
[docs]class CapacityPool(Model):
"""Capacity pool 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.
:param location: Required. Resource location
:type location: str
:ivar id: Resource Id
:vartype id: str
:ivar name: Resource name
:vartype name: str
:ivar type: Resource type
:vartype type: str
:param tags: Resource tags
:type tags: dict[str, str]
:ivar pool_id: poolId. UUID v4 used to identify the Pool
:vartype pool_id: str
:param size: Required. size. Provisioned size of the pool (in bytes).
Allowed values are in 4TiB chunks (value must be multiply of
4398046511104).
:type size: long
:param service_level: Required. serviceLevel. The service level of the
file system. Possible values include: 'Standard', 'Premium', 'Ultra'.
Default value: "Premium" .
:type service_level: str or ~azure.mgmt.netapp.models.ServiceLevel
:ivar provisioning_state: Azure lifecycle management
:vartype provisioning_state: str
:ivar total_throughput_mibps: Total throughput of pool in Mibps
:vartype total_throughput_mibps: float
:ivar utilized_throughput_mibps: Utilized throughput of pool in Mibps
:vartype utilized_throughput_mibps: float
:param qos_type: qosType. The qos type of the pool. Possible values
include: 'Auto', 'Manual'. Default value: "Auto" .
:type qos_type: str or ~azure.mgmt.netapp.models.QosType
"""
_validation = {
'location': {'required': True},
'id': {'readonly': True},
'name': {'readonly': True},
'type': {'readonly': True},
'pool_id': {'readonly': True, 'max_length': 36, 'min_length': 36, 'pattern': r'^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$'},
'size': {'required': True, 'maximum': 549755813888000, 'minimum': 4398046511104},
'service_level': {'required': True},
'provisioning_state': {'readonly': True},
'total_throughput_mibps': {'readonly': True, 'multiple': 0.001},
'utilized_throughput_mibps': {'readonly': True, 'multiple': 0.001},
}
_attribute_map = {
'location': {'key': 'location', 'type': 'str'},
'id': {'key': 'id', 'type': 'str'},
'name': {'key': 'name', 'type': 'str'},
'type': {'key': 'type', 'type': 'str'},
'tags': {'key': 'tags', 'type': '{str}'},
'pool_id': {'key': 'properties.poolId', 'type': 'str'},
'size': {'key': 'properties.size', 'type': 'long'},
'service_level': {'key': 'properties.serviceLevel', 'type': 'str'},
'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'},
'total_throughput_mibps': {'key': 'properties.totalThroughputMibps', 'type': 'float'},
'utilized_throughput_mibps': {'key': 'properties.utilizedThroughputMibps', 'type': 'float'},
'qos_type': {'key': 'properties.qosType', 'type': 'str'},
}
def __init__(self, *, location: str, size: int, tags=None, service_level="Premium", qos_type="Auto", **kwargs) -> None:
super(CapacityPool, self).__init__(**kwargs)
self.location = location
self.id = None
self.name = None
self.type = None
self.tags = tags
self.pool_id = None
self.size = size
self.service_level = service_level
self.provisioning_state = None
self.total_throughput_mibps = None
self.utilized_throughput_mibps = None
self.qos_type = qos_type
[docs]class CapacityPoolPatch(Model):
"""Capacity pool patch resource.
Variables are only populated by the server, and will be ignored when
sending a request.
:param location: Resource location
:type location: str
:ivar id: Resource Id
:vartype id: str
:ivar name: Resource name
:vartype name: str
:ivar type: Resource type
:vartype type: str
:param tags: Resource tags
:type tags: dict[str, str]
:param size: size. Provisioned size of the pool (in bytes). Allowed values
are in 4TiB chunks (value must be multiply of 4398046511104). Default
value: 4398046511104 .
:type size: long
:param qos_type: qosType. The qos type of the pool. Possible values
include: 'Auto', 'Manual'. Default value: "Auto" .
:type qos_type: str or ~azure.mgmt.netapp.models.QosType
"""
_validation = {
'id': {'readonly': True},
'name': {'readonly': True},
'type': {'readonly': True},
'size': {'maximum': 549755813888000, 'minimum': 4398046511104},
}
_attribute_map = {
'location': {'key': 'location', 'type': 'str'},
'id': {'key': 'id', 'type': 'str'},
'name': {'key': 'name', 'type': 'str'},
'type': {'key': 'type', 'type': 'str'},
'tags': {'key': 'tags', 'type': '{str}'},
'size': {'key': 'properties.size', 'type': 'long'},
'qos_type': {'key': 'properties.qosType', 'type': 'str'},
}
def __init__(self, *, location: str=None, tags=None, size: int=4398046511104, qos_type="Auto", **kwargs) -> None:
super(CapacityPoolPatch, self).__init__(**kwargs)
self.location = location
self.id = None
self.name = None
self.type = None
self.tags = tags
self.size = size
self.qos_type = qos_type
[docs]class CheckAvailabilityResponse(Model):
"""Information regarding availability of a resource.
:param is_available: <code>true</code> indicates name is valid and
available. <code>false</code> indicates the name is invalid, unavailable,
or both.
:type is_available: bool
:param reason: <code>Invalid</code> indicates the name provided does not
match Azure App Service naming requirements. <code>AlreadyExists</code>
indicates that the name is already in use and is therefore unavailable.
Possible values include: 'Invalid', 'AlreadyExists'
:type reason: str or ~azure.mgmt.netapp.models.InAvailabilityReasonType
:param message: If reason == invalid, provide the user with the reason why
the given name is invalid, and provide the resource naming requirements so
that the user can select a valid name. If reason == AlreadyExists, explain
that resource name is already in use, and direct them to select a
different name.
:type message: str
"""
_attribute_map = {
'is_available': {'key': 'isAvailable', 'type': 'bool'},
'reason': {'key': 'reason', 'type': 'str'},
'message': {'key': 'message', 'type': 'str'},
}
def __init__(self, *, is_available: bool=None, reason=None, message: str=None, **kwargs) -> None:
super(CheckAvailabilityResponse, self).__init__(**kwargs)
self.is_available = is_available
self.reason = reason
self.message = message
class CloudError(Model):
"""CloudError.
"""
_attribute_map = {
}
[docs]class DailySchedule(Model):
"""Daily Schedule properties.
:param snapshots_to_keep: Daily snapshot count to keep
:type snapshots_to_keep: int
:param hour: Indicates which hour in UTC timezone a snapshot should be
taken
:type hour: int
:param minute: Indicates which minute snapshot should be taken
:type minute: int
:param used_bytes: Resource size in bytes, current storage usage for the
volume in bytes
:type used_bytes: long
"""
_attribute_map = {
'snapshots_to_keep': {'key': 'snapshotsToKeep', 'type': 'int'},
'hour': {'key': 'hour', 'type': 'int'},
'minute': {'key': 'minute', 'type': 'int'},
'used_bytes': {'key': 'usedBytes', 'type': 'long'},
}
def __init__(self, *, snapshots_to_keep: int=None, hour: int=None, minute: int=None, used_bytes: int=None, **kwargs) -> None:
super(DailySchedule, self).__init__(**kwargs)
self.snapshots_to_keep = snapshots_to_keep
self.hour = hour
self.minute = minute
self.used_bytes = used_bytes
[docs]class Dimension(Model):
"""Dimension of blobs, possibly be blob type or access tier.
:param name: Display name of dimension.
:type name: str
:param display_name: Display name of dimension.
:type display_name: str
"""
_attribute_map = {
'name': {'key': 'name', 'type': 'str'},
'display_name': {'key': 'displayName', 'type': 'str'},
}
def __init__(self, *, name: str=None, display_name: str=None, **kwargs) -> None:
super(Dimension, self).__init__(**kwargs)
self.name = name
self.display_name = display_name
[docs]class ExportPolicyRule(Model):
"""Volume Export Policy Rule.
:param rule_index: Order index
:type rule_index: int
:param unix_read_only: Read only access
:type unix_read_only: bool
:param unix_read_write: Read and write access
:type unix_read_write: bool
:param kerberos5_read_only: Kerberos5 Read only access. To be use with
swagger version 2020-05-01 or later. Default value: False .
:type kerberos5_read_only: bool
:param kerberos5_read_write: Kerberos5 Read and write access. To be use
with swagger version 2020-05-01 or later. Default value: False .
:type kerberos5_read_write: bool
:param kerberos5i_read_only: Kerberos5i Read only access. To be use with
swagger version 2020-05-01 or later. Default value: False .
:type kerberos5i_read_only: bool
:param kerberos5i_read_write: Kerberos5i Read and write access. To be use
with swagger version 2020-05-01 or later. Default value: False .
:type kerberos5i_read_write: bool
:param kerberos5p_read_only: Kerberos5p Read only access. To be use with
swagger version 2020-05-01 or later. Default value: False .
:type kerberos5p_read_only: bool
:param kerberos5p_read_write: Kerberos5p Read and write access. To be use
with swagger version 2020-05-01 or later. Default value: False .
:type kerberos5p_read_write: bool
:param cifs: Allows CIFS protocol
:type cifs: bool
:param nfsv3: Allows NFSv3 protocol. Enable only for NFSv3 type volumes
:type nfsv3: bool
:param nfsv41: Allows NFSv4.1 protocol. Enable only for NFSv4.1 type
volumes
:type nfsv41: bool
:param allowed_clients: Client ingress specification as comma separated
string with IPv4 CIDRs, IPv4 host addresses and host names
:type allowed_clients: str
:param has_root_access: Has root access to volume. Default value: True .
:type has_root_access: bool
"""
_attribute_map = {
'rule_index': {'key': 'ruleIndex', 'type': 'int'},
'unix_read_only': {'key': 'unixReadOnly', 'type': 'bool'},
'unix_read_write': {'key': 'unixReadWrite', 'type': 'bool'},
'kerberos5_read_only': {'key': 'kerberos5ReadOnly', 'type': 'bool'},
'kerberos5_read_write': {'key': 'kerberos5ReadWrite', 'type': 'bool'},
'kerberos5i_read_only': {'key': 'kerberos5iReadOnly', 'type': 'bool'},
'kerberos5i_read_write': {'key': 'kerberos5iReadWrite', 'type': 'bool'},
'kerberos5p_read_only': {'key': 'kerberos5pReadOnly', 'type': 'bool'},
'kerberos5p_read_write': {'key': 'kerberos5pReadWrite', 'type': 'bool'},
'cifs': {'key': 'cifs', 'type': 'bool'},
'nfsv3': {'key': 'nfsv3', 'type': 'bool'},
'nfsv41': {'key': 'nfsv41', 'type': 'bool'},
'allowed_clients': {'key': 'allowedClients', 'type': 'str'},
'has_root_access': {'key': 'hasRootAccess', 'type': 'bool'},
}
def __init__(self, *, rule_index: int=None, unix_read_only: bool=None, unix_read_write: bool=None, kerberos5_read_only: bool=False, kerberos5_read_write: bool=False, kerberos5i_read_only: bool=False, kerberos5i_read_write: bool=False, kerberos5p_read_only: bool=False, kerberos5p_read_write: bool=False, cifs: bool=None, nfsv3: bool=None, nfsv41: bool=None, allowed_clients: str=None, has_root_access: bool=True, **kwargs) -> None:
super(ExportPolicyRule, self).__init__(**kwargs)
self.rule_index = rule_index
self.unix_read_only = unix_read_only
self.unix_read_write = unix_read_write
self.kerberos5_read_only = kerberos5_read_only
self.kerberos5_read_write = kerberos5_read_write
self.kerberos5i_read_only = kerberos5i_read_only
self.kerberos5i_read_write = kerberos5i_read_write
self.kerberos5p_read_only = kerberos5p_read_only
self.kerberos5p_read_write = kerberos5p_read_write
self.cifs = cifs
self.nfsv3 = nfsv3
self.nfsv41 = nfsv41
self.allowed_clients = allowed_clients
self.has_root_access = has_root_access
[docs]class HourlySchedule(Model):
"""Hourly Schedule properties.
:param snapshots_to_keep: Hourly snapshot count to keep
:type snapshots_to_keep: int
:param minute: Indicates which minute snapshot should be taken
:type minute: int
:param used_bytes: Resource size in bytes, current storage usage for the
volume in bytes
:type used_bytes: long
"""
_attribute_map = {
'snapshots_to_keep': {'key': 'snapshotsToKeep', 'type': 'int'},
'minute': {'key': 'minute', 'type': 'int'},
'used_bytes': {'key': 'usedBytes', 'type': 'long'},
}
def __init__(self, *, snapshots_to_keep: int=None, minute: int=None, used_bytes: int=None, **kwargs) -> None:
super(HourlySchedule, self).__init__(**kwargs)
self.snapshots_to_keep = snapshots_to_keep
self.minute = minute
self.used_bytes = used_bytes
[docs]class MetricSpecification(Model):
"""Metric specification of operation.
:param name: Name of metric specification.
:type name: str
:param display_name: Display name of metric specification.
:type display_name: str
:param display_description: Display description of metric specification.
:type display_description: str
:param unit: Unit could be Bytes or Count.
:type unit: str
:param dimensions: Dimensions of blobs, including blob type and access
tier.
:type dimensions: list[~azure.mgmt.netapp.models.Dimension]
:param aggregation_type: Aggregation type could be Average.
:type aggregation_type: str
:param fill_gap_with_zero: The property to decide fill gap with zero or
not.
:type fill_gap_with_zero: bool
:param category: The category this metric specification belong to, could
be Capacity.
:type category: str
:param resource_id_dimension_name_override: Account Resource Id.
:type resource_id_dimension_name_override: str
"""
_attribute_map = {
'name': {'key': 'name', 'type': 'str'},
'display_name': {'key': 'displayName', 'type': 'str'},
'display_description': {'key': 'displayDescription', 'type': 'str'},
'unit': {'key': 'unit', 'type': 'str'},
'dimensions': {'key': 'dimensions', 'type': '[Dimension]'},
'aggregation_type': {'key': 'aggregationType', 'type': 'str'},
'fill_gap_with_zero': {'key': 'fillGapWithZero', 'type': 'bool'},
'category': {'key': 'category', 'type': 'str'},
'resource_id_dimension_name_override': {'key': 'resourceIdDimensionNameOverride', 'type': 'str'},
}
def __init__(self, *, name: str=None, display_name: str=None, display_description: str=None, unit: str=None, dimensions=None, aggregation_type: str=None, fill_gap_with_zero: bool=None, category: str=None, resource_id_dimension_name_override: str=None, **kwargs) -> None:
super(MetricSpecification, self).__init__(**kwargs)
self.name = name
self.display_name = display_name
self.display_description = display_description
self.unit = unit
self.dimensions = dimensions
self.aggregation_type = aggregation_type
self.fill_gap_with_zero = fill_gap_with_zero
self.category = category
self.resource_id_dimension_name_override = resource_id_dimension_name_override
[docs]class MonthlySchedule(Model):
"""Monthly Schedule properties.
:param snapshots_to_keep: Monthly snapshot count to keep
:type snapshots_to_keep: int
:param days_of_month: Indicates which days of the month snapshot should be
taken. A comma delimited string.
:type days_of_month: str
:param hour: Indicates which hour in UTC timezone a snapshot should be
taken
:type hour: int
:param minute: Indicates which minute snapshot should be taken
:type minute: int
:param used_bytes: Resource size in bytes, current storage usage for the
volume in bytes
:type used_bytes: long
"""
_attribute_map = {
'snapshots_to_keep': {'key': 'snapshotsToKeep', 'type': 'int'},
'days_of_month': {'key': 'daysOfMonth', 'type': 'str'},
'hour': {'key': 'hour', 'type': 'int'},
'minute': {'key': 'minute', 'type': 'int'},
'used_bytes': {'key': 'usedBytes', 'type': 'long'},
}
def __init__(self, *, snapshots_to_keep: int=None, days_of_month: str=None, hour: int=None, minute: int=None, used_bytes: int=None, **kwargs) -> None:
super(MonthlySchedule, self).__init__(**kwargs)
self.snapshots_to_keep = snapshots_to_keep
self.days_of_month = days_of_month
self.hour = hour
self.minute = minute
self.used_bytes = used_bytes
[docs]class MountTarget(Model):
"""Mount Target.
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 location: Required. Resource location
:type location: str
:ivar id: Resource Id
:vartype id: str
:ivar name: Resource name
:vartype name: str
:ivar type: Resource type
:vartype type: str
:param tags: Resource tags
:type tags: dict[str, str]
:ivar mount_target_id: mountTargetId. UUID v4 used to identify the
MountTarget
:vartype mount_target_id: str
:param file_system_id: Required. fileSystemId. UUID v4 used to identify
the MountTarget
:type file_system_id: str
:ivar ip_address: ipAddress. The mount target's IPv4 address
:vartype ip_address: str
:param smb_server_fqdn: smbServerFQDN. The SMB server's Fully Qualified
Domain Name, FQDN
:type smb_server_fqdn: str
"""
_validation = {
'location': {'required': True},
'id': {'readonly': True},
'name': {'readonly': True},
'type': {'readonly': True},
'mount_target_id': {'readonly': True, 'max_length': 36, 'min_length': 36, 'pattern': r'^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$'},
'file_system_id': {'required': True, 'max_length': 36, 'min_length': 36, 'pattern': r'^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$'},
'ip_address': {'readonly': True},
}
_attribute_map = {
'location': {'key': 'location', 'type': 'str'},
'id': {'key': 'id', 'type': 'str'},
'name': {'key': 'name', 'type': 'str'},
'type': {'key': 'type', 'type': 'str'},
'tags': {'key': 'tags', 'type': '{str}'},
'mount_target_id': {'key': 'properties.mountTargetId', 'type': 'str'},
'file_system_id': {'key': 'properties.fileSystemId', 'type': 'str'},
'ip_address': {'key': 'properties.ipAddress', 'type': 'str'},
'smb_server_fqdn': {'key': 'properties.smbServerFqdn', 'type': 'str'},
}
def __init__(self, *, location: str, file_system_id: str, tags=None, smb_server_fqdn: str=None, **kwargs) -> None:
super(MountTarget, self).__init__(**kwargs)
self.location = location
self.id = None
self.name = None
self.type = None
self.tags = tags
self.mount_target_id = None
self.file_system_id = file_system_id
self.ip_address = None
self.smb_server_fqdn = smb_server_fqdn
[docs]class MountTargetProperties(Model):
"""Mount target properties.
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 mount_target_id: mountTargetId. UUID v4 used to identify the
MountTarget
:vartype mount_target_id: str
:param file_system_id: Required. fileSystemId. UUID v4 used to identify
the MountTarget
:type file_system_id: str
:ivar ip_address: ipAddress. The mount target's IPv4 address
:vartype ip_address: str
:param smb_server_fqdn: smbServerFQDN. The SMB server's Fully Qualified
Domain Name, FQDN
:type smb_server_fqdn: str
"""
_validation = {
'mount_target_id': {'readonly': True, 'max_length': 36, 'min_length': 36, 'pattern': r'^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$'},
'file_system_id': {'required': True, 'max_length': 36, 'min_length': 36, 'pattern': r'^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$'},
'ip_address': {'readonly': True},
}
_attribute_map = {
'mount_target_id': {'key': 'mountTargetId', 'type': 'str'},
'file_system_id': {'key': 'fileSystemId', 'type': 'str'},
'ip_address': {'key': 'ipAddress', 'type': 'str'},
'smb_server_fqdn': {'key': 'smbServerFqdn', 'type': 'str'},
}
def __init__(self, *, file_system_id: str, smb_server_fqdn: str=None, **kwargs) -> None:
super(MountTargetProperties, self).__init__(**kwargs)
self.mount_target_id = None
self.file_system_id = file_system_id
self.ip_address = None
self.smb_server_fqdn = smb_server_fqdn
[docs]class NetAppAccount(Model):
"""NetApp account 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.
:param location: Required. Resource location
:type location: str
:ivar id: Resource Id
:vartype id: str
:ivar name: Resource name
:vartype name: str
:ivar type: Resource type
:vartype type: str
:param tags: Resource tags
:type tags: dict[str, str]
:ivar provisioning_state: Azure lifecycle management
:vartype provisioning_state: str
:param active_directories: Active Directories
:type active_directories: list[~azure.mgmt.netapp.models.ActiveDirectory]
"""
_validation = {
'location': {'required': True},
'id': {'readonly': True},
'name': {'readonly': True},
'type': {'readonly': True},
'provisioning_state': {'readonly': True},
}
_attribute_map = {
'location': {'key': 'location', 'type': 'str'},
'id': {'key': 'id', 'type': 'str'},
'name': {'key': 'name', 'type': 'str'},
'type': {'key': 'type', 'type': 'str'},
'tags': {'key': 'tags', 'type': '{str}'},
'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'},
'active_directories': {'key': 'properties.activeDirectories', 'type': '[ActiveDirectory]'},
}
def __init__(self, *, location: str, tags=None, active_directories=None, **kwargs) -> None:
super(NetAppAccount, self).__init__(**kwargs)
self.location = location
self.id = None
self.name = None
self.type = None
self.tags = tags
self.provisioning_state = None
self.active_directories = active_directories
[docs]class NetAppAccountPatch(Model):
"""NetApp account patch resource.
Variables are only populated by the server, and will be ignored when
sending a request.
:param location: Resource location
:type location: str
:ivar id: Resource Id
:vartype id: str
:ivar name: Resource name
:vartype name: str
:ivar type: Resource type
:vartype type: str
:param tags: Resource tags
:type tags: dict[str, str]
:ivar provisioning_state: Azure lifecycle management
:vartype provisioning_state: str
:param active_directories: Active Directories
:type active_directories: list[~azure.mgmt.netapp.models.ActiveDirectory]
"""
_validation = {
'id': {'readonly': True},
'name': {'readonly': True},
'type': {'readonly': True},
'provisioning_state': {'readonly': True},
}
_attribute_map = {
'location': {'key': 'location', 'type': 'str'},
'id': {'key': 'id', 'type': 'str'},
'name': {'key': 'name', 'type': 'str'},
'type': {'key': 'type', 'type': 'str'},
'tags': {'key': 'tags', 'type': '{str}'},
'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'},
'active_directories': {'key': 'properties.activeDirectories', 'type': '[ActiveDirectory]'},
}
def __init__(self, *, location: str=None, tags=None, active_directories=None, **kwargs) -> None:
super(NetAppAccountPatch, self).__init__(**kwargs)
self.location = location
self.id = None
self.name = None
self.type = None
self.tags = tags
self.provisioning_state = None
self.active_directories = active_directories
[docs]class Operation(Model):
"""Microsoft.NetApp REST API operation definition.
:param name: Operation name: {provider}/{resource}/{operation}
:type name: str
:param display: Display metadata associated with the operation.
:type display: ~azure.mgmt.netapp.models.OperationDisplay
:param origin: The origin of operations.
:type origin: str
:param service_specification: One property of operation, include metric
specifications.
:type service_specification:
~azure.mgmt.netapp.models.ServiceSpecification
"""
_attribute_map = {
'name': {'key': 'name', 'type': 'str'},
'display': {'key': 'display', 'type': 'OperationDisplay'},
'origin': {'key': 'origin', 'type': 'str'},
'service_specification': {'key': 'properties.serviceSpecification', 'type': 'ServiceSpecification'},
}
def __init__(self, *, name: str=None, display=None, origin: str=None, service_specification=None, **kwargs) -> None:
super(Operation, self).__init__(**kwargs)
self.name = name
self.display = display
self.origin = origin
self.service_specification = service_specification
[docs]class OperationDisplay(Model):
"""Display metadata associated with the operation.
:param provider: Service provider: Microsoft NetApp.
:type provider: str
:param resource: Resource on which the operation is performed etc.
:type resource: str
:param operation: Type of operation: get, read, delete, etc.
:type operation: str
:param description: Operation description.
:type description: str
"""
_attribute_map = {
'provider': {'key': 'provider', 'type': 'str'},
'resource': {'key': 'resource', 'type': 'str'},
'operation': {'key': 'operation', 'type': 'str'},
'description': {'key': 'description', 'type': 'str'},
}
def __init__(self, *, provider: str=None, resource: str=None, operation: str=None, description: str=None, **kwargs) -> None:
super(OperationDisplay, self).__init__(**kwargs)
self.provider = provider
self.resource = resource
self.operation = operation
self.description = description
[docs]class PoolChangeRequest(Model):
"""Pool change request.
All required parameters must be populated in order to send to Azure.
:param new_pool_resource_id: Required. Resource id of the pool to move
volume to
:type new_pool_resource_id: str
"""
_validation = {
'new_pool_resource_id': {'required': True},
}
_attribute_map = {
'new_pool_resource_id': {'key': 'newPoolResourceId', 'type': 'str'},
}
def __init__(self, *, new_pool_resource_id: str, **kwargs) -> None:
super(PoolChangeRequest, self).__init__(**kwargs)
self.new_pool_resource_id = new_pool_resource_id
[docs]class QuotaAvailabilityRequest(Model):
"""Quota availability request content.
All required parameters must be populated in order to send to Azure.
:param name: Required. Name of the resource to verify.
:type name: str
:param type: Required. Resource type used for verification. Possible
values include: 'Microsoft.NetApp/netAppAccounts',
'Microsoft.NetApp/netAppAccounts/capacityPools',
'Microsoft.NetApp/netAppAccounts/capacityPools/volumes',
'Microsoft.NetApp/netAppAccounts/capacityPools/volumes/snapshots'
:type type: str or ~azure.mgmt.netapp.models.CheckQuotaNameResourceTypes
:param resource_group: Required. Resource group name.
:type resource_group: str
"""
_validation = {
'name': {'required': True},
'type': {'required': True},
'resource_group': {'required': True},
}
_attribute_map = {
'name': {'key': 'name', 'type': 'str'},
'type': {'key': 'type', 'type': 'str'},
'resource_group': {'key': 'resourceGroup', 'type': 'str'},
}
def __init__(self, *, name: str, type, resource_group: str, **kwargs) -> None:
super(QuotaAvailabilityRequest, self).__init__(**kwargs)
self.name = name
self.type = type
self.resource_group = resource_group
[docs]class ReplicationObject(Model):
"""Replication properties.
All required parameters must be populated in order to send to Azure.
:param replication_id: Id
:type replication_id: str
:param endpoint_type: Indicates whether the local volume is the source or
destination for the Volume Replication. Possible values include: 'src',
'dst'
:type endpoint_type: str or ~azure.mgmt.netapp.models.EndpointType
:param replication_schedule: Required. Schedule. Possible values include:
'_10minutely', 'hourly', 'daily', 'weekly', 'monthly'
:type replication_schedule: str or
~azure.mgmt.netapp.models.ReplicationSchedule
:param remote_volume_resource_id: Required. The resource ID of the remote
volume.
:type remote_volume_resource_id: str
:param remote_volume_region: The remote region for the other end of the
Volume Replication.
:type remote_volume_region: str
"""
_validation = {
'replication_schedule': {'required': True},
'remote_volume_resource_id': {'required': True},
}
_attribute_map = {
'replication_id': {'key': 'replicationId', 'type': 'str'},
'endpoint_type': {'key': 'endpointType', 'type': 'str'},
'replication_schedule': {'key': 'replicationSchedule', 'type': 'str'},
'remote_volume_resource_id': {'key': 'remoteVolumeResourceId', 'type': 'str'},
'remote_volume_region': {'key': 'remoteVolumeRegion', 'type': 'str'},
}
def __init__(self, *, replication_schedule, remote_volume_resource_id: str, replication_id: str=None, endpoint_type=None, remote_volume_region: str=None, **kwargs) -> None:
super(ReplicationObject, self).__init__(**kwargs)
self.replication_id = replication_id
self.endpoint_type = endpoint_type
self.replication_schedule = replication_schedule
self.remote_volume_resource_id = remote_volume_resource_id
self.remote_volume_region = remote_volume_region
[docs]class ReplicationStatus(Model):
"""Replication status.
:param healthy: Replication health check
:type healthy: bool
:param relationship_status: Status of the mirror relationship. Possible
values include: 'Idle', 'Transferring'
:type relationship_status: str or
~azure.mgmt.netapp.models.RelationshipStatus
:param mirror_state: The status of the replication. Possible values
include: 'Uninitialized', 'Mirrored', 'Broken'
:type mirror_state: str or ~azure.mgmt.netapp.models.MirrorState
:param total_progress: The progress of the replication
:type total_progress: str
:param error_message: Displays error message if the replication is in an
error state
:type error_message: str
"""
_attribute_map = {
'healthy': {'key': 'healthy', 'type': 'bool'},
'relationship_status': {'key': 'relationshipStatus', 'type': 'str'},
'mirror_state': {'key': 'mirrorState', 'type': 'str'},
'total_progress': {'key': 'totalProgress', 'type': 'str'},
'error_message': {'key': 'errorMessage', 'type': 'str'},
}
def __init__(self, *, healthy: bool=None, relationship_status=None, mirror_state=None, total_progress: str=None, error_message: str=None, **kwargs) -> None:
super(ReplicationStatus, self).__init__(**kwargs)
self.healthy = healthy
self.relationship_status = relationship_status
self.mirror_state = mirror_state
self.total_progress = total_progress
self.error_message = error_message
[docs]class ResourceNameAvailabilityRequest(Model):
"""Resource name availability request content.
All required parameters must be populated in order to send to Azure.
:param name: Required. Resource name to verify.
:type name: str
:param type: Required. Resource type used for verification. Possible
values include: 'Microsoft.NetApp/netAppAccounts',
'Microsoft.NetApp/netAppAccounts/capacityPools',
'Microsoft.NetApp/netAppAccounts/capacityPools/volumes',
'Microsoft.NetApp/netAppAccounts/capacityPools/volumes/snapshots'
:type type: str or ~azure.mgmt.netapp.models.CheckNameResourceTypes
:param resource_group: Required. Resource group name.
:type resource_group: str
"""
_validation = {
'name': {'required': True},
'type': {'required': True},
'resource_group': {'required': True},
}
_attribute_map = {
'name': {'key': 'name', 'type': 'str'},
'type': {'key': 'type', 'type': 'str'},
'resource_group': {'key': 'resourceGroup', 'type': 'str'},
}
def __init__(self, *, name: str, type, resource_group: str, **kwargs) -> None:
super(ResourceNameAvailabilityRequest, self).__init__(**kwargs)
self.name = name
self.type = type
self.resource_group = resource_group
[docs]class ServiceSpecification(Model):
"""One property of operation, include metric specifications.
:param metric_specifications: Metric specifications of operation.
:type metric_specifications:
list[~azure.mgmt.netapp.models.MetricSpecification]
"""
_attribute_map = {
'metric_specifications': {'key': 'metricSpecifications', 'type': '[MetricSpecification]'},
}
def __init__(self, *, metric_specifications=None, **kwargs) -> None:
super(ServiceSpecification, self).__init__(**kwargs)
self.metric_specifications = metric_specifications
[docs]class Snapshot(Model):
"""Snapshot of a Volume.
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 location: Required. Resource location
:type location: str
:ivar id: Resource Id
:vartype id: str
:ivar name: Resource name
:vartype name: str
:ivar type: Resource type
:vartype type: str
:ivar snapshot_id: snapshotId. UUID v4 used to identify the Snapshot
:vartype snapshot_id: str
:ivar created: name. The creation date of the snapshot
:vartype created: datetime
:ivar provisioning_state: Azure lifecycle management
:vartype provisioning_state: str
"""
_validation = {
'location': {'required': True},
'id': {'readonly': True},
'name': {'readonly': True},
'type': {'readonly': True},
'snapshot_id': {'readonly': True, 'max_length': 36, 'min_length': 36, 'pattern': r'^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$'},
'created': {'readonly': True},
'provisioning_state': {'readonly': True},
}
_attribute_map = {
'location': {'key': 'location', 'type': 'str'},
'id': {'key': 'id', 'type': 'str'},
'name': {'key': 'name', 'type': 'str'},
'type': {'key': 'type', 'type': 'str'},
'snapshot_id': {'key': 'properties.snapshotId', 'type': 'str'},
'created': {'key': 'properties.created', 'type': 'iso-8601'},
'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'},
}
def __init__(self, *, location: str, **kwargs) -> None:
super(Snapshot, self).__init__(**kwargs)
self.location = location
self.id = None
self.name = None
self.type = None
self.snapshot_id = None
self.created = None
self.provisioning_state = None
[docs]class SnapshotPolicy(Model):
"""Snapshot policy information.
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 location: Required. Resource location
:type location: str
:ivar id: Resource Id
:vartype id: str
:ivar name: Resource name
:vartype name: str
:ivar type: Resource type
:vartype type: str
:param tags: Resource tags
:type tags: dict[str, str]
:param hourly_schedule: hourlySchedule. Schedule for hourly snapshots
:type hourly_schedule: object
:param daily_schedule: dailySchedule. Schedule for daily snapshots
:type daily_schedule: object
:param weekly_schedule: weeklySchedule. Schedule for weekly snapshots
:type weekly_schedule: object
:param monthly_schedule: monthlySchedule. Schedule for monthly snapshots
:type monthly_schedule: object
:param enabled: The property to decide policy is enabled or not
:type enabled: bool
"""
_validation = {
'location': {'required': True},
'id': {'readonly': True},
'name': {'readonly': True},
'type': {'readonly': True},
}
_attribute_map = {
'location': {'key': 'location', 'type': 'str'},
'id': {'key': 'id', 'type': 'str'},
'name': {'key': 'name', 'type': 'str'},
'type': {'key': 'type', 'type': 'str'},
'tags': {'key': 'tags', 'type': '{str}'},
'hourly_schedule': {'key': 'properties.hourlySchedule', 'type': 'object'},
'daily_schedule': {'key': 'properties.dailySchedule', 'type': 'object'},
'weekly_schedule': {'key': 'properties.weeklySchedule', 'type': 'object'},
'monthly_schedule': {'key': 'properties.monthlySchedule', 'type': 'object'},
'enabled': {'key': 'properties.enabled', 'type': 'bool'},
}
def __init__(self, *, location: str, tags=None, hourly_schedule=None, daily_schedule=None, weekly_schedule=None, monthly_schedule=None, enabled: bool=None, **kwargs) -> None:
super(SnapshotPolicy, self).__init__(**kwargs)
self.location = location
self.id = None
self.name = None
self.type = None
self.tags = tags
self.hourly_schedule = hourly_schedule
self.daily_schedule = daily_schedule
self.weekly_schedule = weekly_schedule
self.monthly_schedule = monthly_schedule
self.enabled = enabled
[docs]class SnapshotPolicyDetails(Model):
"""Snapshot policy properties.
Variables are only populated by the server, and will be ignored when
sending a request.
:param location: Resource location
:type location: str
:ivar id: Resource Id
:vartype id: str
:ivar name: Resource name
:vartype name: str
:ivar type: Resource type
:vartype type: str
:param tags: Resource tags
:type tags: dict[str, str]
:param hourly_schedule: hourlySchedule. Schedule for hourly snapshots
:type hourly_schedule: object
:param daily_schedule: dailySchedule. Schedule for daily snapshots
:type daily_schedule: object
:param weekly_schedule: weeklySchedule. Schedule for weekly snapshots
:type weekly_schedule: object
:param monthly_schedule: monthlySchedule. Schedule for monthly snapshots
:type monthly_schedule: object
:param enabled: The property to decide policy is enabled or not
:type enabled: bool
"""
_validation = {
'id': {'readonly': True},
'name': {'readonly': True},
'type': {'readonly': True},
}
_attribute_map = {
'location': {'key': 'location', 'type': 'str'},
'id': {'key': 'id', 'type': 'str'},
'name': {'key': 'name', 'type': 'str'},
'type': {'key': 'type', 'type': 'str'},
'tags': {'key': 'tags', 'type': '{str}'},
'hourly_schedule': {'key': 'properties.hourlySchedule', 'type': 'object'},
'daily_schedule': {'key': 'properties.dailySchedule', 'type': 'object'},
'weekly_schedule': {'key': 'properties.weeklySchedule', 'type': 'object'},
'monthly_schedule': {'key': 'properties.monthlySchedule', 'type': 'object'},
'enabled': {'key': 'properties.enabled', 'type': 'bool'},
}
def __init__(self, *, location: str=None, tags=None, hourly_schedule=None, daily_schedule=None, weekly_schedule=None, monthly_schedule=None, enabled: bool=None, **kwargs) -> None:
super(SnapshotPolicyDetails, self).__init__(**kwargs)
self.location = location
self.id = None
self.name = None
self.type = None
self.tags = tags
self.hourly_schedule = hourly_schedule
self.daily_schedule = daily_schedule
self.weekly_schedule = weekly_schedule
self.monthly_schedule = monthly_schedule
self.enabled = enabled
[docs]class SnapshotPolicyPatch(Model):
"""Snapshot policy Details for create and update.
Variables are only populated by the server, and will be ignored when
sending a request.
:param location: Resource location
:type location: str
:ivar id: Resource Id
:vartype id: str
:ivar name: Resource name
:vartype name: str
:ivar type: Resource type
:vartype type: str
:param tags: Resource tags
:type tags: dict[str, str]
:param hourly_schedule: hourlySchedule. Schedule for hourly snapshots
:type hourly_schedule: object
:param daily_schedule: dailySchedule. Schedule for daily snapshots
:type daily_schedule: object
:param weekly_schedule: weeklySchedule. Schedule for weekly snapshots
:type weekly_schedule: object
:param monthly_schedule: monthlySchedule. Schedule for monthly snapshots
:type monthly_schedule: object
:param enabled: The property to decide policy is enabled or not
:type enabled: bool
"""
_validation = {
'id': {'readonly': True},
'name': {'readonly': True},
'type': {'readonly': True},
}
_attribute_map = {
'location': {'key': 'location', 'type': 'str'},
'id': {'key': 'id', 'type': 'str'},
'name': {'key': 'name', 'type': 'str'},
'type': {'key': 'type', 'type': 'str'},
'tags': {'key': 'tags', 'type': '{str}'},
'hourly_schedule': {'key': 'properties.hourlySchedule', 'type': 'object'},
'daily_schedule': {'key': 'properties.dailySchedule', 'type': 'object'},
'weekly_schedule': {'key': 'properties.weeklySchedule', 'type': 'object'},
'monthly_schedule': {'key': 'properties.monthlySchedule', 'type': 'object'},
'enabled': {'key': 'properties.enabled', 'type': 'bool'},
}
def __init__(self, *, location: str=None, tags=None, hourly_schedule=None, daily_schedule=None, weekly_schedule=None, monthly_schedule=None, enabled: bool=None, **kwargs) -> None:
super(SnapshotPolicyPatch, self).__init__(**kwargs)
self.location = location
self.id = None
self.name = None
self.type = None
self.tags = tags
self.hourly_schedule = hourly_schedule
self.daily_schedule = daily_schedule
self.weekly_schedule = weekly_schedule
self.monthly_schedule = monthly_schedule
self.enabled = enabled
[docs]class SnapshotPolicyVolumeList(Model):
"""Volumes associated with snapshot policy.
:param value: List of volumes
:type value: list[object]
"""
_attribute_map = {
'value': {'key': 'value', 'type': '[object]'},
}
def __init__(self, *, value=None, **kwargs) -> None:
super(SnapshotPolicyVolumeList, self).__init__(**kwargs)
self.value = value
[docs]class Vault(Model):
"""Vault information.
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 location: Required. Resource location
:type location: str
:ivar id: Resource Id
:vartype id: str
:ivar name: Resource name
:vartype name: str
:ivar type: Resource type
:vartype type: str
:param vault_name: Vault Name
:type vault_name: str
"""
_validation = {
'location': {'required': True},
'id': {'readonly': True},
'name': {'readonly': True},
'type': {'readonly': True},
}
_attribute_map = {
'location': {'key': 'location', 'type': 'str'},
'id': {'key': 'id', 'type': 'str'},
'name': {'key': 'name', 'type': 'str'},
'type': {'key': 'type', 'type': 'str'},
'vault_name': {'key': 'properties.vaultName', 'type': 'str'},
}
def __init__(self, *, location: str, vault_name: str=None, **kwargs) -> None:
super(Vault, self).__init__(**kwargs)
self.location = location
self.id = None
self.name = None
self.type = None
self.vault_name = vault_name
[docs]class Volume(Model):
"""Volume 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.
:param location: Required. Resource location
:type location: str
:ivar id: Resource Id
:vartype id: str
:ivar name: Resource name
:vartype name: str
:ivar type: Resource type
:vartype type: str
:param tags: Resource tags
:type tags: dict[str, str]
:ivar file_system_id: FileSystem ID. Unique FileSystem Identifier.
:vartype file_system_id: str
:param creation_token: Required. Creation Token or File Path. A unique
file path for the volume. Used when creating mount targets
:type creation_token: str
:param service_level: serviceLevel. The service level of the file system.
Possible values include: 'Standard', 'Premium', 'Ultra'. Default value:
"Premium" .
:type service_level: str or ~azure.mgmt.netapp.models.ServiceLevel
:param usage_threshold: Required. usageThreshold. Maximum storage quota
allowed for a file system in bytes. This is a soft quota used for alerting
only. Minimum size is 100 GiB. Upper limit is 100TiB. Specified in bytes.
Default value: 107374182400 .
:type usage_threshold: long
:param export_policy: exportPolicy. Set of export policy rules
:type export_policy:
~azure.mgmt.netapp.models.VolumePropertiesExportPolicy
:param protocol_types: protocolTypes. Set of protocol types
:type protocol_types: list[str]
:ivar provisioning_state: Azure lifecycle management
:vartype provisioning_state: str
:param snapshot_id: Snapshot ID. UUID v4 or resource identifier used to
identify the Snapshot.
:type snapshot_id: str
:param backup_id: Backup ID. UUID v4 or resource identifier used to
identify the Backup.
:type backup_id: str
:ivar baremetal_tenant_id: Baremetal Tenant ID. Unique Baremetal Tenant
Identifier.
:vartype baremetal_tenant_id: str
:param subnet_id: Required. The Azure Resource URI for a delegated subnet.
Must have the delegation Microsoft.NetApp/volumes
:type subnet_id: str
:param mount_targets: mountTargets. List of mount targets
:type mount_targets: list[~azure.mgmt.netapp.models.MountTargetProperties]
:param volume_type: What type of volume is this
:type volume_type: str
:param data_protection: DataProtection. DataProtection type volumes
include an object containing details of the replication
:type data_protection:
~azure.mgmt.netapp.models.VolumePropertiesDataProtection
:param is_restoring: Restoring
:type is_restoring: bool
:param snapshot_directory_visible: If enabled (true) the volume will
contain a read-only .snapshot directory which provides access to each of
the volume's snapshots (default to true).
:type snapshot_directory_visible: bool
:param kerberos_enabled: Describe if a volume is KerberosEnabled. To be
use with swagger version 2020-05-01 or later. Default value: False .
:type kerberos_enabled: bool
:param security_style: The security style of volume. Possible values
include: 'ntfs', 'unix'
:type security_style: str or ~azure.mgmt.netapp.models.SecurityStyle
:param throughput_mibps: Maximum throughput in Mibps that can be achieved
by this volume.
:type throughput_mibps: float
"""
_validation = {
'location': {'required': True},
'id': {'readonly': True},
'name': {'readonly': True},
'type': {'readonly': True},
'file_system_id': {'readonly': True, 'max_length': 36, 'min_length': 36, 'pattern': r'^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$'},
'creation_token': {'required': True, 'max_length': 80, 'min_length': 1, 'pattern': r'^[a-zA-Z][a-zA-Z0-9\-]{0,79}$'},
'usage_threshold': {'required': True, 'maximum': 109951162777600, 'minimum': 107374182400},
'provisioning_state': {'readonly': True},
'snapshot_id': {'max_length': 36, 'min_length': 36, 'pattern': r'^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}|(\\?([^\/]*[\/])*)([^\/]+)$'},
'backup_id': {'max_length': 36, 'min_length': 36, 'pattern': r'^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}|(\\?([^\/]*[\/])*)([^\/]+)$'},
'baremetal_tenant_id': {'readonly': True, 'max_length': 36, 'min_length': 36, 'pattern': r'^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$'},
'subnet_id': {'required': True},
'throughput_mibps': {'maximum': 4500, 'minimum': 1, 'multiple': 0.001},
}
_attribute_map = {
'location': {'key': 'location', 'type': 'str'},
'id': {'key': 'id', 'type': 'str'},
'name': {'key': 'name', 'type': 'str'},
'type': {'key': 'type', 'type': 'str'},
'tags': {'key': 'tags', 'type': '{str}'},
'file_system_id': {'key': 'properties.fileSystemId', 'type': 'str'},
'creation_token': {'key': 'properties.creationToken', 'type': 'str'},
'service_level': {'key': 'properties.serviceLevel', 'type': 'str'},
'usage_threshold': {'key': 'properties.usageThreshold', 'type': 'long'},
'export_policy': {'key': 'properties.exportPolicy', 'type': 'VolumePropertiesExportPolicy'},
'protocol_types': {'key': 'properties.protocolTypes', 'type': '[str]'},
'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'},
'snapshot_id': {'key': 'properties.snapshotId', 'type': 'str'},
'backup_id': {'key': 'properties.backupId', 'type': 'str'},
'baremetal_tenant_id': {'key': 'properties.baremetalTenantId', 'type': 'str'},
'subnet_id': {'key': 'properties.subnetId', 'type': 'str'},
'mount_targets': {'key': 'properties.mountTargets', 'type': '[MountTargetProperties]'},
'volume_type': {'key': 'properties.volumeType', 'type': 'str'},
'data_protection': {'key': 'properties.dataProtection', 'type': 'VolumePropertiesDataProtection'},
'is_restoring': {'key': 'properties.isRestoring', 'type': 'bool'},
'snapshot_directory_visible': {'key': 'properties.snapshotDirectoryVisible', 'type': 'bool'},
'kerberos_enabled': {'key': 'properties.kerberosEnabled', 'type': 'bool'},
'security_style': {'key': 'properties.securityStyle', 'type': 'str'},
'throughput_mibps': {'key': 'properties.throughputMibps', 'type': 'float'},
}
def __init__(self, *, location: str, creation_token: str, subnet_id: str, tags=None, service_level="Premium", usage_threshold: int=107374182400, export_policy=None, protocol_types=None, snapshot_id: str=None, backup_id: str=None, mount_targets=None, volume_type: str=None, data_protection=None, is_restoring: bool=None, snapshot_directory_visible: bool=None, kerberos_enabled: bool=False, security_style=None, throughput_mibps: float=None, **kwargs) -> None:
super(Volume, self).__init__(**kwargs)
self.location = location
self.id = None
self.name = None
self.type = None
self.tags = tags
self.file_system_id = None
self.creation_token = creation_token
self.service_level = service_level
self.usage_threshold = usage_threshold
self.export_policy = export_policy
self.protocol_types = protocol_types
self.provisioning_state = None
self.snapshot_id = snapshot_id
self.backup_id = backup_id
self.baremetal_tenant_id = None
self.subnet_id = subnet_id
self.mount_targets = mount_targets
self.volume_type = volume_type
self.data_protection = data_protection
self.is_restoring = is_restoring
self.snapshot_directory_visible = snapshot_directory_visible
self.kerberos_enabled = kerberos_enabled
self.security_style = security_style
self.throughput_mibps = throughput_mibps
[docs]class VolumeBackupProperties(Model):
"""Volume Backup Properties.
:param backup_policy_id: Backup Policy Resource ID
:type backup_policy_id: str
:param policy_enforced: Policy Enforced
:type policy_enforced: bool
:param vault_id: Vault Resource ID
:type vault_id: str
:param backup_enabled: Backup Enabled
:type backup_enabled: bool
"""
_attribute_map = {
'backup_policy_id': {'key': 'backupPolicyId', 'type': 'str'},
'policy_enforced': {'key': 'policyEnforced', 'type': 'bool'},
'vault_id': {'key': 'vaultId', 'type': 'str'},
'backup_enabled': {'key': 'backupEnabled', 'type': 'bool'},
}
def __init__(self, *, backup_policy_id: str=None, policy_enforced: bool=None, vault_id: str=None, backup_enabled: bool=None, **kwargs) -> None:
super(VolumeBackupProperties, self).__init__(**kwargs)
self.backup_policy_id = backup_policy_id
self.policy_enforced = policy_enforced
self.vault_id = vault_id
self.backup_enabled = backup_enabled
[docs]class VolumeBackups(Model):
"""Volume details using the backup policy.
:param volume_name: Volume name
:type volume_name: str
:param backups_count: Total count of backups for volume
:type backups_count: int
:param policy_enabled: Policy enabled
:type policy_enabled: bool
"""
_attribute_map = {
'volume_name': {'key': 'volumeName', 'type': 'str'},
'backups_count': {'key': 'backupsCount', 'type': 'int'},
'policy_enabled': {'key': 'policyEnabled', 'type': 'bool'},
}
def __init__(self, *, volume_name: str=None, backups_count: int=None, policy_enabled: bool=None, **kwargs) -> None:
super(VolumeBackups, self).__init__(**kwargs)
self.volume_name = volume_name
self.backups_count = backups_count
self.policy_enabled = policy_enabled
[docs]class VolumePatch(Model):
"""Volume patch resource.
Variables are only populated by the server, and will be ignored when
sending a request.
:param location: Resource location
:type location: str
:ivar id: Resource Id
:vartype id: str
:ivar name: Resource name
:vartype name: str
:ivar type: Resource type
:vartype type: str
:param tags: Resource tags
:type tags: dict[str, str]
:param service_level: serviceLevel. The service level of the file system.
Possible values include: 'Standard', 'Premium', 'Ultra'. Default value:
"Premium" .
:type service_level: str or ~azure.mgmt.netapp.models.ServiceLevel
:param usage_threshold: usageThreshold. Maximum storage quota allowed for
a file system in bytes. This is a soft quota used for alerting only.
Minimum size is 100 GiB. Upper limit is 100TiB. Specified in bytes.
Default value: 107374182400 .
:type usage_threshold: long
:param export_policy: exportPolicy. Set of export policy rules
:type export_policy:
~azure.mgmt.netapp.models.VolumePatchPropertiesExportPolicy
:param throughput_mibps: Maximum throughput in Mibps that can be achieved
by this volume.
:type throughput_mibps: float
:param data_protection: DataProtection. DataProtection type volumes
include an object containing details of the replication
:type data_protection:
~azure.mgmt.netapp.models.VolumePatchPropertiesDataProtection
"""
_validation = {
'id': {'readonly': True},
'name': {'readonly': True},
'type': {'readonly': True},
'usage_threshold': {'maximum': 109951162777600, 'minimum': 107374182400},
'throughput_mibps': {'maximum': 4500, 'minimum': 1, 'multiple': 0.001},
}
_attribute_map = {
'location': {'key': 'location', 'type': 'str'},
'id': {'key': 'id', 'type': 'str'},
'name': {'key': 'name', 'type': 'str'},
'type': {'key': 'type', 'type': 'str'},
'tags': {'key': 'tags', 'type': '{str}'},
'service_level': {'key': 'properties.serviceLevel', 'type': 'str'},
'usage_threshold': {'key': 'properties.usageThreshold', 'type': 'long'},
'export_policy': {'key': 'properties.exportPolicy', 'type': 'VolumePatchPropertiesExportPolicy'},
'throughput_mibps': {'key': 'properties.throughputMibps', 'type': 'float'},
'data_protection': {'key': 'properties.dataProtection', 'type': 'VolumePatchPropertiesDataProtection'},
}
def __init__(self, *, location: str=None, tags=None, service_level="Premium", usage_threshold: int=107374182400, export_policy=None, throughput_mibps: float=None, data_protection=None, **kwargs) -> None:
super(VolumePatch, self).__init__(**kwargs)
self.location = location
self.id = None
self.name = None
self.type = None
self.tags = tags
self.service_level = service_level
self.usage_threshold = usage_threshold
self.export_policy = export_policy
self.throughput_mibps = throughput_mibps
self.data_protection = data_protection
[docs]class VolumePatchPropertiesDataProtection(Model):
"""DataProtection.
DataProtection type volumes include an object containing details of the
replication.
:param backup: Backup. Backup Properties
:type backup: ~azure.mgmt.netapp.models.VolumeBackupProperties
"""
_attribute_map = {
'backup': {'key': 'backup', 'type': 'VolumeBackupProperties'},
}
def __init__(self, *, backup=None, **kwargs) -> None:
super(VolumePatchPropertiesDataProtection, self).__init__(**kwargs)
self.backup = backup
[docs]class VolumePatchPropertiesExportPolicy(Model):
"""exportPolicy.
Set of export policy rules.
:param rules: Export policy rule. Export policy rule
:type rules: list[~azure.mgmt.netapp.models.ExportPolicyRule]
"""
_attribute_map = {
'rules': {'key': 'rules', 'type': '[ExportPolicyRule]'},
}
def __init__(self, *, rules=None, **kwargs) -> None:
super(VolumePatchPropertiesExportPolicy, self).__init__(**kwargs)
self.rules = rules
[docs]class VolumePropertiesDataProtection(Model):
"""DataProtection.
DataProtection type volumes include an object containing details of the
replication.
:param backup: Backup. Backup Properties
:type backup: ~azure.mgmt.netapp.models.VolumeBackupProperties
:param replication: Replication. Replication properties
:type replication: ~azure.mgmt.netapp.models.ReplicationObject
:param snapshot: Snapshot. Snapshot properties.
:type snapshot: ~azure.mgmt.netapp.models.VolumeSnapshotProperties
"""
_attribute_map = {
'backup': {'key': 'backup', 'type': 'VolumeBackupProperties'},
'replication': {'key': 'replication', 'type': 'ReplicationObject'},
'snapshot': {'key': 'snapshot', 'type': 'VolumeSnapshotProperties'},
}
def __init__(self, *, backup=None, replication=None, snapshot=None, **kwargs) -> None:
super(VolumePropertiesDataProtection, self).__init__(**kwargs)
self.backup = backup
self.replication = replication
self.snapshot = snapshot
[docs]class VolumePropertiesExportPolicy(Model):
"""exportPolicy.
Set of export policy rules.
:param rules: Export policy rule. Export policy rule
:type rules: list[~azure.mgmt.netapp.models.ExportPolicyRule]
"""
_attribute_map = {
'rules': {'key': 'rules', 'type': '[ExportPolicyRule]'},
}
def __init__(self, *, rules=None, **kwargs) -> None:
super(VolumePropertiesExportPolicy, self).__init__(**kwargs)
self.rules = rules
[docs]class VolumeRevert(Model):
"""revert a volume to the snapshot.
:param snapshot_id: Resource id of the snapshot
:type snapshot_id: str
"""
_attribute_map = {
'snapshot_id': {'key': 'snapshotId', 'type': 'str'},
}
def __init__(self, *, snapshot_id: str=None, **kwargs) -> None:
super(VolumeRevert, self).__init__(**kwargs)
self.snapshot_id = snapshot_id
[docs]class VolumeSnapshotProperties(Model):
"""Volume Snapshot Properties.
:param snapshot_policy_id: Snapshot Policy ResourceId
:type snapshot_policy_id: str
"""
_attribute_map = {
'snapshot_policy_id': {'key': 'snapshotPolicyId', 'type': 'str'},
}
def __init__(self, *, snapshot_policy_id: str=None, **kwargs) -> None:
super(VolumeSnapshotProperties, self).__init__(**kwargs)
self.snapshot_policy_id = snapshot_policy_id
[docs]class WeeklySchedule(Model):
"""Weekly Schedule properties, make a snapshot every week at a specific day or
days.
:param snapshots_to_keep: Weekly snapshot count to keep
:type snapshots_to_keep: int
:param day: Indicates which weekdays snapshot should be taken, accepts a
comma separated list of week day names in english
:type day: str
:param hour: Indicates which hour in UTC timezone a snapshot should be
taken
:type hour: int
:param minute: Indicates which minute snapshot should be taken
:type minute: int
:param used_bytes: Resource size in bytes, current storage usage for the
volume in bytes
:type used_bytes: long
"""
_attribute_map = {
'snapshots_to_keep': {'key': 'snapshotsToKeep', 'type': 'int'},
'day': {'key': 'day', 'type': 'str'},
'hour': {'key': 'hour', 'type': 'int'},
'minute': {'key': 'minute', 'type': 'int'},
'used_bytes': {'key': 'usedBytes', 'type': 'long'},
}
def __init__(self, *, snapshots_to_keep: int=None, day: str=None, hour: int=None, minute: int=None, used_bytes: int=None, **kwargs) -> None:
super(WeeklySchedule, self).__init__(**kwargs)
self.snapshots_to_keep = snapshots_to_keep
self.day = day
self.hour = hour
self.minute = minute
self.used_bytes = used_bytes