# 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
from msrest.exceptions import HttpOperationError
[docs]class FeatureSupportRequest(Model):
"""Base class for feature request.
You probably want to use the sub-classes and not this class directly. Known
sub-classes are: AzureBackupGoalFeatureSupportRequest,
AzureVMResourceFeatureSupportRequest
All required parameters must be populated in order to send to Azure.
:param feature_type: Required. Constant filled by server.
:type feature_type: str
"""
_validation = {
'feature_type': {'required': True},
}
_attribute_map = {
'feature_type': {'key': 'featureType', 'type': 'str'},
}
_subtype_map = {
'feature_type': {'AzureBackupGoals': 'AzureBackupGoalFeatureSupportRequest', 'AzureVMResourceBackup': 'AzureVMResourceFeatureSupportRequest'}
}
def __init__(self, **kwargs) -> None:
super(FeatureSupportRequest, self).__init__(**kwargs)
self.feature_type = None
[docs]class AzureBackupGoalFeatureSupportRequest(FeatureSupportRequest):
"""Azure backup goal feature specific request.
All required parameters must be populated in order to send to Azure.
:param feature_type: Required. Constant filled by server.
:type feature_type: str
"""
_validation = {
'feature_type': {'required': True},
}
_attribute_map = {
'feature_type': {'key': 'featureType', 'type': 'str'},
}
def __init__(self, **kwargs) -> None:
super(AzureBackupGoalFeatureSupportRequest, self).__init__(**kwargs)
self.feature_type = 'AzureBackupGoals'
[docs]class ProtectionContainer(Model):
"""Base class for container with backup items. Containers with specific
workloads are derived from this class.
You probably want to use the sub-classes and not this class directly. Known
sub-classes are: AzureSqlContainer, AzureStorageContainer,
AzureWorkloadContainer, DpmContainer, GenericContainer, IaaSVMContainer,
MabContainer
All required parameters must be populated in order to send to Azure.
:param friendly_name: Friendly name of the container.
:type friendly_name: str
:param backup_management_type: Type of backup management for the
container. Possible values include: 'Invalid', 'AzureIaasVM', 'MAB',
'DPM', 'AzureBackupServer', 'AzureSql', 'AzureStorage', 'AzureWorkload',
'DefaultBackup'
:type backup_management_type: str or
~azure.mgmt.recoveryservicesbackup.models.BackupManagementType
:param registration_status: Status of registration of the container with
the Recovery Services Vault.
:type registration_status: str
:param health_status: Status of health of the container.
:type health_status: str
:param container_type: Required. Constant filled by server.
:type container_type: str
"""
_validation = {
'container_type': {'required': True},
}
_attribute_map = {
'friendly_name': {'key': 'friendlyName', 'type': 'str'},
'backup_management_type': {'key': 'backupManagementType', 'type': 'str'},
'registration_status': {'key': 'registrationStatus', 'type': 'str'},
'health_status': {'key': 'healthStatus', 'type': 'str'},
'container_type': {'key': 'containerType', 'type': 'str'},
}
_subtype_map = {
'container_type': {'AzureSqlContainer': 'AzureSqlContainer', 'StorageContainer': 'AzureStorageContainer', 'AzureWorkloadContainer': 'AzureWorkloadContainer', 'DPMContainer': 'DpmContainer', 'GenericContainer': 'GenericContainer', 'IaaSVMContainer': 'IaaSVMContainer', 'Windows': 'MabContainer'}
}
def __init__(self, *, friendly_name: str=None, backup_management_type=None, registration_status: str=None, health_status: str=None, **kwargs) -> None:
super(ProtectionContainer, self).__init__(**kwargs)
self.friendly_name = friendly_name
self.backup_management_type = backup_management_type
self.registration_status = registration_status
self.health_status = health_status
self.container_type = None
[docs]class DpmContainer(ProtectionContainer):
"""DPM workload-specific protection container.
You probably want to use the sub-classes and not this class directly. Known
sub-classes are: AzureBackupServerContainer
All required parameters must be populated in order to send to Azure.
:param friendly_name: Friendly name of the container.
:type friendly_name: str
:param backup_management_type: Type of backup management for the
container. Possible values include: 'Invalid', 'AzureIaasVM', 'MAB',
'DPM', 'AzureBackupServer', 'AzureSql', 'AzureStorage', 'AzureWorkload',
'DefaultBackup'
:type backup_management_type: str or
~azure.mgmt.recoveryservicesbackup.models.BackupManagementType
:param registration_status: Status of registration of the container with
the Recovery Services Vault.
:type registration_status: str
:param health_status: Status of health of the container.
:type health_status: str
:param container_type: Required. Constant filled by server.
:type container_type: str
:param can_re_register: Specifies whether the container is re-registrable.
:type can_re_register: bool
:param container_id: ID of container.
:type container_id: str
:param protected_item_count: Number of protected items in the BackupEngine
:type protected_item_count: long
:param dpm_agent_version: Backup engine Agent version
:type dpm_agent_version: str
:param dpm_servers: List of BackupEngines protecting the container
:type dpm_servers: list[str]
:param upgrade_available: To check if upgrade available
:type upgrade_available: bool
:param protection_status: Protection status of the container.
:type protection_status: str
:param extended_info: Extended Info of the container.
:type extended_info:
~azure.mgmt.recoveryservicesbackup.models.DPMContainerExtendedInfo
"""
_validation = {
'container_type': {'required': True},
}
_attribute_map = {
'friendly_name': {'key': 'friendlyName', 'type': 'str'},
'backup_management_type': {'key': 'backupManagementType', 'type': 'str'},
'registration_status': {'key': 'registrationStatus', 'type': 'str'},
'health_status': {'key': 'healthStatus', 'type': 'str'},
'container_type': {'key': 'containerType', 'type': 'str'},
'can_re_register': {'key': 'canReRegister', 'type': 'bool'},
'container_id': {'key': 'containerId', 'type': 'str'},
'protected_item_count': {'key': 'protectedItemCount', 'type': 'long'},
'dpm_agent_version': {'key': 'dpmAgentVersion', 'type': 'str'},
'dpm_servers': {'key': 'dpmServers', 'type': '[str]'},
'upgrade_available': {'key': 'upgradeAvailable', 'type': 'bool'},
'protection_status': {'key': 'protectionStatus', 'type': 'str'},
'extended_info': {'key': 'extendedInfo', 'type': 'DPMContainerExtendedInfo'},
}
_subtype_map = {
'container_type': {'AzureBackupServerContainer': 'AzureBackupServerContainer'}
}
def __init__(self, *, friendly_name: str=None, backup_management_type=None, registration_status: str=None, health_status: str=None, can_re_register: bool=None, container_id: str=None, protected_item_count: int=None, dpm_agent_version: str=None, dpm_servers=None, upgrade_available: bool=None, protection_status: str=None, extended_info=None, **kwargs) -> None:
super(DpmContainer, self).__init__(friendly_name=friendly_name, backup_management_type=backup_management_type, registration_status=registration_status, health_status=health_status, **kwargs)
self.can_re_register = can_re_register
self.container_id = container_id
self.protected_item_count = protected_item_count
self.dpm_agent_version = dpm_agent_version
self.dpm_servers = dpm_servers
self.upgrade_available = upgrade_available
self.protection_status = protection_status
self.extended_info = extended_info
self.container_type = 'DPMContainer'
[docs]class AzureBackupServerContainer(DpmContainer):
"""AzureBackupServer (DPMVenus) workload-specific protection container.
All required parameters must be populated in order to send to Azure.
:param friendly_name: Friendly name of the container.
:type friendly_name: str
:param backup_management_type: Type of backup management for the
container. Possible values include: 'Invalid', 'AzureIaasVM', 'MAB',
'DPM', 'AzureBackupServer', 'AzureSql', 'AzureStorage', 'AzureWorkload',
'DefaultBackup'
:type backup_management_type: str or
~azure.mgmt.recoveryservicesbackup.models.BackupManagementType
:param registration_status: Status of registration of the container with
the Recovery Services Vault.
:type registration_status: str
:param health_status: Status of health of the container.
:type health_status: str
:param container_type: Required. Constant filled by server.
:type container_type: str
:param can_re_register: Specifies whether the container is re-registrable.
:type can_re_register: bool
:param container_id: ID of container.
:type container_id: str
:param protected_item_count: Number of protected items in the BackupEngine
:type protected_item_count: long
:param dpm_agent_version: Backup engine Agent version
:type dpm_agent_version: str
:param dpm_servers: List of BackupEngines protecting the container
:type dpm_servers: list[str]
:param upgrade_available: To check if upgrade available
:type upgrade_available: bool
:param protection_status: Protection status of the container.
:type protection_status: str
:param extended_info: Extended Info of the container.
:type extended_info:
~azure.mgmt.recoveryservicesbackup.models.DPMContainerExtendedInfo
"""
_validation = {
'container_type': {'required': True},
}
_attribute_map = {
'friendly_name': {'key': 'friendlyName', 'type': 'str'},
'backup_management_type': {'key': 'backupManagementType', 'type': 'str'},
'registration_status': {'key': 'registrationStatus', 'type': 'str'},
'health_status': {'key': 'healthStatus', 'type': 'str'},
'container_type': {'key': 'containerType', 'type': 'str'},
'can_re_register': {'key': 'canReRegister', 'type': 'bool'},
'container_id': {'key': 'containerId', 'type': 'str'},
'protected_item_count': {'key': 'protectedItemCount', 'type': 'long'},
'dpm_agent_version': {'key': 'dpmAgentVersion', 'type': 'str'},
'dpm_servers': {'key': 'dpmServers', 'type': '[str]'},
'upgrade_available': {'key': 'upgradeAvailable', 'type': 'bool'},
'protection_status': {'key': 'protectionStatus', 'type': 'str'},
'extended_info': {'key': 'extendedInfo', 'type': 'DPMContainerExtendedInfo'},
}
def __init__(self, *, friendly_name: str=None, backup_management_type=None, registration_status: str=None, health_status: str=None, can_re_register: bool=None, container_id: str=None, protected_item_count: int=None, dpm_agent_version: str=None, dpm_servers=None, upgrade_available: bool=None, protection_status: str=None, extended_info=None, **kwargs) -> None:
super(AzureBackupServerContainer, self).__init__(friendly_name=friendly_name, backup_management_type=backup_management_type, registration_status=registration_status, health_status=health_status, can_re_register=can_re_register, container_id=container_id, protected_item_count=protected_item_count, dpm_agent_version=dpm_agent_version, dpm_servers=dpm_servers, upgrade_available=upgrade_available, protection_status=protection_status, extended_info=extended_info, **kwargs)
self.container_type = 'AzureBackupServerContainer'
[docs]class BackupEngineBase(Model):
"""The base backup engine class. All workload specific backup engines derive
from this class.
You probably want to use the sub-classes and not this class directly. Known
sub-classes are: AzureBackupServerEngine, DpmBackupEngine
All required parameters must be populated in order to send to Azure.
:param friendly_name: Friendly name of the backup engine.
:type friendly_name: str
:param backup_management_type: Type of backup management for the backup
engine. Possible values include: 'Invalid', 'AzureIaasVM', 'MAB', 'DPM',
'AzureBackupServer', 'AzureSql', 'AzureStorage', 'AzureWorkload',
'DefaultBackup'
:type backup_management_type: str or
~azure.mgmt.recoveryservicesbackup.models.BackupManagementType
:param registration_status: Registration status of the backup engine with
the Recovery Services Vault.
:type registration_status: str
:param backup_engine_state: Status of the backup engine with the Recovery
Services Vault. = {Active/Deleting/DeleteFailed}
:type backup_engine_state: str
:param health_status: Backup status of the backup engine.
:type health_status: str
:param can_re_register: Flag indicating if the backup engine be
registered, once already registered.
:type can_re_register: bool
:param backup_engine_id: ID of the backup engine.
:type backup_engine_id: str
:param dpm_version: Backup engine version
:type dpm_version: str
:param azure_backup_agent_version: Backup agent version
:type azure_backup_agent_version: str
:param is_azure_backup_agent_upgrade_available: To check if backup agent
upgrade available
:type is_azure_backup_agent_upgrade_available: bool
:param is_dpm_upgrade_available: To check if backup engine upgrade
available
:type is_dpm_upgrade_available: bool
:param extended_info: Extended info of the backupengine
:type extended_info:
~azure.mgmt.recoveryservicesbackup.models.BackupEngineExtendedInfo
:param backup_engine_type: Required. Constant filled by server.
:type backup_engine_type: str
"""
_validation = {
'backup_engine_type': {'required': True},
}
_attribute_map = {
'friendly_name': {'key': 'friendlyName', 'type': 'str'},
'backup_management_type': {'key': 'backupManagementType', 'type': 'str'},
'registration_status': {'key': 'registrationStatus', 'type': 'str'},
'backup_engine_state': {'key': 'backupEngineState', 'type': 'str'},
'health_status': {'key': 'healthStatus', 'type': 'str'},
'can_re_register': {'key': 'canReRegister', 'type': 'bool'},
'backup_engine_id': {'key': 'backupEngineId', 'type': 'str'},
'dpm_version': {'key': 'dpmVersion', 'type': 'str'},
'azure_backup_agent_version': {'key': 'azureBackupAgentVersion', 'type': 'str'},
'is_azure_backup_agent_upgrade_available': {'key': 'isAzureBackupAgentUpgradeAvailable', 'type': 'bool'},
'is_dpm_upgrade_available': {'key': 'isDpmUpgradeAvailable', 'type': 'bool'},
'extended_info': {'key': 'extendedInfo', 'type': 'BackupEngineExtendedInfo'},
'backup_engine_type': {'key': 'backupEngineType', 'type': 'str'},
}
_subtype_map = {
'backup_engine_type': {'AzureBackupServerEngine': 'AzureBackupServerEngine', 'DpmBackupEngine': 'DpmBackupEngine'}
}
def __init__(self, *, friendly_name: str=None, backup_management_type=None, registration_status: str=None, backup_engine_state: str=None, health_status: str=None, can_re_register: bool=None, backup_engine_id: str=None, dpm_version: str=None, azure_backup_agent_version: str=None, is_azure_backup_agent_upgrade_available: bool=None, is_dpm_upgrade_available: bool=None, extended_info=None, **kwargs) -> None:
super(BackupEngineBase, self).__init__(**kwargs)
self.friendly_name = friendly_name
self.backup_management_type = backup_management_type
self.registration_status = registration_status
self.backup_engine_state = backup_engine_state
self.health_status = health_status
self.can_re_register = can_re_register
self.backup_engine_id = backup_engine_id
self.dpm_version = dpm_version
self.azure_backup_agent_version = azure_backup_agent_version
self.is_azure_backup_agent_upgrade_available = is_azure_backup_agent_upgrade_available
self.is_dpm_upgrade_available = is_dpm_upgrade_available
self.extended_info = extended_info
self.backup_engine_type = None
[docs]class AzureBackupServerEngine(BackupEngineBase):
"""Backup engine type when Azure Backup Server is used to manage the backups.
All required parameters must be populated in order to send to Azure.
:param friendly_name: Friendly name of the backup engine.
:type friendly_name: str
:param backup_management_type: Type of backup management for the backup
engine. Possible values include: 'Invalid', 'AzureIaasVM', 'MAB', 'DPM',
'AzureBackupServer', 'AzureSql', 'AzureStorage', 'AzureWorkload',
'DefaultBackup'
:type backup_management_type: str or
~azure.mgmt.recoveryservicesbackup.models.BackupManagementType
:param registration_status: Registration status of the backup engine with
the Recovery Services Vault.
:type registration_status: str
:param backup_engine_state: Status of the backup engine with the Recovery
Services Vault. = {Active/Deleting/DeleteFailed}
:type backup_engine_state: str
:param health_status: Backup status of the backup engine.
:type health_status: str
:param can_re_register: Flag indicating if the backup engine be
registered, once already registered.
:type can_re_register: bool
:param backup_engine_id: ID of the backup engine.
:type backup_engine_id: str
:param dpm_version: Backup engine version
:type dpm_version: str
:param azure_backup_agent_version: Backup agent version
:type azure_backup_agent_version: str
:param is_azure_backup_agent_upgrade_available: To check if backup agent
upgrade available
:type is_azure_backup_agent_upgrade_available: bool
:param is_dpm_upgrade_available: To check if backup engine upgrade
available
:type is_dpm_upgrade_available: bool
:param extended_info: Extended info of the backupengine
:type extended_info:
~azure.mgmt.recoveryservicesbackup.models.BackupEngineExtendedInfo
:param backup_engine_type: Required. Constant filled by server.
:type backup_engine_type: str
"""
_validation = {
'backup_engine_type': {'required': True},
}
_attribute_map = {
'friendly_name': {'key': 'friendlyName', 'type': 'str'},
'backup_management_type': {'key': 'backupManagementType', 'type': 'str'},
'registration_status': {'key': 'registrationStatus', 'type': 'str'},
'backup_engine_state': {'key': 'backupEngineState', 'type': 'str'},
'health_status': {'key': 'healthStatus', 'type': 'str'},
'can_re_register': {'key': 'canReRegister', 'type': 'bool'},
'backup_engine_id': {'key': 'backupEngineId', 'type': 'str'},
'dpm_version': {'key': 'dpmVersion', 'type': 'str'},
'azure_backup_agent_version': {'key': 'azureBackupAgentVersion', 'type': 'str'},
'is_azure_backup_agent_upgrade_available': {'key': 'isAzureBackupAgentUpgradeAvailable', 'type': 'bool'},
'is_dpm_upgrade_available': {'key': 'isDpmUpgradeAvailable', 'type': 'bool'},
'extended_info': {'key': 'extendedInfo', 'type': 'BackupEngineExtendedInfo'},
'backup_engine_type': {'key': 'backupEngineType', 'type': 'str'},
}
def __init__(self, *, friendly_name: str=None, backup_management_type=None, registration_status: str=None, backup_engine_state: str=None, health_status: str=None, can_re_register: bool=None, backup_engine_id: str=None, dpm_version: str=None, azure_backup_agent_version: str=None, is_azure_backup_agent_upgrade_available: bool=None, is_dpm_upgrade_available: bool=None, extended_info=None, **kwargs) -> None:
super(AzureBackupServerEngine, self).__init__(friendly_name=friendly_name, backup_management_type=backup_management_type, registration_status=registration_status, backup_engine_state=backup_engine_state, health_status=health_status, can_re_register=can_re_register, backup_engine_id=backup_engine_id, dpm_version=dpm_version, azure_backup_agent_version=azure_backup_agent_version, is_azure_backup_agent_upgrade_available=is_azure_backup_agent_upgrade_available, is_dpm_upgrade_available=is_dpm_upgrade_available, extended_info=extended_info, **kwargs)
self.backup_engine_type = 'AzureBackupServerEngine'
[docs]class BackupRequest(Model):
"""Base class for backup request. Workload-specific backup requests are
derived from this class.
You probably want to use the sub-classes and not this class directly. Known
sub-classes are: AzureFileShareBackupRequest, AzureWorkloadBackupRequest,
IaasVMBackupRequest
All required parameters must be populated in order to send to Azure.
:param object_type: Required. Constant filled by server.
:type object_type: str
"""
_validation = {
'object_type': {'required': True},
}
_attribute_map = {
'object_type': {'key': 'objectType', 'type': 'str'},
}
_subtype_map = {
'object_type': {'AzureFileShareBackupRequest': 'AzureFileShareBackupRequest', 'AzureWorkloadBackupRequest': 'AzureWorkloadBackupRequest', 'IaasVMBackupRequest': 'IaasVMBackupRequest'}
}
def __init__(self, **kwargs) -> None:
super(BackupRequest, self).__init__(**kwargs)
self.object_type = None
[docs]class AzureFileShareBackupRequest(BackupRequest):
"""AzureFileShare workload-specific backup request.
All required parameters must be populated in order to send to Azure.
:param object_type: Required. Constant filled by server.
:type object_type: str
:param recovery_point_expiry_time_in_utc: Backup copy will expire after
the time specified (UTC).
:type recovery_point_expiry_time_in_utc: datetime
"""
_validation = {
'object_type': {'required': True},
}
_attribute_map = {
'object_type': {'key': 'objectType', 'type': 'str'},
'recovery_point_expiry_time_in_utc': {'key': 'recoveryPointExpiryTimeInUTC', 'type': 'iso-8601'},
}
def __init__(self, *, recovery_point_expiry_time_in_utc=None, **kwargs) -> None:
super(AzureFileShareBackupRequest, self).__init__(**kwargs)
self.recovery_point_expiry_time_in_utc = recovery_point_expiry_time_in_utc
self.object_type = 'AzureFileShareBackupRequest'
[docs]class WorkloadProtectableItem(Model):
"""Base class for backup item. Workload-specific backup items are derived from
this class.
You probably want to use the sub-classes and not this class directly. Known
sub-classes are: AzureFileShareProtectableItem,
AzureVmWorkloadProtectableItem, IaaSVMProtectableItem
All required parameters must be populated in order to send to Azure.
:param backup_management_type: Type of backup management to backup an
item.
:type backup_management_type: str
:param workload_type: Type of workload for the backup management
:type workload_type: str
:param friendly_name: Friendly name of the backup item.
:type friendly_name: str
:param protection_state: State of the back up item. Possible values
include: 'Invalid', 'NotProtected', 'Protecting', 'Protected',
'ProtectionFailed'
:type protection_state: str or
~azure.mgmt.recoveryservicesbackup.models.ProtectionStatus
:param protectable_item_type: Required. Constant filled by server.
:type protectable_item_type: str
"""
_validation = {
'protectable_item_type': {'required': True},
}
_attribute_map = {
'backup_management_type': {'key': 'backupManagementType', 'type': 'str'},
'workload_type': {'key': 'workloadType', 'type': 'str'},
'friendly_name': {'key': 'friendlyName', 'type': 'str'},
'protection_state': {'key': 'protectionState', 'type': 'str'},
'protectable_item_type': {'key': 'protectableItemType', 'type': 'str'},
}
_subtype_map = {
'protectable_item_type': {'AzureFileShare': 'AzureFileShareProtectableItem', 'AzureVmWorkloadProtectableItem': 'AzureVmWorkloadProtectableItem', 'IaaSVMProtectableItem': 'IaaSVMProtectableItem'}
}
def __init__(self, *, backup_management_type: str=None, workload_type: str=None, friendly_name: str=None, protection_state=None, **kwargs) -> None:
super(WorkloadProtectableItem, self).__init__(**kwargs)
self.backup_management_type = backup_management_type
self.workload_type = workload_type
self.friendly_name = friendly_name
self.protection_state = protection_state
self.protectable_item_type = None
[docs]class AzureFileShareProtectableItem(WorkloadProtectableItem):
"""Protectable item for Azure Fileshare workloads.
All required parameters must be populated in order to send to Azure.
:param backup_management_type: Type of backup management to backup an
item.
:type backup_management_type: str
:param workload_type: Type of workload for the backup management
:type workload_type: str
:param friendly_name: Friendly name of the backup item.
:type friendly_name: str
:param protection_state: State of the back up item. Possible values
include: 'Invalid', 'NotProtected', 'Protecting', 'Protected',
'ProtectionFailed'
:type protection_state: str or
~azure.mgmt.recoveryservicesbackup.models.ProtectionStatus
:param protectable_item_type: Required. Constant filled by server.
:type protectable_item_type: str
:param parent_container_fabric_id: Full Fabric ID of container to which
this protectable item belongs. For example, ARM ID.
:type parent_container_fabric_id: str
:param parent_container_friendly_name: Friendly name of container to which
this protectable item belongs.
:type parent_container_friendly_name: str
:param azure_file_share_type: File Share type XSync or XSMB. Possible
values include: 'Invalid', 'XSMB', 'XSync'
:type azure_file_share_type: str or
~azure.mgmt.recoveryservicesbackup.models.AzureFileShareType
"""
_validation = {
'protectable_item_type': {'required': True},
}
_attribute_map = {
'backup_management_type': {'key': 'backupManagementType', 'type': 'str'},
'workload_type': {'key': 'workloadType', 'type': 'str'},
'friendly_name': {'key': 'friendlyName', 'type': 'str'},
'protection_state': {'key': 'protectionState', 'type': 'str'},
'protectable_item_type': {'key': 'protectableItemType', 'type': 'str'},
'parent_container_fabric_id': {'key': 'parentContainerFabricId', 'type': 'str'},
'parent_container_friendly_name': {'key': 'parentContainerFriendlyName', 'type': 'str'},
'azure_file_share_type': {'key': 'azureFileShareType', 'type': 'str'},
}
def __init__(self, *, backup_management_type: str=None, workload_type: str=None, friendly_name: str=None, protection_state=None, parent_container_fabric_id: str=None, parent_container_friendly_name: str=None, azure_file_share_type=None, **kwargs) -> None:
super(AzureFileShareProtectableItem, self).__init__(backup_management_type=backup_management_type, workload_type=workload_type, friendly_name=friendly_name, protection_state=protection_state, **kwargs)
self.parent_container_fabric_id = parent_container_fabric_id
self.parent_container_friendly_name = parent_container_friendly_name
self.azure_file_share_type = azure_file_share_type
self.protectable_item_type = 'AzureFileShare'
[docs]class ProtectedItem(Model):
"""Base class for backup items.
You probably want to use the sub-classes and not this class directly. Known
sub-classes are: AzureFileshareProtectedItem, AzureIaaSVMProtectedItem,
AzureSqlProtectedItem, AzureVmWorkloadProtectedItem, DPMProtectedItem,
GenericProtectedItem, MabFileFolderProtectedItem
All required parameters must be populated in order to send to Azure.
:param backup_management_type: Type of backup management for the backed up
item. Possible values include: 'Invalid', 'AzureIaasVM', 'MAB', 'DPM',
'AzureBackupServer', 'AzureSql', 'AzureStorage', 'AzureWorkload',
'DefaultBackup'
:type backup_management_type: str or
~azure.mgmt.recoveryservicesbackup.models.BackupManagementType
:param workload_type: Type of workload this item represents. Possible
values include: 'Invalid', 'VM', 'FileFolder', 'AzureSqlDb', 'SQLDB',
'Exchange', 'Sharepoint', 'VMwareVM', 'SystemState', 'Client',
'GenericDataSource', 'SQLDataBase', 'AzureFileShare', 'SAPHanaDatabase',
'SAPAseDatabase'
:type workload_type: str or
~azure.mgmt.recoveryservicesbackup.models.DataSourceType
:param container_name: Unique name of container
:type container_name: str
:param source_resource_id: ARM ID of the resource to be backed up.
:type source_resource_id: str
:param policy_id: ID of the backup policy with which this item is backed
up.
:type policy_id: str
:param last_recovery_point: Timestamp when the last (latest) backup copy
was created for this backup item.
:type last_recovery_point: datetime
:param backup_set_name: Name of the backup set the backup item belongs to
:type backup_set_name: str
:param create_mode: Create mode to indicate recovery of existing soft
deleted data source or creation of new data source. Possible values
include: 'Invalid', 'Default', 'Recover'
:type create_mode: str or
~azure.mgmt.recoveryservicesbackup.models.CreateMode
:param deferred_delete_time_in_utc: Time for deferred deletion in UTC
:type deferred_delete_time_in_utc: datetime
:param is_scheduled_for_deferred_delete: Flag to identify whether the DS
is scheduled for deferred delete
:type is_scheduled_for_deferred_delete: bool
:param deferred_delete_time_remaining: Time remaining before the DS marked
for deferred delete is permanently deleted
:type deferred_delete_time_remaining: str
:param is_deferred_delete_schedule_upcoming: Flag to identify whether the
deferred deleted DS is to be purged soon
:type is_deferred_delete_schedule_upcoming: bool
:param is_rehydrate: Flag to identify that deferred deleted DS is to be
moved into Pause state
:type is_rehydrate: bool
:param protected_item_type: Required. Constant filled by server.
:type protected_item_type: str
"""
_validation = {
'protected_item_type': {'required': True},
}
_attribute_map = {
'backup_management_type': {'key': 'backupManagementType', 'type': 'str'},
'workload_type': {'key': 'workloadType', 'type': 'str'},
'container_name': {'key': 'containerName', 'type': 'str'},
'source_resource_id': {'key': 'sourceResourceId', 'type': 'str'},
'policy_id': {'key': 'policyId', 'type': 'str'},
'last_recovery_point': {'key': 'lastRecoveryPoint', 'type': 'iso-8601'},
'backup_set_name': {'key': 'backupSetName', 'type': 'str'},
'create_mode': {'key': 'createMode', 'type': 'str'},
'deferred_delete_time_in_utc': {'key': 'deferredDeleteTimeInUTC', 'type': 'iso-8601'},
'is_scheduled_for_deferred_delete': {'key': 'isScheduledForDeferredDelete', 'type': 'bool'},
'deferred_delete_time_remaining': {'key': 'deferredDeleteTimeRemaining', 'type': 'str'},
'is_deferred_delete_schedule_upcoming': {'key': 'isDeferredDeleteScheduleUpcoming', 'type': 'bool'},
'is_rehydrate': {'key': 'isRehydrate', 'type': 'bool'},
'protected_item_type': {'key': 'protectedItemType', 'type': 'str'},
}
_subtype_map = {
'protected_item_type': {'AzureFileShareProtectedItem': 'AzureFileshareProtectedItem', 'AzureIaaSVMProtectedItem': 'AzureIaaSVMProtectedItem', 'Microsoft.Sql/servers/databases': 'AzureSqlProtectedItem', 'AzureVmWorkloadProtectedItem': 'AzureVmWorkloadProtectedItem', 'DPMProtectedItem': 'DPMProtectedItem', 'GenericProtectedItem': 'GenericProtectedItem', 'MabFileFolderProtectedItem': 'MabFileFolderProtectedItem'}
}
def __init__(self, *, backup_management_type=None, workload_type=None, container_name: str=None, source_resource_id: str=None, policy_id: str=None, last_recovery_point=None, backup_set_name: str=None, create_mode=None, deferred_delete_time_in_utc=None, is_scheduled_for_deferred_delete: bool=None, deferred_delete_time_remaining: str=None, is_deferred_delete_schedule_upcoming: bool=None, is_rehydrate: bool=None, **kwargs) -> None:
super(ProtectedItem, self).__init__(**kwargs)
self.backup_management_type = backup_management_type
self.workload_type = workload_type
self.container_name = container_name
self.source_resource_id = source_resource_id
self.policy_id = policy_id
self.last_recovery_point = last_recovery_point
self.backup_set_name = backup_set_name
self.create_mode = create_mode
self.deferred_delete_time_in_utc = deferred_delete_time_in_utc
self.is_scheduled_for_deferred_delete = is_scheduled_for_deferred_delete
self.deferred_delete_time_remaining = deferred_delete_time_remaining
self.is_deferred_delete_schedule_upcoming = is_deferred_delete_schedule_upcoming
self.is_rehydrate = is_rehydrate
self.protected_item_type = None
[docs]class AzureFileshareProtectedItem(ProtectedItem):
"""Azure File Share workload-specific backup item.
All required parameters must be populated in order to send to Azure.
:param backup_management_type: Type of backup management for the backed up
item. Possible values include: 'Invalid', 'AzureIaasVM', 'MAB', 'DPM',
'AzureBackupServer', 'AzureSql', 'AzureStorage', 'AzureWorkload',
'DefaultBackup'
:type backup_management_type: str or
~azure.mgmt.recoveryservicesbackup.models.BackupManagementType
:param workload_type: Type of workload this item represents. Possible
values include: 'Invalid', 'VM', 'FileFolder', 'AzureSqlDb', 'SQLDB',
'Exchange', 'Sharepoint', 'VMwareVM', 'SystemState', 'Client',
'GenericDataSource', 'SQLDataBase', 'AzureFileShare', 'SAPHanaDatabase',
'SAPAseDatabase'
:type workload_type: str or
~azure.mgmt.recoveryservicesbackup.models.DataSourceType
:param container_name: Unique name of container
:type container_name: str
:param source_resource_id: ARM ID of the resource to be backed up.
:type source_resource_id: str
:param policy_id: ID of the backup policy with which this item is backed
up.
:type policy_id: str
:param last_recovery_point: Timestamp when the last (latest) backup copy
was created for this backup item.
:type last_recovery_point: datetime
:param backup_set_name: Name of the backup set the backup item belongs to
:type backup_set_name: str
:param create_mode: Create mode to indicate recovery of existing soft
deleted data source or creation of new data source. Possible values
include: 'Invalid', 'Default', 'Recover'
:type create_mode: str or
~azure.mgmt.recoveryservicesbackup.models.CreateMode
:param deferred_delete_time_in_utc: Time for deferred deletion in UTC
:type deferred_delete_time_in_utc: datetime
:param is_scheduled_for_deferred_delete: Flag to identify whether the DS
is scheduled for deferred delete
:type is_scheduled_for_deferred_delete: bool
:param deferred_delete_time_remaining: Time remaining before the DS marked
for deferred delete is permanently deleted
:type deferred_delete_time_remaining: str
:param is_deferred_delete_schedule_upcoming: Flag to identify whether the
deferred deleted DS is to be purged soon
:type is_deferred_delete_schedule_upcoming: bool
:param is_rehydrate: Flag to identify that deferred deleted DS is to be
moved into Pause state
:type is_rehydrate: bool
:param protected_item_type: Required. Constant filled by server.
:type protected_item_type: str
:param friendly_name: Friendly name of the fileshare represented by this
backup item.
:type friendly_name: str
:param protection_status: Backup status of this backup item.
:type protection_status: str
:param protection_state: Backup state of this backup item. Possible values
include: 'Invalid', 'IRPending', 'Protected', 'ProtectionError',
'ProtectionStopped', 'ProtectionPaused'
:type protection_state: str or
~azure.mgmt.recoveryservicesbackup.models.ProtectionState
:param health_status: Health status of protected item. Possible values
include: 'Passed', 'ActionRequired', 'ActionSuggested', 'Healthy',
'TransientDegraded', 'PersistentDegraded', 'TransientUnhealthy',
'PersistentUnhealthy', 'Invalid'
:type health_status: str or
~azure.mgmt.recoveryservicesbackup.models.HealthStatus
:param health_details: Health details on this backup item.
:type health_details:
list[~azure.mgmt.recoveryservicesbackup.models.HealthDetails]
:param last_backup_status: Last backup operation status. Possible values:
Healthy, Unhealthy.
:type last_backup_status: str
:param last_backup_time: Timestamp of the last backup operation on this
backup item.
:type last_backup_time: datetime
:param extended_info: Additional information with this backup item.
:type extended_info:
~azure.mgmt.recoveryservicesbackup.models.AzureFileshareProtectedItemExtendedInfo
"""
_validation = {
'protected_item_type': {'required': True},
}
_attribute_map = {
'backup_management_type': {'key': 'backupManagementType', 'type': 'str'},
'workload_type': {'key': 'workloadType', 'type': 'str'},
'container_name': {'key': 'containerName', 'type': 'str'},
'source_resource_id': {'key': 'sourceResourceId', 'type': 'str'},
'policy_id': {'key': 'policyId', 'type': 'str'},
'last_recovery_point': {'key': 'lastRecoveryPoint', 'type': 'iso-8601'},
'backup_set_name': {'key': 'backupSetName', 'type': 'str'},
'create_mode': {'key': 'createMode', 'type': 'str'},
'deferred_delete_time_in_utc': {'key': 'deferredDeleteTimeInUTC', 'type': 'iso-8601'},
'is_scheduled_for_deferred_delete': {'key': 'isScheduledForDeferredDelete', 'type': 'bool'},
'deferred_delete_time_remaining': {'key': 'deferredDeleteTimeRemaining', 'type': 'str'},
'is_deferred_delete_schedule_upcoming': {'key': 'isDeferredDeleteScheduleUpcoming', 'type': 'bool'},
'is_rehydrate': {'key': 'isRehydrate', 'type': 'bool'},
'protected_item_type': {'key': 'protectedItemType', 'type': 'str'},
'friendly_name': {'key': 'friendlyName', 'type': 'str'},
'protection_status': {'key': 'protectionStatus', 'type': 'str'},
'protection_state': {'key': 'protectionState', 'type': 'str'},
'health_status': {'key': 'healthStatus', 'type': 'str'},
'health_details': {'key': 'healthDetails', 'type': '[HealthDetails]'},
'last_backup_status': {'key': 'lastBackupStatus', 'type': 'str'},
'last_backup_time': {'key': 'lastBackupTime', 'type': 'iso-8601'},
'extended_info': {'key': 'extendedInfo', 'type': 'AzureFileshareProtectedItemExtendedInfo'},
}
def __init__(self, *, backup_management_type=None, workload_type=None, container_name: str=None, source_resource_id: str=None, policy_id: str=None, last_recovery_point=None, backup_set_name: str=None, create_mode=None, deferred_delete_time_in_utc=None, is_scheduled_for_deferred_delete: bool=None, deferred_delete_time_remaining: str=None, is_deferred_delete_schedule_upcoming: bool=None, is_rehydrate: bool=None, friendly_name: str=None, protection_status: str=None, protection_state=None, health_status=None, health_details=None, last_backup_status: str=None, last_backup_time=None, extended_info=None, **kwargs) -> None:
super(AzureFileshareProtectedItem, self).__init__(backup_management_type=backup_management_type, workload_type=workload_type, container_name=container_name, source_resource_id=source_resource_id, policy_id=policy_id, last_recovery_point=last_recovery_point, backup_set_name=backup_set_name, create_mode=create_mode, deferred_delete_time_in_utc=deferred_delete_time_in_utc, is_scheduled_for_deferred_delete=is_scheduled_for_deferred_delete, deferred_delete_time_remaining=deferred_delete_time_remaining, is_deferred_delete_schedule_upcoming=is_deferred_delete_schedule_upcoming, is_rehydrate=is_rehydrate, **kwargs)
self.friendly_name = friendly_name
self.protection_status = protection_status
self.protection_state = protection_state
self.health_status = health_status
self.health_details = health_details
self.last_backup_status = last_backup_status
self.last_backup_time = last_backup_time
self.extended_info = extended_info
self.protected_item_type = 'AzureFileShareProtectedItem'
[docs]class AzureFileshareProtectedItemExtendedInfo(Model):
"""Additional information about Azure File Share backup item.
Variables are only populated by the server, and will be ignored when
sending a request.
:param oldest_recovery_point: The oldest backup copy available for this
item in the service.
:type oldest_recovery_point: datetime
:param recovery_point_count: Number of available backup copies associated
with this backup item.
:type recovery_point_count: int
:param policy_state: Indicates consistency of policy object and policy
applied to this backup item.
:type policy_state: str
:ivar resource_state: Indicates the state of this resource. Possible
values are from enum ResourceState {Invalid, Active, SoftDeleted, Deleted}
:vartype resource_state: str
:ivar resource_state_sync_time: The resource state sync time for this
backup item.
:vartype resource_state_sync_time: datetime
"""
_validation = {
'resource_state': {'readonly': True},
'resource_state_sync_time': {'readonly': True},
}
_attribute_map = {
'oldest_recovery_point': {'key': 'oldestRecoveryPoint', 'type': 'iso-8601'},
'recovery_point_count': {'key': 'recoveryPointCount', 'type': 'int'},
'policy_state': {'key': 'policyState', 'type': 'str'},
'resource_state': {'key': 'resourceState', 'type': 'str'},
'resource_state_sync_time': {'key': 'resourceStateSyncTime', 'type': 'iso-8601'},
}
def __init__(self, *, oldest_recovery_point=None, recovery_point_count: int=None, policy_state: str=None, **kwargs) -> None:
super(AzureFileshareProtectedItemExtendedInfo, self).__init__(**kwargs)
self.oldest_recovery_point = oldest_recovery_point
self.recovery_point_count = recovery_point_count
self.policy_state = policy_state
self.resource_state = None
self.resource_state_sync_time = None
[docs]class ProtectionPolicy(Model):
"""Base class for backup policy. Workload-specific backup policies are derived
from this class.
You probably want to use the sub-classes and not this class directly. Known
sub-classes are: AzureVmWorkloadProtectionPolicy,
AzureFileShareProtectionPolicy, AzureIaaSVMProtectionPolicy,
AzureSqlProtectionPolicy, GenericProtectionPolicy, MabProtectionPolicy
All required parameters must be populated in order to send to Azure.
:param protected_items_count: Number of items associated with this policy.
:type protected_items_count: int
:param backup_management_type: Required. Constant filled by server.
:type backup_management_type: str
"""
_validation = {
'backup_management_type': {'required': True},
}
_attribute_map = {
'protected_items_count': {'key': 'protectedItemsCount', 'type': 'int'},
'backup_management_type': {'key': 'backupManagementType', 'type': 'str'},
}
_subtype_map = {
'backup_management_type': {'AzureWorkload': 'AzureVmWorkloadProtectionPolicy', 'AzureStorage': 'AzureFileShareProtectionPolicy', 'AzureIaasVM': 'AzureIaaSVMProtectionPolicy', 'AzureSql': 'AzureSqlProtectionPolicy', 'GenericProtectionPolicy': 'GenericProtectionPolicy', 'MAB': 'MabProtectionPolicy'}
}
def __init__(self, *, protected_items_count: int=None, **kwargs) -> None:
super(ProtectionPolicy, self).__init__(**kwargs)
self.protected_items_count = protected_items_count
self.backup_management_type = None
[docs]class AzureFileShareProtectionPolicy(ProtectionPolicy):
"""AzureStorage backup policy.
All required parameters must be populated in order to send to Azure.
:param protected_items_count: Number of items associated with this policy.
:type protected_items_count: int
:param backup_management_type: Required. Constant filled by server.
:type backup_management_type: str
:param work_load_type: Type of workload for the backup management.
Possible values include: 'Invalid', 'VM', 'FileFolder', 'AzureSqlDb',
'SQLDB', 'Exchange', 'Sharepoint', 'VMwareVM', 'SystemState', 'Client',
'GenericDataSource', 'SQLDataBase', 'AzureFileShare', 'SAPHanaDatabase',
'SAPAseDatabase'
:type work_load_type: str or
~azure.mgmt.recoveryservicesbackup.models.WorkloadType
:param schedule_policy: Backup schedule specified as part of backup
policy.
:type schedule_policy:
~azure.mgmt.recoveryservicesbackup.models.SchedulePolicy
:param retention_policy: Retention policy with the details on backup copy
retention ranges.
:type retention_policy:
~azure.mgmt.recoveryservicesbackup.models.RetentionPolicy
:param time_zone: TimeZone optional input as string. For example: TimeZone
= "Pacific Standard Time".
:type time_zone: str
"""
_validation = {
'backup_management_type': {'required': True},
}
_attribute_map = {
'protected_items_count': {'key': 'protectedItemsCount', 'type': 'int'},
'backup_management_type': {'key': 'backupManagementType', 'type': 'str'},
'work_load_type': {'key': 'workLoadType', 'type': 'str'},
'schedule_policy': {'key': 'schedulePolicy', 'type': 'SchedulePolicy'},
'retention_policy': {'key': 'retentionPolicy', 'type': 'RetentionPolicy'},
'time_zone': {'key': 'timeZone', 'type': 'str'},
}
def __init__(self, *, protected_items_count: int=None, work_load_type=None, schedule_policy=None, retention_policy=None, time_zone: str=None, **kwargs) -> None:
super(AzureFileShareProtectionPolicy, self).__init__(protected_items_count=protected_items_count, **kwargs)
self.work_load_type = work_load_type
self.schedule_policy = schedule_policy
self.retention_policy = retention_policy
self.time_zone = time_zone
self.backup_management_type = 'AzureStorage'
[docs]class ILRRequest(Model):
"""Parameters to Provision ILR API.
You probably want to use the sub-classes and not this class directly. Known
sub-classes are: AzureFileShareProvisionILRRequest,
IaasVMILRRegistrationRequest
All required parameters must be populated in order to send to Azure.
:param object_type: Required. Constant filled by server.
:type object_type: str
"""
_validation = {
'object_type': {'required': True},
}
_attribute_map = {
'object_type': {'key': 'objectType', 'type': 'str'},
}
_subtype_map = {
'object_type': {'AzureFileShareProvisionILRRequest': 'AzureFileShareProvisionILRRequest', 'IaasVMILRRegistrationRequest': 'IaasVMILRRegistrationRequest'}
}
def __init__(self, **kwargs) -> None:
super(ILRRequest, self).__init__(**kwargs)
self.object_type = None
[docs]class AzureFileShareProvisionILRRequest(ILRRequest):
"""Update snapshot Uri with the correct friendly Name of the source Azure file
share.
All required parameters must be populated in order to send to Azure.
:param object_type: Required. Constant filled by server.
:type object_type: str
:param recovery_point_id: Recovery point ID.
:type recovery_point_id: str
:param source_resource_id: Source Storage account ARM Id
:type source_resource_id: str
"""
_validation = {
'object_type': {'required': True},
}
_attribute_map = {
'object_type': {'key': 'objectType', 'type': 'str'},
'recovery_point_id': {'key': 'recoveryPointId', 'type': 'str'},
'source_resource_id': {'key': 'sourceResourceId', 'type': 'str'},
}
def __init__(self, *, recovery_point_id: str=None, source_resource_id: str=None, **kwargs) -> None:
super(AzureFileShareProvisionILRRequest, self).__init__(**kwargs)
self.recovery_point_id = recovery_point_id
self.source_resource_id = source_resource_id
self.object_type = 'AzureFileShareProvisionILRRequest'
[docs]class RecoveryPoint(Model):
"""Base class for backup copies. Workload-specific backup copies are derived
from this class.
You probably want to use the sub-classes and not this class directly. Known
sub-classes are: AzureFileShareRecoveryPoint, AzureWorkloadRecoveryPoint,
GenericRecoveryPoint, IaasVMRecoveryPoint
All required parameters must be populated in order to send to Azure.
:param object_type: Required. Constant filled by server.
:type object_type: str
"""
_validation = {
'object_type': {'required': True},
}
_attribute_map = {
'object_type': {'key': 'objectType', 'type': 'str'},
}
_subtype_map = {
'object_type': {'AzureFileShareRecoveryPoint': 'AzureFileShareRecoveryPoint', 'AzureWorkloadRecoveryPoint': 'AzureWorkloadRecoveryPoint', 'GenericRecoveryPoint': 'GenericRecoveryPoint', 'IaasVMRecoveryPoint': 'IaasVMRecoveryPoint'}
}
def __init__(self, **kwargs) -> None:
super(RecoveryPoint, self).__init__(**kwargs)
self.object_type = None
[docs]class AzureFileShareRecoveryPoint(RecoveryPoint):
"""Azure File Share workload specific backup copy.
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 object_type: Required. Constant filled by server.
:type object_type: str
:ivar recovery_point_type: Type of the backup copy. Specifies whether it
is a crash consistent backup or app consistent.
:vartype recovery_point_type: str
:ivar recovery_point_time: Time at which this backup copy was created.
:vartype recovery_point_time: datetime
:ivar file_share_snapshot_uri: Contains Url to the snapshot of fileshare,
if applicable
:vartype file_share_snapshot_uri: str
:ivar recovery_point_size_in_gb: Contains recovery point size
:vartype recovery_point_size_in_gb: int
"""
_validation = {
'object_type': {'required': True},
'recovery_point_type': {'readonly': True},
'recovery_point_time': {'readonly': True},
'file_share_snapshot_uri': {'readonly': True},
'recovery_point_size_in_gb': {'readonly': True},
}
_attribute_map = {
'object_type': {'key': 'objectType', 'type': 'str'},
'recovery_point_type': {'key': 'recoveryPointType', 'type': 'str'},
'recovery_point_time': {'key': 'recoveryPointTime', 'type': 'iso-8601'},
'file_share_snapshot_uri': {'key': 'fileShareSnapshotUri', 'type': 'str'},
'recovery_point_size_in_gb': {'key': 'recoveryPointSizeInGB', 'type': 'int'},
}
def __init__(self, **kwargs) -> None:
super(AzureFileShareRecoveryPoint, self).__init__(**kwargs)
self.recovery_point_type = None
self.recovery_point_time = None
self.file_share_snapshot_uri = None
self.recovery_point_size_in_gb = None
self.object_type = 'AzureFileShareRecoveryPoint'
[docs]class RestoreRequest(Model):
"""Base class for restore request. Workload-specific restore requests are
derived from this class.
You probably want to use the sub-classes and not this class directly. Known
sub-classes are: AzureFileShareRestoreRequest, AzureWorkloadRestoreRequest,
IaasVMRestoreRequest
All required parameters must be populated in order to send to Azure.
:param object_type: Required. Constant filled by server.
:type object_type: str
"""
_validation = {
'object_type': {'required': True},
}
_attribute_map = {
'object_type': {'key': 'objectType', 'type': 'str'},
}
_subtype_map = {
'object_type': {'AzureFileShareRestoreRequest': 'AzureFileShareRestoreRequest', 'AzureWorkloadRestoreRequest': 'AzureWorkloadRestoreRequest', 'IaasVMRestoreRequest': 'IaasVMRestoreRequest'}
}
def __init__(self, **kwargs) -> None:
super(RestoreRequest, self).__init__(**kwargs)
self.object_type = None
[docs]class AzureFileShareRestoreRequest(RestoreRequest):
"""AzureFileShare Restore Request.
All required parameters must be populated in order to send to Azure.
:param object_type: Required. Constant filled by server.
:type object_type: str
:param recovery_type: Type of this recovery. Possible values include:
'Invalid', 'OriginalLocation', 'AlternateLocation', 'RestoreDisks',
'Offline'
:type recovery_type: str or
~azure.mgmt.recoveryservicesbackup.models.RecoveryType
:param source_resource_id: Source storage account ARM Id
:type source_resource_id: str
:param copy_options: Options to resolve copy conflicts. Possible values
include: 'Invalid', 'CreateCopy', 'Skip', 'Overwrite', 'FailOnConflict'
:type copy_options: str or
~azure.mgmt.recoveryservicesbackup.models.CopyOptions
:param restore_request_type: Restore Type (FullShareRestore or
ItemLevelRestore). Possible values include: 'Invalid', 'FullShareRestore',
'ItemLevelRestore'
:type restore_request_type: str or
~azure.mgmt.recoveryservicesbackup.models.RestoreRequestType
:param restore_file_specs: List of Source Files/Folders(which need to
recover) and TargetFolderPath details
:type restore_file_specs:
list[~azure.mgmt.recoveryservicesbackup.models.RestoreFileSpecs]
:param target_details: Target File Share Details
:type target_details:
~azure.mgmt.recoveryservicesbackup.models.TargetAFSRestoreInfo
"""
_validation = {
'object_type': {'required': True},
}
_attribute_map = {
'object_type': {'key': 'objectType', 'type': 'str'},
'recovery_type': {'key': 'recoveryType', 'type': 'str'},
'source_resource_id': {'key': 'sourceResourceId', 'type': 'str'},
'copy_options': {'key': 'copyOptions', 'type': 'str'},
'restore_request_type': {'key': 'restoreRequestType', 'type': 'str'},
'restore_file_specs': {'key': 'restoreFileSpecs', 'type': '[RestoreFileSpecs]'},
'target_details': {'key': 'targetDetails', 'type': 'TargetAFSRestoreInfo'},
}
def __init__(self, *, recovery_type=None, source_resource_id: str=None, copy_options=None, restore_request_type=None, restore_file_specs=None, target_details=None, **kwargs) -> None:
super(AzureFileShareRestoreRequest, self).__init__(**kwargs)
self.recovery_type = recovery_type
self.source_resource_id = source_resource_id
self.copy_options = copy_options
self.restore_request_type = restore_request_type
self.restore_file_specs = restore_file_specs
self.target_details = target_details
self.object_type = 'AzureFileShareRestoreRequest'
[docs]class IaaSVMContainer(ProtectionContainer):
"""IaaS VM workload-specific container.
You probably want to use the sub-classes and not this class directly. Known
sub-classes are: AzureIaaSClassicComputeVMContainer,
AzureIaaSComputeVMContainer
All required parameters must be populated in order to send to Azure.
:param friendly_name: Friendly name of the container.
:type friendly_name: str
:param backup_management_type: Type of backup management for the
container. Possible values include: 'Invalid', 'AzureIaasVM', 'MAB',
'DPM', 'AzureBackupServer', 'AzureSql', 'AzureStorage', 'AzureWorkload',
'DefaultBackup'
:type backup_management_type: str or
~azure.mgmt.recoveryservicesbackup.models.BackupManagementType
:param registration_status: Status of registration of the container with
the Recovery Services Vault.
:type registration_status: str
:param health_status: Status of health of the container.
:type health_status: str
:param container_type: Required. Constant filled by server.
:type container_type: str
:param virtual_machine_id: Fully qualified ARM url of the virtual machine
represented by this Azure IaaS VM container.
:type virtual_machine_id: str
:param virtual_machine_version: Specifies whether the container represents
a Classic or an Azure Resource Manager VM.
:type virtual_machine_version: str
:param resource_group: Resource group name of Recovery Services Vault.
:type resource_group: str
"""
_validation = {
'container_type': {'required': True},
}
_attribute_map = {
'friendly_name': {'key': 'friendlyName', 'type': 'str'},
'backup_management_type': {'key': 'backupManagementType', 'type': 'str'},
'registration_status': {'key': 'registrationStatus', 'type': 'str'},
'health_status': {'key': 'healthStatus', 'type': 'str'},
'container_type': {'key': 'containerType', 'type': 'str'},
'virtual_machine_id': {'key': 'virtualMachineId', 'type': 'str'},
'virtual_machine_version': {'key': 'virtualMachineVersion', 'type': 'str'},
'resource_group': {'key': 'resourceGroup', 'type': 'str'},
}
_subtype_map = {
'container_type': {'Microsoft.ClassicCompute/virtualMachines': 'AzureIaaSClassicComputeVMContainer', 'Microsoft.Compute/virtualMachines': 'AzureIaaSComputeVMContainer'}
}
def __init__(self, *, friendly_name: str=None, backup_management_type=None, registration_status: str=None, health_status: str=None, virtual_machine_id: str=None, virtual_machine_version: str=None, resource_group: str=None, **kwargs) -> None:
super(IaaSVMContainer, self).__init__(friendly_name=friendly_name, backup_management_type=backup_management_type, registration_status=registration_status, health_status=health_status, **kwargs)
self.virtual_machine_id = virtual_machine_id
self.virtual_machine_version = virtual_machine_version
self.resource_group = resource_group
self.container_type = 'IaaSVMContainer'
[docs]class AzureIaaSClassicComputeVMContainer(IaaSVMContainer):
"""IaaS VM workload-specific backup item representing a classic virtual
machine.
All required parameters must be populated in order to send to Azure.
:param friendly_name: Friendly name of the container.
:type friendly_name: str
:param backup_management_type: Type of backup management for the
container. Possible values include: 'Invalid', 'AzureIaasVM', 'MAB',
'DPM', 'AzureBackupServer', 'AzureSql', 'AzureStorage', 'AzureWorkload',
'DefaultBackup'
:type backup_management_type: str or
~azure.mgmt.recoveryservicesbackup.models.BackupManagementType
:param registration_status: Status of registration of the container with
the Recovery Services Vault.
:type registration_status: str
:param health_status: Status of health of the container.
:type health_status: str
:param container_type: Required. Constant filled by server.
:type container_type: str
:param virtual_machine_id: Fully qualified ARM url of the virtual machine
represented by this Azure IaaS VM container.
:type virtual_machine_id: str
:param virtual_machine_version: Specifies whether the container represents
a Classic or an Azure Resource Manager VM.
:type virtual_machine_version: str
:param resource_group: Resource group name of Recovery Services Vault.
:type resource_group: str
"""
_validation = {
'container_type': {'required': True},
}
_attribute_map = {
'friendly_name': {'key': 'friendlyName', 'type': 'str'},
'backup_management_type': {'key': 'backupManagementType', 'type': 'str'},
'registration_status': {'key': 'registrationStatus', 'type': 'str'},
'health_status': {'key': 'healthStatus', 'type': 'str'},
'container_type': {'key': 'containerType', 'type': 'str'},
'virtual_machine_id': {'key': 'virtualMachineId', 'type': 'str'},
'virtual_machine_version': {'key': 'virtualMachineVersion', 'type': 'str'},
'resource_group': {'key': 'resourceGroup', 'type': 'str'},
}
def __init__(self, *, friendly_name: str=None, backup_management_type=None, registration_status: str=None, health_status: str=None, virtual_machine_id: str=None, virtual_machine_version: str=None, resource_group: str=None, **kwargs) -> None:
super(AzureIaaSClassicComputeVMContainer, self).__init__(friendly_name=friendly_name, backup_management_type=backup_management_type, registration_status=registration_status, health_status=health_status, virtual_machine_id=virtual_machine_id, virtual_machine_version=virtual_machine_version, resource_group=resource_group, **kwargs)
self.container_type = 'Microsoft.ClassicCompute/virtualMachines'
[docs]class IaaSVMProtectableItem(WorkloadProtectableItem):
"""IaaS VM workload-specific backup item.
You probably want to use the sub-classes and not this class directly. Known
sub-classes are: AzureIaaSClassicComputeVMProtectableItem,
AzureIaaSComputeVMProtectableItem
All required parameters must be populated in order to send to Azure.
:param backup_management_type: Type of backup management to backup an
item.
:type backup_management_type: str
:param workload_type: Type of workload for the backup management
:type workload_type: str
:param friendly_name: Friendly name of the backup item.
:type friendly_name: str
:param protection_state: State of the back up item. Possible values
include: 'Invalid', 'NotProtected', 'Protecting', 'Protected',
'ProtectionFailed'
:type protection_state: str or
~azure.mgmt.recoveryservicesbackup.models.ProtectionStatus
:param protectable_item_type: Required. Constant filled by server.
:type protectable_item_type: str
:param virtual_machine_id: Fully qualified ARM ID of the virtual machine.
:type virtual_machine_id: str
"""
_validation = {
'protectable_item_type': {'required': True},
}
_attribute_map = {
'backup_management_type': {'key': 'backupManagementType', 'type': 'str'},
'workload_type': {'key': 'workloadType', 'type': 'str'},
'friendly_name': {'key': 'friendlyName', 'type': 'str'},
'protection_state': {'key': 'protectionState', 'type': 'str'},
'protectable_item_type': {'key': 'protectableItemType', 'type': 'str'},
'virtual_machine_id': {'key': 'virtualMachineId', 'type': 'str'},
}
_subtype_map = {
'protectable_item_type': {'Microsoft.ClassicCompute/virtualMachines': 'AzureIaaSClassicComputeVMProtectableItem', 'Microsoft.Compute/virtualMachines': 'AzureIaaSComputeVMProtectableItem'}
}
def __init__(self, *, backup_management_type: str=None, workload_type: str=None, friendly_name: str=None, protection_state=None, virtual_machine_id: str=None, **kwargs) -> None:
super(IaaSVMProtectableItem, self).__init__(backup_management_type=backup_management_type, workload_type=workload_type, friendly_name=friendly_name, protection_state=protection_state, **kwargs)
self.virtual_machine_id = virtual_machine_id
self.protectable_item_type = 'IaaSVMProtectableItem'
[docs]class AzureIaaSClassicComputeVMProtectableItem(IaaSVMProtectableItem):
"""IaaS VM workload-specific backup item representing the Classic Compute VM.
All required parameters must be populated in order to send to Azure.
:param backup_management_type: Type of backup management to backup an
item.
:type backup_management_type: str
:param workload_type: Type of workload for the backup management
:type workload_type: str
:param friendly_name: Friendly name of the backup item.
:type friendly_name: str
:param protection_state: State of the back up item. Possible values
include: 'Invalid', 'NotProtected', 'Protecting', 'Protected',
'ProtectionFailed'
:type protection_state: str or
~azure.mgmt.recoveryservicesbackup.models.ProtectionStatus
:param protectable_item_type: Required. Constant filled by server.
:type protectable_item_type: str
:param virtual_machine_id: Fully qualified ARM ID of the virtual machine.
:type virtual_machine_id: str
"""
_validation = {
'protectable_item_type': {'required': True},
}
_attribute_map = {
'backup_management_type': {'key': 'backupManagementType', 'type': 'str'},
'workload_type': {'key': 'workloadType', 'type': 'str'},
'friendly_name': {'key': 'friendlyName', 'type': 'str'},
'protection_state': {'key': 'protectionState', 'type': 'str'},
'protectable_item_type': {'key': 'protectableItemType', 'type': 'str'},
'virtual_machine_id': {'key': 'virtualMachineId', 'type': 'str'},
}
def __init__(self, *, backup_management_type: str=None, workload_type: str=None, friendly_name: str=None, protection_state=None, virtual_machine_id: str=None, **kwargs) -> None:
super(AzureIaaSClassicComputeVMProtectableItem, self).__init__(backup_management_type=backup_management_type, workload_type=workload_type, friendly_name=friendly_name, protection_state=protection_state, virtual_machine_id=virtual_machine_id, **kwargs)
self.protectable_item_type = 'Microsoft.ClassicCompute/virtualMachines'
[docs]class AzureIaaSVMProtectedItem(ProtectedItem):
"""IaaS VM workload-specific backup item.
You probably want to use the sub-classes and not this class directly. Known
sub-classes are: AzureIaaSClassicComputeVMProtectedItem,
AzureIaaSComputeVMProtectedItem
All required parameters must be populated in order to send to Azure.
:param backup_management_type: Type of backup management for the backed up
item. Possible values include: 'Invalid', 'AzureIaasVM', 'MAB', 'DPM',
'AzureBackupServer', 'AzureSql', 'AzureStorage', 'AzureWorkload',
'DefaultBackup'
:type backup_management_type: str or
~azure.mgmt.recoveryservicesbackup.models.BackupManagementType
:param workload_type: Type of workload this item represents. Possible
values include: 'Invalid', 'VM', 'FileFolder', 'AzureSqlDb', 'SQLDB',
'Exchange', 'Sharepoint', 'VMwareVM', 'SystemState', 'Client',
'GenericDataSource', 'SQLDataBase', 'AzureFileShare', 'SAPHanaDatabase',
'SAPAseDatabase'
:type workload_type: str or
~azure.mgmt.recoveryservicesbackup.models.DataSourceType
:param container_name: Unique name of container
:type container_name: str
:param source_resource_id: ARM ID of the resource to be backed up.
:type source_resource_id: str
:param policy_id: ID of the backup policy with which this item is backed
up.
:type policy_id: str
:param last_recovery_point: Timestamp when the last (latest) backup copy
was created for this backup item.
:type last_recovery_point: datetime
:param backup_set_name: Name of the backup set the backup item belongs to
:type backup_set_name: str
:param create_mode: Create mode to indicate recovery of existing soft
deleted data source or creation of new data source. Possible values
include: 'Invalid', 'Default', 'Recover'
:type create_mode: str or
~azure.mgmt.recoveryservicesbackup.models.CreateMode
:param deferred_delete_time_in_utc: Time for deferred deletion in UTC
:type deferred_delete_time_in_utc: datetime
:param is_scheduled_for_deferred_delete: Flag to identify whether the DS
is scheduled for deferred delete
:type is_scheduled_for_deferred_delete: bool
:param deferred_delete_time_remaining: Time remaining before the DS marked
for deferred delete is permanently deleted
:type deferred_delete_time_remaining: str
:param is_deferred_delete_schedule_upcoming: Flag to identify whether the
deferred deleted DS is to be purged soon
:type is_deferred_delete_schedule_upcoming: bool
:param is_rehydrate: Flag to identify that deferred deleted DS is to be
moved into Pause state
:type is_rehydrate: bool
:param protected_item_type: Required. Constant filled by server.
:type protected_item_type: str
:param friendly_name: Friendly name of the VM represented by this backup
item.
:type friendly_name: str
:param virtual_machine_id: Fully qualified ARM ID of the virtual machine
represented by this item.
:type virtual_machine_id: str
:param protection_status: Backup status of this backup item.
:type protection_status: str
:param protection_state: Backup state of this backup item. Possible values
include: 'Invalid', 'IRPending', 'Protected', 'ProtectionError',
'ProtectionStopped', 'ProtectionPaused'
:type protection_state: str or
~azure.mgmt.recoveryservicesbackup.models.ProtectionState
:param health_status: Health status of protected item. Possible values
include: 'Passed', 'ActionRequired', 'ActionSuggested', 'Healthy',
'TransientDegraded', 'PersistentDegraded', 'TransientUnhealthy',
'PersistentUnhealthy', 'Invalid'
:type health_status: str or
~azure.mgmt.recoveryservicesbackup.models.HealthStatus
:param health_details: Health details on this backup item.
:type health_details:
list[~azure.mgmt.recoveryservicesbackup.models.AzureIaaSVMHealthDetails]
:param last_backup_status: Last backup operation status.
:type last_backup_status: str
:param last_backup_time: Timestamp of the last backup operation on this
backup item.
:type last_backup_time: datetime
:param protected_item_data_id: Data ID of the protected item.
:type protected_item_data_id: str
:param extended_info: Additional information for this backup item.
:type extended_info:
~azure.mgmt.recoveryservicesbackup.models.AzureIaaSVMProtectedItemExtendedInfo
:param extended_properties:
:type extended_properties:
~azure.mgmt.recoveryservicesbackup.models.ExtendedProperties
"""
_validation = {
'protected_item_type': {'required': True},
}
_attribute_map = {
'backup_management_type': {'key': 'backupManagementType', 'type': 'str'},
'workload_type': {'key': 'workloadType', 'type': 'str'},
'container_name': {'key': 'containerName', 'type': 'str'},
'source_resource_id': {'key': 'sourceResourceId', 'type': 'str'},
'policy_id': {'key': 'policyId', 'type': 'str'},
'last_recovery_point': {'key': 'lastRecoveryPoint', 'type': 'iso-8601'},
'backup_set_name': {'key': 'backupSetName', 'type': 'str'},
'create_mode': {'key': 'createMode', 'type': 'str'},
'deferred_delete_time_in_utc': {'key': 'deferredDeleteTimeInUTC', 'type': 'iso-8601'},
'is_scheduled_for_deferred_delete': {'key': 'isScheduledForDeferredDelete', 'type': 'bool'},
'deferred_delete_time_remaining': {'key': 'deferredDeleteTimeRemaining', 'type': 'str'},
'is_deferred_delete_schedule_upcoming': {'key': 'isDeferredDeleteScheduleUpcoming', 'type': 'bool'},
'is_rehydrate': {'key': 'isRehydrate', 'type': 'bool'},
'protected_item_type': {'key': 'protectedItemType', 'type': 'str'},
'friendly_name': {'key': 'friendlyName', 'type': 'str'},
'virtual_machine_id': {'key': 'virtualMachineId', 'type': 'str'},
'protection_status': {'key': 'protectionStatus', 'type': 'str'},
'protection_state': {'key': 'protectionState', 'type': 'str'},
'health_status': {'key': 'healthStatus', 'type': 'str'},
'health_details': {'key': 'healthDetails', 'type': '[AzureIaaSVMHealthDetails]'},
'last_backup_status': {'key': 'lastBackupStatus', 'type': 'str'},
'last_backup_time': {'key': 'lastBackupTime', 'type': 'iso-8601'},
'protected_item_data_id': {'key': 'protectedItemDataId', 'type': 'str'},
'extended_info': {'key': 'extendedInfo', 'type': 'AzureIaaSVMProtectedItemExtendedInfo'},
'extended_properties': {'key': 'extendedProperties', 'type': 'ExtendedProperties'},
}
_subtype_map = {
'protected_item_type': {'Microsoft.ClassicCompute/virtualMachines': 'AzureIaaSClassicComputeVMProtectedItem', 'Microsoft.Compute/virtualMachines': 'AzureIaaSComputeVMProtectedItem'}
}
def __init__(self, *, backup_management_type=None, workload_type=None, container_name: str=None, source_resource_id: str=None, policy_id: str=None, last_recovery_point=None, backup_set_name: str=None, create_mode=None, deferred_delete_time_in_utc=None, is_scheduled_for_deferred_delete: bool=None, deferred_delete_time_remaining: str=None, is_deferred_delete_schedule_upcoming: bool=None, is_rehydrate: bool=None, friendly_name: str=None, virtual_machine_id: str=None, protection_status: str=None, protection_state=None, health_status=None, health_details=None, last_backup_status: str=None, last_backup_time=None, protected_item_data_id: str=None, extended_info=None, extended_properties=None, **kwargs) -> None:
super(AzureIaaSVMProtectedItem, self).__init__(backup_management_type=backup_management_type, workload_type=workload_type, container_name=container_name, source_resource_id=source_resource_id, policy_id=policy_id, last_recovery_point=last_recovery_point, backup_set_name=backup_set_name, create_mode=create_mode, deferred_delete_time_in_utc=deferred_delete_time_in_utc, is_scheduled_for_deferred_delete=is_scheduled_for_deferred_delete, deferred_delete_time_remaining=deferred_delete_time_remaining, is_deferred_delete_schedule_upcoming=is_deferred_delete_schedule_upcoming, is_rehydrate=is_rehydrate, **kwargs)
self.friendly_name = friendly_name
self.virtual_machine_id = virtual_machine_id
self.protection_status = protection_status
self.protection_state = protection_state
self.health_status = health_status
self.health_details = health_details
self.last_backup_status = last_backup_status
self.last_backup_time = last_backup_time
self.protected_item_data_id = protected_item_data_id
self.extended_info = extended_info
self.extended_properties = extended_properties
self.protected_item_type = 'AzureIaaSVMProtectedItem'
[docs]class AzureIaaSClassicComputeVMProtectedItem(AzureIaaSVMProtectedItem):
"""IaaS VM workload-specific backup item representing the Classic Compute VM.
All required parameters must be populated in order to send to Azure.
:param backup_management_type: Type of backup management for the backed up
item. Possible values include: 'Invalid', 'AzureIaasVM', 'MAB', 'DPM',
'AzureBackupServer', 'AzureSql', 'AzureStorage', 'AzureWorkload',
'DefaultBackup'
:type backup_management_type: str or
~azure.mgmt.recoveryservicesbackup.models.BackupManagementType
:param workload_type: Type of workload this item represents. Possible
values include: 'Invalid', 'VM', 'FileFolder', 'AzureSqlDb', 'SQLDB',
'Exchange', 'Sharepoint', 'VMwareVM', 'SystemState', 'Client',
'GenericDataSource', 'SQLDataBase', 'AzureFileShare', 'SAPHanaDatabase',
'SAPAseDatabase'
:type workload_type: str or
~azure.mgmt.recoveryservicesbackup.models.DataSourceType
:param container_name: Unique name of container
:type container_name: str
:param source_resource_id: ARM ID of the resource to be backed up.
:type source_resource_id: str
:param policy_id: ID of the backup policy with which this item is backed
up.
:type policy_id: str
:param last_recovery_point: Timestamp when the last (latest) backup copy
was created for this backup item.
:type last_recovery_point: datetime
:param backup_set_name: Name of the backup set the backup item belongs to
:type backup_set_name: str
:param create_mode: Create mode to indicate recovery of existing soft
deleted data source or creation of new data source. Possible values
include: 'Invalid', 'Default', 'Recover'
:type create_mode: str or
~azure.mgmt.recoveryservicesbackup.models.CreateMode
:param deferred_delete_time_in_utc: Time for deferred deletion in UTC
:type deferred_delete_time_in_utc: datetime
:param is_scheduled_for_deferred_delete: Flag to identify whether the DS
is scheduled for deferred delete
:type is_scheduled_for_deferred_delete: bool
:param deferred_delete_time_remaining: Time remaining before the DS marked
for deferred delete is permanently deleted
:type deferred_delete_time_remaining: str
:param is_deferred_delete_schedule_upcoming: Flag to identify whether the
deferred deleted DS is to be purged soon
:type is_deferred_delete_schedule_upcoming: bool
:param is_rehydrate: Flag to identify that deferred deleted DS is to be
moved into Pause state
:type is_rehydrate: bool
:param protected_item_type: Required. Constant filled by server.
:type protected_item_type: str
:param friendly_name: Friendly name of the VM represented by this backup
item.
:type friendly_name: str
:param virtual_machine_id: Fully qualified ARM ID of the virtual machine
represented by this item.
:type virtual_machine_id: str
:param protection_status: Backup status of this backup item.
:type protection_status: str
:param protection_state: Backup state of this backup item. Possible values
include: 'Invalid', 'IRPending', 'Protected', 'ProtectionError',
'ProtectionStopped', 'ProtectionPaused'
:type protection_state: str or
~azure.mgmt.recoveryservicesbackup.models.ProtectionState
:param health_status: Health status of protected item. Possible values
include: 'Passed', 'ActionRequired', 'ActionSuggested', 'Healthy',
'TransientDegraded', 'PersistentDegraded', 'TransientUnhealthy',
'PersistentUnhealthy', 'Invalid'
:type health_status: str or
~azure.mgmt.recoveryservicesbackup.models.HealthStatus
:param health_details: Health details on this backup item.
:type health_details:
list[~azure.mgmt.recoveryservicesbackup.models.AzureIaaSVMHealthDetails]
:param last_backup_status: Last backup operation status.
:type last_backup_status: str
:param last_backup_time: Timestamp of the last backup operation on this
backup item.
:type last_backup_time: datetime
:param protected_item_data_id: Data ID of the protected item.
:type protected_item_data_id: str
:param extended_info: Additional information for this backup item.
:type extended_info:
~azure.mgmt.recoveryservicesbackup.models.AzureIaaSVMProtectedItemExtendedInfo
:param extended_properties:
:type extended_properties:
~azure.mgmt.recoveryservicesbackup.models.ExtendedProperties
"""
_validation = {
'protected_item_type': {'required': True},
}
_attribute_map = {
'backup_management_type': {'key': 'backupManagementType', 'type': 'str'},
'workload_type': {'key': 'workloadType', 'type': 'str'},
'container_name': {'key': 'containerName', 'type': 'str'},
'source_resource_id': {'key': 'sourceResourceId', 'type': 'str'},
'policy_id': {'key': 'policyId', 'type': 'str'},
'last_recovery_point': {'key': 'lastRecoveryPoint', 'type': 'iso-8601'},
'backup_set_name': {'key': 'backupSetName', 'type': 'str'},
'create_mode': {'key': 'createMode', 'type': 'str'},
'deferred_delete_time_in_utc': {'key': 'deferredDeleteTimeInUTC', 'type': 'iso-8601'},
'is_scheduled_for_deferred_delete': {'key': 'isScheduledForDeferredDelete', 'type': 'bool'},
'deferred_delete_time_remaining': {'key': 'deferredDeleteTimeRemaining', 'type': 'str'},
'is_deferred_delete_schedule_upcoming': {'key': 'isDeferredDeleteScheduleUpcoming', 'type': 'bool'},
'is_rehydrate': {'key': 'isRehydrate', 'type': 'bool'},
'protected_item_type': {'key': 'protectedItemType', 'type': 'str'},
'friendly_name': {'key': 'friendlyName', 'type': 'str'},
'virtual_machine_id': {'key': 'virtualMachineId', 'type': 'str'},
'protection_status': {'key': 'protectionStatus', 'type': 'str'},
'protection_state': {'key': 'protectionState', 'type': 'str'},
'health_status': {'key': 'healthStatus', 'type': 'str'},
'health_details': {'key': 'healthDetails', 'type': '[AzureIaaSVMHealthDetails]'},
'last_backup_status': {'key': 'lastBackupStatus', 'type': 'str'},
'last_backup_time': {'key': 'lastBackupTime', 'type': 'iso-8601'},
'protected_item_data_id': {'key': 'protectedItemDataId', 'type': 'str'},
'extended_info': {'key': 'extendedInfo', 'type': 'AzureIaaSVMProtectedItemExtendedInfo'},
'extended_properties': {'key': 'extendedProperties', 'type': 'ExtendedProperties'},
}
def __init__(self, *, backup_management_type=None, workload_type=None, container_name: str=None, source_resource_id: str=None, policy_id: str=None, last_recovery_point=None, backup_set_name: str=None, create_mode=None, deferred_delete_time_in_utc=None, is_scheduled_for_deferred_delete: bool=None, deferred_delete_time_remaining: str=None, is_deferred_delete_schedule_upcoming: bool=None, is_rehydrate: bool=None, friendly_name: str=None, virtual_machine_id: str=None, protection_status: str=None, protection_state=None, health_status=None, health_details=None, last_backup_status: str=None, last_backup_time=None, protected_item_data_id: str=None, extended_info=None, extended_properties=None, **kwargs) -> None:
super(AzureIaaSClassicComputeVMProtectedItem, self).__init__(backup_management_type=backup_management_type, workload_type=workload_type, container_name=container_name, source_resource_id=source_resource_id, policy_id=policy_id, last_recovery_point=last_recovery_point, backup_set_name=backup_set_name, create_mode=create_mode, deferred_delete_time_in_utc=deferred_delete_time_in_utc, is_scheduled_for_deferred_delete=is_scheduled_for_deferred_delete, deferred_delete_time_remaining=deferred_delete_time_remaining, is_deferred_delete_schedule_upcoming=is_deferred_delete_schedule_upcoming, is_rehydrate=is_rehydrate, friendly_name=friendly_name, virtual_machine_id=virtual_machine_id, protection_status=protection_status, protection_state=protection_state, health_status=health_status, health_details=health_details, last_backup_status=last_backup_status, last_backup_time=last_backup_time, protected_item_data_id=protected_item_data_id, extended_info=extended_info, extended_properties=extended_properties, **kwargs)
self.protected_item_type = 'Microsoft.ClassicCompute/virtualMachines'
[docs]class AzureIaaSComputeVMContainer(IaaSVMContainer):
"""IaaS VM workload-specific backup item representing an Azure Resource
Manager virtual machine.
All required parameters must be populated in order to send to Azure.
:param friendly_name: Friendly name of the container.
:type friendly_name: str
:param backup_management_type: Type of backup management for the
container. Possible values include: 'Invalid', 'AzureIaasVM', 'MAB',
'DPM', 'AzureBackupServer', 'AzureSql', 'AzureStorage', 'AzureWorkload',
'DefaultBackup'
:type backup_management_type: str or
~azure.mgmt.recoveryservicesbackup.models.BackupManagementType
:param registration_status: Status of registration of the container with
the Recovery Services Vault.
:type registration_status: str
:param health_status: Status of health of the container.
:type health_status: str
:param container_type: Required. Constant filled by server.
:type container_type: str
:param virtual_machine_id: Fully qualified ARM url of the virtual machine
represented by this Azure IaaS VM container.
:type virtual_machine_id: str
:param virtual_machine_version: Specifies whether the container represents
a Classic or an Azure Resource Manager VM.
:type virtual_machine_version: str
:param resource_group: Resource group name of Recovery Services Vault.
:type resource_group: str
"""
_validation = {
'container_type': {'required': True},
}
_attribute_map = {
'friendly_name': {'key': 'friendlyName', 'type': 'str'},
'backup_management_type': {'key': 'backupManagementType', 'type': 'str'},
'registration_status': {'key': 'registrationStatus', 'type': 'str'},
'health_status': {'key': 'healthStatus', 'type': 'str'},
'container_type': {'key': 'containerType', 'type': 'str'},
'virtual_machine_id': {'key': 'virtualMachineId', 'type': 'str'},
'virtual_machine_version': {'key': 'virtualMachineVersion', 'type': 'str'},
'resource_group': {'key': 'resourceGroup', 'type': 'str'},
}
def __init__(self, *, friendly_name: str=None, backup_management_type=None, registration_status: str=None, health_status: str=None, virtual_machine_id: str=None, virtual_machine_version: str=None, resource_group: str=None, **kwargs) -> None:
super(AzureIaaSComputeVMContainer, self).__init__(friendly_name=friendly_name, backup_management_type=backup_management_type, registration_status=registration_status, health_status=health_status, virtual_machine_id=virtual_machine_id, virtual_machine_version=virtual_machine_version, resource_group=resource_group, **kwargs)
self.container_type = 'Microsoft.Compute/virtualMachines'
[docs]class AzureIaaSComputeVMProtectableItem(IaaSVMProtectableItem):
"""IaaS VM workload-specific backup item representing the Azure Resource
Manager VM.
All required parameters must be populated in order to send to Azure.
:param backup_management_type: Type of backup management to backup an
item.
:type backup_management_type: str
:param workload_type: Type of workload for the backup management
:type workload_type: str
:param friendly_name: Friendly name of the backup item.
:type friendly_name: str
:param protection_state: State of the back up item. Possible values
include: 'Invalid', 'NotProtected', 'Protecting', 'Protected',
'ProtectionFailed'
:type protection_state: str or
~azure.mgmt.recoveryservicesbackup.models.ProtectionStatus
:param protectable_item_type: Required. Constant filled by server.
:type protectable_item_type: str
:param virtual_machine_id: Fully qualified ARM ID of the virtual machine.
:type virtual_machine_id: str
"""
_validation = {
'protectable_item_type': {'required': True},
}
_attribute_map = {
'backup_management_type': {'key': 'backupManagementType', 'type': 'str'},
'workload_type': {'key': 'workloadType', 'type': 'str'},
'friendly_name': {'key': 'friendlyName', 'type': 'str'},
'protection_state': {'key': 'protectionState', 'type': 'str'},
'protectable_item_type': {'key': 'protectableItemType', 'type': 'str'},
'virtual_machine_id': {'key': 'virtualMachineId', 'type': 'str'},
}
def __init__(self, *, backup_management_type: str=None, workload_type: str=None, friendly_name: str=None, protection_state=None, virtual_machine_id: str=None, **kwargs) -> None:
super(AzureIaaSComputeVMProtectableItem, self).__init__(backup_management_type=backup_management_type, workload_type=workload_type, friendly_name=friendly_name, protection_state=protection_state, virtual_machine_id=virtual_machine_id, **kwargs)
self.protectable_item_type = 'Microsoft.Compute/virtualMachines'
[docs]class AzureIaaSComputeVMProtectedItem(AzureIaaSVMProtectedItem):
"""IaaS VM workload-specific backup item representing the Azure Resource
Manager VM.
All required parameters must be populated in order to send to Azure.
:param backup_management_type: Type of backup management for the backed up
item. Possible values include: 'Invalid', 'AzureIaasVM', 'MAB', 'DPM',
'AzureBackupServer', 'AzureSql', 'AzureStorage', 'AzureWorkload',
'DefaultBackup'
:type backup_management_type: str or
~azure.mgmt.recoveryservicesbackup.models.BackupManagementType
:param workload_type: Type of workload this item represents. Possible
values include: 'Invalid', 'VM', 'FileFolder', 'AzureSqlDb', 'SQLDB',
'Exchange', 'Sharepoint', 'VMwareVM', 'SystemState', 'Client',
'GenericDataSource', 'SQLDataBase', 'AzureFileShare', 'SAPHanaDatabase',
'SAPAseDatabase'
:type workload_type: str or
~azure.mgmt.recoveryservicesbackup.models.DataSourceType
:param container_name: Unique name of container
:type container_name: str
:param source_resource_id: ARM ID of the resource to be backed up.
:type source_resource_id: str
:param policy_id: ID of the backup policy with which this item is backed
up.
:type policy_id: str
:param last_recovery_point: Timestamp when the last (latest) backup copy
was created for this backup item.
:type last_recovery_point: datetime
:param backup_set_name: Name of the backup set the backup item belongs to
:type backup_set_name: str
:param create_mode: Create mode to indicate recovery of existing soft
deleted data source or creation of new data source. Possible values
include: 'Invalid', 'Default', 'Recover'
:type create_mode: str or
~azure.mgmt.recoveryservicesbackup.models.CreateMode
:param deferred_delete_time_in_utc: Time for deferred deletion in UTC
:type deferred_delete_time_in_utc: datetime
:param is_scheduled_for_deferred_delete: Flag to identify whether the DS
is scheduled for deferred delete
:type is_scheduled_for_deferred_delete: bool
:param deferred_delete_time_remaining: Time remaining before the DS marked
for deferred delete is permanently deleted
:type deferred_delete_time_remaining: str
:param is_deferred_delete_schedule_upcoming: Flag to identify whether the
deferred deleted DS is to be purged soon
:type is_deferred_delete_schedule_upcoming: bool
:param is_rehydrate: Flag to identify that deferred deleted DS is to be
moved into Pause state
:type is_rehydrate: bool
:param protected_item_type: Required. Constant filled by server.
:type protected_item_type: str
:param friendly_name: Friendly name of the VM represented by this backup
item.
:type friendly_name: str
:param virtual_machine_id: Fully qualified ARM ID of the virtual machine
represented by this item.
:type virtual_machine_id: str
:param protection_status: Backup status of this backup item.
:type protection_status: str
:param protection_state: Backup state of this backup item. Possible values
include: 'Invalid', 'IRPending', 'Protected', 'ProtectionError',
'ProtectionStopped', 'ProtectionPaused'
:type protection_state: str or
~azure.mgmt.recoveryservicesbackup.models.ProtectionState
:param health_status: Health status of protected item. Possible values
include: 'Passed', 'ActionRequired', 'ActionSuggested', 'Healthy',
'TransientDegraded', 'PersistentDegraded', 'TransientUnhealthy',
'PersistentUnhealthy', 'Invalid'
:type health_status: str or
~azure.mgmt.recoveryservicesbackup.models.HealthStatus
:param health_details: Health details on this backup item.
:type health_details:
list[~azure.mgmt.recoveryservicesbackup.models.AzureIaaSVMHealthDetails]
:param last_backup_status: Last backup operation status.
:type last_backup_status: str
:param last_backup_time: Timestamp of the last backup operation on this
backup item.
:type last_backup_time: datetime
:param protected_item_data_id: Data ID of the protected item.
:type protected_item_data_id: str
:param extended_info: Additional information for this backup item.
:type extended_info:
~azure.mgmt.recoveryservicesbackup.models.AzureIaaSVMProtectedItemExtendedInfo
:param extended_properties:
:type extended_properties:
~azure.mgmt.recoveryservicesbackup.models.ExtendedProperties
"""
_validation = {
'protected_item_type': {'required': True},
}
_attribute_map = {
'backup_management_type': {'key': 'backupManagementType', 'type': 'str'},
'workload_type': {'key': 'workloadType', 'type': 'str'},
'container_name': {'key': 'containerName', 'type': 'str'},
'source_resource_id': {'key': 'sourceResourceId', 'type': 'str'},
'policy_id': {'key': 'policyId', 'type': 'str'},
'last_recovery_point': {'key': 'lastRecoveryPoint', 'type': 'iso-8601'},
'backup_set_name': {'key': 'backupSetName', 'type': 'str'},
'create_mode': {'key': 'createMode', 'type': 'str'},
'deferred_delete_time_in_utc': {'key': 'deferredDeleteTimeInUTC', 'type': 'iso-8601'},
'is_scheduled_for_deferred_delete': {'key': 'isScheduledForDeferredDelete', 'type': 'bool'},
'deferred_delete_time_remaining': {'key': 'deferredDeleteTimeRemaining', 'type': 'str'},
'is_deferred_delete_schedule_upcoming': {'key': 'isDeferredDeleteScheduleUpcoming', 'type': 'bool'},
'is_rehydrate': {'key': 'isRehydrate', 'type': 'bool'},
'protected_item_type': {'key': 'protectedItemType', 'type': 'str'},
'friendly_name': {'key': 'friendlyName', 'type': 'str'},
'virtual_machine_id': {'key': 'virtualMachineId', 'type': 'str'},
'protection_status': {'key': 'protectionStatus', 'type': 'str'},
'protection_state': {'key': 'protectionState', 'type': 'str'},
'health_status': {'key': 'healthStatus', 'type': 'str'},
'health_details': {'key': 'healthDetails', 'type': '[AzureIaaSVMHealthDetails]'},
'last_backup_status': {'key': 'lastBackupStatus', 'type': 'str'},
'last_backup_time': {'key': 'lastBackupTime', 'type': 'iso-8601'},
'protected_item_data_id': {'key': 'protectedItemDataId', 'type': 'str'},
'extended_info': {'key': 'extendedInfo', 'type': 'AzureIaaSVMProtectedItemExtendedInfo'},
'extended_properties': {'key': 'extendedProperties', 'type': 'ExtendedProperties'},
}
def __init__(self, *, backup_management_type=None, workload_type=None, container_name: str=None, source_resource_id: str=None, policy_id: str=None, last_recovery_point=None, backup_set_name: str=None, create_mode=None, deferred_delete_time_in_utc=None, is_scheduled_for_deferred_delete: bool=None, deferred_delete_time_remaining: str=None, is_deferred_delete_schedule_upcoming: bool=None, is_rehydrate: bool=None, friendly_name: str=None, virtual_machine_id: str=None, protection_status: str=None, protection_state=None, health_status=None, health_details=None, last_backup_status: str=None, last_backup_time=None, protected_item_data_id: str=None, extended_info=None, extended_properties=None, **kwargs) -> None:
super(AzureIaaSComputeVMProtectedItem, self).__init__(backup_management_type=backup_management_type, workload_type=workload_type, container_name=container_name, source_resource_id=source_resource_id, policy_id=policy_id, last_recovery_point=last_recovery_point, backup_set_name=backup_set_name, create_mode=create_mode, deferred_delete_time_in_utc=deferred_delete_time_in_utc, is_scheduled_for_deferred_delete=is_scheduled_for_deferred_delete, deferred_delete_time_remaining=deferred_delete_time_remaining, is_deferred_delete_schedule_upcoming=is_deferred_delete_schedule_upcoming, is_rehydrate=is_rehydrate, friendly_name=friendly_name, virtual_machine_id=virtual_machine_id, protection_status=protection_status, protection_state=protection_state, health_status=health_status, health_details=health_details, last_backup_status=last_backup_status, last_backup_time=last_backup_time, protected_item_data_id=protected_item_data_id, extended_info=extended_info, extended_properties=extended_properties, **kwargs)
self.protected_item_type = 'Microsoft.Compute/virtualMachines'
[docs]class AzureIaaSVMErrorInfo(Model):
"""Azure IaaS VM workload-specific error information.
Variables are only populated by the server, and will be ignored when
sending a request.
:ivar error_code: Error code.
:vartype error_code: int
:ivar error_title: Title: Typically, the entity that the error pertains
to.
:vartype error_title: str
:ivar error_string: Localized error string.
:vartype error_string: str
:ivar recommendations: List of localized recommendations for above error
code.
:vartype recommendations: list[str]
"""
_validation = {
'error_code': {'readonly': True},
'error_title': {'readonly': True},
'error_string': {'readonly': True},
'recommendations': {'readonly': True},
}
_attribute_map = {
'error_code': {'key': 'errorCode', 'type': 'int'},
'error_title': {'key': 'errorTitle', 'type': 'str'},
'error_string': {'key': 'errorString', 'type': 'str'},
'recommendations': {'key': 'recommendations', 'type': '[str]'},
}
def __init__(self, **kwargs) -> None:
super(AzureIaaSVMErrorInfo, self).__init__(**kwargs)
self.error_code = None
self.error_title = None
self.error_string = None
self.recommendations = None
[docs]class HealthDetails(Model):
"""Health Details for backup items.
Variables are only populated by the server, and will be ignored when
sending a request.
:ivar code: Health Code
:vartype code: int
:ivar title: Health Title
:vartype title: str
:ivar message: Health Message
:vartype message: str
:ivar recommendations: Health Recommended Actions
:vartype recommendations: list[str]
"""
_validation = {
'code': {'readonly': True},
'title': {'readonly': True},
'message': {'readonly': True},
'recommendations': {'readonly': True},
}
_attribute_map = {
'code': {'key': 'code', 'type': 'int'},
'title': {'key': 'title', 'type': 'str'},
'message': {'key': 'message', 'type': 'str'},
'recommendations': {'key': 'recommendations', 'type': '[str]'},
}
def __init__(self, **kwargs) -> None:
super(HealthDetails, self).__init__(**kwargs)
self.code = None
self.title = None
self.message = None
self.recommendations = None
[docs]class AzureIaaSVMHealthDetails(HealthDetails):
"""Azure IaaS VM workload-specific Health Details.
Variables are only populated by the server, and will be ignored when
sending a request.
:ivar code: Health Code
:vartype code: int
:ivar title: Health Title
:vartype title: str
:ivar message: Health Message
:vartype message: str
:ivar recommendations: Health Recommended Actions
:vartype recommendations: list[str]
"""
_validation = {
'code': {'readonly': True},
'title': {'readonly': True},
'message': {'readonly': True},
'recommendations': {'readonly': True},
}
_attribute_map = {
'code': {'key': 'code', 'type': 'int'},
'title': {'key': 'title', 'type': 'str'},
'message': {'key': 'message', 'type': 'str'},
'recommendations': {'key': 'recommendations', 'type': '[str]'},
}
def __init__(self, **kwargs) -> None:
super(AzureIaaSVMHealthDetails, self).__init__(**kwargs)
[docs]class Job(Model):
"""Defines workload agnostic properties for a job.
You probably want to use the sub-classes and not this class directly. Known
sub-classes are: AzureIaaSVMJob, AzureStorageJob, AzureWorkloadJob, DpmJob,
MabJob
All required parameters must be populated in order to send to Azure.
:param entity_friendly_name: Friendly name of the entity on which the
current job is executing.
:type entity_friendly_name: str
:param backup_management_type: Backup management type to execute the
current job. Possible values include: 'Invalid', 'AzureIaasVM', 'MAB',
'DPM', 'AzureBackupServer', 'AzureSql', 'AzureStorage', 'AzureWorkload',
'DefaultBackup'
:type backup_management_type: str or
~azure.mgmt.recoveryservicesbackup.models.BackupManagementType
:param operation: The operation name.
:type operation: str
:param status: Job status.
:type status: str
:param start_time: The start time.
:type start_time: datetime
:param end_time: The end time.
:type end_time: datetime
:param activity_id: ActivityId of job.
:type activity_id: str
:param job_type: Required. Constant filled by server.
:type job_type: str
"""
_validation = {
'job_type': {'required': True},
}
_attribute_map = {
'entity_friendly_name': {'key': 'entityFriendlyName', 'type': 'str'},
'backup_management_type': {'key': 'backupManagementType', 'type': 'str'},
'operation': {'key': 'operation', 'type': 'str'},
'status': {'key': 'status', 'type': 'str'},
'start_time': {'key': 'startTime', 'type': 'iso-8601'},
'end_time': {'key': 'endTime', 'type': 'iso-8601'},
'activity_id': {'key': 'activityId', 'type': 'str'},
'job_type': {'key': 'jobType', 'type': 'str'},
}
_subtype_map = {
'job_type': {'AzureIaaSVMJob': 'AzureIaaSVMJob', 'AzureStorageJob': 'AzureStorageJob', 'AzureWorkloadJob': 'AzureWorkloadJob', 'DpmJob': 'DpmJob', 'MabJob': 'MabJob'}
}
def __init__(self, *, entity_friendly_name: str=None, backup_management_type=None, operation: str=None, status: str=None, start_time=None, end_time=None, activity_id: str=None, **kwargs) -> None:
super(Job, self).__init__(**kwargs)
self.entity_friendly_name = entity_friendly_name
self.backup_management_type = backup_management_type
self.operation = operation
self.status = status
self.start_time = start_time
self.end_time = end_time
self.activity_id = activity_id
self.job_type = None
[docs]class AzureIaaSVMJob(Job):
"""Azure IaaS VM workload-specific job object.
All required parameters must be populated in order to send to Azure.
:param entity_friendly_name: Friendly name of the entity on which the
current job is executing.
:type entity_friendly_name: str
:param backup_management_type: Backup management type to execute the
current job. Possible values include: 'Invalid', 'AzureIaasVM', 'MAB',
'DPM', 'AzureBackupServer', 'AzureSql', 'AzureStorage', 'AzureWorkload',
'DefaultBackup'
:type backup_management_type: str or
~azure.mgmt.recoveryservicesbackup.models.BackupManagementType
:param operation: The operation name.
:type operation: str
:param status: Job status.
:type status: str
:param start_time: The start time.
:type start_time: datetime
:param end_time: The end time.
:type end_time: datetime
:param activity_id: ActivityId of job.
:type activity_id: str
:param job_type: Required. Constant filled by server.
:type job_type: str
:param duration: Time elapsed during the execution of this job.
:type duration: timedelta
:param actions_info: Gets or sets the state/actions applicable on this job
like cancel/retry.
:type actions_info: list[str or
~azure.mgmt.recoveryservicesbackup.models.JobSupportedAction]
:param error_details: Error details on execution of this job.
:type error_details:
list[~azure.mgmt.recoveryservicesbackup.models.AzureIaaSVMErrorInfo]
:param virtual_machine_version: Specifies whether the backup item is a
Classic or an Azure Resource Manager VM.
:type virtual_machine_version: str
:param extended_info: Additional information for this job.
:type extended_info:
~azure.mgmt.recoveryservicesbackup.models.AzureIaaSVMJobExtendedInfo
"""
_validation = {
'job_type': {'required': True},
}
_attribute_map = {
'entity_friendly_name': {'key': 'entityFriendlyName', 'type': 'str'},
'backup_management_type': {'key': 'backupManagementType', 'type': 'str'},
'operation': {'key': 'operation', 'type': 'str'},
'status': {'key': 'status', 'type': 'str'},
'start_time': {'key': 'startTime', 'type': 'iso-8601'},
'end_time': {'key': 'endTime', 'type': 'iso-8601'},
'activity_id': {'key': 'activityId', 'type': 'str'},
'job_type': {'key': 'jobType', 'type': 'str'},
'duration': {'key': 'duration', 'type': 'duration'},
'actions_info': {'key': 'actionsInfo', 'type': '[JobSupportedAction]'},
'error_details': {'key': 'errorDetails', 'type': '[AzureIaaSVMErrorInfo]'},
'virtual_machine_version': {'key': 'virtualMachineVersion', 'type': 'str'},
'extended_info': {'key': 'extendedInfo', 'type': 'AzureIaaSVMJobExtendedInfo'},
}
def __init__(self, *, entity_friendly_name: str=None, backup_management_type=None, operation: str=None, status: str=None, start_time=None, end_time=None, activity_id: str=None, duration=None, actions_info=None, error_details=None, virtual_machine_version: str=None, extended_info=None, **kwargs) -> None:
super(AzureIaaSVMJob, self).__init__(entity_friendly_name=entity_friendly_name, backup_management_type=backup_management_type, operation=operation, status=status, start_time=start_time, end_time=end_time, activity_id=activity_id, **kwargs)
self.duration = duration
self.actions_info = actions_info
self.error_details = error_details
self.virtual_machine_version = virtual_machine_version
self.extended_info = extended_info
self.job_type = 'AzureIaaSVMJob'
[docs]class AzureIaaSVMJobExtendedInfo(Model):
"""Azure IaaS VM workload-specific additional information for job.
:param tasks_list: List of tasks associated with this job.
:type tasks_list:
list[~azure.mgmt.recoveryservicesbackup.models.AzureIaaSVMJobTaskDetails]
:param property_bag: Job properties.
:type property_bag: dict[str, str]
:param internal_property_bag: Job internal properties.
:type internal_property_bag: dict[str, str]
:param progress_percentage: Indicates progress of the job. Null if it has
not started or completed.
:type progress_percentage: float
:param estimated_remaining_duration: Time remaining for execution of this
job.
:type estimated_remaining_duration: str
:param dynamic_error_message: Non localized error message on job
execution.
:type dynamic_error_message: str
"""
_attribute_map = {
'tasks_list': {'key': 'tasksList', 'type': '[AzureIaaSVMJobTaskDetails]'},
'property_bag': {'key': 'propertyBag', 'type': '{str}'},
'internal_property_bag': {'key': 'internalPropertyBag', 'type': '{str}'},
'progress_percentage': {'key': 'progressPercentage', 'type': 'float'},
'estimated_remaining_duration': {'key': 'estimatedRemainingDuration', 'type': 'str'},
'dynamic_error_message': {'key': 'dynamicErrorMessage', 'type': 'str'},
}
def __init__(self, *, tasks_list=None, property_bag=None, internal_property_bag=None, progress_percentage: float=None, estimated_remaining_duration: str=None, dynamic_error_message: str=None, **kwargs) -> None:
super(AzureIaaSVMJobExtendedInfo, self).__init__(**kwargs)
self.tasks_list = tasks_list
self.property_bag = property_bag
self.internal_property_bag = internal_property_bag
self.progress_percentage = progress_percentage
self.estimated_remaining_duration = estimated_remaining_duration
self.dynamic_error_message = dynamic_error_message
[docs]class AzureIaaSVMJobTaskDetails(Model):
"""Azure IaaS VM workload-specific job task details.
:param task_id: The task display name.
:type task_id: str
:param start_time: The start time.
:type start_time: datetime
:param end_time: The end time.
:type end_time: datetime
:param instance_id: The instanceId.
:type instance_id: str
:param duration: Time elapsed for task.
:type duration: timedelta
:param status: The status.
:type status: str
:param progress_percentage: Progress of the task.
:type progress_percentage: float
:param task_execution_details: Details about execution of the task.
eg: number of bytes transferred etc
:type task_execution_details: str
"""
_attribute_map = {
'task_id': {'key': 'taskId', 'type': 'str'},
'start_time': {'key': 'startTime', 'type': 'iso-8601'},
'end_time': {'key': 'endTime', 'type': 'iso-8601'},
'instance_id': {'key': 'instanceId', 'type': 'str'},
'duration': {'key': 'duration', 'type': 'duration'},
'status': {'key': 'status', 'type': 'str'},
'progress_percentage': {'key': 'progressPercentage', 'type': 'float'},
'task_execution_details': {'key': 'taskExecutionDetails', 'type': 'str'},
}
def __init__(self, *, task_id: str=None, start_time=None, end_time=None, instance_id: str=None, duration=None, status: str=None, progress_percentage: float=None, task_execution_details: str=None, **kwargs) -> None:
super(AzureIaaSVMJobTaskDetails, self).__init__(**kwargs)
self.task_id = task_id
self.start_time = start_time
self.end_time = end_time
self.instance_id = instance_id
self.duration = duration
self.status = status
self.progress_percentage = progress_percentage
self.task_execution_details = task_execution_details
[docs]class AzureIaaSVMProtectedItemExtendedInfo(Model):
"""Additional information on Azure IaaS VM specific backup item.
:param oldest_recovery_point: The oldest backup copy available for this
backup item.
:type oldest_recovery_point: datetime
:param recovery_point_count: Number of backup copies available for this
backup item.
:type recovery_point_count: int
:param policy_inconsistent: Specifies if backup policy associated with the
backup item is inconsistent.
:type policy_inconsistent: bool
"""
_attribute_map = {
'oldest_recovery_point': {'key': 'oldestRecoveryPoint', 'type': 'iso-8601'},
'recovery_point_count': {'key': 'recoveryPointCount', 'type': 'int'},
'policy_inconsistent': {'key': 'policyInconsistent', 'type': 'bool'},
}
def __init__(self, *, oldest_recovery_point=None, recovery_point_count: int=None, policy_inconsistent: bool=None, **kwargs) -> None:
super(AzureIaaSVMProtectedItemExtendedInfo, self).__init__(**kwargs)
self.oldest_recovery_point = oldest_recovery_point
self.recovery_point_count = recovery_point_count
self.policy_inconsistent = policy_inconsistent
[docs]class AzureIaaSVMProtectionPolicy(ProtectionPolicy):
"""IaaS VM workload-specific backup policy.
All required parameters must be populated in order to send to Azure.
:param protected_items_count: Number of items associated with this policy.
:type protected_items_count: int
:param backup_management_type: Required. Constant filled by server.
:type backup_management_type: str
:param instant_rp_details:
:type instant_rp_details:
~azure.mgmt.recoveryservicesbackup.models.InstantRPAdditionalDetails
:param schedule_policy: Backup schedule specified as part of backup
policy.
:type schedule_policy:
~azure.mgmt.recoveryservicesbackup.models.SchedulePolicy
:param retention_policy: Retention policy with the details on backup copy
retention ranges.
:type retention_policy:
~azure.mgmt.recoveryservicesbackup.models.RetentionPolicy
:param instant_rp_retention_range_in_days: Instant RP retention policy
range in days
:type instant_rp_retention_range_in_days: int
:param time_zone: TimeZone optional input as string. For example: TimeZone
= "Pacific Standard Time".
:type time_zone: str
"""
_validation = {
'backup_management_type': {'required': True},
}
_attribute_map = {
'protected_items_count': {'key': 'protectedItemsCount', 'type': 'int'},
'backup_management_type': {'key': 'backupManagementType', 'type': 'str'},
'instant_rp_details': {'key': 'instantRPDetails', 'type': 'InstantRPAdditionalDetails'},
'schedule_policy': {'key': 'schedulePolicy', 'type': 'SchedulePolicy'},
'retention_policy': {'key': 'retentionPolicy', 'type': 'RetentionPolicy'},
'instant_rp_retention_range_in_days': {'key': 'instantRpRetentionRangeInDays', 'type': 'int'},
'time_zone': {'key': 'timeZone', 'type': 'str'},
}
def __init__(self, *, protected_items_count: int=None, instant_rp_details=None, schedule_policy=None, retention_policy=None, instant_rp_retention_range_in_days: int=None, time_zone: str=None, **kwargs) -> None:
super(AzureIaaSVMProtectionPolicy, self).__init__(protected_items_count=protected_items_count, **kwargs)
self.instant_rp_details = instant_rp_details
self.schedule_policy = schedule_policy
self.retention_policy = retention_policy
self.instant_rp_retention_range_in_days = instant_rp_retention_range_in_days
self.time_zone = time_zone
self.backup_management_type = 'AzureIaasVM'
[docs]class ProtectionIntent(Model):
"""Base class for backup ProtectionIntent.
You probably want to use the sub-classes and not this class directly. Known
sub-classes are: AzureRecoveryServiceVaultProtectionIntent,
AzureResourceProtectionIntent
All required parameters must be populated in order to send to Azure.
:param backup_management_type: Type of backup management for the backed up
item. Possible values include: 'Invalid', 'AzureIaasVM', 'MAB', 'DPM',
'AzureBackupServer', 'AzureSql', 'AzureStorage', 'AzureWorkload',
'DefaultBackup'
:type backup_management_type: str or
~azure.mgmt.recoveryservicesbackup.models.BackupManagementType
:param source_resource_id: ARM ID of the resource to be backed up.
:type source_resource_id: str
:param item_id: ID of the item which is getting protected, In case of
Azure Vm , it is ProtectedItemId
:type item_id: str
:param policy_id: ID of the backup policy with which this item is backed
up.
:type policy_id: str
:param protection_state: Backup state of this backup item. Possible values
include: 'Invalid', 'NotProtected', 'Protecting', 'Protected',
'ProtectionFailed'
:type protection_state: str or
~azure.mgmt.recoveryservicesbackup.models.ProtectionStatus
:param protection_intent_item_type: Required. Constant filled by server.
:type protection_intent_item_type: str
"""
_validation = {
'protection_intent_item_type': {'required': True},
}
_attribute_map = {
'backup_management_type': {'key': 'backupManagementType', 'type': 'str'},
'source_resource_id': {'key': 'sourceResourceId', 'type': 'str'},
'item_id': {'key': 'itemId', 'type': 'str'},
'policy_id': {'key': 'policyId', 'type': 'str'},
'protection_state': {'key': 'protectionState', 'type': 'str'},
'protection_intent_item_type': {'key': 'protectionIntentItemType', 'type': 'str'},
}
_subtype_map = {
'protection_intent_item_type': {'RecoveryServiceVaultItem': 'AzureRecoveryServiceVaultProtectionIntent', 'AzureResourceItem': 'AzureResourceProtectionIntent'}
}
def __init__(self, *, backup_management_type=None, source_resource_id: str=None, item_id: str=None, policy_id: str=None, protection_state=None, **kwargs) -> None:
super(ProtectionIntent, self).__init__(**kwargs)
self.backup_management_type = backup_management_type
self.source_resource_id = source_resource_id
self.item_id = item_id
self.policy_id = policy_id
self.protection_state = protection_state
self.protection_intent_item_type = None
[docs]class AzureRecoveryServiceVaultProtectionIntent(ProtectionIntent):
"""Azure Recovery Services Vault specific protection intent item.
You probably want to use the sub-classes and not this class directly. Known
sub-classes are: AzureWorkloadAutoProtectionIntent
All required parameters must be populated in order to send to Azure.
:param backup_management_type: Type of backup management for the backed up
item. Possible values include: 'Invalid', 'AzureIaasVM', 'MAB', 'DPM',
'AzureBackupServer', 'AzureSql', 'AzureStorage', 'AzureWorkload',
'DefaultBackup'
:type backup_management_type: str or
~azure.mgmt.recoveryservicesbackup.models.BackupManagementType
:param source_resource_id: ARM ID of the resource to be backed up.
:type source_resource_id: str
:param item_id: ID of the item which is getting protected, In case of
Azure Vm , it is ProtectedItemId
:type item_id: str
:param policy_id: ID of the backup policy with which this item is backed
up.
:type policy_id: str
:param protection_state: Backup state of this backup item. Possible values
include: 'Invalid', 'NotProtected', 'Protecting', 'Protected',
'ProtectionFailed'
:type protection_state: str or
~azure.mgmt.recoveryservicesbackup.models.ProtectionStatus
:param protection_intent_item_type: Required. Constant filled by server.
:type protection_intent_item_type: str
"""
_validation = {
'protection_intent_item_type': {'required': True},
}
_attribute_map = {
'backup_management_type': {'key': 'backupManagementType', 'type': 'str'},
'source_resource_id': {'key': 'sourceResourceId', 'type': 'str'},
'item_id': {'key': 'itemId', 'type': 'str'},
'policy_id': {'key': 'policyId', 'type': 'str'},
'protection_state': {'key': 'protectionState', 'type': 'str'},
'protection_intent_item_type': {'key': 'protectionIntentItemType', 'type': 'str'},
}
_subtype_map = {
'protection_intent_item_type': {'AzureWorkloadAutoProtectionIntent': 'AzureWorkloadAutoProtectionIntent'}
}
def __init__(self, *, backup_management_type=None, source_resource_id: str=None, item_id: str=None, policy_id: str=None, protection_state=None, **kwargs) -> None:
super(AzureRecoveryServiceVaultProtectionIntent, self).__init__(backup_management_type=backup_management_type, source_resource_id=source_resource_id, item_id=item_id, policy_id=policy_id, protection_state=protection_state, **kwargs)
self.protection_intent_item_type = 'RecoveryServiceVaultItem'
[docs]class AzureResourceProtectionIntent(ProtectionIntent):
"""IaaS VM specific backup protection intent item.
All required parameters must be populated in order to send to Azure.
:param backup_management_type: Type of backup management for the backed up
item. Possible values include: 'Invalid', 'AzureIaasVM', 'MAB', 'DPM',
'AzureBackupServer', 'AzureSql', 'AzureStorage', 'AzureWorkload',
'DefaultBackup'
:type backup_management_type: str or
~azure.mgmt.recoveryservicesbackup.models.BackupManagementType
:param source_resource_id: ARM ID of the resource to be backed up.
:type source_resource_id: str
:param item_id: ID of the item which is getting protected, In case of
Azure Vm , it is ProtectedItemId
:type item_id: str
:param policy_id: ID of the backup policy with which this item is backed
up.
:type policy_id: str
:param protection_state: Backup state of this backup item. Possible values
include: 'Invalid', 'NotProtected', 'Protecting', 'Protected',
'ProtectionFailed'
:type protection_state: str or
~azure.mgmt.recoveryservicesbackup.models.ProtectionStatus
:param protection_intent_item_type: Required. Constant filled by server.
:type protection_intent_item_type: str
:param friendly_name: Friendly name of the VM represented by this backup
item.
:type friendly_name: str
"""
_validation = {
'protection_intent_item_type': {'required': True},
}
_attribute_map = {
'backup_management_type': {'key': 'backupManagementType', 'type': 'str'},
'source_resource_id': {'key': 'sourceResourceId', 'type': 'str'},
'item_id': {'key': 'itemId', 'type': 'str'},
'policy_id': {'key': 'policyId', 'type': 'str'},
'protection_state': {'key': 'protectionState', 'type': 'str'},
'protection_intent_item_type': {'key': 'protectionIntentItemType', 'type': 'str'},
'friendly_name': {'key': 'friendlyName', 'type': 'str'},
}
def __init__(self, *, backup_management_type=None, source_resource_id: str=None, item_id: str=None, policy_id: str=None, protection_state=None, friendly_name: str=None, **kwargs) -> None:
super(AzureResourceProtectionIntent, self).__init__(backup_management_type=backup_management_type, source_resource_id=source_resource_id, item_id=item_id, policy_id=policy_id, protection_state=protection_state, **kwargs)
self.friendly_name = friendly_name
self.protection_intent_item_type = 'AzureResourceItem'
[docs]class AzureWorkloadContainer(ProtectionContainer):
"""Container for the workloads running inside Azure Compute or Classic
Compute.
You probably want to use the sub-classes and not this class directly. Known
sub-classes are: AzureSQLAGWorkloadContainerProtectionContainer,
AzureVMAppContainerProtectionContainer
All required parameters must be populated in order to send to Azure.
:param friendly_name: Friendly name of the container.
:type friendly_name: str
:param backup_management_type: Type of backup management for the
container. Possible values include: 'Invalid', 'AzureIaasVM', 'MAB',
'DPM', 'AzureBackupServer', 'AzureSql', 'AzureStorage', 'AzureWorkload',
'DefaultBackup'
:type backup_management_type: str or
~azure.mgmt.recoveryservicesbackup.models.BackupManagementType
:param registration_status: Status of registration of the container with
the Recovery Services Vault.
:type registration_status: str
:param health_status: Status of health of the container.
:type health_status: str
:param container_type: Required. Constant filled by server.
:type container_type: str
:param source_resource_id: ARM ID of the virtual machine represented by
this Azure Workload Container
:type source_resource_id: str
:param last_updated_time: Time stamp when this container was updated.
:type last_updated_time: datetime
:param extended_info: Additional details of a workload container.
:type extended_info:
~azure.mgmt.recoveryservicesbackup.models.AzureWorkloadContainerExtendedInfo
:param workload_type: Workload type for which registration was sent.
Possible values include: 'Invalid', 'VM', 'FileFolder', 'AzureSqlDb',
'SQLDB', 'Exchange', 'Sharepoint', 'VMwareVM', 'SystemState', 'Client',
'GenericDataSource', 'SQLDataBase', 'AzureFileShare', 'SAPHanaDatabase',
'SAPAseDatabase'
:type workload_type: str or
~azure.mgmt.recoveryservicesbackup.models.WorkloadType
:param operation_type: Re-Do Operation. Possible values include:
'Invalid', 'Register', 'Reregister'
:type operation_type: str or
~azure.mgmt.recoveryservicesbackup.models.OperationType
"""
_validation = {
'container_type': {'required': True},
}
_attribute_map = {
'friendly_name': {'key': 'friendlyName', 'type': 'str'},
'backup_management_type': {'key': 'backupManagementType', 'type': 'str'},
'registration_status': {'key': 'registrationStatus', 'type': 'str'},
'health_status': {'key': 'healthStatus', 'type': 'str'},
'container_type': {'key': 'containerType', 'type': 'str'},
'source_resource_id': {'key': 'sourceResourceId', 'type': 'str'},
'last_updated_time': {'key': 'lastUpdatedTime', 'type': 'iso-8601'},
'extended_info': {'key': 'extendedInfo', 'type': 'AzureWorkloadContainerExtendedInfo'},
'workload_type': {'key': 'workloadType', 'type': 'str'},
'operation_type': {'key': 'operationType', 'type': 'str'},
}
_subtype_map = {
'container_type': {'SQLAGWorkLoadContainer': 'AzureSQLAGWorkloadContainerProtectionContainer', 'VMAppContainer': 'AzureVMAppContainerProtectionContainer'}
}
def __init__(self, *, friendly_name: str=None, backup_management_type=None, registration_status: str=None, health_status: str=None, source_resource_id: str=None, last_updated_time=None, extended_info=None, workload_type=None, operation_type=None, **kwargs) -> None:
super(AzureWorkloadContainer, self).__init__(friendly_name=friendly_name, backup_management_type=backup_management_type, registration_status=registration_status, health_status=health_status, **kwargs)
self.source_resource_id = source_resource_id
self.last_updated_time = last_updated_time
self.extended_info = extended_info
self.workload_type = workload_type
self.operation_type = operation_type
self.container_type = 'AzureWorkloadContainer'
[docs]class AzureSQLAGWorkloadContainerProtectionContainer(AzureWorkloadContainer):
"""Container for SQL workloads under SQL Availability Group.
All required parameters must be populated in order to send to Azure.
:param friendly_name: Friendly name of the container.
:type friendly_name: str
:param backup_management_type: Type of backup management for the
container. Possible values include: 'Invalid', 'AzureIaasVM', 'MAB',
'DPM', 'AzureBackupServer', 'AzureSql', 'AzureStorage', 'AzureWorkload',
'DefaultBackup'
:type backup_management_type: str or
~azure.mgmt.recoveryservicesbackup.models.BackupManagementType
:param registration_status: Status of registration of the container with
the Recovery Services Vault.
:type registration_status: str
:param health_status: Status of health of the container.
:type health_status: str
:param container_type: Required. Constant filled by server.
:type container_type: str
:param source_resource_id: ARM ID of the virtual machine represented by
this Azure Workload Container
:type source_resource_id: str
:param last_updated_time: Time stamp when this container was updated.
:type last_updated_time: datetime
:param extended_info: Additional details of a workload container.
:type extended_info:
~azure.mgmt.recoveryservicesbackup.models.AzureWorkloadContainerExtendedInfo
:param workload_type: Workload type for which registration was sent.
Possible values include: 'Invalid', 'VM', 'FileFolder', 'AzureSqlDb',
'SQLDB', 'Exchange', 'Sharepoint', 'VMwareVM', 'SystemState', 'Client',
'GenericDataSource', 'SQLDataBase', 'AzureFileShare', 'SAPHanaDatabase',
'SAPAseDatabase'
:type workload_type: str or
~azure.mgmt.recoveryservicesbackup.models.WorkloadType
:param operation_type: Re-Do Operation. Possible values include:
'Invalid', 'Register', 'Reregister'
:type operation_type: str or
~azure.mgmt.recoveryservicesbackup.models.OperationType
"""
_validation = {
'container_type': {'required': True},
}
_attribute_map = {
'friendly_name': {'key': 'friendlyName', 'type': 'str'},
'backup_management_type': {'key': 'backupManagementType', 'type': 'str'},
'registration_status': {'key': 'registrationStatus', 'type': 'str'},
'health_status': {'key': 'healthStatus', 'type': 'str'},
'container_type': {'key': 'containerType', 'type': 'str'},
'source_resource_id': {'key': 'sourceResourceId', 'type': 'str'},
'last_updated_time': {'key': 'lastUpdatedTime', 'type': 'iso-8601'},
'extended_info': {'key': 'extendedInfo', 'type': 'AzureWorkloadContainerExtendedInfo'},
'workload_type': {'key': 'workloadType', 'type': 'str'},
'operation_type': {'key': 'operationType', 'type': 'str'},
}
def __init__(self, *, friendly_name: str=None, backup_management_type=None, registration_status: str=None, health_status: str=None, source_resource_id: str=None, last_updated_time=None, extended_info=None, workload_type=None, operation_type=None, **kwargs) -> None:
super(AzureSQLAGWorkloadContainerProtectionContainer, self).__init__(friendly_name=friendly_name, backup_management_type=backup_management_type, registration_status=registration_status, health_status=health_status, source_resource_id=source_resource_id, last_updated_time=last_updated_time, extended_info=extended_info, workload_type=workload_type, operation_type=operation_type, **kwargs)
self.container_type = 'SQLAGWorkLoadContainer'
[docs]class AzureSqlContainer(ProtectionContainer):
"""Azure Sql workload-specific container.
All required parameters must be populated in order to send to Azure.
:param friendly_name: Friendly name of the container.
:type friendly_name: str
:param backup_management_type: Type of backup management for the
container. Possible values include: 'Invalid', 'AzureIaasVM', 'MAB',
'DPM', 'AzureBackupServer', 'AzureSql', 'AzureStorage', 'AzureWorkload',
'DefaultBackup'
:type backup_management_type: str or
~azure.mgmt.recoveryservicesbackup.models.BackupManagementType
:param registration_status: Status of registration of the container with
the Recovery Services Vault.
:type registration_status: str
:param health_status: Status of health of the container.
:type health_status: str
:param container_type: Required. Constant filled by server.
:type container_type: str
"""
_validation = {
'container_type': {'required': True},
}
_attribute_map = {
'friendly_name': {'key': 'friendlyName', 'type': 'str'},
'backup_management_type': {'key': 'backupManagementType', 'type': 'str'},
'registration_status': {'key': 'registrationStatus', 'type': 'str'},
'health_status': {'key': 'healthStatus', 'type': 'str'},
'container_type': {'key': 'containerType', 'type': 'str'},
}
def __init__(self, *, friendly_name: str=None, backup_management_type=None, registration_status: str=None, health_status: str=None, **kwargs) -> None:
super(AzureSqlContainer, self).__init__(friendly_name=friendly_name, backup_management_type=backup_management_type, registration_status=registration_status, health_status=health_status, **kwargs)
self.container_type = 'AzureSqlContainer'
[docs]class AzureSqlProtectedItem(ProtectedItem):
"""Azure SQL workload-specific backup item.
All required parameters must be populated in order to send to Azure.
:param backup_management_type: Type of backup management for the backed up
item. Possible values include: 'Invalid', 'AzureIaasVM', 'MAB', 'DPM',
'AzureBackupServer', 'AzureSql', 'AzureStorage', 'AzureWorkload',
'DefaultBackup'
:type backup_management_type: str or
~azure.mgmt.recoveryservicesbackup.models.BackupManagementType
:param workload_type: Type of workload this item represents. Possible
values include: 'Invalid', 'VM', 'FileFolder', 'AzureSqlDb', 'SQLDB',
'Exchange', 'Sharepoint', 'VMwareVM', 'SystemState', 'Client',
'GenericDataSource', 'SQLDataBase', 'AzureFileShare', 'SAPHanaDatabase',
'SAPAseDatabase'
:type workload_type: str or
~azure.mgmt.recoveryservicesbackup.models.DataSourceType
:param container_name: Unique name of container
:type container_name: str
:param source_resource_id: ARM ID of the resource to be backed up.
:type source_resource_id: str
:param policy_id: ID of the backup policy with which this item is backed
up.
:type policy_id: str
:param last_recovery_point: Timestamp when the last (latest) backup copy
was created for this backup item.
:type last_recovery_point: datetime
:param backup_set_name: Name of the backup set the backup item belongs to
:type backup_set_name: str
:param create_mode: Create mode to indicate recovery of existing soft
deleted data source or creation of new data source. Possible values
include: 'Invalid', 'Default', 'Recover'
:type create_mode: str or
~azure.mgmt.recoveryservicesbackup.models.CreateMode
:param deferred_delete_time_in_utc: Time for deferred deletion in UTC
:type deferred_delete_time_in_utc: datetime
:param is_scheduled_for_deferred_delete: Flag to identify whether the DS
is scheduled for deferred delete
:type is_scheduled_for_deferred_delete: bool
:param deferred_delete_time_remaining: Time remaining before the DS marked
for deferred delete is permanently deleted
:type deferred_delete_time_remaining: str
:param is_deferred_delete_schedule_upcoming: Flag to identify whether the
deferred deleted DS is to be purged soon
:type is_deferred_delete_schedule_upcoming: bool
:param is_rehydrate: Flag to identify that deferred deleted DS is to be
moved into Pause state
:type is_rehydrate: bool
:param protected_item_type: Required. Constant filled by server.
:type protected_item_type: str
:param protected_item_data_id: Internal ID of a backup item. Used by Azure
SQL Backup engine to contact Recovery Services.
:type protected_item_data_id: str
:param protection_state: Backup state of the backed up item. Possible
values include: 'Invalid', 'IRPending', 'Protected', 'ProtectionError',
'ProtectionStopped', 'ProtectionPaused'
:type protection_state: str or
~azure.mgmt.recoveryservicesbackup.models.ProtectedItemState
:param extended_info: Additional information for this backup item.
:type extended_info:
~azure.mgmt.recoveryservicesbackup.models.AzureSqlProtectedItemExtendedInfo
"""
_validation = {
'protected_item_type': {'required': True},
}
_attribute_map = {
'backup_management_type': {'key': 'backupManagementType', 'type': 'str'},
'workload_type': {'key': 'workloadType', 'type': 'str'},
'container_name': {'key': 'containerName', 'type': 'str'},
'source_resource_id': {'key': 'sourceResourceId', 'type': 'str'},
'policy_id': {'key': 'policyId', 'type': 'str'},
'last_recovery_point': {'key': 'lastRecoveryPoint', 'type': 'iso-8601'},
'backup_set_name': {'key': 'backupSetName', 'type': 'str'},
'create_mode': {'key': 'createMode', 'type': 'str'},
'deferred_delete_time_in_utc': {'key': 'deferredDeleteTimeInUTC', 'type': 'iso-8601'},
'is_scheduled_for_deferred_delete': {'key': 'isScheduledForDeferredDelete', 'type': 'bool'},
'deferred_delete_time_remaining': {'key': 'deferredDeleteTimeRemaining', 'type': 'str'},
'is_deferred_delete_schedule_upcoming': {'key': 'isDeferredDeleteScheduleUpcoming', 'type': 'bool'},
'is_rehydrate': {'key': 'isRehydrate', 'type': 'bool'},
'protected_item_type': {'key': 'protectedItemType', 'type': 'str'},
'protected_item_data_id': {'key': 'protectedItemDataId', 'type': 'str'},
'protection_state': {'key': 'protectionState', 'type': 'str'},
'extended_info': {'key': 'extendedInfo', 'type': 'AzureSqlProtectedItemExtendedInfo'},
}
def __init__(self, *, backup_management_type=None, workload_type=None, container_name: str=None, source_resource_id: str=None, policy_id: str=None, last_recovery_point=None, backup_set_name: str=None, create_mode=None, deferred_delete_time_in_utc=None, is_scheduled_for_deferred_delete: bool=None, deferred_delete_time_remaining: str=None, is_deferred_delete_schedule_upcoming: bool=None, is_rehydrate: bool=None, protected_item_data_id: str=None, protection_state=None, extended_info=None, **kwargs) -> None:
super(AzureSqlProtectedItem, self).__init__(backup_management_type=backup_management_type, workload_type=workload_type, container_name=container_name, source_resource_id=source_resource_id, policy_id=policy_id, last_recovery_point=last_recovery_point, backup_set_name=backup_set_name, create_mode=create_mode, deferred_delete_time_in_utc=deferred_delete_time_in_utc, is_scheduled_for_deferred_delete=is_scheduled_for_deferred_delete, deferred_delete_time_remaining=deferred_delete_time_remaining, is_deferred_delete_schedule_upcoming=is_deferred_delete_schedule_upcoming, is_rehydrate=is_rehydrate, **kwargs)
self.protected_item_data_id = protected_item_data_id
self.protection_state = protection_state
self.extended_info = extended_info
self.protected_item_type = 'Microsoft.Sql/servers/databases'
[docs]class AzureSqlProtectedItemExtendedInfo(Model):
"""Additional information on Azure Sql specific protected item.
:param oldest_recovery_point: The oldest backup copy available for this
item in the service.
:type oldest_recovery_point: datetime
:param recovery_point_count: Number of available backup copies associated
with this backup item.
:type recovery_point_count: int
:param policy_state: State of the backup policy associated with this
backup item.
:type policy_state: str
"""
_attribute_map = {
'oldest_recovery_point': {'key': 'oldestRecoveryPoint', 'type': 'iso-8601'},
'recovery_point_count': {'key': 'recoveryPointCount', 'type': 'int'},
'policy_state': {'key': 'policyState', 'type': 'str'},
}
def __init__(self, *, oldest_recovery_point=None, recovery_point_count: int=None, policy_state: str=None, **kwargs) -> None:
super(AzureSqlProtectedItemExtendedInfo, self).__init__(**kwargs)
self.oldest_recovery_point = oldest_recovery_point
self.recovery_point_count = recovery_point_count
self.policy_state = policy_state
[docs]class AzureSqlProtectionPolicy(ProtectionPolicy):
"""Azure SQL workload-specific backup policy.
All required parameters must be populated in order to send to Azure.
:param protected_items_count: Number of items associated with this policy.
:type protected_items_count: int
:param backup_management_type: Required. Constant filled by server.
:type backup_management_type: str
:param retention_policy: Retention policy details.
:type retention_policy:
~azure.mgmt.recoveryservicesbackup.models.RetentionPolicy
"""
_validation = {
'backup_management_type': {'required': True},
}
_attribute_map = {
'protected_items_count': {'key': 'protectedItemsCount', 'type': 'int'},
'backup_management_type': {'key': 'backupManagementType', 'type': 'str'},
'retention_policy': {'key': 'retentionPolicy', 'type': 'RetentionPolicy'},
}
def __init__(self, *, protected_items_count: int=None, retention_policy=None, **kwargs) -> None:
super(AzureSqlProtectionPolicy, self).__init__(protected_items_count=protected_items_count, **kwargs)
self.retention_policy = retention_policy
self.backup_management_type = 'AzureSql'
[docs]class AzureStorageContainer(ProtectionContainer):
"""Azure Storage Account workload-specific container.
All required parameters must be populated in order to send to Azure.
:param friendly_name: Friendly name of the container.
:type friendly_name: str
:param backup_management_type: Type of backup management for the
container. Possible values include: 'Invalid', 'AzureIaasVM', 'MAB',
'DPM', 'AzureBackupServer', 'AzureSql', 'AzureStorage', 'AzureWorkload',
'DefaultBackup'
:type backup_management_type: str or
~azure.mgmt.recoveryservicesbackup.models.BackupManagementType
:param registration_status: Status of registration of the container with
the Recovery Services Vault.
:type registration_status: str
:param health_status: Status of health of the container.
:type health_status: str
:param container_type: Required. Constant filled by server.
:type container_type: str
:param source_resource_id: Fully qualified ARM url.
:type source_resource_id: str
:param storage_account_version: Storage account version.
:type storage_account_version: str
:param resource_group: Resource group name of Recovery Services Vault.
:type resource_group: str
:param protected_item_count: Number of items backed up in this container.
:type protected_item_count: long
"""
_validation = {
'container_type': {'required': True},
}
_attribute_map = {
'friendly_name': {'key': 'friendlyName', 'type': 'str'},
'backup_management_type': {'key': 'backupManagementType', 'type': 'str'},
'registration_status': {'key': 'registrationStatus', 'type': 'str'},
'health_status': {'key': 'healthStatus', 'type': 'str'},
'container_type': {'key': 'containerType', 'type': 'str'},
'source_resource_id': {'key': 'sourceResourceId', 'type': 'str'},
'storage_account_version': {'key': 'storageAccountVersion', 'type': 'str'},
'resource_group': {'key': 'resourceGroup', 'type': 'str'},
'protected_item_count': {'key': 'protectedItemCount', 'type': 'long'},
}
def __init__(self, *, friendly_name: str=None, backup_management_type=None, registration_status: str=None, health_status: str=None, source_resource_id: str=None, storage_account_version: str=None, resource_group: str=None, protected_item_count: int=None, **kwargs) -> None:
super(AzureStorageContainer, self).__init__(friendly_name=friendly_name, backup_management_type=backup_management_type, registration_status=registration_status, health_status=health_status, **kwargs)
self.source_resource_id = source_resource_id
self.storage_account_version = storage_account_version
self.resource_group = resource_group
self.protected_item_count = protected_item_count
self.container_type = 'StorageContainer'
[docs]class AzureStorageErrorInfo(Model):
"""Azure storage specific error information.
:param error_code: Error code.
:type error_code: int
:param error_string: Localized error string.
:type error_string: str
:param recommendations: List of localized recommendations for above error
code.
:type recommendations: list[str]
"""
_attribute_map = {
'error_code': {'key': 'errorCode', 'type': 'int'},
'error_string': {'key': 'errorString', 'type': 'str'},
'recommendations': {'key': 'recommendations', 'type': '[str]'},
}
def __init__(self, *, error_code: int=None, error_string: str=None, recommendations=None, **kwargs) -> None:
super(AzureStorageErrorInfo, self).__init__(**kwargs)
self.error_code = error_code
self.error_string = error_string
self.recommendations = recommendations
[docs]class AzureStorageJob(Job):
"""Azure storage specific job.
All required parameters must be populated in order to send to Azure.
:param entity_friendly_name: Friendly name of the entity on which the
current job is executing.
:type entity_friendly_name: str
:param backup_management_type: Backup management type to execute the
current job. Possible values include: 'Invalid', 'AzureIaasVM', 'MAB',
'DPM', 'AzureBackupServer', 'AzureSql', 'AzureStorage', 'AzureWorkload',
'DefaultBackup'
:type backup_management_type: str or
~azure.mgmt.recoveryservicesbackup.models.BackupManagementType
:param operation: The operation name.
:type operation: str
:param status: Job status.
:type status: str
:param start_time: The start time.
:type start_time: datetime
:param end_time: The end time.
:type end_time: datetime
:param activity_id: ActivityId of job.
:type activity_id: str
:param job_type: Required. Constant filled by server.
:type job_type: str
:param duration: Time elapsed during the execution of this job.
:type duration: timedelta
:param actions_info: Gets or sets the state/actions applicable on this job
like cancel/retry.
:type actions_info: list[str or
~azure.mgmt.recoveryservicesbackup.models.JobSupportedAction]
:param error_details: Error details on execution of this job.
:type error_details:
list[~azure.mgmt.recoveryservicesbackup.models.AzureStorageErrorInfo]
:param storage_account_name: Specifies friendly name of the storage
account.
:type storage_account_name: str
:param storage_account_version: Specifies whether the Storage account is a
Classic or an Azure Resource Manager Storage account.
:type storage_account_version: str
:param extended_info: Additional information about the job.
:type extended_info:
~azure.mgmt.recoveryservicesbackup.models.AzureStorageJobExtendedInfo
"""
_validation = {
'job_type': {'required': True},
}
_attribute_map = {
'entity_friendly_name': {'key': 'entityFriendlyName', 'type': 'str'},
'backup_management_type': {'key': 'backupManagementType', 'type': 'str'},
'operation': {'key': 'operation', 'type': 'str'},
'status': {'key': 'status', 'type': 'str'},
'start_time': {'key': 'startTime', 'type': 'iso-8601'},
'end_time': {'key': 'endTime', 'type': 'iso-8601'},
'activity_id': {'key': 'activityId', 'type': 'str'},
'job_type': {'key': 'jobType', 'type': 'str'},
'duration': {'key': 'duration', 'type': 'duration'},
'actions_info': {'key': 'actionsInfo', 'type': '[JobSupportedAction]'},
'error_details': {'key': 'errorDetails', 'type': '[AzureStorageErrorInfo]'},
'storage_account_name': {'key': 'storageAccountName', 'type': 'str'},
'storage_account_version': {'key': 'storageAccountVersion', 'type': 'str'},
'extended_info': {'key': 'extendedInfo', 'type': 'AzureStorageJobExtendedInfo'},
}
def __init__(self, *, entity_friendly_name: str=None, backup_management_type=None, operation: str=None, status: str=None, start_time=None, end_time=None, activity_id: str=None, duration=None, actions_info=None, error_details=None, storage_account_name: str=None, storage_account_version: str=None, extended_info=None, **kwargs) -> None:
super(AzureStorageJob, self).__init__(entity_friendly_name=entity_friendly_name, backup_management_type=backup_management_type, operation=operation, status=status, start_time=start_time, end_time=end_time, activity_id=activity_id, **kwargs)
self.duration = duration
self.actions_info = actions_info
self.error_details = error_details
self.storage_account_name = storage_account_name
self.storage_account_version = storage_account_version
self.extended_info = extended_info
self.job_type = 'AzureStorageJob'
[docs]class AzureStorageJobExtendedInfo(Model):
"""Azure Storage workload-specific additional information for job.
:param tasks_list: List of tasks for this job
:type tasks_list:
list[~azure.mgmt.recoveryservicesbackup.models.AzureStorageJobTaskDetails]
:param property_bag: Job properties.
:type property_bag: dict[str, str]
:param dynamic_error_message: Non localized error message on job
execution.
:type dynamic_error_message: str
"""
_attribute_map = {
'tasks_list': {'key': 'tasksList', 'type': '[AzureStorageJobTaskDetails]'},
'property_bag': {'key': 'propertyBag', 'type': '{str}'},
'dynamic_error_message': {'key': 'dynamicErrorMessage', 'type': 'str'},
}
def __init__(self, *, tasks_list=None, property_bag=None, dynamic_error_message: str=None, **kwargs) -> None:
super(AzureStorageJobExtendedInfo, self).__init__(**kwargs)
self.tasks_list = tasks_list
self.property_bag = property_bag
self.dynamic_error_message = dynamic_error_message
[docs]class AzureStorageJobTaskDetails(Model):
"""Azure storage workload specific job task details.
:param task_id: The task display name.
:type task_id: str
:param status: The status.
:type status: str
"""
_attribute_map = {
'task_id': {'key': 'taskId', 'type': 'str'},
'status': {'key': 'status', 'type': 'str'},
}
def __init__(self, *, task_id: str=None, status: str=None, **kwargs) -> None:
super(AzureStorageJobTaskDetails, self).__init__(**kwargs)
self.task_id = task_id
self.status = status
[docs]class ProtectableContainer(Model):
"""Protectable Container Class.
You probably want to use the sub-classes and not this class directly. Known
sub-classes are: AzureStorageProtectableContainer,
AzureVMAppContainerProtectableContainer
All required parameters must be populated in order to send to Azure.
:param friendly_name: Friendly name of the container.
:type friendly_name: str
:param backup_management_type: Type of backup management for the
container. Possible values include: 'Invalid', 'AzureIaasVM', 'MAB',
'DPM', 'AzureBackupServer', 'AzureSql', 'AzureStorage', 'AzureWorkload',
'DefaultBackup'
:type backup_management_type: str or
~azure.mgmt.recoveryservicesbackup.models.BackupManagementType
:param health_status: Status of health of the container.
:type health_status: str
:param container_id: Fabric Id of the container such as ARM Id.
:type container_id: str
:param protectable_container_type: Required. Constant filled by server.
:type protectable_container_type: str
"""
_validation = {
'protectable_container_type': {'required': True},
}
_attribute_map = {
'friendly_name': {'key': 'friendlyName', 'type': 'str'},
'backup_management_type': {'key': 'backupManagementType', 'type': 'str'},
'health_status': {'key': 'healthStatus', 'type': 'str'},
'container_id': {'key': 'containerId', 'type': 'str'},
'protectable_container_type': {'key': 'protectableContainerType', 'type': 'str'},
}
_subtype_map = {
'protectable_container_type': {'StorageContainer': 'AzureStorageProtectableContainer', 'VMAppContainer': 'AzureVMAppContainerProtectableContainer'}
}
def __init__(self, *, friendly_name: str=None, backup_management_type=None, health_status: str=None, container_id: str=None, **kwargs) -> None:
super(ProtectableContainer, self).__init__(**kwargs)
self.friendly_name = friendly_name
self.backup_management_type = backup_management_type
self.health_status = health_status
self.container_id = container_id
self.protectable_container_type = None
[docs]class AzureStorageProtectableContainer(ProtectableContainer):
"""Azure Storage-specific protectable containers.
All required parameters must be populated in order to send to Azure.
:param friendly_name: Friendly name of the container.
:type friendly_name: str
:param backup_management_type: Type of backup management for the
container. Possible values include: 'Invalid', 'AzureIaasVM', 'MAB',
'DPM', 'AzureBackupServer', 'AzureSql', 'AzureStorage', 'AzureWorkload',
'DefaultBackup'
:type backup_management_type: str or
~azure.mgmt.recoveryservicesbackup.models.BackupManagementType
:param health_status: Status of health of the container.
:type health_status: str
:param container_id: Fabric Id of the container such as ARM Id.
:type container_id: str
:param protectable_container_type: Required. Constant filled by server.
:type protectable_container_type: str
"""
_validation = {
'protectable_container_type': {'required': True},
}
_attribute_map = {
'friendly_name': {'key': 'friendlyName', 'type': 'str'},
'backup_management_type': {'key': 'backupManagementType', 'type': 'str'},
'health_status': {'key': 'healthStatus', 'type': 'str'},
'container_id': {'key': 'containerId', 'type': 'str'},
'protectable_container_type': {'key': 'protectableContainerType', 'type': 'str'},
}
def __init__(self, *, friendly_name: str=None, backup_management_type=None, health_status: str=None, container_id: str=None, **kwargs) -> None:
super(AzureStorageProtectableContainer, self).__init__(friendly_name=friendly_name, backup_management_type=backup_management_type, health_status=health_status, container_id=container_id, **kwargs)
self.protectable_container_type = 'StorageContainer'
[docs]class AzureVMAppContainerProtectableContainer(ProtectableContainer):
"""Azure workload-specific container.
All required parameters must be populated in order to send to Azure.
:param friendly_name: Friendly name of the container.
:type friendly_name: str
:param backup_management_type: Type of backup management for the
container. Possible values include: 'Invalid', 'AzureIaasVM', 'MAB',
'DPM', 'AzureBackupServer', 'AzureSql', 'AzureStorage', 'AzureWorkload',
'DefaultBackup'
:type backup_management_type: str or
~azure.mgmt.recoveryservicesbackup.models.BackupManagementType
:param health_status: Status of health of the container.
:type health_status: str
:param container_id: Fabric Id of the container such as ARM Id.
:type container_id: str
:param protectable_container_type: Required. Constant filled by server.
:type protectable_container_type: str
"""
_validation = {
'protectable_container_type': {'required': True},
}
_attribute_map = {
'friendly_name': {'key': 'friendlyName', 'type': 'str'},
'backup_management_type': {'key': 'backupManagementType', 'type': 'str'},
'health_status': {'key': 'healthStatus', 'type': 'str'},
'container_id': {'key': 'containerId', 'type': 'str'},
'protectable_container_type': {'key': 'protectableContainerType', 'type': 'str'},
}
def __init__(self, *, friendly_name: str=None, backup_management_type=None, health_status: str=None, container_id: str=None, **kwargs) -> None:
super(AzureVMAppContainerProtectableContainer, self).__init__(friendly_name=friendly_name, backup_management_type=backup_management_type, health_status=health_status, container_id=container_id, **kwargs)
self.protectable_container_type = 'VMAppContainer'
[docs]class AzureVMAppContainerProtectionContainer(AzureWorkloadContainer):
"""Container for SQL workloads under Azure Virtual Machines.
All required parameters must be populated in order to send to Azure.
:param friendly_name: Friendly name of the container.
:type friendly_name: str
:param backup_management_type: Type of backup management for the
container. Possible values include: 'Invalid', 'AzureIaasVM', 'MAB',
'DPM', 'AzureBackupServer', 'AzureSql', 'AzureStorage', 'AzureWorkload',
'DefaultBackup'
:type backup_management_type: str or
~azure.mgmt.recoveryservicesbackup.models.BackupManagementType
:param registration_status: Status of registration of the container with
the Recovery Services Vault.
:type registration_status: str
:param health_status: Status of health of the container.
:type health_status: str
:param container_type: Required. Constant filled by server.
:type container_type: str
:param source_resource_id: ARM ID of the virtual machine represented by
this Azure Workload Container
:type source_resource_id: str
:param last_updated_time: Time stamp when this container was updated.
:type last_updated_time: datetime
:param extended_info: Additional details of a workload container.
:type extended_info:
~azure.mgmt.recoveryservicesbackup.models.AzureWorkloadContainerExtendedInfo
:param workload_type: Workload type for which registration was sent.
Possible values include: 'Invalid', 'VM', 'FileFolder', 'AzureSqlDb',
'SQLDB', 'Exchange', 'Sharepoint', 'VMwareVM', 'SystemState', 'Client',
'GenericDataSource', 'SQLDataBase', 'AzureFileShare', 'SAPHanaDatabase',
'SAPAseDatabase'
:type workload_type: str or
~azure.mgmt.recoveryservicesbackup.models.WorkloadType
:param operation_type: Re-Do Operation. Possible values include:
'Invalid', 'Register', 'Reregister'
:type operation_type: str or
~azure.mgmt.recoveryservicesbackup.models.OperationType
"""
_validation = {
'container_type': {'required': True},
}
_attribute_map = {
'friendly_name': {'key': 'friendlyName', 'type': 'str'},
'backup_management_type': {'key': 'backupManagementType', 'type': 'str'},
'registration_status': {'key': 'registrationStatus', 'type': 'str'},
'health_status': {'key': 'healthStatus', 'type': 'str'},
'container_type': {'key': 'containerType', 'type': 'str'},
'source_resource_id': {'key': 'sourceResourceId', 'type': 'str'},
'last_updated_time': {'key': 'lastUpdatedTime', 'type': 'iso-8601'},
'extended_info': {'key': 'extendedInfo', 'type': 'AzureWorkloadContainerExtendedInfo'},
'workload_type': {'key': 'workloadType', 'type': 'str'},
'operation_type': {'key': 'operationType', 'type': 'str'},
}
def __init__(self, *, friendly_name: str=None, backup_management_type=None, registration_status: str=None, health_status: str=None, source_resource_id: str=None, last_updated_time=None, extended_info=None, workload_type=None, operation_type=None, **kwargs) -> None:
super(AzureVMAppContainerProtectionContainer, self).__init__(friendly_name=friendly_name, backup_management_type=backup_management_type, registration_status=registration_status, health_status=health_status, source_resource_id=source_resource_id, last_updated_time=last_updated_time, extended_info=extended_info, workload_type=workload_type, operation_type=operation_type, **kwargs)
self.container_type = 'VMAppContainer'
[docs]class AzureVMResourceFeatureSupportRequest(FeatureSupportRequest):
"""AzureResource(IaaS VM) Specific feature support request.
All required parameters must be populated in order to send to Azure.
:param feature_type: Required. Constant filled by server.
:type feature_type: str
:param vm_size: Size of the resource: VM size(A/D series etc) in case of
IaasVM
:type vm_size: str
:param vm_sku: SKUs (Premium/Managed etc) in case of IaasVM
:type vm_sku: str
"""
_validation = {
'feature_type': {'required': True},
}
_attribute_map = {
'feature_type': {'key': 'featureType', 'type': 'str'},
'vm_size': {'key': 'vmSize', 'type': 'str'},
'vm_sku': {'key': 'vmSku', 'type': 'str'},
}
def __init__(self, *, vm_size: str=None, vm_sku: str=None, **kwargs) -> None:
super(AzureVMResourceFeatureSupportRequest, self).__init__(**kwargs)
self.vm_size = vm_size
self.vm_sku = vm_sku
self.feature_type = 'AzureVMResourceBackup'
[docs]class AzureVMResourceFeatureSupportResponse(Model):
"""Response for feature support requests for Azure IaasVm.
:param support_status: Support status of feature. Possible values include:
'Invalid', 'Supported', 'DefaultOFF', 'DefaultON', 'NotSupported'
:type support_status: str or
~azure.mgmt.recoveryservicesbackup.models.SupportStatus
"""
_attribute_map = {
'support_status': {'key': 'supportStatus', 'type': 'str'},
}
def __init__(self, *, support_status=None, **kwargs) -> None:
super(AzureVMResourceFeatureSupportResponse, self).__init__(**kwargs)
self.support_status = support_status
[docs]class WorkloadItem(Model):
"""Base class for backup item. Workload-specific backup items are derived from
this class.
You probably want to use the sub-classes and not this class directly. Known
sub-classes are: AzureVmWorkloadItem
All required parameters must be populated in order to send to Azure.
:param backup_management_type: Type of backup management to backup an
item.
:type backup_management_type: str
:param workload_type: Type of workload for the backup management
:type workload_type: str
:param friendly_name: Friendly name of the backup item.
:type friendly_name: str
:param protection_state: State of the back up item. Possible values
include: 'Invalid', 'NotProtected', 'Protecting', 'Protected',
'ProtectionFailed'
:type protection_state: str or
~azure.mgmt.recoveryservicesbackup.models.ProtectionStatus
:param workload_item_type: Required. Constant filled by server.
:type workload_item_type: str
"""
_validation = {
'workload_item_type': {'required': True},
}
_attribute_map = {
'backup_management_type': {'key': 'backupManagementType', 'type': 'str'},
'workload_type': {'key': 'workloadType', 'type': 'str'},
'friendly_name': {'key': 'friendlyName', 'type': 'str'},
'protection_state': {'key': 'protectionState', 'type': 'str'},
'workload_item_type': {'key': 'workloadItemType', 'type': 'str'},
}
_subtype_map = {
'workload_item_type': {'AzureVmWorkloadItem': 'AzureVmWorkloadItem'}
}
def __init__(self, *, backup_management_type: str=None, workload_type: str=None, friendly_name: str=None, protection_state=None, **kwargs) -> None:
super(WorkloadItem, self).__init__(**kwargs)
self.backup_management_type = backup_management_type
self.workload_type = workload_type
self.friendly_name = friendly_name
self.protection_state = protection_state
self.workload_item_type = None
[docs]class AzureVmWorkloadItem(WorkloadItem):
"""Azure VM workload-specific workload item.
You probably want to use the sub-classes and not this class directly. Known
sub-classes are: AzureVmWorkloadSAPAseDatabaseWorkloadItem,
AzureVmWorkloadSAPAseSystemWorkloadItem,
AzureVmWorkloadSAPHanaDatabaseWorkloadItem,
AzureVmWorkloadSAPHanaSystemWorkloadItem,
AzureVmWorkloadSQLDatabaseWorkloadItem,
AzureVmWorkloadSQLInstanceWorkloadItem
All required parameters must be populated in order to send to Azure.
:param backup_management_type: Type of backup management to backup an
item.
:type backup_management_type: str
:param workload_type: Type of workload for the backup management
:type workload_type: str
:param friendly_name: Friendly name of the backup item.
:type friendly_name: str
:param protection_state: State of the back up item. Possible values
include: 'Invalid', 'NotProtected', 'Protecting', 'Protected',
'ProtectionFailed'
:type protection_state: str or
~azure.mgmt.recoveryservicesbackup.models.ProtectionStatus
:param workload_item_type: Required. Constant filled by server.
:type workload_item_type: str
:param parent_name: Name for instance or AG
:type parent_name: str
:param server_name: Host/Cluster Name for instance or AG
:type server_name: str
:param is_auto_protectable: Indicates if workload item is auto-protectable
:type is_auto_protectable: bool
:param subinquireditemcount: For instance or AG, indicates number of DB's
present
:type subinquireditemcount: int
:param sub_workload_item_count: For instance or AG, indicates number of
DB's to be protected
:type sub_workload_item_count: int
"""
_validation = {
'workload_item_type': {'required': True},
}
_attribute_map = {
'backup_management_type': {'key': 'backupManagementType', 'type': 'str'},
'workload_type': {'key': 'workloadType', 'type': 'str'},
'friendly_name': {'key': 'friendlyName', 'type': 'str'},
'protection_state': {'key': 'protectionState', 'type': 'str'},
'workload_item_type': {'key': 'workloadItemType', 'type': 'str'},
'parent_name': {'key': 'parentName', 'type': 'str'},
'server_name': {'key': 'serverName', 'type': 'str'},
'is_auto_protectable': {'key': 'isAutoProtectable', 'type': 'bool'},
'subinquireditemcount': {'key': 'subinquireditemcount', 'type': 'int'},
'sub_workload_item_count': {'key': 'subWorkloadItemCount', 'type': 'int'},
}
_subtype_map = {
'workload_item_type': {'SAPAseDatabase': 'AzureVmWorkloadSAPAseDatabaseWorkloadItem', 'SAPAseSystem': 'AzureVmWorkloadSAPAseSystemWorkloadItem', 'SAPHanaDatabase': 'AzureVmWorkloadSAPHanaDatabaseWorkloadItem', 'SAPHanaSystem': 'AzureVmWorkloadSAPHanaSystemWorkloadItem', 'SQLDataBase': 'AzureVmWorkloadSQLDatabaseWorkloadItem', 'SQLInstance': 'AzureVmWorkloadSQLInstanceWorkloadItem'}
}
def __init__(self, *, backup_management_type: str=None, workload_type: str=None, friendly_name: str=None, protection_state=None, parent_name: str=None, server_name: str=None, is_auto_protectable: bool=None, subinquireditemcount: int=None, sub_workload_item_count: int=None, **kwargs) -> None:
super(AzureVmWorkloadItem, self).__init__(backup_management_type=backup_management_type, workload_type=workload_type, friendly_name=friendly_name, protection_state=protection_state, **kwargs)
self.parent_name = parent_name
self.server_name = server_name
self.is_auto_protectable = is_auto_protectable
self.subinquireditemcount = subinquireditemcount
self.sub_workload_item_count = sub_workload_item_count
self.workload_item_type = 'AzureVmWorkloadItem'
[docs]class AzureVmWorkloadProtectableItem(WorkloadProtectableItem):
"""Azure VM workload-specific protectable item.
You probably want to use the sub-classes and not this class directly. Known
sub-classes are: AzureVmWorkloadSAPAseSystemProtectableItem,
AzureVmWorkloadSAPHanaDatabaseProtectableItem,
AzureVmWorkloadSAPHanaSystemProtectableItem,
AzureVmWorkloadSQLAvailabilityGroupProtectableItem,
AzureVmWorkloadSQLDatabaseProtectableItem,
AzureVmWorkloadSQLInstanceProtectableItem
All required parameters must be populated in order to send to Azure.
:param backup_management_type: Type of backup management to backup an
item.
:type backup_management_type: str
:param workload_type: Type of workload for the backup management
:type workload_type: str
:param friendly_name: Friendly name of the backup item.
:type friendly_name: str
:param protection_state: State of the back up item. Possible values
include: 'Invalid', 'NotProtected', 'Protecting', 'Protected',
'ProtectionFailed'
:type protection_state: str or
~azure.mgmt.recoveryservicesbackup.models.ProtectionStatus
:param protectable_item_type: Required. Constant filled by server.
:type protectable_item_type: str
:param parent_name: Name for instance or AG
:type parent_name: str
:param parent_unique_name: Parent Unique Name is added to provide the
service formatted URI Name of the Parent
Only Applicable for data bases where the parent would be either Instance
or a SQL AG.
:type parent_unique_name: str
:param server_name: Host/Cluster Name for instance or AG
:type server_name: str
:param is_auto_protectable: Indicates if protectable item is
auto-protectable
:type is_auto_protectable: bool
:param is_auto_protected: Indicates if protectable item is auto-protected
:type is_auto_protected: bool
:param subinquireditemcount: For instance or AG, indicates number of DB's
present
:type subinquireditemcount: int
:param subprotectableitemcount: For instance or AG, indicates number of
DB's to be protected
:type subprotectableitemcount: int
:param prebackupvalidation: Pre-backup validation for protectable objects
:type prebackupvalidation:
~azure.mgmt.recoveryservicesbackup.models.PreBackupValidation
"""
_validation = {
'protectable_item_type': {'required': True},
}
_attribute_map = {
'backup_management_type': {'key': 'backupManagementType', 'type': 'str'},
'workload_type': {'key': 'workloadType', 'type': 'str'},
'friendly_name': {'key': 'friendlyName', 'type': 'str'},
'protection_state': {'key': 'protectionState', 'type': 'str'},
'protectable_item_type': {'key': 'protectableItemType', 'type': 'str'},
'parent_name': {'key': 'parentName', 'type': 'str'},
'parent_unique_name': {'key': 'parentUniqueName', 'type': 'str'},
'server_name': {'key': 'serverName', 'type': 'str'},
'is_auto_protectable': {'key': 'isAutoProtectable', 'type': 'bool'},
'is_auto_protected': {'key': 'isAutoProtected', 'type': 'bool'},
'subinquireditemcount': {'key': 'subinquireditemcount', 'type': 'int'},
'subprotectableitemcount': {'key': 'subprotectableitemcount', 'type': 'int'},
'prebackupvalidation': {'key': 'prebackupvalidation', 'type': 'PreBackupValidation'},
}
_subtype_map = {
'protectable_item_type': {'SAPAseSystem': 'AzureVmWorkloadSAPAseSystemProtectableItem', 'SAPHanaDatabase': 'AzureVmWorkloadSAPHanaDatabaseProtectableItem', 'SAPHanaSystem': 'AzureVmWorkloadSAPHanaSystemProtectableItem', 'SQLAvailabilityGroupContainer': 'AzureVmWorkloadSQLAvailabilityGroupProtectableItem', 'SQLDataBase': 'AzureVmWorkloadSQLDatabaseProtectableItem', 'SQLInstance': 'AzureVmWorkloadSQLInstanceProtectableItem'}
}
def __init__(self, *, backup_management_type: str=None, workload_type: str=None, friendly_name: str=None, protection_state=None, parent_name: str=None, parent_unique_name: str=None, server_name: str=None, is_auto_protectable: bool=None, is_auto_protected: bool=None, subinquireditemcount: int=None, subprotectableitemcount: int=None, prebackupvalidation=None, **kwargs) -> None:
super(AzureVmWorkloadProtectableItem, self).__init__(backup_management_type=backup_management_type, workload_type=workload_type, friendly_name=friendly_name, protection_state=protection_state, **kwargs)
self.parent_name = parent_name
self.parent_unique_name = parent_unique_name
self.server_name = server_name
self.is_auto_protectable = is_auto_protectable
self.is_auto_protected = is_auto_protected
self.subinquireditemcount = subinquireditemcount
self.subprotectableitemcount = subprotectableitemcount
self.prebackupvalidation = prebackupvalidation
self.protectable_item_type = 'AzureVmWorkloadProtectableItem'
[docs]class AzureVmWorkloadProtectedItem(ProtectedItem):
"""Azure VM workload-specific protected item.
You probably want to use the sub-classes and not this class directly. Known
sub-classes are: AzureVmWorkloadSAPAseDatabaseProtectedItem,
AzureVmWorkloadSAPHanaDatabaseProtectedItem,
AzureVmWorkloadSQLDatabaseProtectedItem
All required parameters must be populated in order to send to Azure.
:param backup_management_type: Type of backup management for the backed up
item. Possible values include: 'Invalid', 'AzureIaasVM', 'MAB', 'DPM',
'AzureBackupServer', 'AzureSql', 'AzureStorage', 'AzureWorkload',
'DefaultBackup'
:type backup_management_type: str or
~azure.mgmt.recoveryservicesbackup.models.BackupManagementType
:param workload_type: Type of workload this item represents. Possible
values include: 'Invalid', 'VM', 'FileFolder', 'AzureSqlDb', 'SQLDB',
'Exchange', 'Sharepoint', 'VMwareVM', 'SystemState', 'Client',
'GenericDataSource', 'SQLDataBase', 'AzureFileShare', 'SAPHanaDatabase',
'SAPAseDatabase'
:type workload_type: str or
~azure.mgmt.recoveryservicesbackup.models.DataSourceType
:param container_name: Unique name of container
:type container_name: str
:param source_resource_id: ARM ID of the resource to be backed up.
:type source_resource_id: str
:param policy_id: ID of the backup policy with which this item is backed
up.
:type policy_id: str
:param last_recovery_point: Timestamp when the last (latest) backup copy
was created for this backup item.
:type last_recovery_point: datetime
:param backup_set_name: Name of the backup set the backup item belongs to
:type backup_set_name: str
:param create_mode: Create mode to indicate recovery of existing soft
deleted data source or creation of new data source. Possible values
include: 'Invalid', 'Default', 'Recover'
:type create_mode: str or
~azure.mgmt.recoveryservicesbackup.models.CreateMode
:param deferred_delete_time_in_utc: Time for deferred deletion in UTC
:type deferred_delete_time_in_utc: datetime
:param is_scheduled_for_deferred_delete: Flag to identify whether the DS
is scheduled for deferred delete
:type is_scheduled_for_deferred_delete: bool
:param deferred_delete_time_remaining: Time remaining before the DS marked
for deferred delete is permanently deleted
:type deferred_delete_time_remaining: str
:param is_deferred_delete_schedule_upcoming: Flag to identify whether the
deferred deleted DS is to be purged soon
:type is_deferred_delete_schedule_upcoming: bool
:param is_rehydrate: Flag to identify that deferred deleted DS is to be
moved into Pause state
:type is_rehydrate: bool
:param protected_item_type: Required. Constant filled by server.
:type protected_item_type: str
:param friendly_name: Friendly name of the DB represented by this backup
item.
:type friendly_name: str
:param server_name: Host/Cluster Name for instance or AG
:type server_name: str
:param parent_name: Parent name of the DB such as Instance or Availability
Group.
:type parent_name: str
:param parent_type: Parent type of protected item, example: for a DB,
standalone server or distributed
:type parent_type: str
:param protection_status: Backup status of this backup item.
:type protection_status: str
:param protection_state: Backup state of this backup item. Possible values
include: 'Invalid', 'IRPending', 'Protected', 'ProtectionError',
'ProtectionStopped', 'ProtectionPaused'
:type protection_state: str or
~azure.mgmt.recoveryservicesbackup.models.ProtectionState
:param last_backup_status: Last backup operation status. Possible values:
Healthy, Unhealthy. Possible values include: 'Invalid', 'Healthy',
'Unhealthy', 'IRPending'
:type last_backup_status: str or
~azure.mgmt.recoveryservicesbackup.models.LastBackupStatus
:param last_backup_time: Timestamp of the last backup operation on this
backup item.
:type last_backup_time: datetime
:param last_backup_error_detail: Error details in last backup
:type last_backup_error_detail:
~azure.mgmt.recoveryservicesbackup.models.ErrorDetail
:param protected_item_data_source_id: Data ID of the protected item.
:type protected_item_data_source_id: str
:param protected_item_health_status: Health status of the backup item,
evaluated based on last heartbeat received. Possible values include:
'Invalid', 'Healthy', 'Unhealthy', 'NotReachable', 'IRPending'
:type protected_item_health_status: str or
~azure.mgmt.recoveryservicesbackup.models.ProtectedItemHealthStatus
:param health_status: Health status of protected item. Possible values
include: 'Passed', 'ActionRequired', 'ActionSuggested', 'Healthy',
'TransientDegraded', 'PersistentDegraded', 'TransientUnhealthy',
'PersistentUnhealthy', 'Invalid'
:type health_status: str or
~azure.mgmt.recoveryservicesbackup.models.HealthStatus
:param health_details: Health details on this backup item.
:type health_details:
list[~azure.mgmt.recoveryservicesbackup.models.HealthDetails]
:param extended_info: Additional information for this backup item.
:type extended_info:
~azure.mgmt.recoveryservicesbackup.models.AzureVmWorkloadProtectedItemExtendedInfo
"""
_validation = {
'protected_item_type': {'required': True},
}
_attribute_map = {
'backup_management_type': {'key': 'backupManagementType', 'type': 'str'},
'workload_type': {'key': 'workloadType', 'type': 'str'},
'container_name': {'key': 'containerName', 'type': 'str'},
'source_resource_id': {'key': 'sourceResourceId', 'type': 'str'},
'policy_id': {'key': 'policyId', 'type': 'str'},
'last_recovery_point': {'key': 'lastRecoveryPoint', 'type': 'iso-8601'},
'backup_set_name': {'key': 'backupSetName', 'type': 'str'},
'create_mode': {'key': 'createMode', 'type': 'str'},
'deferred_delete_time_in_utc': {'key': 'deferredDeleteTimeInUTC', 'type': 'iso-8601'},
'is_scheduled_for_deferred_delete': {'key': 'isScheduledForDeferredDelete', 'type': 'bool'},
'deferred_delete_time_remaining': {'key': 'deferredDeleteTimeRemaining', 'type': 'str'},
'is_deferred_delete_schedule_upcoming': {'key': 'isDeferredDeleteScheduleUpcoming', 'type': 'bool'},
'is_rehydrate': {'key': 'isRehydrate', 'type': 'bool'},
'protected_item_type': {'key': 'protectedItemType', 'type': 'str'},
'friendly_name': {'key': 'friendlyName', 'type': 'str'},
'server_name': {'key': 'serverName', 'type': 'str'},
'parent_name': {'key': 'parentName', 'type': 'str'},
'parent_type': {'key': 'parentType', 'type': 'str'},
'protection_status': {'key': 'protectionStatus', 'type': 'str'},
'protection_state': {'key': 'protectionState', 'type': 'str'},
'last_backup_status': {'key': 'lastBackupStatus', 'type': 'str'},
'last_backup_time': {'key': 'lastBackupTime', 'type': 'iso-8601'},
'last_backup_error_detail': {'key': 'lastBackupErrorDetail', 'type': 'ErrorDetail'},
'protected_item_data_source_id': {'key': 'protectedItemDataSourceId', 'type': 'str'},
'protected_item_health_status': {'key': 'protectedItemHealthStatus', 'type': 'str'},
'health_status': {'key': 'healthStatus', 'type': 'str'},
'health_details': {'key': 'healthDetails', 'type': '[HealthDetails]'},
'extended_info': {'key': 'extendedInfo', 'type': 'AzureVmWorkloadProtectedItemExtendedInfo'},
}
_subtype_map = {
'protected_item_type': {'AzureVmWorkloadSAPAseDatabase': 'AzureVmWorkloadSAPAseDatabaseProtectedItem', 'AzureVmWorkloadSAPHanaDatabase': 'AzureVmWorkloadSAPHanaDatabaseProtectedItem', 'AzureVmWorkloadSQLDatabase': 'AzureVmWorkloadSQLDatabaseProtectedItem'}
}
def __init__(self, *, backup_management_type=None, workload_type=None, container_name: str=None, source_resource_id: str=None, policy_id: str=None, last_recovery_point=None, backup_set_name: str=None, create_mode=None, deferred_delete_time_in_utc=None, is_scheduled_for_deferred_delete: bool=None, deferred_delete_time_remaining: str=None, is_deferred_delete_schedule_upcoming: bool=None, is_rehydrate: bool=None, friendly_name: str=None, server_name: str=None, parent_name: str=None, parent_type: str=None, protection_status: str=None, protection_state=None, last_backup_status=None, last_backup_time=None, last_backup_error_detail=None, protected_item_data_source_id: str=None, protected_item_health_status=None, health_status=None, health_details=None, extended_info=None, **kwargs) -> None:
super(AzureVmWorkloadProtectedItem, self).__init__(backup_management_type=backup_management_type, workload_type=workload_type, container_name=container_name, source_resource_id=source_resource_id, policy_id=policy_id, last_recovery_point=last_recovery_point, backup_set_name=backup_set_name, create_mode=create_mode, deferred_delete_time_in_utc=deferred_delete_time_in_utc, is_scheduled_for_deferred_delete=is_scheduled_for_deferred_delete, deferred_delete_time_remaining=deferred_delete_time_remaining, is_deferred_delete_schedule_upcoming=is_deferred_delete_schedule_upcoming, is_rehydrate=is_rehydrate, **kwargs)
self.friendly_name = friendly_name
self.server_name = server_name
self.parent_name = parent_name
self.parent_type = parent_type
self.protection_status = protection_status
self.protection_state = protection_state
self.last_backup_status = last_backup_status
self.last_backup_time = last_backup_time
self.last_backup_error_detail = last_backup_error_detail
self.protected_item_data_source_id = protected_item_data_source_id
self.protected_item_health_status = protected_item_health_status
self.health_status = health_status
self.health_details = health_details
self.extended_info = extended_info
self.protected_item_type = 'AzureVmWorkloadProtectedItem'
[docs]class AzureVmWorkloadProtectedItemExtendedInfo(Model):
"""Additional information on Azure Workload for SQL specific backup item.
:param oldest_recovery_point: The oldest backup copy available for this
backup item.
:type oldest_recovery_point: datetime
:param recovery_point_count: Number of backup copies available for this
backup item.
:type recovery_point_count: int
:param policy_state: Indicates consistency of policy object and policy
applied to this backup item.
:type policy_state: str
"""
_attribute_map = {
'oldest_recovery_point': {'key': 'oldestRecoveryPoint', 'type': 'iso-8601'},
'recovery_point_count': {'key': 'recoveryPointCount', 'type': 'int'},
'policy_state': {'key': 'policyState', 'type': 'str'},
}
def __init__(self, *, oldest_recovery_point=None, recovery_point_count: int=None, policy_state: str=None, **kwargs) -> None:
super(AzureVmWorkloadProtectedItemExtendedInfo, self).__init__(**kwargs)
self.oldest_recovery_point = oldest_recovery_point
self.recovery_point_count = recovery_point_count
self.policy_state = policy_state
[docs]class AzureVmWorkloadProtectionPolicy(ProtectionPolicy):
"""Azure VM (Mercury) workload-specific backup policy.
All required parameters must be populated in order to send to Azure.
:param protected_items_count: Number of items associated with this policy.
:type protected_items_count: int
:param backup_management_type: Required. Constant filled by server.
:type backup_management_type: str
:param work_load_type: Type of workload for the backup management.
Possible values include: 'Invalid', 'VM', 'FileFolder', 'AzureSqlDb',
'SQLDB', 'Exchange', 'Sharepoint', 'VMwareVM', 'SystemState', 'Client',
'GenericDataSource', 'SQLDataBase', 'AzureFileShare', 'SAPHanaDatabase',
'SAPAseDatabase'
:type work_load_type: str or
~azure.mgmt.recoveryservicesbackup.models.WorkloadType
:param settings: Common settings for the backup management
:type settings: ~azure.mgmt.recoveryservicesbackup.models.Settings
:param sub_protection_policy: List of sub-protection policies which
includes schedule and retention
:type sub_protection_policy:
list[~azure.mgmt.recoveryservicesbackup.models.SubProtectionPolicy]
:param make_policy_consistent: Fix the policy inconsistency
:type make_policy_consistent: bool
"""
_validation = {
'backup_management_type': {'required': True},
}
_attribute_map = {
'protected_items_count': {'key': 'protectedItemsCount', 'type': 'int'},
'backup_management_type': {'key': 'backupManagementType', 'type': 'str'},
'work_load_type': {'key': 'workLoadType', 'type': 'str'},
'settings': {'key': 'settings', 'type': 'Settings'},
'sub_protection_policy': {'key': 'subProtectionPolicy', 'type': '[SubProtectionPolicy]'},
'make_policy_consistent': {'key': 'makePolicyConsistent', 'type': 'bool'},
}
def __init__(self, *, protected_items_count: int=None, work_load_type=None, settings=None, sub_protection_policy=None, make_policy_consistent: bool=None, **kwargs) -> None:
super(AzureVmWorkloadProtectionPolicy, self).__init__(protected_items_count=protected_items_count, **kwargs)
self.work_load_type = work_load_type
self.settings = settings
self.sub_protection_policy = sub_protection_policy
self.make_policy_consistent = make_policy_consistent
self.backup_management_type = 'AzureWorkload'
[docs]class AzureVmWorkloadSAPAseDatabaseProtectedItem(AzureVmWorkloadProtectedItem):
"""Azure VM workload-specific protected item representing SAP ASE Database.
All required parameters must be populated in order to send to Azure.
:param backup_management_type: Type of backup management for the backed up
item. Possible values include: 'Invalid', 'AzureIaasVM', 'MAB', 'DPM',
'AzureBackupServer', 'AzureSql', 'AzureStorage', 'AzureWorkload',
'DefaultBackup'
:type backup_management_type: str or
~azure.mgmt.recoveryservicesbackup.models.BackupManagementType
:param workload_type: Type of workload this item represents. Possible
values include: 'Invalid', 'VM', 'FileFolder', 'AzureSqlDb', 'SQLDB',
'Exchange', 'Sharepoint', 'VMwareVM', 'SystemState', 'Client',
'GenericDataSource', 'SQLDataBase', 'AzureFileShare', 'SAPHanaDatabase',
'SAPAseDatabase'
:type workload_type: str or
~azure.mgmt.recoveryservicesbackup.models.DataSourceType
:param container_name: Unique name of container
:type container_name: str
:param source_resource_id: ARM ID of the resource to be backed up.
:type source_resource_id: str
:param policy_id: ID of the backup policy with which this item is backed
up.
:type policy_id: str
:param last_recovery_point: Timestamp when the last (latest) backup copy
was created for this backup item.
:type last_recovery_point: datetime
:param backup_set_name: Name of the backup set the backup item belongs to
:type backup_set_name: str
:param create_mode: Create mode to indicate recovery of existing soft
deleted data source or creation of new data source. Possible values
include: 'Invalid', 'Default', 'Recover'
:type create_mode: str or
~azure.mgmt.recoveryservicesbackup.models.CreateMode
:param deferred_delete_time_in_utc: Time for deferred deletion in UTC
:type deferred_delete_time_in_utc: datetime
:param is_scheduled_for_deferred_delete: Flag to identify whether the DS
is scheduled for deferred delete
:type is_scheduled_for_deferred_delete: bool
:param deferred_delete_time_remaining: Time remaining before the DS marked
for deferred delete is permanently deleted
:type deferred_delete_time_remaining: str
:param is_deferred_delete_schedule_upcoming: Flag to identify whether the
deferred deleted DS is to be purged soon
:type is_deferred_delete_schedule_upcoming: bool
:param is_rehydrate: Flag to identify that deferred deleted DS is to be
moved into Pause state
:type is_rehydrate: bool
:param protected_item_type: Required. Constant filled by server.
:type protected_item_type: str
:param friendly_name: Friendly name of the DB represented by this backup
item.
:type friendly_name: str
:param server_name: Host/Cluster Name for instance or AG
:type server_name: str
:param parent_name: Parent name of the DB such as Instance or Availability
Group.
:type parent_name: str
:param parent_type: Parent type of protected item, example: for a DB,
standalone server or distributed
:type parent_type: str
:param protection_status: Backup status of this backup item.
:type protection_status: str
:param protection_state: Backup state of this backup item. Possible values
include: 'Invalid', 'IRPending', 'Protected', 'ProtectionError',
'ProtectionStopped', 'ProtectionPaused'
:type protection_state: str or
~azure.mgmt.recoveryservicesbackup.models.ProtectionState
:param last_backup_status: Last backup operation status. Possible values:
Healthy, Unhealthy. Possible values include: 'Invalid', 'Healthy',
'Unhealthy', 'IRPending'
:type last_backup_status: str or
~azure.mgmt.recoveryservicesbackup.models.LastBackupStatus
:param last_backup_time: Timestamp of the last backup operation on this
backup item.
:type last_backup_time: datetime
:param last_backup_error_detail: Error details in last backup
:type last_backup_error_detail:
~azure.mgmt.recoveryservicesbackup.models.ErrorDetail
:param protected_item_data_source_id: Data ID of the protected item.
:type protected_item_data_source_id: str
:param protected_item_health_status: Health status of the backup item,
evaluated based on last heartbeat received. Possible values include:
'Invalid', 'Healthy', 'Unhealthy', 'NotReachable', 'IRPending'
:type protected_item_health_status: str or
~azure.mgmt.recoveryservicesbackup.models.ProtectedItemHealthStatus
:param health_status: Health status of protected item. Possible values
include: 'Passed', 'ActionRequired', 'ActionSuggested', 'Healthy',
'TransientDegraded', 'PersistentDegraded', 'TransientUnhealthy',
'PersistentUnhealthy', 'Invalid'
:type health_status: str or
~azure.mgmt.recoveryservicesbackup.models.HealthStatus
:param health_details: Health details on this backup item.
:type health_details:
list[~azure.mgmt.recoveryservicesbackup.models.HealthDetails]
:param extended_info: Additional information for this backup item.
:type extended_info:
~azure.mgmt.recoveryservicesbackup.models.AzureVmWorkloadProtectedItemExtendedInfo
"""
_validation = {
'protected_item_type': {'required': True},
}
_attribute_map = {
'backup_management_type': {'key': 'backupManagementType', 'type': 'str'},
'workload_type': {'key': 'workloadType', 'type': 'str'},
'container_name': {'key': 'containerName', 'type': 'str'},
'source_resource_id': {'key': 'sourceResourceId', 'type': 'str'},
'policy_id': {'key': 'policyId', 'type': 'str'},
'last_recovery_point': {'key': 'lastRecoveryPoint', 'type': 'iso-8601'},
'backup_set_name': {'key': 'backupSetName', 'type': 'str'},
'create_mode': {'key': 'createMode', 'type': 'str'},
'deferred_delete_time_in_utc': {'key': 'deferredDeleteTimeInUTC', 'type': 'iso-8601'},
'is_scheduled_for_deferred_delete': {'key': 'isScheduledForDeferredDelete', 'type': 'bool'},
'deferred_delete_time_remaining': {'key': 'deferredDeleteTimeRemaining', 'type': 'str'},
'is_deferred_delete_schedule_upcoming': {'key': 'isDeferredDeleteScheduleUpcoming', 'type': 'bool'},
'is_rehydrate': {'key': 'isRehydrate', 'type': 'bool'},
'protected_item_type': {'key': 'protectedItemType', 'type': 'str'},
'friendly_name': {'key': 'friendlyName', 'type': 'str'},
'server_name': {'key': 'serverName', 'type': 'str'},
'parent_name': {'key': 'parentName', 'type': 'str'},
'parent_type': {'key': 'parentType', 'type': 'str'},
'protection_status': {'key': 'protectionStatus', 'type': 'str'},
'protection_state': {'key': 'protectionState', 'type': 'str'},
'last_backup_status': {'key': 'lastBackupStatus', 'type': 'str'},
'last_backup_time': {'key': 'lastBackupTime', 'type': 'iso-8601'},
'last_backup_error_detail': {'key': 'lastBackupErrorDetail', 'type': 'ErrorDetail'},
'protected_item_data_source_id': {'key': 'protectedItemDataSourceId', 'type': 'str'},
'protected_item_health_status': {'key': 'protectedItemHealthStatus', 'type': 'str'},
'health_status': {'key': 'healthStatus', 'type': 'str'},
'health_details': {'key': 'healthDetails', 'type': '[HealthDetails]'},
'extended_info': {'key': 'extendedInfo', 'type': 'AzureVmWorkloadProtectedItemExtendedInfo'},
}
def __init__(self, *, backup_management_type=None, workload_type=None, container_name: str=None, source_resource_id: str=None, policy_id: str=None, last_recovery_point=None, backup_set_name: str=None, create_mode=None, deferred_delete_time_in_utc=None, is_scheduled_for_deferred_delete: bool=None, deferred_delete_time_remaining: str=None, is_deferred_delete_schedule_upcoming: bool=None, is_rehydrate: bool=None, friendly_name: str=None, server_name: str=None, parent_name: str=None, parent_type: str=None, protection_status: str=None, protection_state=None, last_backup_status=None, last_backup_time=None, last_backup_error_detail=None, protected_item_data_source_id: str=None, protected_item_health_status=None, health_status=None, health_details=None, extended_info=None, **kwargs) -> None:
super(AzureVmWorkloadSAPAseDatabaseProtectedItem, self).__init__(backup_management_type=backup_management_type, workload_type=workload_type, container_name=container_name, source_resource_id=source_resource_id, policy_id=policy_id, last_recovery_point=last_recovery_point, backup_set_name=backup_set_name, create_mode=create_mode, deferred_delete_time_in_utc=deferred_delete_time_in_utc, is_scheduled_for_deferred_delete=is_scheduled_for_deferred_delete, deferred_delete_time_remaining=deferred_delete_time_remaining, is_deferred_delete_schedule_upcoming=is_deferred_delete_schedule_upcoming, is_rehydrate=is_rehydrate, friendly_name=friendly_name, server_name=server_name, parent_name=parent_name, parent_type=parent_type, protection_status=protection_status, protection_state=protection_state, last_backup_status=last_backup_status, last_backup_time=last_backup_time, last_backup_error_detail=last_backup_error_detail, protected_item_data_source_id=protected_item_data_source_id, protected_item_health_status=protected_item_health_status, health_status=health_status, health_details=health_details, extended_info=extended_info, **kwargs)
self.protected_item_type = 'AzureVmWorkloadSAPAseDatabase'
[docs]class AzureVmWorkloadSAPAseDatabaseWorkloadItem(AzureVmWorkloadItem):
"""Azure VM workload-specific workload item representing SAP ASE Database.
All required parameters must be populated in order to send to Azure.
:param backup_management_type: Type of backup management to backup an
item.
:type backup_management_type: str
:param workload_type: Type of workload for the backup management
:type workload_type: str
:param friendly_name: Friendly name of the backup item.
:type friendly_name: str
:param protection_state: State of the back up item. Possible values
include: 'Invalid', 'NotProtected', 'Protecting', 'Protected',
'ProtectionFailed'
:type protection_state: str or
~azure.mgmt.recoveryservicesbackup.models.ProtectionStatus
:param workload_item_type: Required. Constant filled by server.
:type workload_item_type: str
:param parent_name: Name for instance or AG
:type parent_name: str
:param server_name: Host/Cluster Name for instance or AG
:type server_name: str
:param is_auto_protectable: Indicates if workload item is auto-protectable
:type is_auto_protectable: bool
:param subinquireditemcount: For instance or AG, indicates number of DB's
present
:type subinquireditemcount: int
:param sub_workload_item_count: For instance or AG, indicates number of
DB's to be protected
:type sub_workload_item_count: int
"""
_validation = {
'workload_item_type': {'required': True},
}
_attribute_map = {
'backup_management_type': {'key': 'backupManagementType', 'type': 'str'},
'workload_type': {'key': 'workloadType', 'type': 'str'},
'friendly_name': {'key': 'friendlyName', 'type': 'str'},
'protection_state': {'key': 'protectionState', 'type': 'str'},
'workload_item_type': {'key': 'workloadItemType', 'type': 'str'},
'parent_name': {'key': 'parentName', 'type': 'str'},
'server_name': {'key': 'serverName', 'type': 'str'},
'is_auto_protectable': {'key': 'isAutoProtectable', 'type': 'bool'},
'subinquireditemcount': {'key': 'subinquireditemcount', 'type': 'int'},
'sub_workload_item_count': {'key': 'subWorkloadItemCount', 'type': 'int'},
}
def __init__(self, *, backup_management_type: str=None, workload_type: str=None, friendly_name: str=None, protection_state=None, parent_name: str=None, server_name: str=None, is_auto_protectable: bool=None, subinquireditemcount: int=None, sub_workload_item_count: int=None, **kwargs) -> None:
super(AzureVmWorkloadSAPAseDatabaseWorkloadItem, self).__init__(backup_management_type=backup_management_type, workload_type=workload_type, friendly_name=friendly_name, protection_state=protection_state, parent_name=parent_name, server_name=server_name, is_auto_protectable=is_auto_protectable, subinquireditemcount=subinquireditemcount, sub_workload_item_count=sub_workload_item_count, **kwargs)
self.workload_item_type = 'SAPAseDatabase'
[docs]class AzureVmWorkloadSAPAseSystemProtectableItem(AzureVmWorkloadProtectableItem):
"""Azure VM workload-specific protectable item representing SAP ASE System.
All required parameters must be populated in order to send to Azure.
:param backup_management_type: Type of backup management to backup an
item.
:type backup_management_type: str
:param workload_type: Type of workload for the backup management
:type workload_type: str
:param friendly_name: Friendly name of the backup item.
:type friendly_name: str
:param protection_state: State of the back up item. Possible values
include: 'Invalid', 'NotProtected', 'Protecting', 'Protected',
'ProtectionFailed'
:type protection_state: str or
~azure.mgmt.recoveryservicesbackup.models.ProtectionStatus
:param protectable_item_type: Required. Constant filled by server.
:type protectable_item_type: str
:param parent_name: Name for instance or AG
:type parent_name: str
:param parent_unique_name: Parent Unique Name is added to provide the
service formatted URI Name of the Parent
Only Applicable for data bases where the parent would be either Instance
or a SQL AG.
:type parent_unique_name: str
:param server_name: Host/Cluster Name for instance or AG
:type server_name: str
:param is_auto_protectable: Indicates if protectable item is
auto-protectable
:type is_auto_protectable: bool
:param is_auto_protected: Indicates if protectable item is auto-protected
:type is_auto_protected: bool
:param subinquireditemcount: For instance or AG, indicates number of DB's
present
:type subinquireditemcount: int
:param subprotectableitemcount: For instance or AG, indicates number of
DB's to be protected
:type subprotectableitemcount: int
:param prebackupvalidation: Pre-backup validation for protectable objects
:type prebackupvalidation:
~azure.mgmt.recoveryservicesbackup.models.PreBackupValidation
"""
_validation = {
'protectable_item_type': {'required': True},
}
_attribute_map = {
'backup_management_type': {'key': 'backupManagementType', 'type': 'str'},
'workload_type': {'key': 'workloadType', 'type': 'str'},
'friendly_name': {'key': 'friendlyName', 'type': 'str'},
'protection_state': {'key': 'protectionState', 'type': 'str'},
'protectable_item_type': {'key': 'protectableItemType', 'type': 'str'},
'parent_name': {'key': 'parentName', 'type': 'str'},
'parent_unique_name': {'key': 'parentUniqueName', 'type': 'str'},
'server_name': {'key': 'serverName', 'type': 'str'},
'is_auto_protectable': {'key': 'isAutoProtectable', 'type': 'bool'},
'is_auto_protected': {'key': 'isAutoProtected', 'type': 'bool'},
'subinquireditemcount': {'key': 'subinquireditemcount', 'type': 'int'},
'subprotectableitemcount': {'key': 'subprotectableitemcount', 'type': 'int'},
'prebackupvalidation': {'key': 'prebackupvalidation', 'type': 'PreBackupValidation'},
}
def __init__(self, *, backup_management_type: str=None, workload_type: str=None, friendly_name: str=None, protection_state=None, parent_name: str=None, parent_unique_name: str=None, server_name: str=None, is_auto_protectable: bool=None, is_auto_protected: bool=None, subinquireditemcount: int=None, subprotectableitemcount: int=None, prebackupvalidation=None, **kwargs) -> None:
super(AzureVmWorkloadSAPAseSystemProtectableItem, self).__init__(backup_management_type=backup_management_type, workload_type=workload_type, friendly_name=friendly_name, protection_state=protection_state, parent_name=parent_name, parent_unique_name=parent_unique_name, server_name=server_name, is_auto_protectable=is_auto_protectable, is_auto_protected=is_auto_protected, subinquireditemcount=subinquireditemcount, subprotectableitemcount=subprotectableitemcount, prebackupvalidation=prebackupvalidation, **kwargs)
self.protectable_item_type = 'SAPAseSystem'
[docs]class AzureVmWorkloadSAPAseSystemWorkloadItem(AzureVmWorkloadItem):
"""Azure VM workload-specific workload item representing SAP ASE System.
All required parameters must be populated in order to send to Azure.
:param backup_management_type: Type of backup management to backup an
item.
:type backup_management_type: str
:param workload_type: Type of workload for the backup management
:type workload_type: str
:param friendly_name: Friendly name of the backup item.
:type friendly_name: str
:param protection_state: State of the back up item. Possible values
include: 'Invalid', 'NotProtected', 'Protecting', 'Protected',
'ProtectionFailed'
:type protection_state: str or
~azure.mgmt.recoveryservicesbackup.models.ProtectionStatus
:param workload_item_type: Required. Constant filled by server.
:type workload_item_type: str
:param parent_name: Name for instance or AG
:type parent_name: str
:param server_name: Host/Cluster Name for instance or AG
:type server_name: str
:param is_auto_protectable: Indicates if workload item is auto-protectable
:type is_auto_protectable: bool
:param subinquireditemcount: For instance or AG, indicates number of DB's
present
:type subinquireditemcount: int
:param sub_workload_item_count: For instance or AG, indicates number of
DB's to be protected
:type sub_workload_item_count: int
"""
_validation = {
'workload_item_type': {'required': True},
}
_attribute_map = {
'backup_management_type': {'key': 'backupManagementType', 'type': 'str'},
'workload_type': {'key': 'workloadType', 'type': 'str'},
'friendly_name': {'key': 'friendlyName', 'type': 'str'},
'protection_state': {'key': 'protectionState', 'type': 'str'},
'workload_item_type': {'key': 'workloadItemType', 'type': 'str'},
'parent_name': {'key': 'parentName', 'type': 'str'},
'server_name': {'key': 'serverName', 'type': 'str'},
'is_auto_protectable': {'key': 'isAutoProtectable', 'type': 'bool'},
'subinquireditemcount': {'key': 'subinquireditemcount', 'type': 'int'},
'sub_workload_item_count': {'key': 'subWorkloadItemCount', 'type': 'int'},
}
def __init__(self, *, backup_management_type: str=None, workload_type: str=None, friendly_name: str=None, protection_state=None, parent_name: str=None, server_name: str=None, is_auto_protectable: bool=None, subinquireditemcount: int=None, sub_workload_item_count: int=None, **kwargs) -> None:
super(AzureVmWorkloadSAPAseSystemWorkloadItem, self).__init__(backup_management_type=backup_management_type, workload_type=workload_type, friendly_name=friendly_name, protection_state=protection_state, parent_name=parent_name, server_name=server_name, is_auto_protectable=is_auto_protectable, subinquireditemcount=subinquireditemcount, sub_workload_item_count=sub_workload_item_count, **kwargs)
self.workload_item_type = 'SAPAseSystem'
[docs]class AzureVmWorkloadSAPHanaDatabaseProtectableItem(AzureVmWorkloadProtectableItem):
"""Azure VM workload-specific protectable item representing SAP HANA Database.
All required parameters must be populated in order to send to Azure.
:param backup_management_type: Type of backup management to backup an
item.
:type backup_management_type: str
:param workload_type: Type of workload for the backup management
:type workload_type: str
:param friendly_name: Friendly name of the backup item.
:type friendly_name: str
:param protection_state: State of the back up item. Possible values
include: 'Invalid', 'NotProtected', 'Protecting', 'Protected',
'ProtectionFailed'
:type protection_state: str or
~azure.mgmt.recoveryservicesbackup.models.ProtectionStatus
:param protectable_item_type: Required. Constant filled by server.
:type protectable_item_type: str
:param parent_name: Name for instance or AG
:type parent_name: str
:param parent_unique_name: Parent Unique Name is added to provide the
service formatted URI Name of the Parent
Only Applicable for data bases where the parent would be either Instance
or a SQL AG.
:type parent_unique_name: str
:param server_name: Host/Cluster Name for instance or AG
:type server_name: str
:param is_auto_protectable: Indicates if protectable item is
auto-protectable
:type is_auto_protectable: bool
:param is_auto_protected: Indicates if protectable item is auto-protected
:type is_auto_protected: bool
:param subinquireditemcount: For instance or AG, indicates number of DB's
present
:type subinquireditemcount: int
:param subprotectableitemcount: For instance or AG, indicates number of
DB's to be protected
:type subprotectableitemcount: int
:param prebackupvalidation: Pre-backup validation for protectable objects
:type prebackupvalidation:
~azure.mgmt.recoveryservicesbackup.models.PreBackupValidation
"""
_validation = {
'protectable_item_type': {'required': True},
}
_attribute_map = {
'backup_management_type': {'key': 'backupManagementType', 'type': 'str'},
'workload_type': {'key': 'workloadType', 'type': 'str'},
'friendly_name': {'key': 'friendlyName', 'type': 'str'},
'protection_state': {'key': 'protectionState', 'type': 'str'},
'protectable_item_type': {'key': 'protectableItemType', 'type': 'str'},
'parent_name': {'key': 'parentName', 'type': 'str'},
'parent_unique_name': {'key': 'parentUniqueName', 'type': 'str'},
'server_name': {'key': 'serverName', 'type': 'str'},
'is_auto_protectable': {'key': 'isAutoProtectable', 'type': 'bool'},
'is_auto_protected': {'key': 'isAutoProtected', 'type': 'bool'},
'subinquireditemcount': {'key': 'subinquireditemcount', 'type': 'int'},
'subprotectableitemcount': {'key': 'subprotectableitemcount', 'type': 'int'},
'prebackupvalidation': {'key': 'prebackupvalidation', 'type': 'PreBackupValidation'},
}
def __init__(self, *, backup_management_type: str=None, workload_type: str=None, friendly_name: str=None, protection_state=None, parent_name: str=None, parent_unique_name: str=None, server_name: str=None, is_auto_protectable: bool=None, is_auto_protected: bool=None, subinquireditemcount: int=None, subprotectableitemcount: int=None, prebackupvalidation=None, **kwargs) -> None:
super(AzureVmWorkloadSAPHanaDatabaseProtectableItem, self).__init__(backup_management_type=backup_management_type, workload_type=workload_type, friendly_name=friendly_name, protection_state=protection_state, parent_name=parent_name, parent_unique_name=parent_unique_name, server_name=server_name, is_auto_protectable=is_auto_protectable, is_auto_protected=is_auto_protected, subinquireditemcount=subinquireditemcount, subprotectableitemcount=subprotectableitemcount, prebackupvalidation=prebackupvalidation, **kwargs)
self.protectable_item_type = 'SAPHanaDatabase'
[docs]class AzureVmWorkloadSAPHanaDatabaseProtectedItem(AzureVmWorkloadProtectedItem):
"""Azure VM workload-specific protected item representing SAP HANA Database.
All required parameters must be populated in order to send to Azure.
:param backup_management_type: Type of backup management for the backed up
item. Possible values include: 'Invalid', 'AzureIaasVM', 'MAB', 'DPM',
'AzureBackupServer', 'AzureSql', 'AzureStorage', 'AzureWorkload',
'DefaultBackup'
:type backup_management_type: str or
~azure.mgmt.recoveryservicesbackup.models.BackupManagementType
:param workload_type: Type of workload this item represents. Possible
values include: 'Invalid', 'VM', 'FileFolder', 'AzureSqlDb', 'SQLDB',
'Exchange', 'Sharepoint', 'VMwareVM', 'SystemState', 'Client',
'GenericDataSource', 'SQLDataBase', 'AzureFileShare', 'SAPHanaDatabase',
'SAPAseDatabase'
:type workload_type: str or
~azure.mgmt.recoveryservicesbackup.models.DataSourceType
:param container_name: Unique name of container
:type container_name: str
:param source_resource_id: ARM ID of the resource to be backed up.
:type source_resource_id: str
:param policy_id: ID of the backup policy with which this item is backed
up.
:type policy_id: str
:param last_recovery_point: Timestamp when the last (latest) backup copy
was created for this backup item.
:type last_recovery_point: datetime
:param backup_set_name: Name of the backup set the backup item belongs to
:type backup_set_name: str
:param create_mode: Create mode to indicate recovery of existing soft
deleted data source or creation of new data source. Possible values
include: 'Invalid', 'Default', 'Recover'
:type create_mode: str or
~azure.mgmt.recoveryservicesbackup.models.CreateMode
:param deferred_delete_time_in_utc: Time for deferred deletion in UTC
:type deferred_delete_time_in_utc: datetime
:param is_scheduled_for_deferred_delete: Flag to identify whether the DS
is scheduled for deferred delete
:type is_scheduled_for_deferred_delete: bool
:param deferred_delete_time_remaining: Time remaining before the DS marked
for deferred delete is permanently deleted
:type deferred_delete_time_remaining: str
:param is_deferred_delete_schedule_upcoming: Flag to identify whether the
deferred deleted DS is to be purged soon
:type is_deferred_delete_schedule_upcoming: bool
:param is_rehydrate: Flag to identify that deferred deleted DS is to be
moved into Pause state
:type is_rehydrate: bool
:param protected_item_type: Required. Constant filled by server.
:type protected_item_type: str
:param friendly_name: Friendly name of the DB represented by this backup
item.
:type friendly_name: str
:param server_name: Host/Cluster Name for instance or AG
:type server_name: str
:param parent_name: Parent name of the DB such as Instance or Availability
Group.
:type parent_name: str
:param parent_type: Parent type of protected item, example: for a DB,
standalone server or distributed
:type parent_type: str
:param protection_status: Backup status of this backup item.
:type protection_status: str
:param protection_state: Backup state of this backup item. Possible values
include: 'Invalid', 'IRPending', 'Protected', 'ProtectionError',
'ProtectionStopped', 'ProtectionPaused'
:type protection_state: str or
~azure.mgmt.recoveryservicesbackup.models.ProtectionState
:param last_backup_status: Last backup operation status. Possible values:
Healthy, Unhealthy. Possible values include: 'Invalid', 'Healthy',
'Unhealthy', 'IRPending'
:type last_backup_status: str or
~azure.mgmt.recoveryservicesbackup.models.LastBackupStatus
:param last_backup_time: Timestamp of the last backup operation on this
backup item.
:type last_backup_time: datetime
:param last_backup_error_detail: Error details in last backup
:type last_backup_error_detail:
~azure.mgmt.recoveryservicesbackup.models.ErrorDetail
:param protected_item_data_source_id: Data ID of the protected item.
:type protected_item_data_source_id: str
:param protected_item_health_status: Health status of the backup item,
evaluated based on last heartbeat received. Possible values include:
'Invalid', 'Healthy', 'Unhealthy', 'NotReachable', 'IRPending'
:type protected_item_health_status: str or
~azure.mgmt.recoveryservicesbackup.models.ProtectedItemHealthStatus
:param health_status: Health status of protected item. Possible values
include: 'Passed', 'ActionRequired', 'ActionSuggested', 'Healthy',
'TransientDegraded', 'PersistentDegraded', 'TransientUnhealthy',
'PersistentUnhealthy', 'Invalid'
:type health_status: str or
~azure.mgmt.recoveryservicesbackup.models.HealthStatus
:param health_details: Health details on this backup item.
:type health_details:
list[~azure.mgmt.recoveryservicesbackup.models.HealthDetails]
:param extended_info: Additional information for this backup item.
:type extended_info:
~azure.mgmt.recoveryservicesbackup.models.AzureVmWorkloadProtectedItemExtendedInfo
"""
_validation = {
'protected_item_type': {'required': True},
}
_attribute_map = {
'backup_management_type': {'key': 'backupManagementType', 'type': 'str'},
'workload_type': {'key': 'workloadType', 'type': 'str'},
'container_name': {'key': 'containerName', 'type': 'str'},
'source_resource_id': {'key': 'sourceResourceId', 'type': 'str'},
'policy_id': {'key': 'policyId', 'type': 'str'},
'last_recovery_point': {'key': 'lastRecoveryPoint', 'type': 'iso-8601'},
'backup_set_name': {'key': 'backupSetName', 'type': 'str'},
'create_mode': {'key': 'createMode', 'type': 'str'},
'deferred_delete_time_in_utc': {'key': 'deferredDeleteTimeInUTC', 'type': 'iso-8601'},
'is_scheduled_for_deferred_delete': {'key': 'isScheduledForDeferredDelete', 'type': 'bool'},
'deferred_delete_time_remaining': {'key': 'deferredDeleteTimeRemaining', 'type': 'str'},
'is_deferred_delete_schedule_upcoming': {'key': 'isDeferredDeleteScheduleUpcoming', 'type': 'bool'},
'is_rehydrate': {'key': 'isRehydrate', 'type': 'bool'},
'protected_item_type': {'key': 'protectedItemType', 'type': 'str'},
'friendly_name': {'key': 'friendlyName', 'type': 'str'},
'server_name': {'key': 'serverName', 'type': 'str'},
'parent_name': {'key': 'parentName', 'type': 'str'},
'parent_type': {'key': 'parentType', 'type': 'str'},
'protection_status': {'key': 'protectionStatus', 'type': 'str'},
'protection_state': {'key': 'protectionState', 'type': 'str'},
'last_backup_status': {'key': 'lastBackupStatus', 'type': 'str'},
'last_backup_time': {'key': 'lastBackupTime', 'type': 'iso-8601'},
'last_backup_error_detail': {'key': 'lastBackupErrorDetail', 'type': 'ErrorDetail'},
'protected_item_data_source_id': {'key': 'protectedItemDataSourceId', 'type': 'str'},
'protected_item_health_status': {'key': 'protectedItemHealthStatus', 'type': 'str'},
'health_status': {'key': 'healthStatus', 'type': 'str'},
'health_details': {'key': 'healthDetails', 'type': '[HealthDetails]'},
'extended_info': {'key': 'extendedInfo', 'type': 'AzureVmWorkloadProtectedItemExtendedInfo'},
}
def __init__(self, *, backup_management_type=None, workload_type=None, container_name: str=None, source_resource_id: str=None, policy_id: str=None, last_recovery_point=None, backup_set_name: str=None, create_mode=None, deferred_delete_time_in_utc=None, is_scheduled_for_deferred_delete: bool=None, deferred_delete_time_remaining: str=None, is_deferred_delete_schedule_upcoming: bool=None, is_rehydrate: bool=None, friendly_name: str=None, server_name: str=None, parent_name: str=None, parent_type: str=None, protection_status: str=None, protection_state=None, last_backup_status=None, last_backup_time=None, last_backup_error_detail=None, protected_item_data_source_id: str=None, protected_item_health_status=None, health_status=None, health_details=None, extended_info=None, **kwargs) -> None:
super(AzureVmWorkloadSAPHanaDatabaseProtectedItem, self).__init__(backup_management_type=backup_management_type, workload_type=workload_type, container_name=container_name, source_resource_id=source_resource_id, policy_id=policy_id, last_recovery_point=last_recovery_point, backup_set_name=backup_set_name, create_mode=create_mode, deferred_delete_time_in_utc=deferred_delete_time_in_utc, is_scheduled_for_deferred_delete=is_scheduled_for_deferred_delete, deferred_delete_time_remaining=deferred_delete_time_remaining, is_deferred_delete_schedule_upcoming=is_deferred_delete_schedule_upcoming, is_rehydrate=is_rehydrate, friendly_name=friendly_name, server_name=server_name, parent_name=parent_name, parent_type=parent_type, protection_status=protection_status, protection_state=protection_state, last_backup_status=last_backup_status, last_backup_time=last_backup_time, last_backup_error_detail=last_backup_error_detail, protected_item_data_source_id=protected_item_data_source_id, protected_item_health_status=protected_item_health_status, health_status=health_status, health_details=health_details, extended_info=extended_info, **kwargs)
self.protected_item_type = 'AzureVmWorkloadSAPHanaDatabase'
[docs]class AzureVmWorkloadSAPHanaDatabaseWorkloadItem(AzureVmWorkloadItem):
"""Azure VM workload-specific workload item representing SAP HANA Database.
All required parameters must be populated in order to send to Azure.
:param backup_management_type: Type of backup management to backup an
item.
:type backup_management_type: str
:param workload_type: Type of workload for the backup management
:type workload_type: str
:param friendly_name: Friendly name of the backup item.
:type friendly_name: str
:param protection_state: State of the back up item. Possible values
include: 'Invalid', 'NotProtected', 'Protecting', 'Protected',
'ProtectionFailed'
:type protection_state: str or
~azure.mgmt.recoveryservicesbackup.models.ProtectionStatus
:param workload_item_type: Required. Constant filled by server.
:type workload_item_type: str
:param parent_name: Name for instance or AG
:type parent_name: str
:param server_name: Host/Cluster Name for instance or AG
:type server_name: str
:param is_auto_protectable: Indicates if workload item is auto-protectable
:type is_auto_protectable: bool
:param subinquireditemcount: For instance or AG, indicates number of DB's
present
:type subinquireditemcount: int
:param sub_workload_item_count: For instance or AG, indicates number of
DB's to be protected
:type sub_workload_item_count: int
"""
_validation = {
'workload_item_type': {'required': True},
}
_attribute_map = {
'backup_management_type': {'key': 'backupManagementType', 'type': 'str'},
'workload_type': {'key': 'workloadType', 'type': 'str'},
'friendly_name': {'key': 'friendlyName', 'type': 'str'},
'protection_state': {'key': 'protectionState', 'type': 'str'},
'workload_item_type': {'key': 'workloadItemType', 'type': 'str'},
'parent_name': {'key': 'parentName', 'type': 'str'},
'server_name': {'key': 'serverName', 'type': 'str'},
'is_auto_protectable': {'key': 'isAutoProtectable', 'type': 'bool'},
'subinquireditemcount': {'key': 'subinquireditemcount', 'type': 'int'},
'sub_workload_item_count': {'key': 'subWorkloadItemCount', 'type': 'int'},
}
def __init__(self, *, backup_management_type: str=None, workload_type: str=None, friendly_name: str=None, protection_state=None, parent_name: str=None, server_name: str=None, is_auto_protectable: bool=None, subinquireditemcount: int=None, sub_workload_item_count: int=None, **kwargs) -> None:
super(AzureVmWorkloadSAPHanaDatabaseWorkloadItem, self).__init__(backup_management_type=backup_management_type, workload_type=workload_type, friendly_name=friendly_name, protection_state=protection_state, parent_name=parent_name, server_name=server_name, is_auto_protectable=is_auto_protectable, subinquireditemcount=subinquireditemcount, sub_workload_item_count=sub_workload_item_count, **kwargs)
self.workload_item_type = 'SAPHanaDatabase'
[docs]class AzureVmWorkloadSAPHanaSystemProtectableItem(AzureVmWorkloadProtectableItem):
"""Azure VM workload-specific protectable item representing SAP HANA System.
All required parameters must be populated in order to send to Azure.
:param backup_management_type: Type of backup management to backup an
item.
:type backup_management_type: str
:param workload_type: Type of workload for the backup management
:type workload_type: str
:param friendly_name: Friendly name of the backup item.
:type friendly_name: str
:param protection_state: State of the back up item. Possible values
include: 'Invalid', 'NotProtected', 'Protecting', 'Protected',
'ProtectionFailed'
:type protection_state: str or
~azure.mgmt.recoveryservicesbackup.models.ProtectionStatus
:param protectable_item_type: Required. Constant filled by server.
:type protectable_item_type: str
:param parent_name: Name for instance or AG
:type parent_name: str
:param parent_unique_name: Parent Unique Name is added to provide the
service formatted URI Name of the Parent
Only Applicable for data bases where the parent would be either Instance
or a SQL AG.
:type parent_unique_name: str
:param server_name: Host/Cluster Name for instance or AG
:type server_name: str
:param is_auto_protectable: Indicates if protectable item is
auto-protectable
:type is_auto_protectable: bool
:param is_auto_protected: Indicates if protectable item is auto-protected
:type is_auto_protected: bool
:param subinquireditemcount: For instance or AG, indicates number of DB's
present
:type subinquireditemcount: int
:param subprotectableitemcount: For instance or AG, indicates number of
DB's to be protected
:type subprotectableitemcount: int
:param prebackupvalidation: Pre-backup validation for protectable objects
:type prebackupvalidation:
~azure.mgmt.recoveryservicesbackup.models.PreBackupValidation
"""
_validation = {
'protectable_item_type': {'required': True},
}
_attribute_map = {
'backup_management_type': {'key': 'backupManagementType', 'type': 'str'},
'workload_type': {'key': 'workloadType', 'type': 'str'},
'friendly_name': {'key': 'friendlyName', 'type': 'str'},
'protection_state': {'key': 'protectionState', 'type': 'str'},
'protectable_item_type': {'key': 'protectableItemType', 'type': 'str'},
'parent_name': {'key': 'parentName', 'type': 'str'},
'parent_unique_name': {'key': 'parentUniqueName', 'type': 'str'},
'server_name': {'key': 'serverName', 'type': 'str'},
'is_auto_protectable': {'key': 'isAutoProtectable', 'type': 'bool'},
'is_auto_protected': {'key': 'isAutoProtected', 'type': 'bool'},
'subinquireditemcount': {'key': 'subinquireditemcount', 'type': 'int'},
'subprotectableitemcount': {'key': 'subprotectableitemcount', 'type': 'int'},
'prebackupvalidation': {'key': 'prebackupvalidation', 'type': 'PreBackupValidation'},
}
def __init__(self, *, backup_management_type: str=None, workload_type: str=None, friendly_name: str=None, protection_state=None, parent_name: str=None, parent_unique_name: str=None, server_name: str=None, is_auto_protectable: bool=None, is_auto_protected: bool=None, subinquireditemcount: int=None, subprotectableitemcount: int=None, prebackupvalidation=None, **kwargs) -> None:
super(AzureVmWorkloadSAPHanaSystemProtectableItem, self).__init__(backup_management_type=backup_management_type, workload_type=workload_type, friendly_name=friendly_name, protection_state=protection_state, parent_name=parent_name, parent_unique_name=parent_unique_name, server_name=server_name, is_auto_protectable=is_auto_protectable, is_auto_protected=is_auto_protected, subinquireditemcount=subinquireditemcount, subprotectableitemcount=subprotectableitemcount, prebackupvalidation=prebackupvalidation, **kwargs)
self.protectable_item_type = 'SAPHanaSystem'
[docs]class AzureVmWorkloadSAPHanaSystemWorkloadItem(AzureVmWorkloadItem):
"""Azure VM workload-specific workload item representing SAP HANA System.
All required parameters must be populated in order to send to Azure.
:param backup_management_type: Type of backup management to backup an
item.
:type backup_management_type: str
:param workload_type: Type of workload for the backup management
:type workload_type: str
:param friendly_name: Friendly name of the backup item.
:type friendly_name: str
:param protection_state: State of the back up item. Possible values
include: 'Invalid', 'NotProtected', 'Protecting', 'Protected',
'ProtectionFailed'
:type protection_state: str or
~azure.mgmt.recoveryservicesbackup.models.ProtectionStatus
:param workload_item_type: Required. Constant filled by server.
:type workload_item_type: str
:param parent_name: Name for instance or AG
:type parent_name: str
:param server_name: Host/Cluster Name for instance or AG
:type server_name: str
:param is_auto_protectable: Indicates if workload item is auto-protectable
:type is_auto_protectable: bool
:param subinquireditemcount: For instance or AG, indicates number of DB's
present
:type subinquireditemcount: int
:param sub_workload_item_count: For instance or AG, indicates number of
DB's to be protected
:type sub_workload_item_count: int
"""
_validation = {
'workload_item_type': {'required': True},
}
_attribute_map = {
'backup_management_type': {'key': 'backupManagementType', 'type': 'str'},
'workload_type': {'key': 'workloadType', 'type': 'str'},
'friendly_name': {'key': 'friendlyName', 'type': 'str'},
'protection_state': {'key': 'protectionState', 'type': 'str'},
'workload_item_type': {'key': 'workloadItemType', 'type': 'str'},
'parent_name': {'key': 'parentName', 'type': 'str'},
'server_name': {'key': 'serverName', 'type': 'str'},
'is_auto_protectable': {'key': 'isAutoProtectable', 'type': 'bool'},
'subinquireditemcount': {'key': 'subinquireditemcount', 'type': 'int'},
'sub_workload_item_count': {'key': 'subWorkloadItemCount', 'type': 'int'},
}
def __init__(self, *, backup_management_type: str=None, workload_type: str=None, friendly_name: str=None, protection_state=None, parent_name: str=None, server_name: str=None, is_auto_protectable: bool=None, subinquireditemcount: int=None, sub_workload_item_count: int=None, **kwargs) -> None:
super(AzureVmWorkloadSAPHanaSystemWorkloadItem, self).__init__(backup_management_type=backup_management_type, workload_type=workload_type, friendly_name=friendly_name, protection_state=protection_state, parent_name=parent_name, server_name=server_name, is_auto_protectable=is_auto_protectable, subinquireditemcount=subinquireditemcount, sub_workload_item_count=sub_workload_item_count, **kwargs)
self.workload_item_type = 'SAPHanaSystem'
[docs]class AzureVmWorkloadSQLAvailabilityGroupProtectableItem(AzureVmWorkloadProtectableItem):
"""Azure VM workload-specific protectable item representing SQL Availability
Group.
All required parameters must be populated in order to send to Azure.
:param backup_management_type: Type of backup management to backup an
item.
:type backup_management_type: str
:param workload_type: Type of workload for the backup management
:type workload_type: str
:param friendly_name: Friendly name of the backup item.
:type friendly_name: str
:param protection_state: State of the back up item. Possible values
include: 'Invalid', 'NotProtected', 'Protecting', 'Protected',
'ProtectionFailed'
:type protection_state: str or
~azure.mgmt.recoveryservicesbackup.models.ProtectionStatus
:param protectable_item_type: Required. Constant filled by server.
:type protectable_item_type: str
:param parent_name: Name for instance or AG
:type parent_name: str
:param parent_unique_name: Parent Unique Name is added to provide the
service formatted URI Name of the Parent
Only Applicable for data bases where the parent would be either Instance
or a SQL AG.
:type parent_unique_name: str
:param server_name: Host/Cluster Name for instance or AG
:type server_name: str
:param is_auto_protectable: Indicates if protectable item is
auto-protectable
:type is_auto_protectable: bool
:param is_auto_protected: Indicates if protectable item is auto-protected
:type is_auto_protected: bool
:param subinquireditemcount: For instance or AG, indicates number of DB's
present
:type subinquireditemcount: int
:param subprotectableitemcount: For instance or AG, indicates number of
DB's to be protected
:type subprotectableitemcount: int
:param prebackupvalidation: Pre-backup validation for protectable objects
:type prebackupvalidation:
~azure.mgmt.recoveryservicesbackup.models.PreBackupValidation
"""
_validation = {
'protectable_item_type': {'required': True},
}
_attribute_map = {
'backup_management_type': {'key': 'backupManagementType', 'type': 'str'},
'workload_type': {'key': 'workloadType', 'type': 'str'},
'friendly_name': {'key': 'friendlyName', 'type': 'str'},
'protection_state': {'key': 'protectionState', 'type': 'str'},
'protectable_item_type': {'key': 'protectableItemType', 'type': 'str'},
'parent_name': {'key': 'parentName', 'type': 'str'},
'parent_unique_name': {'key': 'parentUniqueName', 'type': 'str'},
'server_name': {'key': 'serverName', 'type': 'str'},
'is_auto_protectable': {'key': 'isAutoProtectable', 'type': 'bool'},
'is_auto_protected': {'key': 'isAutoProtected', 'type': 'bool'},
'subinquireditemcount': {'key': 'subinquireditemcount', 'type': 'int'},
'subprotectableitemcount': {'key': 'subprotectableitemcount', 'type': 'int'},
'prebackupvalidation': {'key': 'prebackupvalidation', 'type': 'PreBackupValidation'},
}
def __init__(self, *, backup_management_type: str=None, workload_type: str=None, friendly_name: str=None, protection_state=None, parent_name: str=None, parent_unique_name: str=None, server_name: str=None, is_auto_protectable: bool=None, is_auto_protected: bool=None, subinquireditemcount: int=None, subprotectableitemcount: int=None, prebackupvalidation=None, **kwargs) -> None:
super(AzureVmWorkloadSQLAvailabilityGroupProtectableItem, self).__init__(backup_management_type=backup_management_type, workload_type=workload_type, friendly_name=friendly_name, protection_state=protection_state, parent_name=parent_name, parent_unique_name=parent_unique_name, server_name=server_name, is_auto_protectable=is_auto_protectable, is_auto_protected=is_auto_protected, subinquireditemcount=subinquireditemcount, subprotectableitemcount=subprotectableitemcount, prebackupvalidation=prebackupvalidation, **kwargs)
self.protectable_item_type = 'SQLAvailabilityGroupContainer'
[docs]class AzureVmWorkloadSQLDatabaseProtectableItem(AzureVmWorkloadProtectableItem):
"""Azure VM workload-specific protectable item representing SQL Database.
All required parameters must be populated in order to send to Azure.
:param backup_management_type: Type of backup management to backup an
item.
:type backup_management_type: str
:param workload_type: Type of workload for the backup management
:type workload_type: str
:param friendly_name: Friendly name of the backup item.
:type friendly_name: str
:param protection_state: State of the back up item. Possible values
include: 'Invalid', 'NotProtected', 'Protecting', 'Protected',
'ProtectionFailed'
:type protection_state: str or
~azure.mgmt.recoveryservicesbackup.models.ProtectionStatus
:param protectable_item_type: Required. Constant filled by server.
:type protectable_item_type: str
:param parent_name: Name for instance or AG
:type parent_name: str
:param parent_unique_name: Parent Unique Name is added to provide the
service formatted URI Name of the Parent
Only Applicable for data bases where the parent would be either Instance
or a SQL AG.
:type parent_unique_name: str
:param server_name: Host/Cluster Name for instance or AG
:type server_name: str
:param is_auto_protectable: Indicates if protectable item is
auto-protectable
:type is_auto_protectable: bool
:param is_auto_protected: Indicates if protectable item is auto-protected
:type is_auto_protected: bool
:param subinquireditemcount: For instance or AG, indicates number of DB's
present
:type subinquireditemcount: int
:param subprotectableitemcount: For instance or AG, indicates number of
DB's to be protected
:type subprotectableitemcount: int
:param prebackupvalidation: Pre-backup validation for protectable objects
:type prebackupvalidation:
~azure.mgmt.recoveryservicesbackup.models.PreBackupValidation
"""
_validation = {
'protectable_item_type': {'required': True},
}
_attribute_map = {
'backup_management_type': {'key': 'backupManagementType', 'type': 'str'},
'workload_type': {'key': 'workloadType', 'type': 'str'},
'friendly_name': {'key': 'friendlyName', 'type': 'str'},
'protection_state': {'key': 'protectionState', 'type': 'str'},
'protectable_item_type': {'key': 'protectableItemType', 'type': 'str'},
'parent_name': {'key': 'parentName', 'type': 'str'},
'parent_unique_name': {'key': 'parentUniqueName', 'type': 'str'},
'server_name': {'key': 'serverName', 'type': 'str'},
'is_auto_protectable': {'key': 'isAutoProtectable', 'type': 'bool'},
'is_auto_protected': {'key': 'isAutoProtected', 'type': 'bool'},
'subinquireditemcount': {'key': 'subinquireditemcount', 'type': 'int'},
'subprotectableitemcount': {'key': 'subprotectableitemcount', 'type': 'int'},
'prebackupvalidation': {'key': 'prebackupvalidation', 'type': 'PreBackupValidation'},
}
def __init__(self, *, backup_management_type: str=None, workload_type: str=None, friendly_name: str=None, protection_state=None, parent_name: str=None, parent_unique_name: str=None, server_name: str=None, is_auto_protectable: bool=None, is_auto_protected: bool=None, subinquireditemcount: int=None, subprotectableitemcount: int=None, prebackupvalidation=None, **kwargs) -> None:
super(AzureVmWorkloadSQLDatabaseProtectableItem, self).__init__(backup_management_type=backup_management_type, workload_type=workload_type, friendly_name=friendly_name, protection_state=protection_state, parent_name=parent_name, parent_unique_name=parent_unique_name, server_name=server_name, is_auto_protectable=is_auto_protectable, is_auto_protected=is_auto_protected, subinquireditemcount=subinquireditemcount, subprotectableitemcount=subprotectableitemcount, prebackupvalidation=prebackupvalidation, **kwargs)
self.protectable_item_type = 'SQLDataBase'
[docs]class AzureVmWorkloadSQLDatabaseProtectedItem(AzureVmWorkloadProtectedItem):
"""Azure VM workload-specific protected item representing SQL Database.
All required parameters must be populated in order to send to Azure.
:param backup_management_type: Type of backup management for the backed up
item. Possible values include: 'Invalid', 'AzureIaasVM', 'MAB', 'DPM',
'AzureBackupServer', 'AzureSql', 'AzureStorage', 'AzureWorkload',
'DefaultBackup'
:type backup_management_type: str or
~azure.mgmt.recoveryservicesbackup.models.BackupManagementType
:param workload_type: Type of workload this item represents. Possible
values include: 'Invalid', 'VM', 'FileFolder', 'AzureSqlDb', 'SQLDB',
'Exchange', 'Sharepoint', 'VMwareVM', 'SystemState', 'Client',
'GenericDataSource', 'SQLDataBase', 'AzureFileShare', 'SAPHanaDatabase',
'SAPAseDatabase'
:type workload_type: str or
~azure.mgmt.recoveryservicesbackup.models.DataSourceType
:param container_name: Unique name of container
:type container_name: str
:param source_resource_id: ARM ID of the resource to be backed up.
:type source_resource_id: str
:param policy_id: ID of the backup policy with which this item is backed
up.
:type policy_id: str
:param last_recovery_point: Timestamp when the last (latest) backup copy
was created for this backup item.
:type last_recovery_point: datetime
:param backup_set_name: Name of the backup set the backup item belongs to
:type backup_set_name: str
:param create_mode: Create mode to indicate recovery of existing soft
deleted data source or creation of new data source. Possible values
include: 'Invalid', 'Default', 'Recover'
:type create_mode: str or
~azure.mgmt.recoveryservicesbackup.models.CreateMode
:param deferred_delete_time_in_utc: Time for deferred deletion in UTC
:type deferred_delete_time_in_utc: datetime
:param is_scheduled_for_deferred_delete: Flag to identify whether the DS
is scheduled for deferred delete
:type is_scheduled_for_deferred_delete: bool
:param deferred_delete_time_remaining: Time remaining before the DS marked
for deferred delete is permanently deleted
:type deferred_delete_time_remaining: str
:param is_deferred_delete_schedule_upcoming: Flag to identify whether the
deferred deleted DS is to be purged soon
:type is_deferred_delete_schedule_upcoming: bool
:param is_rehydrate: Flag to identify that deferred deleted DS is to be
moved into Pause state
:type is_rehydrate: bool
:param protected_item_type: Required. Constant filled by server.
:type protected_item_type: str
:param friendly_name: Friendly name of the DB represented by this backup
item.
:type friendly_name: str
:param server_name: Host/Cluster Name for instance or AG
:type server_name: str
:param parent_name: Parent name of the DB such as Instance or Availability
Group.
:type parent_name: str
:param parent_type: Parent type of protected item, example: for a DB,
standalone server or distributed
:type parent_type: str
:param protection_status: Backup status of this backup item.
:type protection_status: str
:param protection_state: Backup state of this backup item. Possible values
include: 'Invalid', 'IRPending', 'Protected', 'ProtectionError',
'ProtectionStopped', 'ProtectionPaused'
:type protection_state: str or
~azure.mgmt.recoveryservicesbackup.models.ProtectionState
:param last_backup_status: Last backup operation status. Possible values:
Healthy, Unhealthy. Possible values include: 'Invalid', 'Healthy',
'Unhealthy', 'IRPending'
:type last_backup_status: str or
~azure.mgmt.recoveryservicesbackup.models.LastBackupStatus
:param last_backup_time: Timestamp of the last backup operation on this
backup item.
:type last_backup_time: datetime
:param last_backup_error_detail: Error details in last backup
:type last_backup_error_detail:
~azure.mgmt.recoveryservicesbackup.models.ErrorDetail
:param protected_item_data_source_id: Data ID of the protected item.
:type protected_item_data_source_id: str
:param protected_item_health_status: Health status of the backup item,
evaluated based on last heartbeat received. Possible values include:
'Invalid', 'Healthy', 'Unhealthy', 'NotReachable', 'IRPending'
:type protected_item_health_status: str or
~azure.mgmt.recoveryservicesbackup.models.ProtectedItemHealthStatus
:param health_status: Health status of protected item. Possible values
include: 'Passed', 'ActionRequired', 'ActionSuggested', 'Healthy',
'TransientDegraded', 'PersistentDegraded', 'TransientUnhealthy',
'PersistentUnhealthy', 'Invalid'
:type health_status: str or
~azure.mgmt.recoveryservicesbackup.models.HealthStatus
:param health_details: Health details on this backup item.
:type health_details:
list[~azure.mgmt.recoveryservicesbackup.models.HealthDetails]
:param extended_info: Additional information for this backup item.
:type extended_info:
~azure.mgmt.recoveryservicesbackup.models.AzureVmWorkloadProtectedItemExtendedInfo
"""
_validation = {
'protected_item_type': {'required': True},
}
_attribute_map = {
'backup_management_type': {'key': 'backupManagementType', 'type': 'str'},
'workload_type': {'key': 'workloadType', 'type': 'str'},
'container_name': {'key': 'containerName', 'type': 'str'},
'source_resource_id': {'key': 'sourceResourceId', 'type': 'str'},
'policy_id': {'key': 'policyId', 'type': 'str'},
'last_recovery_point': {'key': 'lastRecoveryPoint', 'type': 'iso-8601'},
'backup_set_name': {'key': 'backupSetName', 'type': 'str'},
'create_mode': {'key': 'createMode', 'type': 'str'},
'deferred_delete_time_in_utc': {'key': 'deferredDeleteTimeInUTC', 'type': 'iso-8601'},
'is_scheduled_for_deferred_delete': {'key': 'isScheduledForDeferredDelete', 'type': 'bool'},
'deferred_delete_time_remaining': {'key': 'deferredDeleteTimeRemaining', 'type': 'str'},
'is_deferred_delete_schedule_upcoming': {'key': 'isDeferredDeleteScheduleUpcoming', 'type': 'bool'},
'is_rehydrate': {'key': 'isRehydrate', 'type': 'bool'},
'protected_item_type': {'key': 'protectedItemType', 'type': 'str'},
'friendly_name': {'key': 'friendlyName', 'type': 'str'},
'server_name': {'key': 'serverName', 'type': 'str'},
'parent_name': {'key': 'parentName', 'type': 'str'},
'parent_type': {'key': 'parentType', 'type': 'str'},
'protection_status': {'key': 'protectionStatus', 'type': 'str'},
'protection_state': {'key': 'protectionState', 'type': 'str'},
'last_backup_status': {'key': 'lastBackupStatus', 'type': 'str'},
'last_backup_time': {'key': 'lastBackupTime', 'type': 'iso-8601'},
'last_backup_error_detail': {'key': 'lastBackupErrorDetail', 'type': 'ErrorDetail'},
'protected_item_data_source_id': {'key': 'protectedItemDataSourceId', 'type': 'str'},
'protected_item_health_status': {'key': 'protectedItemHealthStatus', 'type': 'str'},
'health_status': {'key': 'healthStatus', 'type': 'str'},
'health_details': {'key': 'healthDetails', 'type': '[HealthDetails]'},
'extended_info': {'key': 'extendedInfo', 'type': 'AzureVmWorkloadProtectedItemExtendedInfo'},
}
def __init__(self, *, backup_management_type=None, workload_type=None, container_name: str=None, source_resource_id: str=None, policy_id: str=None, last_recovery_point=None, backup_set_name: str=None, create_mode=None, deferred_delete_time_in_utc=None, is_scheduled_for_deferred_delete: bool=None, deferred_delete_time_remaining: str=None, is_deferred_delete_schedule_upcoming: bool=None, is_rehydrate: bool=None, friendly_name: str=None, server_name: str=None, parent_name: str=None, parent_type: str=None, protection_status: str=None, protection_state=None, last_backup_status=None, last_backup_time=None, last_backup_error_detail=None, protected_item_data_source_id: str=None, protected_item_health_status=None, health_status=None, health_details=None, extended_info=None, **kwargs) -> None:
super(AzureVmWorkloadSQLDatabaseProtectedItem, self).__init__(backup_management_type=backup_management_type, workload_type=workload_type, container_name=container_name, source_resource_id=source_resource_id, policy_id=policy_id, last_recovery_point=last_recovery_point, backup_set_name=backup_set_name, create_mode=create_mode, deferred_delete_time_in_utc=deferred_delete_time_in_utc, is_scheduled_for_deferred_delete=is_scheduled_for_deferred_delete, deferred_delete_time_remaining=deferred_delete_time_remaining, is_deferred_delete_schedule_upcoming=is_deferred_delete_schedule_upcoming, is_rehydrate=is_rehydrate, friendly_name=friendly_name, server_name=server_name, parent_name=parent_name, parent_type=parent_type, protection_status=protection_status, protection_state=protection_state, last_backup_status=last_backup_status, last_backup_time=last_backup_time, last_backup_error_detail=last_backup_error_detail, protected_item_data_source_id=protected_item_data_source_id, protected_item_health_status=protected_item_health_status, health_status=health_status, health_details=health_details, extended_info=extended_info, **kwargs)
self.protected_item_type = 'AzureVmWorkloadSQLDatabase'
[docs]class AzureVmWorkloadSQLDatabaseWorkloadItem(AzureVmWorkloadItem):
"""Azure VM workload-specific workload item representing SQL Database.
All required parameters must be populated in order to send to Azure.
:param backup_management_type: Type of backup management to backup an
item.
:type backup_management_type: str
:param workload_type: Type of workload for the backup management
:type workload_type: str
:param friendly_name: Friendly name of the backup item.
:type friendly_name: str
:param protection_state: State of the back up item. Possible values
include: 'Invalid', 'NotProtected', 'Protecting', 'Protected',
'ProtectionFailed'
:type protection_state: str or
~azure.mgmt.recoveryservicesbackup.models.ProtectionStatus
:param workload_item_type: Required. Constant filled by server.
:type workload_item_type: str
:param parent_name: Name for instance or AG
:type parent_name: str
:param server_name: Host/Cluster Name for instance or AG
:type server_name: str
:param is_auto_protectable: Indicates if workload item is auto-protectable
:type is_auto_protectable: bool
:param subinquireditemcount: For instance or AG, indicates number of DB's
present
:type subinquireditemcount: int
:param sub_workload_item_count: For instance or AG, indicates number of
DB's to be protected
:type sub_workload_item_count: int
"""
_validation = {
'workload_item_type': {'required': True},
}
_attribute_map = {
'backup_management_type': {'key': 'backupManagementType', 'type': 'str'},
'workload_type': {'key': 'workloadType', 'type': 'str'},
'friendly_name': {'key': 'friendlyName', 'type': 'str'},
'protection_state': {'key': 'protectionState', 'type': 'str'},
'workload_item_type': {'key': 'workloadItemType', 'type': 'str'},
'parent_name': {'key': 'parentName', 'type': 'str'},
'server_name': {'key': 'serverName', 'type': 'str'},
'is_auto_protectable': {'key': 'isAutoProtectable', 'type': 'bool'},
'subinquireditemcount': {'key': 'subinquireditemcount', 'type': 'int'},
'sub_workload_item_count': {'key': 'subWorkloadItemCount', 'type': 'int'},
}
def __init__(self, *, backup_management_type: str=None, workload_type: str=None, friendly_name: str=None, protection_state=None, parent_name: str=None, server_name: str=None, is_auto_protectable: bool=None, subinquireditemcount: int=None, sub_workload_item_count: int=None, **kwargs) -> None:
super(AzureVmWorkloadSQLDatabaseWorkloadItem, self).__init__(backup_management_type=backup_management_type, workload_type=workload_type, friendly_name=friendly_name, protection_state=protection_state, parent_name=parent_name, server_name=server_name, is_auto_protectable=is_auto_protectable, subinquireditemcount=subinquireditemcount, sub_workload_item_count=sub_workload_item_count, **kwargs)
self.workload_item_type = 'SQLDataBase'
[docs]class AzureVmWorkloadSQLInstanceProtectableItem(AzureVmWorkloadProtectableItem):
"""Azure VM workload-specific protectable item representing SQL Instance.
All required parameters must be populated in order to send to Azure.
:param backup_management_type: Type of backup management to backup an
item.
:type backup_management_type: str
:param workload_type: Type of workload for the backup management
:type workload_type: str
:param friendly_name: Friendly name of the backup item.
:type friendly_name: str
:param protection_state: State of the back up item. Possible values
include: 'Invalid', 'NotProtected', 'Protecting', 'Protected',
'ProtectionFailed'
:type protection_state: str or
~azure.mgmt.recoveryservicesbackup.models.ProtectionStatus
:param protectable_item_type: Required. Constant filled by server.
:type protectable_item_type: str
:param parent_name: Name for instance or AG
:type parent_name: str
:param parent_unique_name: Parent Unique Name is added to provide the
service formatted URI Name of the Parent
Only Applicable for data bases where the parent would be either Instance
or a SQL AG.
:type parent_unique_name: str
:param server_name: Host/Cluster Name for instance or AG
:type server_name: str
:param is_auto_protectable: Indicates if protectable item is
auto-protectable
:type is_auto_protectable: bool
:param is_auto_protected: Indicates if protectable item is auto-protected
:type is_auto_protected: bool
:param subinquireditemcount: For instance or AG, indicates number of DB's
present
:type subinquireditemcount: int
:param subprotectableitemcount: For instance or AG, indicates number of
DB's to be protected
:type subprotectableitemcount: int
:param prebackupvalidation: Pre-backup validation for protectable objects
:type prebackupvalidation:
~azure.mgmt.recoveryservicesbackup.models.PreBackupValidation
"""
_validation = {
'protectable_item_type': {'required': True},
}
_attribute_map = {
'backup_management_type': {'key': 'backupManagementType', 'type': 'str'},
'workload_type': {'key': 'workloadType', 'type': 'str'},
'friendly_name': {'key': 'friendlyName', 'type': 'str'},
'protection_state': {'key': 'protectionState', 'type': 'str'},
'protectable_item_type': {'key': 'protectableItemType', 'type': 'str'},
'parent_name': {'key': 'parentName', 'type': 'str'},
'parent_unique_name': {'key': 'parentUniqueName', 'type': 'str'},
'server_name': {'key': 'serverName', 'type': 'str'},
'is_auto_protectable': {'key': 'isAutoProtectable', 'type': 'bool'},
'is_auto_protected': {'key': 'isAutoProtected', 'type': 'bool'},
'subinquireditemcount': {'key': 'subinquireditemcount', 'type': 'int'},
'subprotectableitemcount': {'key': 'subprotectableitemcount', 'type': 'int'},
'prebackupvalidation': {'key': 'prebackupvalidation', 'type': 'PreBackupValidation'},
}
def __init__(self, *, backup_management_type: str=None, workload_type: str=None, friendly_name: str=None, protection_state=None, parent_name: str=None, parent_unique_name: str=None, server_name: str=None, is_auto_protectable: bool=None, is_auto_protected: bool=None, subinquireditemcount: int=None, subprotectableitemcount: int=None, prebackupvalidation=None, **kwargs) -> None:
super(AzureVmWorkloadSQLInstanceProtectableItem, self).__init__(backup_management_type=backup_management_type, workload_type=workload_type, friendly_name=friendly_name, protection_state=protection_state, parent_name=parent_name, parent_unique_name=parent_unique_name, server_name=server_name, is_auto_protectable=is_auto_protectable, is_auto_protected=is_auto_protected, subinquireditemcount=subinquireditemcount, subprotectableitemcount=subprotectableitemcount, prebackupvalidation=prebackupvalidation, **kwargs)
self.protectable_item_type = 'SQLInstance'
[docs]class AzureVmWorkloadSQLInstanceWorkloadItem(AzureVmWorkloadItem):
"""Azure VM workload-specific workload item representing SQL Instance.
All required parameters must be populated in order to send to Azure.
:param backup_management_type: Type of backup management to backup an
item.
:type backup_management_type: str
:param workload_type: Type of workload for the backup management
:type workload_type: str
:param friendly_name: Friendly name of the backup item.
:type friendly_name: str
:param protection_state: State of the back up item. Possible values
include: 'Invalid', 'NotProtected', 'Protecting', 'Protected',
'ProtectionFailed'
:type protection_state: str or
~azure.mgmt.recoveryservicesbackup.models.ProtectionStatus
:param workload_item_type: Required. Constant filled by server.
:type workload_item_type: str
:param parent_name: Name for instance or AG
:type parent_name: str
:param server_name: Host/Cluster Name for instance or AG
:type server_name: str
:param is_auto_protectable: Indicates if workload item is auto-protectable
:type is_auto_protectable: bool
:param subinquireditemcount: For instance or AG, indicates number of DB's
present
:type subinquireditemcount: int
:param sub_workload_item_count: For instance or AG, indicates number of
DB's to be protected
:type sub_workload_item_count: int
:param data_directory_paths: Data Directory Paths for default directories
:type data_directory_paths:
list[~azure.mgmt.recoveryservicesbackup.models.SQLDataDirectory]
"""
_validation = {
'workload_item_type': {'required': True},
}
_attribute_map = {
'backup_management_type': {'key': 'backupManagementType', 'type': 'str'},
'workload_type': {'key': 'workloadType', 'type': 'str'},
'friendly_name': {'key': 'friendlyName', 'type': 'str'},
'protection_state': {'key': 'protectionState', 'type': 'str'},
'workload_item_type': {'key': 'workloadItemType', 'type': 'str'},
'parent_name': {'key': 'parentName', 'type': 'str'},
'server_name': {'key': 'serverName', 'type': 'str'},
'is_auto_protectable': {'key': 'isAutoProtectable', 'type': 'bool'},
'subinquireditemcount': {'key': 'subinquireditemcount', 'type': 'int'},
'sub_workload_item_count': {'key': 'subWorkloadItemCount', 'type': 'int'},
'data_directory_paths': {'key': 'dataDirectoryPaths', 'type': '[SQLDataDirectory]'},
}
def __init__(self, *, backup_management_type: str=None, workload_type: str=None, friendly_name: str=None, protection_state=None, parent_name: str=None, server_name: str=None, is_auto_protectable: bool=None, subinquireditemcount: int=None, sub_workload_item_count: int=None, data_directory_paths=None, **kwargs) -> None:
super(AzureVmWorkloadSQLInstanceWorkloadItem, self).__init__(backup_management_type=backup_management_type, workload_type=workload_type, friendly_name=friendly_name, protection_state=protection_state, parent_name=parent_name, server_name=server_name, is_auto_protectable=is_auto_protectable, subinquireditemcount=subinquireditemcount, sub_workload_item_count=sub_workload_item_count, **kwargs)
self.data_directory_paths = data_directory_paths
self.workload_item_type = 'SQLInstance'
[docs]class AzureWorkloadAutoProtectionIntent(AzureRecoveryServiceVaultProtectionIntent):
"""Azure Recovery Services Vault specific protection intent item.
You probably want to use the sub-classes and not this class directly. Known
sub-classes are: AzureWorkloadSQLAutoProtectionIntent
All required parameters must be populated in order to send to Azure.
:param backup_management_type: Type of backup management for the backed up
item. Possible values include: 'Invalid', 'AzureIaasVM', 'MAB', 'DPM',
'AzureBackupServer', 'AzureSql', 'AzureStorage', 'AzureWorkload',
'DefaultBackup'
:type backup_management_type: str or
~azure.mgmt.recoveryservicesbackup.models.BackupManagementType
:param source_resource_id: ARM ID of the resource to be backed up.
:type source_resource_id: str
:param item_id: ID of the item which is getting protected, In case of
Azure Vm , it is ProtectedItemId
:type item_id: str
:param policy_id: ID of the backup policy with which this item is backed
up.
:type policy_id: str
:param protection_state: Backup state of this backup item. Possible values
include: 'Invalid', 'NotProtected', 'Protecting', 'Protected',
'ProtectionFailed'
:type protection_state: str or
~azure.mgmt.recoveryservicesbackup.models.ProtectionStatus
:param protection_intent_item_type: Required. Constant filled by server.
:type protection_intent_item_type: str
"""
_validation = {
'protection_intent_item_type': {'required': True},
}
_attribute_map = {
'backup_management_type': {'key': 'backupManagementType', 'type': 'str'},
'source_resource_id': {'key': 'sourceResourceId', 'type': 'str'},
'item_id': {'key': 'itemId', 'type': 'str'},
'policy_id': {'key': 'policyId', 'type': 'str'},
'protection_state': {'key': 'protectionState', 'type': 'str'},
'protection_intent_item_type': {'key': 'protectionIntentItemType', 'type': 'str'},
}
_subtype_map = {
'protection_intent_item_type': {'AzureWorkloadSQLAutoProtectionIntent': 'AzureWorkloadSQLAutoProtectionIntent'}
}
def __init__(self, *, backup_management_type=None, source_resource_id: str=None, item_id: str=None, policy_id: str=None, protection_state=None, **kwargs) -> None:
super(AzureWorkloadAutoProtectionIntent, self).__init__(backup_management_type=backup_management_type, source_resource_id=source_resource_id, item_id=item_id, policy_id=policy_id, protection_state=protection_state, **kwargs)
self.protection_intent_item_type = 'AzureWorkloadAutoProtectionIntent'
[docs]class AzureWorkloadBackupRequest(BackupRequest):
"""AzureWorkload workload-specific backup request.
All required parameters must be populated in order to send to Azure.
:param object_type: Required. Constant filled by server.
:type object_type: str
:param backup_type: Type of backup, viz. Full, Differential, Log or
CopyOnlyFull. Possible values include: 'Invalid', 'Full', 'Differential',
'Log', 'CopyOnlyFull'
:type backup_type: str or
~azure.mgmt.recoveryservicesbackup.models.BackupType
:param enable_compression: Bool for Compression setting
:type enable_compression: bool
:param recovery_point_expiry_time_in_utc: Backup copy will expire after
the time specified (UTC).
:type recovery_point_expiry_time_in_utc: datetime
"""
_validation = {
'object_type': {'required': True},
}
_attribute_map = {
'object_type': {'key': 'objectType', 'type': 'str'},
'backup_type': {'key': 'backupType', 'type': 'str'},
'enable_compression': {'key': 'enableCompression', 'type': 'bool'},
'recovery_point_expiry_time_in_utc': {'key': 'recoveryPointExpiryTimeInUTC', 'type': 'iso-8601'},
}
def __init__(self, *, backup_type=None, enable_compression: bool=None, recovery_point_expiry_time_in_utc=None, **kwargs) -> None:
super(AzureWorkloadBackupRequest, self).__init__(**kwargs)
self.backup_type = backup_type
self.enable_compression = enable_compression
self.recovery_point_expiry_time_in_utc = recovery_point_expiry_time_in_utc
self.object_type = 'AzureWorkloadBackupRequest'
[docs]class AzureWorkloadContainerExtendedInfo(Model):
"""Extended information of the container.
:param host_server_name: Host Os Name in case of Stand Alone and Cluster
Name in case of distributed container.
:type host_server_name: str
:param inquiry_info: Inquiry Status for the container.
:type inquiry_info: ~azure.mgmt.recoveryservicesbackup.models.InquiryInfo
:param nodes_list: List of the nodes in case of distributed container.
:type nodes_list:
list[~azure.mgmt.recoveryservicesbackup.models.DistributedNodesInfo]
"""
_attribute_map = {
'host_server_name': {'key': 'hostServerName', 'type': 'str'},
'inquiry_info': {'key': 'inquiryInfo', 'type': 'InquiryInfo'},
'nodes_list': {'key': 'nodesList', 'type': '[DistributedNodesInfo]'},
}
def __init__(self, *, host_server_name: str=None, inquiry_info=None, nodes_list=None, **kwargs) -> None:
super(AzureWorkloadContainerExtendedInfo, self).__init__(**kwargs)
self.host_server_name = host_server_name
self.inquiry_info = inquiry_info
self.nodes_list = nodes_list
[docs]class AzureWorkloadErrorInfo(Model):
"""Azure storage specific error information.
:param error_code: Error code.
:type error_code: int
:param error_string: Localized error string.
:type error_string: str
:param error_title: Title: Typically, the entity that the error pertains
to.
:type error_title: str
:param recommendations: List of localized recommendations for above error
code.
:type recommendations: list[str]
:param additional_details: Additional details for above error code.
:type additional_details: str
"""
_attribute_map = {
'error_code': {'key': 'errorCode', 'type': 'int'},
'error_string': {'key': 'errorString', 'type': 'str'},
'error_title': {'key': 'errorTitle', 'type': 'str'},
'recommendations': {'key': 'recommendations', 'type': '[str]'},
'additional_details': {'key': 'additionalDetails', 'type': 'str'},
}
def __init__(self, *, error_code: int=None, error_string: str=None, error_title: str=None, recommendations=None, additional_details: str=None, **kwargs) -> None:
super(AzureWorkloadErrorInfo, self).__init__(**kwargs)
self.error_code = error_code
self.error_string = error_string
self.error_title = error_title
self.recommendations = recommendations
self.additional_details = additional_details
[docs]class AzureWorkloadJob(Job):
"""Azure storage specific job.
All required parameters must be populated in order to send to Azure.
:param entity_friendly_name: Friendly name of the entity on which the
current job is executing.
:type entity_friendly_name: str
:param backup_management_type: Backup management type to execute the
current job. Possible values include: 'Invalid', 'AzureIaasVM', 'MAB',
'DPM', 'AzureBackupServer', 'AzureSql', 'AzureStorage', 'AzureWorkload',
'DefaultBackup'
:type backup_management_type: str or
~azure.mgmt.recoveryservicesbackup.models.BackupManagementType
:param operation: The operation name.
:type operation: str
:param status: Job status.
:type status: str
:param start_time: The start time.
:type start_time: datetime
:param end_time: The end time.
:type end_time: datetime
:param activity_id: ActivityId of job.
:type activity_id: str
:param job_type: Required. Constant filled by server.
:type job_type: str
:param workload_type: Workload type of the job
:type workload_type: str
:param duration: Time elapsed during the execution of this job.
:type duration: timedelta
:param actions_info: Gets or sets the state/actions applicable on this job
like cancel/retry.
:type actions_info: list[str or
~azure.mgmt.recoveryservicesbackup.models.JobSupportedAction]
:param error_details: Error details on execution of this job.
:type error_details:
list[~azure.mgmt.recoveryservicesbackup.models.AzureWorkloadErrorInfo]
:param extended_info: Additional information about the job.
:type extended_info:
~azure.mgmt.recoveryservicesbackup.models.AzureWorkloadJobExtendedInfo
"""
_validation = {
'job_type': {'required': True},
}
_attribute_map = {
'entity_friendly_name': {'key': 'entityFriendlyName', 'type': 'str'},
'backup_management_type': {'key': 'backupManagementType', 'type': 'str'},
'operation': {'key': 'operation', 'type': 'str'},
'status': {'key': 'status', 'type': 'str'},
'start_time': {'key': 'startTime', 'type': 'iso-8601'},
'end_time': {'key': 'endTime', 'type': 'iso-8601'},
'activity_id': {'key': 'activityId', 'type': 'str'},
'job_type': {'key': 'jobType', 'type': 'str'},
'workload_type': {'key': 'workloadType', 'type': 'str'},
'duration': {'key': 'duration', 'type': 'duration'},
'actions_info': {'key': 'actionsInfo', 'type': '[JobSupportedAction]'},
'error_details': {'key': 'errorDetails', 'type': '[AzureWorkloadErrorInfo]'},
'extended_info': {'key': 'extendedInfo', 'type': 'AzureWorkloadJobExtendedInfo'},
}
def __init__(self, *, entity_friendly_name: str=None, backup_management_type=None, operation: str=None, status: str=None, start_time=None, end_time=None, activity_id: str=None, workload_type: str=None, duration=None, actions_info=None, error_details=None, extended_info=None, **kwargs) -> None:
super(AzureWorkloadJob, self).__init__(entity_friendly_name=entity_friendly_name, backup_management_type=backup_management_type, operation=operation, status=status, start_time=start_time, end_time=end_time, activity_id=activity_id, **kwargs)
self.workload_type = workload_type
self.duration = duration
self.actions_info = actions_info
self.error_details = error_details
self.extended_info = extended_info
self.job_type = 'AzureWorkloadJob'
[docs]class AzureWorkloadJobExtendedInfo(Model):
"""Azure VM workload-specific additional information for job.
:param tasks_list: List of tasks for this job
:type tasks_list:
list[~azure.mgmt.recoveryservicesbackup.models.AzureWorkloadJobTaskDetails]
:param property_bag: Job properties.
:type property_bag: dict[str, str]
:param dynamic_error_message: Non localized error message on job
execution.
:type dynamic_error_message: str
"""
_attribute_map = {
'tasks_list': {'key': 'tasksList', 'type': '[AzureWorkloadJobTaskDetails]'},
'property_bag': {'key': 'propertyBag', 'type': '{str}'},
'dynamic_error_message': {'key': 'dynamicErrorMessage', 'type': 'str'},
}
def __init__(self, *, tasks_list=None, property_bag=None, dynamic_error_message: str=None, **kwargs) -> None:
super(AzureWorkloadJobExtendedInfo, self).__init__(**kwargs)
self.tasks_list = tasks_list
self.property_bag = property_bag
self.dynamic_error_message = dynamic_error_message
[docs]class AzureWorkloadJobTaskDetails(Model):
"""Azure VM workload specific job task details.
:param task_id: The task display name.
:type task_id: str
:param status: The status.
:type status: str
"""
_attribute_map = {
'task_id': {'key': 'taskId', 'type': 'str'},
'status': {'key': 'status', 'type': 'str'},
}
def __init__(self, *, task_id: str=None, status: str=None, **kwargs) -> None:
super(AzureWorkloadJobTaskDetails, self).__init__(**kwargs)
self.task_id = task_id
self.status = status
[docs]class AzureWorkloadRecoveryPoint(RecoveryPoint):
"""Workload specific recovery point, specifically encapsulates full/diff
recovery point.
You probably want to use the sub-classes and not this class directly. Known
sub-classes are: AzureWorkloadPointInTimeRecoveryPoint,
AzureWorkloadSAPHanaRecoveryPoint, AzureWorkloadSQLRecoveryPoint
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 object_type: Required. Constant filled by server.
:type object_type: str
:ivar recovery_point_time_in_utc: UTC time at which recovery point was
created
:vartype recovery_point_time_in_utc: datetime
:ivar type: Type of restore point. Possible values include: 'Invalid',
'Full', 'Log', 'Differential'
:vartype type: str or
~azure.mgmt.recoveryservicesbackup.models.RestorePointType
"""
_validation = {
'object_type': {'required': True},
'recovery_point_time_in_utc': {'readonly': True},
'type': {'readonly': True},
}
_attribute_map = {
'object_type': {'key': 'objectType', 'type': 'str'},
'recovery_point_time_in_utc': {'key': 'recoveryPointTimeInUTC', 'type': 'iso-8601'},
'type': {'key': 'type', 'type': 'str'},
}
_subtype_map = {
'object_type': {'AzureWorkloadPointInTimeRecoveryPoint': 'AzureWorkloadPointInTimeRecoveryPoint', 'AzureWorkloadSAPHanaRecoveryPoint': 'AzureWorkloadSAPHanaRecoveryPoint', 'AzureWorkloadSQLRecoveryPoint': 'AzureWorkloadSQLRecoveryPoint'}
}
def __init__(self, **kwargs) -> None:
super(AzureWorkloadRecoveryPoint, self).__init__(**kwargs)
self.recovery_point_time_in_utc = None
self.type = None
self.object_type = 'AzureWorkloadRecoveryPoint'
[docs]class AzureWorkloadPointInTimeRecoveryPoint(AzureWorkloadRecoveryPoint):
"""Recovery point specific to PointInTime.
You probably want to use the sub-classes and not this class directly. Known
sub-classes are: AzureWorkloadSAPHanaPointInTimeRecoveryPoint
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 object_type: Required. Constant filled by server.
:type object_type: str
:ivar recovery_point_time_in_utc: UTC time at which recovery point was
created
:vartype recovery_point_time_in_utc: datetime
:ivar type: Type of restore point. Possible values include: 'Invalid',
'Full', 'Log', 'Differential'
:vartype type: str or
~azure.mgmt.recoveryservicesbackup.models.RestorePointType
:param time_ranges: List of log ranges
:type time_ranges:
list[~azure.mgmt.recoveryservicesbackup.models.PointInTimeRange]
"""
_validation = {
'object_type': {'required': True},
'recovery_point_time_in_utc': {'readonly': True},
'type': {'readonly': True},
}
_attribute_map = {
'object_type': {'key': 'objectType', 'type': 'str'},
'recovery_point_time_in_utc': {'key': 'recoveryPointTimeInUTC', 'type': 'iso-8601'},
'type': {'key': 'type', 'type': 'str'},
'time_ranges': {'key': 'timeRanges', 'type': '[PointInTimeRange]'},
}
_subtype_map = {
'object_type': {'AzureWorkloadSAPHanaPointInTimeRecoveryPoint': 'AzureWorkloadSAPHanaPointInTimeRecoveryPoint'}
}
def __init__(self, *, time_ranges=None, **kwargs) -> None:
super(AzureWorkloadPointInTimeRecoveryPoint, self).__init__(**kwargs)
self.time_ranges = time_ranges
self.object_type = 'AzureWorkloadPointInTimeRecoveryPoint'
[docs]class AzureWorkloadRestoreRequest(RestoreRequest):
"""AzureWorkload-specific restore.
You probably want to use the sub-classes and not this class directly. Known
sub-classes are: AzureWorkloadPointInTimeRestoreRequest,
AzureWorkloadSAPHanaRestoreRequest, AzureWorkloadSQLRestoreRequest
All required parameters must be populated in order to send to Azure.
:param object_type: Required. Constant filled by server.
:type object_type: str
:param recovery_type: Type of this recovery. Possible values include:
'Invalid', 'OriginalLocation', 'AlternateLocation', 'RestoreDisks',
'Offline'
:type recovery_type: str or
~azure.mgmt.recoveryservicesbackup.models.RecoveryType
:param source_resource_id: Fully qualified ARM ID of the VM on which
workload that was running is being recovered.
:type source_resource_id: str
:param property_bag: Workload specific property bag.
:type property_bag: dict[str, str]
:param target_info: Details of target database
:type target_info:
~azure.mgmt.recoveryservicesbackup.models.TargetRestoreInfo
:param recovery_mode: Defines whether the current recovery mode is file
restore or database restore. Possible values include: 'Invalid',
'FileRecovery', 'WorkloadRecovery'
:type recovery_mode: str or
~azure.mgmt.recoveryservicesbackup.models.RecoveryMode
"""
_validation = {
'object_type': {'required': True},
}
_attribute_map = {
'object_type': {'key': 'objectType', 'type': 'str'},
'recovery_type': {'key': 'recoveryType', 'type': 'str'},
'source_resource_id': {'key': 'sourceResourceId', 'type': 'str'},
'property_bag': {'key': 'propertyBag', 'type': '{str}'},
'target_info': {'key': 'targetInfo', 'type': 'TargetRestoreInfo'},
'recovery_mode': {'key': 'recoveryMode', 'type': 'str'},
}
_subtype_map = {
'object_type': {'AzureWorkloadPointInTimeRestoreRequest': 'AzureWorkloadPointInTimeRestoreRequest', 'AzureWorkloadSAPHanaRestoreRequest': 'AzureWorkloadSAPHanaRestoreRequest', 'AzureWorkloadSQLRestoreRequest': 'AzureWorkloadSQLRestoreRequest'}
}
def __init__(self, *, recovery_type=None, source_resource_id: str=None, property_bag=None, target_info=None, recovery_mode=None, **kwargs) -> None:
super(AzureWorkloadRestoreRequest, self).__init__(**kwargs)
self.recovery_type = recovery_type
self.source_resource_id = source_resource_id
self.property_bag = property_bag
self.target_info = target_info
self.recovery_mode = recovery_mode
self.object_type = 'AzureWorkloadRestoreRequest'
[docs]class AzureWorkloadPointInTimeRestoreRequest(AzureWorkloadRestoreRequest):
"""AzureWorkload SAP Hana -specific restore. Specifically for PointInTime/Log
restore.
All required parameters must be populated in order to send to Azure.
:param object_type: Required. Constant filled by server.
:type object_type: str
:param recovery_type: Type of this recovery. Possible values include:
'Invalid', 'OriginalLocation', 'AlternateLocation', 'RestoreDisks',
'Offline'
:type recovery_type: str or
~azure.mgmt.recoveryservicesbackup.models.RecoveryType
:param source_resource_id: Fully qualified ARM ID of the VM on which
workload that was running is being recovered.
:type source_resource_id: str
:param property_bag: Workload specific property bag.
:type property_bag: dict[str, str]
:param target_info: Details of target database
:type target_info:
~azure.mgmt.recoveryservicesbackup.models.TargetRestoreInfo
:param recovery_mode: Defines whether the current recovery mode is file
restore or database restore. Possible values include: 'Invalid',
'FileRecovery', 'WorkloadRecovery'
:type recovery_mode: str or
~azure.mgmt.recoveryservicesbackup.models.RecoveryMode
:param point_in_time: PointInTime value
:type point_in_time: datetime
"""
_validation = {
'object_type': {'required': True},
}
_attribute_map = {
'object_type': {'key': 'objectType', 'type': 'str'},
'recovery_type': {'key': 'recoveryType', 'type': 'str'},
'source_resource_id': {'key': 'sourceResourceId', 'type': 'str'},
'property_bag': {'key': 'propertyBag', 'type': '{str}'},
'target_info': {'key': 'targetInfo', 'type': 'TargetRestoreInfo'},
'recovery_mode': {'key': 'recoveryMode', 'type': 'str'},
'point_in_time': {'key': 'pointInTime', 'type': 'iso-8601'},
}
def __init__(self, *, recovery_type=None, source_resource_id: str=None, property_bag=None, target_info=None, recovery_mode=None, point_in_time=None, **kwargs) -> None:
super(AzureWorkloadPointInTimeRestoreRequest, self).__init__(recovery_type=recovery_type, source_resource_id=source_resource_id, property_bag=property_bag, target_info=target_info, recovery_mode=recovery_mode, **kwargs)
self.point_in_time = point_in_time
self.object_type = 'AzureWorkloadPointInTimeRestoreRequest'
[docs]class AzureWorkloadSAPHanaPointInTimeRecoveryPoint(AzureWorkloadPointInTimeRecoveryPoint):
"""Recovery point specific to PointInTime in SAPHana.
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 object_type: Required. Constant filled by server.
:type object_type: str
:ivar recovery_point_time_in_utc: UTC time at which recovery point was
created
:vartype recovery_point_time_in_utc: datetime
:ivar type: Type of restore point. Possible values include: 'Invalid',
'Full', 'Log', 'Differential'
:vartype type: str or
~azure.mgmt.recoveryservicesbackup.models.RestorePointType
:param time_ranges: List of log ranges
:type time_ranges:
list[~azure.mgmt.recoveryservicesbackup.models.PointInTimeRange]
"""
_validation = {
'object_type': {'required': True},
'recovery_point_time_in_utc': {'readonly': True},
'type': {'readonly': True},
}
_attribute_map = {
'object_type': {'key': 'objectType', 'type': 'str'},
'recovery_point_time_in_utc': {'key': 'recoveryPointTimeInUTC', 'type': 'iso-8601'},
'type': {'key': 'type', 'type': 'str'},
'time_ranges': {'key': 'timeRanges', 'type': '[PointInTimeRange]'},
}
def __init__(self, *, time_ranges=None, **kwargs) -> None:
super(AzureWorkloadSAPHanaPointInTimeRecoveryPoint, self).__init__(time_ranges=time_ranges, **kwargs)
self.object_type = 'AzureWorkloadSAPHanaPointInTimeRecoveryPoint'
[docs]class AzureWorkloadSAPHanaRestoreRequest(AzureWorkloadRestoreRequest):
"""AzureWorkload SAP Hana-specific restore.
You probably want to use the sub-classes and not this class directly. Known
sub-classes are: AzureWorkloadSAPHanaPointInTimeRestoreRequest
All required parameters must be populated in order to send to Azure.
:param object_type: Required. Constant filled by server.
:type object_type: str
:param recovery_type: Type of this recovery. Possible values include:
'Invalid', 'OriginalLocation', 'AlternateLocation', 'RestoreDisks',
'Offline'
:type recovery_type: str or
~azure.mgmt.recoveryservicesbackup.models.RecoveryType
:param source_resource_id: Fully qualified ARM ID of the VM on which
workload that was running is being recovered.
:type source_resource_id: str
:param property_bag: Workload specific property bag.
:type property_bag: dict[str, str]
:param target_info: Details of target database
:type target_info:
~azure.mgmt.recoveryservicesbackup.models.TargetRestoreInfo
:param recovery_mode: Defines whether the current recovery mode is file
restore or database restore. Possible values include: 'Invalid',
'FileRecovery', 'WorkloadRecovery'
:type recovery_mode: str or
~azure.mgmt.recoveryservicesbackup.models.RecoveryMode
"""
_validation = {
'object_type': {'required': True},
}
_attribute_map = {
'object_type': {'key': 'objectType', 'type': 'str'},
'recovery_type': {'key': 'recoveryType', 'type': 'str'},
'source_resource_id': {'key': 'sourceResourceId', 'type': 'str'},
'property_bag': {'key': 'propertyBag', 'type': '{str}'},
'target_info': {'key': 'targetInfo', 'type': 'TargetRestoreInfo'},
'recovery_mode': {'key': 'recoveryMode', 'type': 'str'},
}
_subtype_map = {
'object_type': {'AzureWorkloadSAPHanaPointInTimeRestoreRequest': 'AzureWorkloadSAPHanaPointInTimeRestoreRequest'}
}
def __init__(self, *, recovery_type=None, source_resource_id: str=None, property_bag=None, target_info=None, recovery_mode=None, **kwargs) -> None:
super(AzureWorkloadSAPHanaRestoreRequest, self).__init__(recovery_type=recovery_type, source_resource_id=source_resource_id, property_bag=property_bag, target_info=target_info, recovery_mode=recovery_mode, **kwargs)
self.object_type = 'AzureWorkloadSAPHanaRestoreRequest'
[docs]class AzureWorkloadSAPHanaPointInTimeRestoreRequest(AzureWorkloadSAPHanaRestoreRequest):
"""AzureWorkload SAP Hana -specific restore. Specifically for PointInTime/Log
restore.
All required parameters must be populated in order to send to Azure.
:param object_type: Required. Constant filled by server.
:type object_type: str
:param recovery_type: Type of this recovery. Possible values include:
'Invalid', 'OriginalLocation', 'AlternateLocation', 'RestoreDisks',
'Offline'
:type recovery_type: str or
~azure.mgmt.recoveryservicesbackup.models.RecoveryType
:param source_resource_id: Fully qualified ARM ID of the VM on which
workload that was running is being recovered.
:type source_resource_id: str
:param property_bag: Workload specific property bag.
:type property_bag: dict[str, str]
:param target_info: Details of target database
:type target_info:
~azure.mgmt.recoveryservicesbackup.models.TargetRestoreInfo
:param recovery_mode: Defines whether the current recovery mode is file
restore or database restore. Possible values include: 'Invalid',
'FileRecovery', 'WorkloadRecovery'
:type recovery_mode: str or
~azure.mgmt.recoveryservicesbackup.models.RecoveryMode
:param point_in_time: PointInTime value
:type point_in_time: datetime
"""
_validation = {
'object_type': {'required': True},
}
_attribute_map = {
'object_type': {'key': 'objectType', 'type': 'str'},
'recovery_type': {'key': 'recoveryType', 'type': 'str'},
'source_resource_id': {'key': 'sourceResourceId', 'type': 'str'},
'property_bag': {'key': 'propertyBag', 'type': '{str}'},
'target_info': {'key': 'targetInfo', 'type': 'TargetRestoreInfo'},
'recovery_mode': {'key': 'recoveryMode', 'type': 'str'},
'point_in_time': {'key': 'pointInTime', 'type': 'iso-8601'},
}
def __init__(self, *, recovery_type=None, source_resource_id: str=None, property_bag=None, target_info=None, recovery_mode=None, point_in_time=None, **kwargs) -> None:
super(AzureWorkloadSAPHanaPointInTimeRestoreRequest, self).__init__(recovery_type=recovery_type, source_resource_id=source_resource_id, property_bag=property_bag, target_info=target_info, recovery_mode=recovery_mode, **kwargs)
self.point_in_time = point_in_time
self.object_type = 'AzureWorkloadSAPHanaPointInTimeRestoreRequest'
[docs]class AzureWorkloadSAPHanaRecoveryPoint(AzureWorkloadRecoveryPoint):
"""SAPHana specific recoverypoint, specifically encapsulates full/diff
recoverypoints.
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 object_type: Required. Constant filled by server.
:type object_type: str
:ivar recovery_point_time_in_utc: UTC time at which recovery point was
created
:vartype recovery_point_time_in_utc: datetime
:ivar type: Type of restore point. Possible values include: 'Invalid',
'Full', 'Log', 'Differential'
:vartype type: str or
~azure.mgmt.recoveryservicesbackup.models.RestorePointType
"""
_validation = {
'object_type': {'required': True},
'recovery_point_time_in_utc': {'readonly': True},
'type': {'readonly': True},
}
_attribute_map = {
'object_type': {'key': 'objectType', 'type': 'str'},
'recovery_point_time_in_utc': {'key': 'recoveryPointTimeInUTC', 'type': 'iso-8601'},
'type': {'key': 'type', 'type': 'str'},
}
def __init__(self, **kwargs) -> None:
super(AzureWorkloadSAPHanaRecoveryPoint, self).__init__(**kwargs)
self.object_type = 'AzureWorkloadSAPHanaRecoveryPoint'
[docs]class AzureWorkloadSQLAutoProtectionIntent(AzureWorkloadAutoProtectionIntent):
"""Azure Workload SQL Auto Protection intent item.
All required parameters must be populated in order to send to Azure.
:param backup_management_type: Type of backup management for the backed up
item. Possible values include: 'Invalid', 'AzureIaasVM', 'MAB', 'DPM',
'AzureBackupServer', 'AzureSql', 'AzureStorage', 'AzureWorkload',
'DefaultBackup'
:type backup_management_type: str or
~azure.mgmt.recoveryservicesbackup.models.BackupManagementType
:param source_resource_id: ARM ID of the resource to be backed up.
:type source_resource_id: str
:param item_id: ID of the item which is getting protected, In case of
Azure Vm , it is ProtectedItemId
:type item_id: str
:param policy_id: ID of the backup policy with which this item is backed
up.
:type policy_id: str
:param protection_state: Backup state of this backup item. Possible values
include: 'Invalid', 'NotProtected', 'Protecting', 'Protected',
'ProtectionFailed'
:type protection_state: str or
~azure.mgmt.recoveryservicesbackup.models.ProtectionStatus
:param protection_intent_item_type: Required. Constant filled by server.
:type protection_intent_item_type: str
:param workload_item_type: Workload item type of the item for which intent
is to be set. Possible values include: 'Invalid', 'SQLInstance',
'SQLDataBase', 'SAPHanaSystem', 'SAPHanaDatabase', 'SAPAseSystem',
'SAPAseDatabase'
:type workload_item_type: str or
~azure.mgmt.recoveryservicesbackup.models.WorkloadItemType
"""
_validation = {
'protection_intent_item_type': {'required': True},
}
_attribute_map = {
'backup_management_type': {'key': 'backupManagementType', 'type': 'str'},
'source_resource_id': {'key': 'sourceResourceId', 'type': 'str'},
'item_id': {'key': 'itemId', 'type': 'str'},
'policy_id': {'key': 'policyId', 'type': 'str'},
'protection_state': {'key': 'protectionState', 'type': 'str'},
'protection_intent_item_type': {'key': 'protectionIntentItemType', 'type': 'str'},
'workload_item_type': {'key': 'workloadItemType', 'type': 'str'},
}
def __init__(self, *, backup_management_type=None, source_resource_id: str=None, item_id: str=None, policy_id: str=None, protection_state=None, workload_item_type=None, **kwargs) -> None:
super(AzureWorkloadSQLAutoProtectionIntent, self).__init__(backup_management_type=backup_management_type, source_resource_id=source_resource_id, item_id=item_id, policy_id=policy_id, protection_state=protection_state, **kwargs)
self.workload_item_type = workload_item_type
self.protection_intent_item_type = 'AzureWorkloadSQLAutoProtectionIntent'
[docs]class AzureWorkloadSQLRecoveryPoint(AzureWorkloadRecoveryPoint):
"""SQL specific recoverypoint, specifically encapsulates full/diff
recoverypoint along with extended info.
You probably want to use the sub-classes and not this class directly. Known
sub-classes are: AzureWorkloadSQLPointInTimeRecoveryPoint
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 object_type: Required. Constant filled by server.
:type object_type: str
:ivar recovery_point_time_in_utc: UTC time at which recovery point was
created
:vartype recovery_point_time_in_utc: datetime
:ivar type: Type of restore point. Possible values include: 'Invalid',
'Full', 'Log', 'Differential'
:vartype type: str or
~azure.mgmt.recoveryservicesbackup.models.RestorePointType
:param extended_info: Extended Info that provides data directory details.
Will be populated in two cases:
When a specific recovery point is accessed using GetRecoveryPoint
Or when ListRecoveryPoints is called for Log RP only with ExtendedInfo
query filter
:type extended_info:
~azure.mgmt.recoveryservicesbackup.models.AzureWorkloadSQLRecoveryPointExtendedInfo
"""
_validation = {
'object_type': {'required': True},
'recovery_point_time_in_utc': {'readonly': True},
'type': {'readonly': True},
}
_attribute_map = {
'object_type': {'key': 'objectType', 'type': 'str'},
'recovery_point_time_in_utc': {'key': 'recoveryPointTimeInUTC', 'type': 'iso-8601'},
'type': {'key': 'type', 'type': 'str'},
'extended_info': {'key': 'extendedInfo', 'type': 'AzureWorkloadSQLRecoveryPointExtendedInfo'},
}
_subtype_map = {
'object_type': {'AzureWorkloadSQLPointInTimeRecoveryPoint': 'AzureWorkloadSQLPointInTimeRecoveryPoint'}
}
def __init__(self, *, extended_info=None, **kwargs) -> None:
super(AzureWorkloadSQLRecoveryPoint, self).__init__(**kwargs)
self.extended_info = extended_info
self.object_type = 'AzureWorkloadSQLRecoveryPoint'
[docs]class AzureWorkloadSQLPointInTimeRecoveryPoint(AzureWorkloadSQLRecoveryPoint):
"""Recovery point specific to PointInTime.
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 object_type: Required. Constant filled by server.
:type object_type: str
:ivar recovery_point_time_in_utc: UTC time at which recovery point was
created
:vartype recovery_point_time_in_utc: datetime
:ivar type: Type of restore point. Possible values include: 'Invalid',
'Full', 'Log', 'Differential'
:vartype type: str or
~azure.mgmt.recoveryservicesbackup.models.RestorePointType
:param extended_info: Extended Info that provides data directory details.
Will be populated in two cases:
When a specific recovery point is accessed using GetRecoveryPoint
Or when ListRecoveryPoints is called for Log RP only with ExtendedInfo
query filter
:type extended_info:
~azure.mgmt.recoveryservicesbackup.models.AzureWorkloadSQLRecoveryPointExtendedInfo
:param time_ranges: List of log ranges
:type time_ranges:
list[~azure.mgmt.recoveryservicesbackup.models.PointInTimeRange]
"""
_validation = {
'object_type': {'required': True},
'recovery_point_time_in_utc': {'readonly': True},
'type': {'readonly': True},
}
_attribute_map = {
'object_type': {'key': 'objectType', 'type': 'str'},
'recovery_point_time_in_utc': {'key': 'recoveryPointTimeInUTC', 'type': 'iso-8601'},
'type': {'key': 'type', 'type': 'str'},
'extended_info': {'key': 'extendedInfo', 'type': 'AzureWorkloadSQLRecoveryPointExtendedInfo'},
'time_ranges': {'key': 'timeRanges', 'type': '[PointInTimeRange]'},
}
def __init__(self, *, extended_info=None, time_ranges=None, **kwargs) -> None:
super(AzureWorkloadSQLPointInTimeRecoveryPoint, self).__init__(extended_info=extended_info, **kwargs)
self.time_ranges = time_ranges
self.object_type = 'AzureWorkloadSQLPointInTimeRecoveryPoint'
[docs]class AzureWorkloadSQLRestoreRequest(AzureWorkloadRestoreRequest):
"""AzureWorkload SQL -specific restore. Specifically for full/diff restore.
You probably want to use the sub-classes and not this class directly. Known
sub-classes are: AzureWorkloadSQLPointInTimeRestoreRequest
All required parameters must be populated in order to send to Azure.
:param object_type: Required. Constant filled by server.
:type object_type: str
:param recovery_type: Type of this recovery. Possible values include:
'Invalid', 'OriginalLocation', 'AlternateLocation', 'RestoreDisks',
'Offline'
:type recovery_type: str or
~azure.mgmt.recoveryservicesbackup.models.RecoveryType
:param source_resource_id: Fully qualified ARM ID of the VM on which
workload that was running is being recovered.
:type source_resource_id: str
:param property_bag: Workload specific property bag.
:type property_bag: dict[str, str]
:param target_info: Details of target database
:type target_info:
~azure.mgmt.recoveryservicesbackup.models.TargetRestoreInfo
:param recovery_mode: Defines whether the current recovery mode is file
restore or database restore. Possible values include: 'Invalid',
'FileRecovery', 'WorkloadRecovery'
:type recovery_mode: str or
~azure.mgmt.recoveryservicesbackup.models.RecoveryMode
:param should_use_alternate_target_location: Default option set to true.
If this is set to false, alternate data directory must be provided
:type should_use_alternate_target_location: bool
:param is_non_recoverable: SQL specific property where user can chose to
set no-recovery when restore operation is tried
:type is_non_recoverable: bool
:param alternate_directory_paths: Data directory details
:type alternate_directory_paths:
list[~azure.mgmt.recoveryservicesbackup.models.SQLDataDirectoryMapping]
"""
_validation = {
'object_type': {'required': True},
}
_attribute_map = {
'object_type': {'key': 'objectType', 'type': 'str'},
'recovery_type': {'key': 'recoveryType', 'type': 'str'},
'source_resource_id': {'key': 'sourceResourceId', 'type': 'str'},
'property_bag': {'key': 'propertyBag', 'type': '{str}'},
'target_info': {'key': 'targetInfo', 'type': 'TargetRestoreInfo'},
'recovery_mode': {'key': 'recoveryMode', 'type': 'str'},
'should_use_alternate_target_location': {'key': 'shouldUseAlternateTargetLocation', 'type': 'bool'},
'is_non_recoverable': {'key': 'isNonRecoverable', 'type': 'bool'},
'alternate_directory_paths': {'key': 'alternateDirectoryPaths', 'type': '[SQLDataDirectoryMapping]'},
}
_subtype_map = {
'object_type': {'AzureWorkloadSQLPointInTimeRestoreRequest': 'AzureWorkloadSQLPointInTimeRestoreRequest'}
}
def __init__(self, *, recovery_type=None, source_resource_id: str=None, property_bag=None, target_info=None, recovery_mode=None, should_use_alternate_target_location: bool=None, is_non_recoverable: bool=None, alternate_directory_paths=None, **kwargs) -> None:
super(AzureWorkloadSQLRestoreRequest, self).__init__(recovery_type=recovery_type, source_resource_id=source_resource_id, property_bag=property_bag, target_info=target_info, recovery_mode=recovery_mode, **kwargs)
self.should_use_alternate_target_location = should_use_alternate_target_location
self.is_non_recoverable = is_non_recoverable
self.alternate_directory_paths = alternate_directory_paths
self.object_type = 'AzureWorkloadSQLRestoreRequest'
[docs]class AzureWorkloadSQLPointInTimeRestoreRequest(AzureWorkloadSQLRestoreRequest):
"""AzureWorkload SQL -specific restore. Specifically for PointInTime/Log
restore.
All required parameters must be populated in order to send to Azure.
:param object_type: Required. Constant filled by server.
:type object_type: str
:param recovery_type: Type of this recovery. Possible values include:
'Invalid', 'OriginalLocation', 'AlternateLocation', 'RestoreDisks',
'Offline'
:type recovery_type: str or
~azure.mgmt.recoveryservicesbackup.models.RecoveryType
:param source_resource_id: Fully qualified ARM ID of the VM on which
workload that was running is being recovered.
:type source_resource_id: str
:param property_bag: Workload specific property bag.
:type property_bag: dict[str, str]
:param target_info: Details of target database
:type target_info:
~azure.mgmt.recoveryservicesbackup.models.TargetRestoreInfo
:param recovery_mode: Defines whether the current recovery mode is file
restore or database restore. Possible values include: 'Invalid',
'FileRecovery', 'WorkloadRecovery'
:type recovery_mode: str or
~azure.mgmt.recoveryservicesbackup.models.RecoveryMode
:param should_use_alternate_target_location: Default option set to true.
If this is set to false, alternate data directory must be provided
:type should_use_alternate_target_location: bool
:param is_non_recoverable: SQL specific property where user can chose to
set no-recovery when restore operation is tried
:type is_non_recoverable: bool
:param alternate_directory_paths: Data directory details
:type alternate_directory_paths:
list[~azure.mgmt.recoveryservicesbackup.models.SQLDataDirectoryMapping]
:param point_in_time: PointInTime value
:type point_in_time: datetime
"""
_validation = {
'object_type': {'required': True},
}
_attribute_map = {
'object_type': {'key': 'objectType', 'type': 'str'},
'recovery_type': {'key': 'recoveryType', 'type': 'str'},
'source_resource_id': {'key': 'sourceResourceId', 'type': 'str'},
'property_bag': {'key': 'propertyBag', 'type': '{str}'},
'target_info': {'key': 'targetInfo', 'type': 'TargetRestoreInfo'},
'recovery_mode': {'key': 'recoveryMode', 'type': 'str'},
'should_use_alternate_target_location': {'key': 'shouldUseAlternateTargetLocation', 'type': 'bool'},
'is_non_recoverable': {'key': 'isNonRecoverable', 'type': 'bool'},
'alternate_directory_paths': {'key': 'alternateDirectoryPaths', 'type': '[SQLDataDirectoryMapping]'},
'point_in_time': {'key': 'pointInTime', 'type': 'iso-8601'},
}
def __init__(self, *, recovery_type=None, source_resource_id: str=None, property_bag=None, target_info=None, recovery_mode=None, should_use_alternate_target_location: bool=None, is_non_recoverable: bool=None, alternate_directory_paths=None, point_in_time=None, **kwargs) -> None:
super(AzureWorkloadSQLPointInTimeRestoreRequest, self).__init__(recovery_type=recovery_type, source_resource_id=source_resource_id, property_bag=property_bag, target_info=target_info, recovery_mode=recovery_mode, should_use_alternate_target_location=should_use_alternate_target_location, is_non_recoverable=is_non_recoverable, alternate_directory_paths=alternate_directory_paths, **kwargs)
self.point_in_time = point_in_time
self.object_type = 'AzureWorkloadSQLPointInTimeRestoreRequest'
[docs]class AzureWorkloadSQLRecoveryPointExtendedInfo(Model):
"""Extended info class details.
Variables are only populated by the server, and will be ignored when
sending a request.
:ivar data_directory_time_in_utc: UTC time at which data directory info
was captured
:vartype data_directory_time_in_utc: datetime
:ivar data_directory_paths: List of data directory paths during restore
operation.
:vartype data_directory_paths:
list[~azure.mgmt.recoveryservicesbackup.models.SQLDataDirectory]
"""
_validation = {
'data_directory_time_in_utc': {'readonly': True},
'data_directory_paths': {'readonly': True},
}
_attribute_map = {
'data_directory_time_in_utc': {'key': 'dataDirectoryTimeInUTC', 'type': 'iso-8601'},
'data_directory_paths': {'key': 'dataDirectoryPaths', 'type': '[SQLDataDirectory]'},
}
def __init__(self, **kwargs) -> None:
super(AzureWorkloadSQLRecoveryPointExtendedInfo, self).__init__(**kwargs)
self.data_directory_time_in_utc = None
self.data_directory_paths = None
[docs]class Resource(Model):
"""ARM Resource.
Variables are only populated by the server, and will be ignored when
sending a request.
:ivar id: Resource Id represents the complete path to the resource.
:vartype id: str
:ivar name: Resource name associated with the resource.
:vartype name: str
:ivar type: Resource type represents the complete path of the form
Namespace/ResourceType/ResourceType/...
:vartype type: str
:param location: Resource location.
:type location: str
:param tags: Resource tags.
:type tags: dict[str, str]
:param e_tag: Optional ETag.
:type e_tag: str
"""
_validation = {
'id': {'readonly': True},
'name': {'readonly': True},
'type': {'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}'},
'e_tag': {'key': 'eTag', 'type': 'str'},
}
def __init__(self, *, location: str=None, tags=None, e_tag: str=None, **kwargs) -> None:
super(Resource, self).__init__(**kwargs)
self.id = None
self.name = None
self.type = None
self.location = location
self.tags = tags
self.e_tag = e_tag
[docs]class BackupEngineBaseResource(Resource):
"""The base backup engine class. All workload specific backup engines derive
from this class.
Variables are only populated by the server, and will be ignored when
sending a request.
:ivar id: Resource Id represents the complete path to the resource.
:vartype id: str
:ivar name: Resource name associated with the resource.
:vartype name: str
:ivar type: Resource type represents the complete path of the form
Namespace/ResourceType/ResourceType/...
:vartype type: str
:param location: Resource location.
:type location: str
:param tags: Resource tags.
:type tags: dict[str, str]
:param e_tag: Optional ETag.
:type e_tag: str
:param properties: BackupEngineBaseResource properties
:type properties:
~azure.mgmt.recoveryservicesbackup.models.BackupEngineBase
"""
_validation = {
'id': {'readonly': True},
'name': {'readonly': True},
'type': {'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}'},
'e_tag': {'key': 'eTag', 'type': 'str'},
'properties': {'key': 'properties', 'type': 'BackupEngineBase'},
}
def __init__(self, *, location: str=None, tags=None, e_tag: str=None, properties=None, **kwargs) -> None:
super(BackupEngineBaseResource, self).__init__(location=location, tags=tags, e_tag=e_tag, **kwargs)
self.properties = properties
[docs]class BackupEngineExtendedInfo(Model):
"""Additional information on backup engine.
:param database_name: Database name of backup engine.
:type database_name: str
:param protected_items_count: Number of protected items in the backup
engine.
:type protected_items_count: int
:param protected_servers_count: Number of protected servers in the backup
engine.
:type protected_servers_count: int
:param disk_count: Number of disks in the backup engine.
:type disk_count: int
:param used_disk_space: Disk space used in the backup engine.
:type used_disk_space: float
:param available_disk_space: Disk space currently available in the backup
engine.
:type available_disk_space: float
:param refreshed_at: Last refresh time in the backup engine.
:type refreshed_at: datetime
:param azure_protected_instances: Protected instances in the backup
engine.
:type azure_protected_instances: int
"""
_attribute_map = {
'database_name': {'key': 'databaseName', 'type': 'str'},
'protected_items_count': {'key': 'protectedItemsCount', 'type': 'int'},
'protected_servers_count': {'key': 'protectedServersCount', 'type': 'int'},
'disk_count': {'key': 'diskCount', 'type': 'int'},
'used_disk_space': {'key': 'usedDiskSpace', 'type': 'float'},
'available_disk_space': {'key': 'availableDiskSpace', 'type': 'float'},
'refreshed_at': {'key': 'refreshedAt', 'type': 'iso-8601'},
'azure_protected_instances': {'key': 'azureProtectedInstances', 'type': 'int'},
}
def __init__(self, *, database_name: str=None, protected_items_count: int=None, protected_servers_count: int=None, disk_count: int=None, used_disk_space: float=None, available_disk_space: float=None, refreshed_at=None, azure_protected_instances: int=None, **kwargs) -> None:
super(BackupEngineExtendedInfo, self).__init__(**kwargs)
self.database_name = database_name
self.protected_items_count = protected_items_count
self.protected_servers_count = protected_servers_count
self.disk_count = disk_count
self.used_disk_space = used_disk_space
self.available_disk_space = available_disk_space
self.refreshed_at = refreshed_at
self.azure_protected_instances = azure_protected_instances
[docs]class BackupManagementUsage(Model):
"""Backup management usages of a vault.
:param unit: Unit of the usage. Possible values include: 'Count', 'Bytes',
'Seconds', 'Percent', 'CountPerSecond', 'BytesPerSecond'
:type unit: str or ~azure.mgmt.recoveryservicesbackup.models.UsagesUnit
:param quota_period: Quota period of usage.
:type quota_period: str
:param next_reset_time: Next reset time of usage.
:type next_reset_time: datetime
:param current_value: Current value of usage.
:type current_value: long
:param limit: Limit of usage.
:type limit: long
:param name: Name of usage.
:type name: ~azure.mgmt.recoveryservicesbackup.models.NameInfo
"""
_attribute_map = {
'unit': {'key': 'unit', 'type': 'str'},
'quota_period': {'key': 'quotaPeriod', 'type': 'str'},
'next_reset_time': {'key': 'nextResetTime', 'type': 'iso-8601'},
'current_value': {'key': 'currentValue', 'type': 'long'},
'limit': {'key': 'limit', 'type': 'long'},
'name': {'key': 'name', 'type': 'NameInfo'},
}
def __init__(self, *, unit=None, quota_period: str=None, next_reset_time=None, current_value: int=None, limit: int=None, name=None, **kwargs) -> None:
super(BackupManagementUsage, self).__init__(**kwargs)
self.unit = unit
self.quota_period = quota_period
self.next_reset_time = next_reset_time
self.current_value = current_value
self.limit = limit
self.name = name
[docs]class BackupRequestResource(Resource):
"""Base class for backup request. Workload-specific backup requests are
derived from this class.
Variables are only populated by the server, and will be ignored when
sending a request.
:ivar id: Resource Id represents the complete path to the resource.
:vartype id: str
:ivar name: Resource name associated with the resource.
:vartype name: str
:ivar type: Resource type represents the complete path of the form
Namespace/ResourceType/ResourceType/...
:vartype type: str
:param location: Resource location.
:type location: str
:param tags: Resource tags.
:type tags: dict[str, str]
:param e_tag: Optional ETag.
:type e_tag: str
:param properties: BackupRequestResource properties
:type properties: ~azure.mgmt.recoveryservicesbackup.models.BackupRequest
"""
_validation = {
'id': {'readonly': True},
'name': {'readonly': True},
'type': {'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}'},
'e_tag': {'key': 'eTag', 'type': 'str'},
'properties': {'key': 'properties', 'type': 'BackupRequest'},
}
def __init__(self, *, location: str=None, tags=None, e_tag: str=None, properties=None, **kwargs) -> None:
super(BackupRequestResource, self).__init__(location=location, tags=tags, e_tag=e_tag, **kwargs)
self.properties = properties
[docs]class BackupResourceConfig(Model):
"""The resource storage details.
:param storage_model_type: Storage type. Possible values include:
'Invalid', 'GeoRedundant', 'LocallyRedundant'
:type storage_model_type: str or
~azure.mgmt.recoveryservicesbackup.models.StorageType
:param storage_type: Storage type. Possible values include: 'Invalid',
'GeoRedundant', 'LocallyRedundant'
:type storage_type: str or
~azure.mgmt.recoveryservicesbackup.models.StorageType
:param storage_type_state: Locked or Unlocked. Once a machine is
registered against a resource, the storageTypeState is always Locked.
Possible values include: 'Invalid', 'Locked', 'Unlocked'
:type storage_type_state: str or
~azure.mgmt.recoveryservicesbackup.models.StorageTypeState
"""
_attribute_map = {
'storage_model_type': {'key': 'storageModelType', 'type': 'str'},
'storage_type': {'key': 'storageType', 'type': 'str'},
'storage_type_state': {'key': 'storageTypeState', 'type': 'str'},
}
def __init__(self, *, storage_model_type=None, storage_type=None, storage_type_state=None, **kwargs) -> None:
super(BackupResourceConfig, self).__init__(**kwargs)
self.storage_model_type = storage_model_type
self.storage_type = storage_type
self.storage_type_state = storage_type_state
[docs]class BackupResourceConfigResource(Resource):
"""The resource storage details.
Variables are only populated by the server, and will be ignored when
sending a request.
:ivar id: Resource Id represents the complete path to the resource.
:vartype id: str
:ivar name: Resource name associated with the resource.
:vartype name: str
:ivar type: Resource type represents the complete path of the form
Namespace/ResourceType/ResourceType/...
:vartype type: str
:param location: Resource location.
:type location: str
:param tags: Resource tags.
:type tags: dict[str, str]
:param e_tag: Optional ETag.
:type e_tag: str
:param properties: BackupResourceConfigResource properties
:type properties:
~azure.mgmt.recoveryservicesbackup.models.BackupResourceConfig
"""
_validation = {
'id': {'readonly': True},
'name': {'readonly': True},
'type': {'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}'},
'e_tag': {'key': 'eTag', 'type': 'str'},
'properties': {'key': 'properties', 'type': 'BackupResourceConfig'},
}
def __init__(self, *, location: str=None, tags=None, e_tag: str=None, properties=None, **kwargs) -> None:
super(BackupResourceConfigResource, self).__init__(location=location, tags=tags, e_tag=e_tag, **kwargs)
self.properties = properties
[docs]class BackupResourceVaultConfig(Model):
"""Backup resource vault config details.
:param storage_model_type: Storage type. Possible values include:
'Invalid', 'GeoRedundant', 'LocallyRedundant'
:type storage_model_type: str or
~azure.mgmt.recoveryservicesbackup.models.StorageType
:param storage_type: Storage type. Possible values include: 'Invalid',
'GeoRedundant', 'LocallyRedundant'
:type storage_type: str or
~azure.mgmt.recoveryservicesbackup.models.StorageType
:param storage_type_state: Locked or Unlocked. Once a machine is
registered against a resource, the storageTypeState is always Locked.
Possible values include: 'Invalid', 'Locked', 'Unlocked'
:type storage_type_state: str or
~azure.mgmt.recoveryservicesbackup.models.StorageTypeState
:param enhanced_security_state: Enabled or Disabled. Possible values
include: 'Invalid', 'Enabled', 'Disabled'
:type enhanced_security_state: str or
~azure.mgmt.recoveryservicesbackup.models.EnhancedSecurityState
:param soft_delete_feature_state: Soft Delete feature state. Possible
values include: 'Invalid', 'Enabled', 'Disabled'
:type soft_delete_feature_state: str or
~azure.mgmt.recoveryservicesbackup.models.SoftDeleteFeatureState
"""
_attribute_map = {
'storage_model_type': {'key': 'storageModelType', 'type': 'str'},
'storage_type': {'key': 'storageType', 'type': 'str'},
'storage_type_state': {'key': 'storageTypeState', 'type': 'str'},
'enhanced_security_state': {'key': 'enhancedSecurityState', 'type': 'str'},
'soft_delete_feature_state': {'key': 'softDeleteFeatureState', 'type': 'str'},
}
def __init__(self, *, storage_model_type=None, storage_type=None, storage_type_state=None, enhanced_security_state=None, soft_delete_feature_state=None, **kwargs) -> None:
super(BackupResourceVaultConfig, self).__init__(**kwargs)
self.storage_model_type = storage_model_type
self.storage_type = storage_type
self.storage_type_state = storage_type_state
self.enhanced_security_state = enhanced_security_state
self.soft_delete_feature_state = soft_delete_feature_state
[docs]class BackupResourceVaultConfigResource(Resource):
"""Backup resource vault config details.
Variables are only populated by the server, and will be ignored when
sending a request.
:ivar id: Resource Id represents the complete path to the resource.
:vartype id: str
:ivar name: Resource name associated with the resource.
:vartype name: str
:ivar type: Resource type represents the complete path of the form
Namespace/ResourceType/ResourceType/...
:vartype type: str
:param location: Resource location.
:type location: str
:param tags: Resource tags.
:type tags: dict[str, str]
:param e_tag: Optional ETag.
:type e_tag: str
:param properties: BackupResourceVaultConfigResource properties
:type properties:
~azure.mgmt.recoveryservicesbackup.models.BackupResourceVaultConfig
"""
_validation = {
'id': {'readonly': True},
'name': {'readonly': True},
'type': {'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}'},
'e_tag': {'key': 'eTag', 'type': 'str'},
'properties': {'key': 'properties', 'type': 'BackupResourceVaultConfig'},
}
def __init__(self, *, location: str=None, tags=None, e_tag: str=None, properties=None, **kwargs) -> None:
super(BackupResourceVaultConfigResource, self).__init__(location=location, tags=tags, e_tag=e_tag, **kwargs)
self.properties = properties
[docs]class BackupStatusRequest(Model):
"""BackupStatus request.
:param resource_type: Container Type - VM, SQLPaaS, DPM, AzureFileShare.
Possible values include: 'Invalid', 'VM', 'FileFolder', 'AzureSqlDb',
'SQLDB', 'Exchange', 'Sharepoint', 'VMwareVM', 'SystemState', 'Client',
'GenericDataSource', 'SQLDataBase', 'AzureFileShare', 'SAPHanaDatabase',
'SAPAseDatabase'
:type resource_type: str or
~azure.mgmt.recoveryservicesbackup.models.DataSourceType
:param resource_id: Entire ARM resource id of the resource
:type resource_id: str
:param po_logical_name: Protectable Item Logical Name
:type po_logical_name: str
"""
_attribute_map = {
'resource_type': {'key': 'resourceType', 'type': 'str'},
'resource_id': {'key': 'resourceId', 'type': 'str'},
'po_logical_name': {'key': 'poLogicalName', 'type': 'str'},
}
def __init__(self, *, resource_type=None, resource_id: str=None, po_logical_name: str=None, **kwargs) -> None:
super(BackupStatusRequest, self).__init__(**kwargs)
self.resource_type = resource_type
self.resource_id = resource_id
self.po_logical_name = po_logical_name
[docs]class BackupStatusResponse(Model):
"""BackupStatus response.
:param protection_status: Specifies whether the container is registered or
not. Possible values include: 'Invalid', 'NotProtected', 'Protecting',
'Protected', 'ProtectionFailed'
:type protection_status: str or
~azure.mgmt.recoveryservicesbackup.models.ProtectionStatus
:param vault_id: Specifies the arm resource id of the vault
:type vault_id: str
:param fabric_name: Specifies the fabric name - Azure or AD. Possible
values include: 'Invalid', 'Azure'
:type fabric_name: str or
~azure.mgmt.recoveryservicesbackup.models.FabricName
:param container_name: Specifies the product specific container name. E.g.
iaasvmcontainer;iaasvmcontainer;csname;vmname.
:type container_name: str
:param protected_item_name: Specifies the product specific ds name. E.g.
vm;iaasvmcontainer;csname;vmname.
:type protected_item_name: str
:param error_code: ErrorCode in case of intent failed
:type error_code: str
:param error_message: ErrorMessage in case of intent failed.
:type error_message: str
:param policy_name: Specifies the policy name which is used for protection
:type policy_name: str
:param registration_status: Container registration status
:type registration_status: str
"""
_attribute_map = {
'protection_status': {'key': 'protectionStatus', 'type': 'str'},
'vault_id': {'key': 'vaultId', 'type': 'str'},
'fabric_name': {'key': 'fabricName', 'type': 'str'},
'container_name': {'key': 'containerName', 'type': 'str'},
'protected_item_name': {'key': 'protectedItemName', 'type': 'str'},
'error_code': {'key': 'errorCode', 'type': 'str'},
'error_message': {'key': 'errorMessage', 'type': 'str'},
'policy_name': {'key': 'policyName', 'type': 'str'},
'registration_status': {'key': 'registrationStatus', 'type': 'str'},
}
def __init__(self, *, protection_status=None, vault_id: str=None, fabric_name=None, container_name: str=None, protected_item_name: str=None, error_code: str=None, error_message: str=None, policy_name: str=None, registration_status: str=None, **kwargs) -> None:
super(BackupStatusResponse, self).__init__(**kwargs)
self.protection_status = protection_status
self.vault_id = vault_id
self.fabric_name = fabric_name
self.container_name = container_name
self.protected_item_name = protected_item_name
self.error_code = error_code
self.error_message = error_message
self.policy_name = policy_name
self.registration_status = registration_status
[docs]class BEKDetails(Model):
"""BEK is bitlocker encryption key.
:param secret_url: Secret is BEK.
:type secret_url: str
:param secret_vault_id: ID of the Key Vault where this Secret is stored.
:type secret_vault_id: str
:param secret_data: BEK data.
:type secret_data: str
"""
_attribute_map = {
'secret_url': {'key': 'secretUrl', 'type': 'str'},
'secret_vault_id': {'key': 'secretVaultId', 'type': 'str'},
'secret_data': {'key': 'secretData', 'type': 'str'},
}
def __init__(self, *, secret_url: str=None, secret_vault_id: str=None, secret_data: str=None, **kwargs) -> None:
super(BEKDetails, self).__init__(**kwargs)
self.secret_url = secret_url
self.secret_vault_id = secret_vault_id
self.secret_data = secret_data
[docs]class BMSBackupEngineQueryObject(Model):
"""Query parameters to fetch list of backup engines.
:param expand: attribute to add extended info
:type expand: str
"""
_attribute_map = {
'expand': {'key': 'expand', 'type': 'str'},
}
def __init__(self, *, expand: str=None, **kwargs) -> None:
super(BMSBackupEngineQueryObject, self).__init__(**kwargs)
self.expand = expand
[docs]class BMSBackupEnginesQueryObject(Model):
"""Query parameters to fetch list of backup engines.
:param backup_management_type: Backup management type for the backup
engine. Possible values include: 'Invalid', 'AzureIaasVM', 'MAB', 'DPM',
'AzureBackupServer', 'AzureSql', 'AzureStorage', 'AzureWorkload',
'DefaultBackup'
:type backup_management_type: str or
~azure.mgmt.recoveryservicesbackup.models.BackupManagementType
:param friendly_name: Friendly name of the backup engine.
:type friendly_name: str
:param expand: Attribute to add extended info.
:type expand: str
"""
_attribute_map = {
'backup_management_type': {'key': 'backupManagementType', 'type': 'str'},
'friendly_name': {'key': 'friendlyName', 'type': 'str'},
'expand': {'key': 'expand', 'type': 'str'},
}
def __init__(self, *, backup_management_type=None, friendly_name: str=None, expand: str=None, **kwargs) -> None:
super(BMSBackupEnginesQueryObject, self).__init__(**kwargs)
self.backup_management_type = backup_management_type
self.friendly_name = friendly_name
self.expand = expand
[docs]class BMSBackupSummariesQueryObject(Model):
"""Query parameters to fetch backup summaries.
:param type: Backup management type for this container. Possible values
include: 'Invalid', 'BackupProtectedItemCountSummary',
'BackupProtectionContainerCountSummary'
:type type: str or ~azure.mgmt.recoveryservicesbackup.models.Type
"""
_attribute_map = {
'type': {'key': 'type', 'type': 'str'},
}
def __init__(self, *, type=None, **kwargs) -> None:
super(BMSBackupSummariesQueryObject, self).__init__(**kwargs)
self.type = type
[docs]class BMSContainerQueryObject(Model):
"""The query filters that can be used with the list containers API.
All required parameters must be populated in order to send to Azure.
:param backup_management_type: Required. Backup management type for this
container. Possible values include: 'Invalid', 'AzureIaasVM', 'MAB',
'DPM', 'AzureBackupServer', 'AzureSql', 'AzureStorage', 'AzureWorkload',
'DefaultBackup'
:type backup_management_type: str or
~azure.mgmt.recoveryservicesbackup.models.BackupManagementType
:param container_type: Type of container for filter. Possible values
include: 'Invalid', 'Unknown', 'IaasVMContainer',
'IaasVMServiceContainer', 'DPMContainer', 'AzureBackupServerContainer',
'MABContainer', 'Cluster', 'AzureSqlContainer', 'Windows', 'VCenter',
'VMAppContainer', 'SQLAGWorkLoadContainer', 'StorageContainer',
'GenericContainer'
:type container_type: str or
~azure.mgmt.recoveryservicesbackup.models.ContainerType
:param backup_engine_name: Backup engine name
:type backup_engine_name: str
:param fabric_name: Fabric name for filter
:type fabric_name: str
:param status: Status of registration of this container with the Recovery
Services Vault.
:type status: str
:param friendly_name: Friendly name of this container.
:type friendly_name: str
"""
_validation = {
'backup_management_type': {'required': True},
}
_attribute_map = {
'backup_management_type': {'key': 'backupManagementType', 'type': 'str'},
'container_type': {'key': 'containerType', 'type': 'str'},
'backup_engine_name': {'key': 'backupEngineName', 'type': 'str'},
'fabric_name': {'key': 'fabricName', 'type': 'str'},
'status': {'key': 'status', 'type': 'str'},
'friendly_name': {'key': 'friendlyName', 'type': 'str'},
}
def __init__(self, *, backup_management_type, container_type=None, backup_engine_name: str=None, fabric_name: str=None, status: str=None, friendly_name: str=None, **kwargs) -> None:
super(BMSContainerQueryObject, self).__init__(**kwargs)
self.backup_management_type = backup_management_type
self.container_type = container_type
self.backup_engine_name = backup_engine_name
self.fabric_name = fabric_name
self.status = status
self.friendly_name = friendly_name
[docs]class BMSContainersInquiryQueryObject(Model):
"""The query filters that can be used with the inquire container API.
:param backup_management_type: Backup management type for this container.
Possible values include: 'Invalid', 'AzureIaasVM', 'MAB', 'DPM',
'AzureBackupServer', 'AzureSql', 'AzureStorage', 'AzureWorkload',
'DefaultBackup'
:type backup_management_type: str or
~azure.mgmt.recoveryservicesbackup.models.BackupManagementType
:param workload_type: Workload type for this container. Possible values
include: 'Invalid', 'VM', 'FileFolder', 'AzureSqlDb', 'SQLDB', 'Exchange',
'Sharepoint', 'VMwareVM', 'SystemState', 'Client', 'GenericDataSource',
'SQLDataBase', 'AzureFileShare', 'SAPHanaDatabase', 'SAPAseDatabase'
:type workload_type: str or
~azure.mgmt.recoveryservicesbackup.models.WorkloadType
"""
_attribute_map = {
'backup_management_type': {'key': 'backupManagementType', 'type': 'str'},
'workload_type': {'key': 'workloadType', 'type': 'str'},
}
def __init__(self, *, backup_management_type=None, workload_type=None, **kwargs) -> None:
super(BMSContainersInquiryQueryObject, self).__init__(**kwargs)
self.backup_management_type = backup_management_type
self.workload_type = workload_type
[docs]class BMSPOQueryObject(Model):
"""Filters to list items that can be backed up.
:param backup_management_type: Backup management type. Possible values
include: 'Invalid', 'AzureIaasVM', 'MAB', 'DPM', 'AzureBackupServer',
'AzureSql', 'AzureStorage', 'AzureWorkload', 'DefaultBackup'
:type backup_management_type: str or
~azure.mgmt.recoveryservicesbackup.models.BackupManagementType
:param workload_type: Workload type. Possible values include: 'Invalid',
'VM', 'FileFolder', 'AzureSqlDb', 'SQLDB', 'Exchange', 'Sharepoint',
'VMwareVM', 'SystemState', 'Client', 'GenericDataSource', 'SQLDataBase',
'AzureFileShare', 'SAPHanaDatabase', 'SAPAseDatabase'
:type workload_type: str or
~azure.mgmt.recoveryservicesbackup.models.WorkloadType
:param container_name: Full name of the container whose Protectable
Objects should be returned.
:type container_name: str
:param status: Backup status query parameter.
:type status: str
:param friendly_name: Friendly name.
:type friendly_name: str
"""
_attribute_map = {
'backup_management_type': {'key': 'backupManagementType', 'type': 'str'},
'workload_type': {'key': 'workloadType', 'type': 'str'},
'container_name': {'key': 'containerName', 'type': 'str'},
'status': {'key': 'status', 'type': 'str'},
'friendly_name': {'key': 'friendlyName', 'type': 'str'},
}
def __init__(self, *, backup_management_type=None, workload_type=None, container_name: str=None, status: str=None, friendly_name: str=None, **kwargs) -> None:
super(BMSPOQueryObject, self).__init__(**kwargs)
self.backup_management_type = backup_management_type
self.workload_type = workload_type
self.container_name = container_name
self.status = status
self.friendly_name = friendly_name
[docs]class BMSRefreshContainersQueryObject(Model):
"""The query filters that can be used with the refresh container API.
:param backup_management_type: Backup management type for this container.
Possible values include: 'Invalid', 'AzureIaasVM', 'MAB', 'DPM',
'AzureBackupServer', 'AzureSql', 'AzureStorage', 'AzureWorkload',
'DefaultBackup'
:type backup_management_type: str or
~azure.mgmt.recoveryservicesbackup.models.BackupManagementType
"""
_attribute_map = {
'backup_management_type': {'key': 'backupManagementType', 'type': 'str'},
}
def __init__(self, *, backup_management_type=None, **kwargs) -> None:
super(BMSRefreshContainersQueryObject, self).__init__(**kwargs)
self.backup_management_type = backup_management_type
[docs]class BMSRPQueryObject(Model):
"""Filters to list backup copies.
:param start_date: Backup copies created after this time.
:type start_date: datetime
:param end_date: Backup copies created before this time.
:type end_date: datetime
:param restore_point_query_type: RestorePoint type. Possible values
include: 'Invalid', 'Full', 'Log', 'Differential', 'FullAndDifferential',
'All'
:type restore_point_query_type: str or
~azure.mgmt.recoveryservicesbackup.models.RestorePointQueryType
:param extended_info: In Get Recovery Point, it tells whether extended
information about recovery point is asked.
:type extended_info: bool
"""
_attribute_map = {
'start_date': {'key': 'startDate', 'type': 'iso-8601'},
'end_date': {'key': 'endDate', 'type': 'iso-8601'},
'restore_point_query_type': {'key': 'restorePointQueryType', 'type': 'str'},
'extended_info': {'key': 'extendedInfo', 'type': 'bool'},
}
def __init__(self, *, start_date=None, end_date=None, restore_point_query_type=None, extended_info: bool=None, **kwargs) -> None:
super(BMSRPQueryObject, self).__init__(**kwargs)
self.start_date = start_date
self.end_date = end_date
self.restore_point_query_type = restore_point_query_type
self.extended_info = extended_info
[docs]class BMSWorkloadItemQueryObject(Model):
"""Filters to list items that can be backed up.
:param backup_management_type: Backup management type. Possible values
include: 'Invalid', 'AzureIaasVM', 'MAB', 'DPM', 'AzureBackupServer',
'AzureSql', 'AzureStorage', 'AzureWorkload', 'DefaultBackup'
:type backup_management_type: str or
~azure.mgmt.recoveryservicesbackup.models.BackupManagementType
:param workload_item_type: Workload Item type. Possible values include:
'Invalid', 'SQLInstance', 'SQLDataBase', 'SAPHanaSystem',
'SAPHanaDatabase', 'SAPAseSystem', 'SAPAseDatabase'
:type workload_item_type: str or
~azure.mgmt.recoveryservicesbackup.models.WorkloadItemType
:param workload_type: Workload type. Possible values include: 'Invalid',
'VM', 'FileFolder', 'AzureSqlDb', 'SQLDB', 'Exchange', 'Sharepoint',
'VMwareVM', 'SystemState', 'Client', 'GenericDataSource', 'SQLDataBase',
'AzureFileShare', 'SAPHanaDatabase', 'SAPAseDatabase'
:type workload_type: str or
~azure.mgmt.recoveryservicesbackup.models.WorkloadType
:param protection_status: Backup status query parameter. Possible values
include: 'Invalid', 'NotProtected', 'Protecting', 'Protected',
'ProtectionFailed'
:type protection_status: str or
~azure.mgmt.recoveryservicesbackup.models.ProtectionStatus
"""
_attribute_map = {
'backup_management_type': {'key': 'backupManagementType', 'type': 'str'},
'workload_item_type': {'key': 'workloadItemType', 'type': 'str'},
'workload_type': {'key': 'workloadType', 'type': 'str'},
'protection_status': {'key': 'protectionStatus', 'type': 'str'},
}
def __init__(self, *, backup_management_type=None, workload_item_type=None, workload_type=None, protection_status=None, **kwargs) -> None:
super(BMSWorkloadItemQueryObject, self).__init__(**kwargs)
self.backup_management_type = backup_management_type
self.workload_item_type = workload_item_type
self.workload_type = workload_type
self.protection_status = protection_status
[docs]class ClientDiscoveryDisplay(Model):
"""Localized display information of an operation.
:param provider: Name of the provider for display purposes
:type provider: str
:param resource: ResourceType for which this Operation can be performed.
:type resource: str
:param operation: Operations Name itself.
:type operation: str
:param description: Description of the operation having details of what
operation is about.
: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(ClientDiscoveryDisplay, self).__init__(**kwargs)
self.provider = provider
self.resource = resource
self.operation = operation
self.description = description
[docs]class ClientDiscoveryForLogSpecification(Model):
"""Class to represent shoebox log specification in json client discovery.
:param name: Name for shoebox log specification.
:type name: str
:param display_name: Localized display name
:type display_name: str
:param blob_duration: blob duration of shoebox log specification
:type blob_duration: str
"""
_attribute_map = {
'name': {'key': 'name', 'type': 'str'},
'display_name': {'key': 'displayName', 'type': 'str'},
'blob_duration': {'key': 'blobDuration', 'type': 'str'},
}
def __init__(self, *, name: str=None, display_name: str=None, blob_duration: str=None, **kwargs) -> None:
super(ClientDiscoveryForLogSpecification, self).__init__(**kwargs)
self.name = name
self.display_name = display_name
self.blob_duration = blob_duration
[docs]class ClientDiscoveryForProperties(Model):
"""Class to represent shoebox properties in json client discovery.
:param service_specification: Operation properties.
:type service_specification:
~azure.mgmt.recoveryservicesbackup.models.ClientDiscoveryForServiceSpecification
"""
_attribute_map = {
'service_specification': {'key': 'serviceSpecification', 'type': 'ClientDiscoveryForServiceSpecification'},
}
def __init__(self, *, service_specification=None, **kwargs) -> None:
super(ClientDiscoveryForProperties, self).__init__(**kwargs)
self.service_specification = service_specification
[docs]class ClientDiscoveryForServiceSpecification(Model):
"""Class to represent shoebox service specification in json client discovery.
:param log_specifications: List of log specifications of this operation.
:type log_specifications:
list[~azure.mgmt.recoveryservicesbackup.models.ClientDiscoveryForLogSpecification]
"""
_attribute_map = {
'log_specifications': {'key': 'logSpecifications', 'type': '[ClientDiscoveryForLogSpecification]'},
}
def __init__(self, *, log_specifications=None, **kwargs) -> None:
super(ClientDiscoveryForServiceSpecification, self).__init__(**kwargs)
self.log_specifications = log_specifications
[docs]class ClientDiscoveryValueForSingleApi(Model):
"""Available operation details.
:param name: Name of the Operation.
:type name: str
:param display: Contains the localized display information for this
particular operation
:type display:
~azure.mgmt.recoveryservicesbackup.models.ClientDiscoveryDisplay
:param origin: The intended executor of the operation;governs the display
of the operation in the RBAC UX and the audit logs UX
:type origin: str
:param properties: ShoeBox properties for the given operation.
:type properties:
~azure.mgmt.recoveryservicesbackup.models.ClientDiscoveryForProperties
"""
_attribute_map = {
'name': {'key': 'name', 'type': 'str'},
'display': {'key': 'display', 'type': 'ClientDiscoveryDisplay'},
'origin': {'key': 'origin', 'type': 'str'},
'properties': {'key': 'properties', 'type': 'ClientDiscoveryForProperties'},
}
def __init__(self, *, name: str=None, display=None, origin: str=None, properties=None, **kwargs) -> None:
super(ClientDiscoveryValueForSingleApi, self).__init__(**kwargs)
self.name = name
self.display = display
self.origin = origin
self.properties = properties
[docs]class ClientScriptForConnect(Model):
"""Client script details for file / folder restore.
:param script_content: File content of the client script for file / folder
restore.
:type script_content: str
:param script_extension: File extension of the client script for file /
folder restore - .ps1 , .sh , etc.
:type script_extension: str
:param os_type: OS type - Windows, Linux etc. for which this file / folder
restore client script works.
:type os_type: str
:param url: URL of Executable from where to source the content. If this is
not null then ScriptContent should not be used
:type url: str
:param script_name_suffix: Mandatory suffix that should be added to the
name of script that is given for download to user.
If its null or empty then , ignore it.
:type script_name_suffix: str
"""
_attribute_map = {
'script_content': {'key': 'scriptContent', 'type': 'str'},
'script_extension': {'key': 'scriptExtension', 'type': 'str'},
'os_type': {'key': 'osType', 'type': 'str'},
'url': {'key': 'url', 'type': 'str'},
'script_name_suffix': {'key': 'scriptNameSuffix', 'type': 'str'},
}
def __init__(self, *, script_content: str=None, script_extension: str=None, os_type: str=None, url: str=None, script_name_suffix: str=None, **kwargs) -> None:
super(ClientScriptForConnect, self).__init__(**kwargs)
self.script_content = script_content
self.script_extension = script_extension
self.os_type = os_type
self.url = url
self.script_name_suffix = script_name_suffix
class CloudError(Model):
"""CloudError.
"""
_attribute_map = {
}
[docs]class ContainerIdentityInfo(Model):
"""Container identity information.
:param unique_name: Unique name of the container
:type unique_name: str
:param aad_tenant_id: Protection container identity - AAD Tenant
:type aad_tenant_id: str
:param service_principal_client_id: Protection container identity - AAD
Service Principal
:type service_principal_client_id: str
:param audience: Protection container identity - Audience
:type audience: str
"""
_attribute_map = {
'unique_name': {'key': 'uniqueName', 'type': 'str'},
'aad_tenant_id': {'key': 'aadTenantId', 'type': 'str'},
'service_principal_client_id': {'key': 'servicePrincipalClientId', 'type': 'str'},
'audience': {'key': 'audience', 'type': 'str'},
}
def __init__(self, *, unique_name: str=None, aad_tenant_id: str=None, service_principal_client_id: str=None, audience: str=None, **kwargs) -> None:
super(ContainerIdentityInfo, self).__init__(**kwargs)
self.unique_name = unique_name
self.aad_tenant_id = aad_tenant_id
self.service_principal_client_id = service_principal_client_id
self.audience = audience
[docs]class DailyRetentionSchedule(Model):
"""Daily retention schedule.
:param retention_times: Retention times of retention policy.
:type retention_times: list[datetime]
:param retention_duration: Retention duration of retention Policy.
:type retention_duration:
~azure.mgmt.recoveryservicesbackup.models.RetentionDuration
"""
_attribute_map = {
'retention_times': {'key': 'retentionTimes', 'type': '[iso-8601]'},
'retention_duration': {'key': 'retentionDuration', 'type': 'RetentionDuration'},
}
def __init__(self, *, retention_times=None, retention_duration=None, **kwargs) -> None:
super(DailyRetentionSchedule, self).__init__(**kwargs)
self.retention_times = retention_times
self.retention_duration = retention_duration
[docs]class Day(Model):
"""Day of the week.
:param date_property: Date of the month
:type date_property: int
:param is_last: Whether Date is last date of month
:type is_last: bool
"""
_attribute_map = {
'date_property': {'key': 'date', 'type': 'int'},
'is_last': {'key': 'isLast', 'type': 'bool'},
}
def __init__(self, *, date_property: int=None, is_last: bool=None, **kwargs) -> None:
super(Day, self).__init__(**kwargs)
self.date_property = date_property
self.is_last = is_last
[docs]class DiskExclusionProperties(Model):
"""DiskExclusionProperties.
:param disk_lun_list: List of Disks' Logical Unit Numbers (LUN) to be used
for VM Protection.
:type disk_lun_list: list[int]
:param is_inclusion_list: Flag to indicate whether DiskLunList is to be
included/ excluded from backup.
:type is_inclusion_list: bool
"""
_attribute_map = {
'disk_lun_list': {'key': 'diskLunList', 'type': '[int]'},
'is_inclusion_list': {'key': 'isInclusionList', 'type': 'bool'},
}
def __init__(self, *, disk_lun_list=None, is_inclusion_list: bool=None, **kwargs) -> None:
super(DiskExclusionProperties, self).__init__(**kwargs)
self.disk_lun_list = disk_lun_list
self.is_inclusion_list = is_inclusion_list
[docs]class DistributedNodesInfo(Model):
"""This is used to represent the various nodes of the distributed container.
:param node_name: Name of the node under a distributed container.
:type node_name: str
:param status: Status of this Node.
Failed | Succeeded
:type status: str
:param error_detail: Error Details if the Status is non-success.
:type error_detail: ~azure.mgmt.recoveryservicesbackup.models.ErrorDetail
"""
_attribute_map = {
'node_name': {'key': 'nodeName', 'type': 'str'},
'status': {'key': 'status', 'type': 'str'},
'error_detail': {'key': 'errorDetail', 'type': 'ErrorDetail'},
}
def __init__(self, *, node_name: str=None, status: str=None, error_detail=None, **kwargs) -> None:
super(DistributedNodesInfo, self).__init__(**kwargs)
self.node_name = node_name
self.status = status
self.error_detail = error_detail
[docs]class DpmBackupEngine(BackupEngineBase):
"""Data Protection Manager (DPM) specific backup engine.
All required parameters must be populated in order to send to Azure.
:param friendly_name: Friendly name of the backup engine.
:type friendly_name: str
:param backup_management_type: Type of backup management for the backup
engine. Possible values include: 'Invalid', 'AzureIaasVM', 'MAB', 'DPM',
'AzureBackupServer', 'AzureSql', 'AzureStorage', 'AzureWorkload',
'DefaultBackup'
:type backup_management_type: str or
~azure.mgmt.recoveryservicesbackup.models.BackupManagementType
:param registration_status: Registration status of the backup engine with
the Recovery Services Vault.
:type registration_status: str
:param backup_engine_state: Status of the backup engine with the Recovery
Services Vault. = {Active/Deleting/DeleteFailed}
:type backup_engine_state: str
:param health_status: Backup status of the backup engine.
:type health_status: str
:param can_re_register: Flag indicating if the backup engine be
registered, once already registered.
:type can_re_register: bool
:param backup_engine_id: ID of the backup engine.
:type backup_engine_id: str
:param dpm_version: Backup engine version
:type dpm_version: str
:param azure_backup_agent_version: Backup agent version
:type azure_backup_agent_version: str
:param is_azure_backup_agent_upgrade_available: To check if backup agent
upgrade available
:type is_azure_backup_agent_upgrade_available: bool
:param is_dpm_upgrade_available: To check if backup engine upgrade
available
:type is_dpm_upgrade_available: bool
:param extended_info: Extended info of the backupengine
:type extended_info:
~azure.mgmt.recoveryservicesbackup.models.BackupEngineExtendedInfo
:param backup_engine_type: Required. Constant filled by server.
:type backup_engine_type: str
"""
_validation = {
'backup_engine_type': {'required': True},
}
_attribute_map = {
'friendly_name': {'key': 'friendlyName', 'type': 'str'},
'backup_management_type': {'key': 'backupManagementType', 'type': 'str'},
'registration_status': {'key': 'registrationStatus', 'type': 'str'},
'backup_engine_state': {'key': 'backupEngineState', 'type': 'str'},
'health_status': {'key': 'healthStatus', 'type': 'str'},
'can_re_register': {'key': 'canReRegister', 'type': 'bool'},
'backup_engine_id': {'key': 'backupEngineId', 'type': 'str'},
'dpm_version': {'key': 'dpmVersion', 'type': 'str'},
'azure_backup_agent_version': {'key': 'azureBackupAgentVersion', 'type': 'str'},
'is_azure_backup_agent_upgrade_available': {'key': 'isAzureBackupAgentUpgradeAvailable', 'type': 'bool'},
'is_dpm_upgrade_available': {'key': 'isDpmUpgradeAvailable', 'type': 'bool'},
'extended_info': {'key': 'extendedInfo', 'type': 'BackupEngineExtendedInfo'},
'backup_engine_type': {'key': 'backupEngineType', 'type': 'str'},
}
def __init__(self, *, friendly_name: str=None, backup_management_type=None, registration_status: str=None, backup_engine_state: str=None, health_status: str=None, can_re_register: bool=None, backup_engine_id: str=None, dpm_version: str=None, azure_backup_agent_version: str=None, is_azure_backup_agent_upgrade_available: bool=None, is_dpm_upgrade_available: bool=None, extended_info=None, **kwargs) -> None:
super(DpmBackupEngine, self).__init__(friendly_name=friendly_name, backup_management_type=backup_management_type, registration_status=registration_status, backup_engine_state=backup_engine_state, health_status=health_status, can_re_register=can_re_register, backup_engine_id=backup_engine_id, dpm_version=dpm_version, azure_backup_agent_version=azure_backup_agent_version, is_azure_backup_agent_upgrade_available=is_azure_backup_agent_upgrade_available, is_dpm_upgrade_available=is_dpm_upgrade_available, extended_info=extended_info, **kwargs)
self.backup_engine_type = 'DpmBackupEngine'
[docs]class DPMContainerExtendedInfo(Model):
"""Additional information of the DPMContainer.
:param last_refreshed_at: Last refresh time of the DPMContainer.
:type last_refreshed_at: datetime
"""
_attribute_map = {
'last_refreshed_at': {'key': 'lastRefreshedAt', 'type': 'iso-8601'},
}
def __init__(self, *, last_refreshed_at=None, **kwargs) -> None:
super(DPMContainerExtendedInfo, self).__init__(**kwargs)
self.last_refreshed_at = last_refreshed_at
[docs]class DpmErrorInfo(Model):
"""DPM workload-specific error information.
:param error_string: Localized error string.
:type error_string: str
:param recommendations: List of localized recommendations for above error
code.
:type recommendations: list[str]
"""
_attribute_map = {
'error_string': {'key': 'errorString', 'type': 'str'},
'recommendations': {'key': 'recommendations', 'type': '[str]'},
}
def __init__(self, *, error_string: str=None, recommendations=None, **kwargs) -> None:
super(DpmErrorInfo, self).__init__(**kwargs)
self.error_string = error_string
self.recommendations = recommendations
[docs]class DpmJob(Job):
"""DPM workload-specific job object.
All required parameters must be populated in order to send to Azure.
:param entity_friendly_name: Friendly name of the entity on which the
current job is executing.
:type entity_friendly_name: str
:param backup_management_type: Backup management type to execute the
current job. Possible values include: 'Invalid', 'AzureIaasVM', 'MAB',
'DPM', 'AzureBackupServer', 'AzureSql', 'AzureStorage', 'AzureWorkload',
'DefaultBackup'
:type backup_management_type: str or
~azure.mgmt.recoveryservicesbackup.models.BackupManagementType
:param operation: The operation name.
:type operation: str
:param status: Job status.
:type status: str
:param start_time: The start time.
:type start_time: datetime
:param end_time: The end time.
:type end_time: datetime
:param activity_id: ActivityId of job.
:type activity_id: str
:param job_type: Required. Constant filled by server.
:type job_type: str
:param duration: Time elapsed for job.
:type duration: timedelta
:param dpm_server_name: DPM server name managing the backup item or backup
job.
:type dpm_server_name: str
:param container_name: Name of cluster/server protecting current backup
item, if any.
:type container_name: str
:param container_type: Type of container.
:type container_type: str
:param workload_type: Type of backup item.
:type workload_type: str
:param actions_info: The state/actions applicable on this job like
cancel/retry.
:type actions_info: list[str or
~azure.mgmt.recoveryservicesbackup.models.JobSupportedAction]
:param error_details: The errors.
:type error_details:
list[~azure.mgmt.recoveryservicesbackup.models.DpmErrorInfo]
:param extended_info: Additional information for this job.
:type extended_info:
~azure.mgmt.recoveryservicesbackup.models.DpmJobExtendedInfo
"""
_validation = {
'job_type': {'required': True},
}
_attribute_map = {
'entity_friendly_name': {'key': 'entityFriendlyName', 'type': 'str'},
'backup_management_type': {'key': 'backupManagementType', 'type': 'str'},
'operation': {'key': 'operation', 'type': 'str'},
'status': {'key': 'status', 'type': 'str'},
'start_time': {'key': 'startTime', 'type': 'iso-8601'},
'end_time': {'key': 'endTime', 'type': 'iso-8601'},
'activity_id': {'key': 'activityId', 'type': 'str'},
'job_type': {'key': 'jobType', 'type': 'str'},
'duration': {'key': 'duration', 'type': 'duration'},
'dpm_server_name': {'key': 'dpmServerName', 'type': 'str'},
'container_name': {'key': 'containerName', 'type': 'str'},
'container_type': {'key': 'containerType', 'type': 'str'},
'workload_type': {'key': 'workloadType', 'type': 'str'},
'actions_info': {'key': 'actionsInfo', 'type': '[JobSupportedAction]'},
'error_details': {'key': 'errorDetails', 'type': '[DpmErrorInfo]'},
'extended_info': {'key': 'extendedInfo', 'type': 'DpmJobExtendedInfo'},
}
def __init__(self, *, entity_friendly_name: str=None, backup_management_type=None, operation: str=None, status: str=None, start_time=None, end_time=None, activity_id: str=None, duration=None, dpm_server_name: str=None, container_name: str=None, container_type: str=None, workload_type: str=None, actions_info=None, error_details=None, extended_info=None, **kwargs) -> None:
super(DpmJob, self).__init__(entity_friendly_name=entity_friendly_name, backup_management_type=backup_management_type, operation=operation, status=status, start_time=start_time, end_time=end_time, activity_id=activity_id, **kwargs)
self.duration = duration
self.dpm_server_name = dpm_server_name
self.container_name = container_name
self.container_type = container_type
self.workload_type = workload_type
self.actions_info = actions_info
self.error_details = error_details
self.extended_info = extended_info
self.job_type = 'DpmJob'
[docs]class DpmJobExtendedInfo(Model):
"""Additional information on the DPM workload-specific job.
:param tasks_list: List of tasks associated with this job.
:type tasks_list:
list[~azure.mgmt.recoveryservicesbackup.models.DpmJobTaskDetails]
:param property_bag: The job properties.
:type property_bag: dict[str, str]
:param dynamic_error_message: Non localized error message on job
execution.
:type dynamic_error_message: str
"""
_attribute_map = {
'tasks_list': {'key': 'tasksList', 'type': '[DpmJobTaskDetails]'},
'property_bag': {'key': 'propertyBag', 'type': '{str}'},
'dynamic_error_message': {'key': 'dynamicErrorMessage', 'type': 'str'},
}
def __init__(self, *, tasks_list=None, property_bag=None, dynamic_error_message: str=None, **kwargs) -> None:
super(DpmJobExtendedInfo, self).__init__(**kwargs)
self.tasks_list = tasks_list
self.property_bag = property_bag
self.dynamic_error_message = dynamic_error_message
[docs]class DpmJobTaskDetails(Model):
"""DPM workload-specific job task details.
:param task_id: The task display name.
:type task_id: str
:param start_time: The start time.
:type start_time: datetime
:param end_time: The end time.
:type end_time: datetime
:param duration: Time elapsed for task.
:type duration: timedelta
:param status: The status.
:type status: str
"""
_attribute_map = {
'task_id': {'key': 'taskId', 'type': 'str'},
'start_time': {'key': 'startTime', 'type': 'iso-8601'},
'end_time': {'key': 'endTime', 'type': 'iso-8601'},
'duration': {'key': 'duration', 'type': 'duration'},
'status': {'key': 'status', 'type': 'str'},
}
def __init__(self, *, task_id: str=None, start_time=None, end_time=None, duration=None, status: str=None, **kwargs) -> None:
super(DpmJobTaskDetails, self).__init__(**kwargs)
self.task_id = task_id
self.start_time = start_time
self.end_time = end_time
self.duration = duration
self.status = status
[docs]class DPMProtectedItem(ProtectedItem):
"""Additional information on Backup engine specific backup item.
All required parameters must be populated in order to send to Azure.
:param backup_management_type: Type of backup management for the backed up
item. Possible values include: 'Invalid', 'AzureIaasVM', 'MAB', 'DPM',
'AzureBackupServer', 'AzureSql', 'AzureStorage', 'AzureWorkload',
'DefaultBackup'
:type backup_management_type: str or
~azure.mgmt.recoveryservicesbackup.models.BackupManagementType
:param workload_type: Type of workload this item represents. Possible
values include: 'Invalid', 'VM', 'FileFolder', 'AzureSqlDb', 'SQLDB',
'Exchange', 'Sharepoint', 'VMwareVM', 'SystemState', 'Client',
'GenericDataSource', 'SQLDataBase', 'AzureFileShare', 'SAPHanaDatabase',
'SAPAseDatabase'
:type workload_type: str or
~azure.mgmt.recoveryservicesbackup.models.DataSourceType
:param container_name: Unique name of container
:type container_name: str
:param source_resource_id: ARM ID of the resource to be backed up.
:type source_resource_id: str
:param policy_id: ID of the backup policy with which this item is backed
up.
:type policy_id: str
:param last_recovery_point: Timestamp when the last (latest) backup copy
was created for this backup item.
:type last_recovery_point: datetime
:param backup_set_name: Name of the backup set the backup item belongs to
:type backup_set_name: str
:param create_mode: Create mode to indicate recovery of existing soft
deleted data source or creation of new data source. Possible values
include: 'Invalid', 'Default', 'Recover'
:type create_mode: str or
~azure.mgmt.recoveryservicesbackup.models.CreateMode
:param deferred_delete_time_in_utc: Time for deferred deletion in UTC
:type deferred_delete_time_in_utc: datetime
:param is_scheduled_for_deferred_delete: Flag to identify whether the DS
is scheduled for deferred delete
:type is_scheduled_for_deferred_delete: bool
:param deferred_delete_time_remaining: Time remaining before the DS marked
for deferred delete is permanently deleted
:type deferred_delete_time_remaining: str
:param is_deferred_delete_schedule_upcoming: Flag to identify whether the
deferred deleted DS is to be purged soon
:type is_deferred_delete_schedule_upcoming: bool
:param is_rehydrate: Flag to identify that deferred deleted DS is to be
moved into Pause state
:type is_rehydrate: bool
:param protected_item_type: Required. Constant filled by server.
:type protected_item_type: str
:param friendly_name: Friendly name of the managed item
:type friendly_name: str
:param backup_engine_name: Backup Management server protecting this backup
item
:type backup_engine_name: str
:param protection_state: Protection state of the backup engine. Possible
values include: 'Invalid', 'IRPending', 'Protected', 'ProtectionError',
'ProtectionStopped', 'ProtectionPaused'
:type protection_state: str or
~azure.mgmt.recoveryservicesbackup.models.ProtectedItemState
:param extended_info: Extended info of the backup item.
:type extended_info:
~azure.mgmt.recoveryservicesbackup.models.DPMProtectedItemExtendedInfo
"""
_validation = {
'protected_item_type': {'required': True},
}
_attribute_map = {
'backup_management_type': {'key': 'backupManagementType', 'type': 'str'},
'workload_type': {'key': 'workloadType', 'type': 'str'},
'container_name': {'key': 'containerName', 'type': 'str'},
'source_resource_id': {'key': 'sourceResourceId', 'type': 'str'},
'policy_id': {'key': 'policyId', 'type': 'str'},
'last_recovery_point': {'key': 'lastRecoveryPoint', 'type': 'iso-8601'},
'backup_set_name': {'key': 'backupSetName', 'type': 'str'},
'create_mode': {'key': 'createMode', 'type': 'str'},
'deferred_delete_time_in_utc': {'key': 'deferredDeleteTimeInUTC', 'type': 'iso-8601'},
'is_scheduled_for_deferred_delete': {'key': 'isScheduledForDeferredDelete', 'type': 'bool'},
'deferred_delete_time_remaining': {'key': 'deferredDeleteTimeRemaining', 'type': 'str'},
'is_deferred_delete_schedule_upcoming': {'key': 'isDeferredDeleteScheduleUpcoming', 'type': 'bool'},
'is_rehydrate': {'key': 'isRehydrate', 'type': 'bool'},
'protected_item_type': {'key': 'protectedItemType', 'type': 'str'},
'friendly_name': {'key': 'friendlyName', 'type': 'str'},
'backup_engine_name': {'key': 'backupEngineName', 'type': 'str'},
'protection_state': {'key': 'protectionState', 'type': 'str'},
'extended_info': {'key': 'extendedInfo', 'type': 'DPMProtectedItemExtendedInfo'},
}
def __init__(self, *, backup_management_type=None, workload_type=None, container_name: str=None, source_resource_id: str=None, policy_id: str=None, last_recovery_point=None, backup_set_name: str=None, create_mode=None, deferred_delete_time_in_utc=None, is_scheduled_for_deferred_delete: bool=None, deferred_delete_time_remaining: str=None, is_deferred_delete_schedule_upcoming: bool=None, is_rehydrate: bool=None, friendly_name: str=None, backup_engine_name: str=None, protection_state=None, extended_info=None, **kwargs) -> None:
super(DPMProtectedItem, self).__init__(backup_management_type=backup_management_type, workload_type=workload_type, container_name=container_name, source_resource_id=source_resource_id, policy_id=policy_id, last_recovery_point=last_recovery_point, backup_set_name=backup_set_name, create_mode=create_mode, deferred_delete_time_in_utc=deferred_delete_time_in_utc, is_scheduled_for_deferred_delete=is_scheduled_for_deferred_delete, deferred_delete_time_remaining=deferred_delete_time_remaining, is_deferred_delete_schedule_upcoming=is_deferred_delete_schedule_upcoming, is_rehydrate=is_rehydrate, **kwargs)
self.friendly_name = friendly_name
self.backup_engine_name = backup_engine_name
self.protection_state = protection_state
self.extended_info = extended_info
self.protected_item_type = 'DPMProtectedItem'
[docs]class DPMProtectedItemExtendedInfo(Model):
"""Additional information of DPM Protected item.
:param protectable_object_load_path: Attribute to provide information on
various DBs.
:type protectable_object_load_path: dict[str, str]
:param protected: To check if backup item is disk protected.
:type protected: bool
:param is_present_on_cloud: To check if backup item is cloud protected.
:type is_present_on_cloud: bool
:param last_backup_status: Last backup status information on backup item.
:type last_backup_status: str
:param last_refreshed_at: Last refresh time on backup item.
:type last_refreshed_at: datetime
:param oldest_recovery_point: Oldest cloud recovery point time.
:type oldest_recovery_point: datetime
:param recovery_point_count: cloud recovery point count.
:type recovery_point_count: int
:param on_premise_oldest_recovery_point: Oldest disk recovery point time.
:type on_premise_oldest_recovery_point: datetime
:param on_premise_latest_recovery_point: latest disk recovery point time.
:type on_premise_latest_recovery_point: datetime
:param on_premise_recovery_point_count: disk recovery point count.
:type on_premise_recovery_point_count: int
:param is_collocated: To check if backup item is collocated.
:type is_collocated: bool
:param protection_group_name: Protection group name of the backup item.
:type protection_group_name: str
:param disk_storage_used_in_bytes: Used Disk storage in bytes.
:type disk_storage_used_in_bytes: str
:param total_disk_storage_size_in_bytes: total Disk storage in bytes.
:type total_disk_storage_size_in_bytes: str
"""
_attribute_map = {
'protectable_object_load_path': {'key': 'protectableObjectLoadPath', 'type': '{str}'},
'protected': {'key': 'protected', 'type': 'bool'},
'is_present_on_cloud': {'key': 'isPresentOnCloud', 'type': 'bool'},
'last_backup_status': {'key': 'lastBackupStatus', 'type': 'str'},
'last_refreshed_at': {'key': 'lastRefreshedAt', 'type': 'iso-8601'},
'oldest_recovery_point': {'key': 'oldestRecoveryPoint', 'type': 'iso-8601'},
'recovery_point_count': {'key': 'recoveryPointCount', 'type': 'int'},
'on_premise_oldest_recovery_point': {'key': 'onPremiseOldestRecoveryPoint', 'type': 'iso-8601'},
'on_premise_latest_recovery_point': {'key': 'onPremiseLatestRecoveryPoint', 'type': 'iso-8601'},
'on_premise_recovery_point_count': {'key': 'onPremiseRecoveryPointCount', 'type': 'int'},
'is_collocated': {'key': 'isCollocated', 'type': 'bool'},
'protection_group_name': {'key': 'protectionGroupName', 'type': 'str'},
'disk_storage_used_in_bytes': {'key': 'diskStorageUsedInBytes', 'type': 'str'},
'total_disk_storage_size_in_bytes': {'key': 'totalDiskStorageSizeInBytes', 'type': 'str'},
}
def __init__(self, *, protectable_object_load_path=None, protected: bool=None, is_present_on_cloud: bool=None, last_backup_status: str=None, last_refreshed_at=None, oldest_recovery_point=None, recovery_point_count: int=None, on_premise_oldest_recovery_point=None, on_premise_latest_recovery_point=None, on_premise_recovery_point_count: int=None, is_collocated: bool=None, protection_group_name: str=None, disk_storage_used_in_bytes: str=None, total_disk_storage_size_in_bytes: str=None, **kwargs) -> None:
super(DPMProtectedItemExtendedInfo, self).__init__(**kwargs)
self.protectable_object_load_path = protectable_object_load_path
self.protected = protected
self.is_present_on_cloud = is_present_on_cloud
self.last_backup_status = last_backup_status
self.last_refreshed_at = last_refreshed_at
self.oldest_recovery_point = oldest_recovery_point
self.recovery_point_count = recovery_point_count
self.on_premise_oldest_recovery_point = on_premise_oldest_recovery_point
self.on_premise_latest_recovery_point = on_premise_latest_recovery_point
self.on_premise_recovery_point_count = on_premise_recovery_point_count
self.is_collocated = is_collocated
self.protection_group_name = protection_group_name
self.disk_storage_used_in_bytes = disk_storage_used_in_bytes
self.total_disk_storage_size_in_bytes = total_disk_storage_size_in_bytes
[docs]class EncryptionDetails(Model):
"""Details needed if the VM was encrypted at the time of backup.
:param encryption_enabled: Identifies whether this backup copy represents
an encrypted VM at the time of backup.
:type encryption_enabled: bool
:param kek_url: Key Url.
:type kek_url: str
:param secret_key_url: Secret Url.
:type secret_key_url: str
:param kek_vault_id: ID of Key Vault where KEK is stored.
:type kek_vault_id: str
:param secret_key_vault_id: ID of Key Vault where Secret is stored.
:type secret_key_vault_id: str
"""
_attribute_map = {
'encryption_enabled': {'key': 'encryptionEnabled', 'type': 'bool'},
'kek_url': {'key': 'kekUrl', 'type': 'str'},
'secret_key_url': {'key': 'secretKeyUrl', 'type': 'str'},
'kek_vault_id': {'key': 'kekVaultId', 'type': 'str'},
'secret_key_vault_id': {'key': 'secretKeyVaultId', 'type': 'str'},
}
def __init__(self, *, encryption_enabled: bool=None, kek_url: str=None, secret_key_url: str=None, kek_vault_id: str=None, secret_key_vault_id: str=None, **kwargs) -> None:
super(EncryptionDetails, self).__init__(**kwargs)
self.encryption_enabled = encryption_enabled
self.kek_url = kek_url
self.secret_key_url = secret_key_url
self.kek_vault_id = kek_vault_id
self.secret_key_vault_id = secret_key_vault_id
[docs]class ErrorAdditionalInfo(Model):
"""The resource management error additional info.
Variables are only populated by the server, and will be ignored when
sending a request.
:ivar type: The additional info type.
:vartype type: str
:ivar info: The additional info.
:vartype info: object
"""
_validation = {
'type': {'readonly': True},
'info': {'readonly': True},
}
_attribute_map = {
'type': {'key': 'type', 'type': 'str'},
'info': {'key': 'info', 'type': 'object'},
}
def __init__(self, **kwargs) -> None:
super(ErrorAdditionalInfo, self).__init__(**kwargs)
self.type = None
self.info = None
[docs]class ErrorDetail(Model):
"""Error Detail class which encapsulates Code, Message and Recommendations.
Variables are only populated by the server, and will be ignored when
sending a request.
:ivar code: Error code.
:vartype code: str
:ivar message: Error Message related to the Code.
:vartype message: str
:ivar recommendations: List of recommendation strings.
:vartype recommendations: list[str]
"""
_validation = {
'code': {'readonly': True},
'message': {'readonly': True},
'recommendations': {'readonly': True},
}
_attribute_map = {
'code': {'key': 'code', 'type': 'str'},
'message': {'key': 'message', 'type': 'str'},
'recommendations': {'key': 'recommendations', 'type': '[str]'},
}
def __init__(self, **kwargs) -> None:
super(ErrorDetail, self).__init__(**kwargs)
self.code = None
self.message = None
self.recommendations = None
[docs]class ErrorResponse(Model):
"""The resource management error response.
Variables are only populated by the server, and will be ignored when
sending a request.
:ivar code: The error code.
:vartype code: str
:ivar message: The error message.
:vartype message: str
:ivar target: The error target.
:vartype target: str
:ivar details: The error details.
:vartype details:
list[~azure.mgmt.recoveryservicesbackup.models.ErrorResponse]
:ivar additional_info: The error additional info.
:vartype additional_info:
list[~azure.mgmt.recoveryservicesbackup.models.ErrorAdditionalInfo]
"""
_validation = {
'code': {'readonly': True},
'message': {'readonly': True},
'target': {'readonly': True},
'details': {'readonly': True},
'additional_info': {'readonly': True},
}
_attribute_map = {
'code': {'key': 'code', 'type': 'str'},
'message': {'key': 'message', 'type': 'str'},
'target': {'key': 'target', 'type': 'str'},
'details': {'key': 'details', 'type': '[ErrorResponse]'},
'additional_info': {'key': 'additionalInfo', 'type': '[ErrorAdditionalInfo]'},
}
def __init__(self, **kwargs) -> None:
super(ErrorResponse, self).__init__(**kwargs)
self.code = None
self.message = None
self.target = None
self.details = None
self.additional_info = None
[docs]class ErrorResponseException(HttpOperationError):
"""Server responsed with exception of type: 'ErrorResponse'.
:param deserialize: A deserializer
:param response: Server response to be deserialized.
"""
def __init__(self, deserialize, response, *args):
super(ErrorResponseException, self).__init__(deserialize, response, 'ErrorResponse', *args)
[docs]class OperationResultInfoBase(Model):
"""Base class for operation result info.
You probably want to use the sub-classes and not this class directly. Known
sub-classes are: ExportJobsOperationResultInfo, OperationResultInfo
All required parameters must be populated in order to send to Azure.
:param object_type: Required. Constant filled by server.
:type object_type: str
"""
_validation = {
'object_type': {'required': True},
}
_attribute_map = {
'object_type': {'key': 'objectType', 'type': 'str'},
}
_subtype_map = {
'object_type': {'ExportJobsOperationResultInfo': 'ExportJobsOperationResultInfo', 'OperationResultInfo': 'OperationResultInfo'}
}
def __init__(self, **kwargs) -> None:
super(OperationResultInfoBase, self).__init__(**kwargs)
self.object_type = None
[docs]class ExportJobsOperationResultInfo(OperationResultInfoBase):
"""This class is used to send blob details after exporting jobs.
All required parameters must be populated in order to send to Azure.
:param object_type: Required. Constant filled by server.
:type object_type: str
:param blob_url: URL of the blob into which the serialized string of list
of jobs is exported.
:type blob_url: str
:param blob_sas_key: SAS key to access the blob. It expires in 15 mins.
:type blob_sas_key: str
:param excel_file_blob_url: URL of the blob into which the ExcelFile is
uploaded.
:type excel_file_blob_url: str
:param excel_file_blob_sas_key: SAS key to access the blob. It expires in
15 mins.
:type excel_file_blob_sas_key: str
"""
_validation = {
'object_type': {'required': True},
}
_attribute_map = {
'object_type': {'key': 'objectType', 'type': 'str'},
'blob_url': {'key': 'blobUrl', 'type': 'str'},
'blob_sas_key': {'key': 'blobSasKey', 'type': 'str'},
'excel_file_blob_url': {'key': 'excelFileBlobUrl', 'type': 'str'},
'excel_file_blob_sas_key': {'key': 'excelFileBlobSasKey', 'type': 'str'},
}
def __init__(self, *, blob_url: str=None, blob_sas_key: str=None, excel_file_blob_url: str=None, excel_file_blob_sas_key: str=None, **kwargs) -> None:
super(ExportJobsOperationResultInfo, self).__init__(**kwargs)
self.blob_url = blob_url
self.blob_sas_key = blob_sas_key
self.excel_file_blob_url = excel_file_blob_url
self.excel_file_blob_sas_key = excel_file_blob_sas_key
self.object_type = 'ExportJobsOperationResultInfo'
[docs]class ExtendedProperties(Model):
"""Extended Properties for Azure IaasVM Backup.
:param disk_exclusion_properties: Extended Properties for Disk Exclusion.
:type disk_exclusion_properties:
~azure.mgmt.recoveryservicesbackup.models.DiskExclusionProperties
"""
_attribute_map = {
'disk_exclusion_properties': {'key': 'diskExclusionProperties', 'type': 'DiskExclusionProperties'},
}
def __init__(self, *, disk_exclusion_properties=None, **kwargs) -> None:
super(ExtendedProperties, self).__init__(**kwargs)
self.disk_exclusion_properties = disk_exclusion_properties
[docs]class GenericContainer(ProtectionContainer):
"""Base class for generic container of backup items.
All required parameters must be populated in order to send to Azure.
:param friendly_name: Friendly name of the container.
:type friendly_name: str
:param backup_management_type: Type of backup management for the
container. Possible values include: 'Invalid', 'AzureIaasVM', 'MAB',
'DPM', 'AzureBackupServer', 'AzureSql', 'AzureStorage', 'AzureWorkload',
'DefaultBackup'
:type backup_management_type: str or
~azure.mgmt.recoveryservicesbackup.models.BackupManagementType
:param registration_status: Status of registration of the container with
the Recovery Services Vault.
:type registration_status: str
:param health_status: Status of health of the container.
:type health_status: str
:param container_type: Required. Constant filled by server.
:type container_type: str
:param fabric_name: Name of the container's fabric
:type fabric_name: str
:param extended_information: Extended information (not returned in List
container API calls)
:type extended_information:
~azure.mgmt.recoveryservicesbackup.models.GenericContainerExtendedInfo
"""
_validation = {
'container_type': {'required': True},
}
_attribute_map = {
'friendly_name': {'key': 'friendlyName', 'type': 'str'},
'backup_management_type': {'key': 'backupManagementType', 'type': 'str'},
'registration_status': {'key': 'registrationStatus', 'type': 'str'},
'health_status': {'key': 'healthStatus', 'type': 'str'},
'container_type': {'key': 'containerType', 'type': 'str'},
'fabric_name': {'key': 'fabricName', 'type': 'str'},
'extended_information': {'key': 'extendedInformation', 'type': 'GenericContainerExtendedInfo'},
}
def __init__(self, *, friendly_name: str=None, backup_management_type=None, registration_status: str=None, health_status: str=None, fabric_name: str=None, extended_information=None, **kwargs) -> None:
super(GenericContainer, self).__init__(friendly_name=friendly_name, backup_management_type=backup_management_type, registration_status=registration_status, health_status=health_status, **kwargs)
self.fabric_name = fabric_name
self.extended_information = extended_information
self.container_type = 'GenericContainer'
[docs]class GenericContainerExtendedInfo(Model):
"""Container extended information.
:param raw_cert_data: Public key of container cert
:type raw_cert_data: str
:param container_identity_info: Container identity information
:type container_identity_info:
~azure.mgmt.recoveryservicesbackup.models.ContainerIdentityInfo
:param service_endpoints: Azure Backup Service Endpoints for the container
:type service_endpoints: dict[str, str]
"""
_attribute_map = {
'raw_cert_data': {'key': 'rawCertData', 'type': 'str'},
'container_identity_info': {'key': 'containerIdentityInfo', 'type': 'ContainerIdentityInfo'},
'service_endpoints': {'key': 'serviceEndpoints', 'type': '{str}'},
}
def __init__(self, *, raw_cert_data: str=None, container_identity_info=None, service_endpoints=None, **kwargs) -> None:
super(GenericContainerExtendedInfo, self).__init__(**kwargs)
self.raw_cert_data = raw_cert_data
self.container_identity_info = container_identity_info
self.service_endpoints = service_endpoints
[docs]class GenericProtectedItem(ProtectedItem):
"""Base class for backup items.
All required parameters must be populated in order to send to Azure.
:param backup_management_type: Type of backup management for the backed up
item. Possible values include: 'Invalid', 'AzureIaasVM', 'MAB', 'DPM',
'AzureBackupServer', 'AzureSql', 'AzureStorage', 'AzureWorkload',
'DefaultBackup'
:type backup_management_type: str or
~azure.mgmt.recoveryservicesbackup.models.BackupManagementType
:param workload_type: Type of workload this item represents. Possible
values include: 'Invalid', 'VM', 'FileFolder', 'AzureSqlDb', 'SQLDB',
'Exchange', 'Sharepoint', 'VMwareVM', 'SystemState', 'Client',
'GenericDataSource', 'SQLDataBase', 'AzureFileShare', 'SAPHanaDatabase',
'SAPAseDatabase'
:type workload_type: str or
~azure.mgmt.recoveryservicesbackup.models.DataSourceType
:param container_name: Unique name of container
:type container_name: str
:param source_resource_id: ARM ID of the resource to be backed up.
:type source_resource_id: str
:param policy_id: ID of the backup policy with which this item is backed
up.
:type policy_id: str
:param last_recovery_point: Timestamp when the last (latest) backup copy
was created for this backup item.
:type last_recovery_point: datetime
:param backup_set_name: Name of the backup set the backup item belongs to
:type backup_set_name: str
:param create_mode: Create mode to indicate recovery of existing soft
deleted data source or creation of new data source. Possible values
include: 'Invalid', 'Default', 'Recover'
:type create_mode: str or
~azure.mgmt.recoveryservicesbackup.models.CreateMode
:param deferred_delete_time_in_utc: Time for deferred deletion in UTC
:type deferred_delete_time_in_utc: datetime
:param is_scheduled_for_deferred_delete: Flag to identify whether the DS
is scheduled for deferred delete
:type is_scheduled_for_deferred_delete: bool
:param deferred_delete_time_remaining: Time remaining before the DS marked
for deferred delete is permanently deleted
:type deferred_delete_time_remaining: str
:param is_deferred_delete_schedule_upcoming: Flag to identify whether the
deferred deleted DS is to be purged soon
:type is_deferred_delete_schedule_upcoming: bool
:param is_rehydrate: Flag to identify that deferred deleted DS is to be
moved into Pause state
:type is_rehydrate: bool
:param protected_item_type: Required. Constant filled by server.
:type protected_item_type: str
:param friendly_name: Friendly name of the container.
:type friendly_name: str
:param policy_state: Indicates consistency of policy object and policy
applied to this backup item.
:type policy_state: str
:param protection_state: Backup state of this backup item. Possible values
include: 'Invalid', 'IRPending', 'Protected', 'ProtectionError',
'ProtectionStopped', 'ProtectionPaused'
:type protection_state: str or
~azure.mgmt.recoveryservicesbackup.models.ProtectionState
:param protected_item_id: Data Plane Service ID of the protected item.
:type protected_item_id: long
:param source_associations: Loosely coupled (type, value) associations
(example - parent of a protected item)
:type source_associations: dict[str, str]
:param fabric_name: Name of this backup item's fabric.
:type fabric_name: str
"""
_validation = {
'protected_item_type': {'required': True},
}
_attribute_map = {
'backup_management_type': {'key': 'backupManagementType', 'type': 'str'},
'workload_type': {'key': 'workloadType', 'type': 'str'},
'container_name': {'key': 'containerName', 'type': 'str'},
'source_resource_id': {'key': 'sourceResourceId', 'type': 'str'},
'policy_id': {'key': 'policyId', 'type': 'str'},
'last_recovery_point': {'key': 'lastRecoveryPoint', 'type': 'iso-8601'},
'backup_set_name': {'key': 'backupSetName', 'type': 'str'},
'create_mode': {'key': 'createMode', 'type': 'str'},
'deferred_delete_time_in_utc': {'key': 'deferredDeleteTimeInUTC', 'type': 'iso-8601'},
'is_scheduled_for_deferred_delete': {'key': 'isScheduledForDeferredDelete', 'type': 'bool'},
'deferred_delete_time_remaining': {'key': 'deferredDeleteTimeRemaining', 'type': 'str'},
'is_deferred_delete_schedule_upcoming': {'key': 'isDeferredDeleteScheduleUpcoming', 'type': 'bool'},
'is_rehydrate': {'key': 'isRehydrate', 'type': 'bool'},
'protected_item_type': {'key': 'protectedItemType', 'type': 'str'},
'friendly_name': {'key': 'friendlyName', 'type': 'str'},
'policy_state': {'key': 'policyState', 'type': 'str'},
'protection_state': {'key': 'protectionState', 'type': 'str'},
'protected_item_id': {'key': 'protectedItemId', 'type': 'long'},
'source_associations': {'key': 'sourceAssociations', 'type': '{str}'},
'fabric_name': {'key': 'fabricName', 'type': 'str'},
}
def __init__(self, *, backup_management_type=None, workload_type=None, container_name: str=None, source_resource_id: str=None, policy_id: str=None, last_recovery_point=None, backup_set_name: str=None, create_mode=None, deferred_delete_time_in_utc=None, is_scheduled_for_deferred_delete: bool=None, deferred_delete_time_remaining: str=None, is_deferred_delete_schedule_upcoming: bool=None, is_rehydrate: bool=None, friendly_name: str=None, policy_state: str=None, protection_state=None, protected_item_id: int=None, source_associations=None, fabric_name: str=None, **kwargs) -> None:
super(GenericProtectedItem, self).__init__(backup_management_type=backup_management_type, workload_type=workload_type, container_name=container_name, source_resource_id=source_resource_id, policy_id=policy_id, last_recovery_point=last_recovery_point, backup_set_name=backup_set_name, create_mode=create_mode, deferred_delete_time_in_utc=deferred_delete_time_in_utc, is_scheduled_for_deferred_delete=is_scheduled_for_deferred_delete, deferred_delete_time_remaining=deferred_delete_time_remaining, is_deferred_delete_schedule_upcoming=is_deferred_delete_schedule_upcoming, is_rehydrate=is_rehydrate, **kwargs)
self.friendly_name = friendly_name
self.policy_state = policy_state
self.protection_state = protection_state
self.protected_item_id = protected_item_id
self.source_associations = source_associations
self.fabric_name = fabric_name
self.protected_item_type = 'GenericProtectedItem'
[docs]class GenericProtectionPolicy(ProtectionPolicy):
"""Azure VM (Mercury) workload-specific backup policy.
All required parameters must be populated in order to send to Azure.
:param protected_items_count: Number of items associated with this policy.
:type protected_items_count: int
:param backup_management_type: Required. Constant filled by server.
:type backup_management_type: str
:param sub_protection_policy: List of sub-protection policies which
includes schedule and retention
:type sub_protection_policy:
list[~azure.mgmt.recoveryservicesbackup.models.SubProtectionPolicy]
:param time_zone: TimeZone optional input as string. For example: TimeZone
= "Pacific Standard Time".
:type time_zone: str
:param fabric_name: Name of this policy's fabric.
:type fabric_name: str
"""
_validation = {
'backup_management_type': {'required': True},
}
_attribute_map = {
'protected_items_count': {'key': 'protectedItemsCount', 'type': 'int'},
'backup_management_type': {'key': 'backupManagementType', 'type': 'str'},
'sub_protection_policy': {'key': 'subProtectionPolicy', 'type': '[SubProtectionPolicy]'},
'time_zone': {'key': 'timeZone', 'type': 'str'},
'fabric_name': {'key': 'fabricName', 'type': 'str'},
}
def __init__(self, *, protected_items_count: int=None, sub_protection_policy=None, time_zone: str=None, fabric_name: str=None, **kwargs) -> None:
super(GenericProtectionPolicy, self).__init__(protected_items_count=protected_items_count, **kwargs)
self.sub_protection_policy = sub_protection_policy
self.time_zone = time_zone
self.fabric_name = fabric_name
self.backup_management_type = 'GenericProtectionPolicy'
[docs]class GenericRecoveryPoint(RecoveryPoint):
"""Generic backup copy.
All required parameters must be populated in order to send to Azure.
:param object_type: Required. Constant filled by server.
:type object_type: str
:param friendly_name: Friendly name of the backup copy.
:type friendly_name: str
:param recovery_point_type: Type of the backup copy.
:type recovery_point_type: str
:param recovery_point_time: Time at which this backup copy was created.
:type recovery_point_time: datetime
:param recovery_point_additional_info: Additional information associated
with this backup copy.
:type recovery_point_additional_info: str
"""
_validation = {
'object_type': {'required': True},
}
_attribute_map = {
'object_type': {'key': 'objectType', 'type': 'str'},
'friendly_name': {'key': 'friendlyName', 'type': 'str'},
'recovery_point_type': {'key': 'recoveryPointType', 'type': 'str'},
'recovery_point_time': {'key': 'recoveryPointTime', 'type': 'iso-8601'},
'recovery_point_additional_info': {'key': 'recoveryPointAdditionalInfo', 'type': 'str'},
}
def __init__(self, *, friendly_name: str=None, recovery_point_type: str=None, recovery_point_time=None, recovery_point_additional_info: str=None, **kwargs) -> None:
super(GenericRecoveryPoint, self).__init__(**kwargs)
self.friendly_name = friendly_name
self.recovery_point_type = recovery_point_type
self.recovery_point_time = recovery_point_time
self.recovery_point_additional_info = recovery_point_additional_info
self.object_type = 'GenericRecoveryPoint'
[docs]class GetProtectedItemQueryObject(Model):
"""Filters to list backup items.
:param expand: Specifies if the additional information should be provided
for this item.
:type expand: str
"""
_attribute_map = {
'expand': {'key': 'expand', 'type': 'str'},
}
def __init__(self, *, expand: str=None, **kwargs) -> None:
super(GetProtectedItemQueryObject, self).__init__(**kwargs)
self.expand = expand
[docs]class IaasVMBackupRequest(BackupRequest):
"""IaaS VM workload-specific backup request.
All required parameters must be populated in order to send to Azure.
:param object_type: Required. Constant filled by server.
:type object_type: str
:param recovery_point_expiry_time_in_utc: Backup copy will expire after
the time specified (UTC).
:type recovery_point_expiry_time_in_utc: datetime
"""
_validation = {
'object_type': {'required': True},
}
_attribute_map = {
'object_type': {'key': 'objectType', 'type': 'str'},
'recovery_point_expiry_time_in_utc': {'key': 'recoveryPointExpiryTimeInUTC', 'type': 'iso-8601'},
}
def __init__(self, *, recovery_point_expiry_time_in_utc=None, **kwargs) -> None:
super(IaasVMBackupRequest, self).__init__(**kwargs)
self.recovery_point_expiry_time_in_utc = recovery_point_expiry_time_in_utc
self.object_type = 'IaasVMBackupRequest'
[docs]class IaasVMILRRegistrationRequest(ILRRequest):
"""Restore files/folders from a backup copy of IaaS VM.
All required parameters must be populated in order to send to Azure.
:param object_type: Required. Constant filled by server.
:type object_type: str
:param recovery_point_id: ID of the IaaS VM backup copy from where the
files/folders have to be restored.
:type recovery_point_id: str
:param virtual_machine_id: Fully qualified ARM ID of the virtual machine
whose the files / folders have to be restored.
:type virtual_machine_id: str
:param initiator_name: iSCSI initiator name.
:type initiator_name: str
:param renew_existing_registration: Whether to renew existing registration
with the iSCSI server.
:type renew_existing_registration: bool
"""
_validation = {
'object_type': {'required': True},
}
_attribute_map = {
'object_type': {'key': 'objectType', 'type': 'str'},
'recovery_point_id': {'key': 'recoveryPointId', 'type': 'str'},
'virtual_machine_id': {'key': 'virtualMachineId', 'type': 'str'},
'initiator_name': {'key': 'initiatorName', 'type': 'str'},
'renew_existing_registration': {'key': 'renewExistingRegistration', 'type': 'bool'},
}
def __init__(self, *, recovery_point_id: str=None, virtual_machine_id: str=None, initiator_name: str=None, renew_existing_registration: bool=None, **kwargs) -> None:
super(IaasVMILRRegistrationRequest, self).__init__(**kwargs)
self.recovery_point_id = recovery_point_id
self.virtual_machine_id = virtual_machine_id
self.initiator_name = initiator_name
self.renew_existing_registration = renew_existing_registration
self.object_type = 'IaasVMILRRegistrationRequest'
[docs]class IaasVMRecoveryPoint(RecoveryPoint):
"""IaaS VM workload specific backup copy.
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 object_type: Required. Constant filled by server.
:type object_type: str
:ivar recovery_point_type: Type of the backup copy.
:vartype recovery_point_type: str
:ivar recovery_point_time: Time at which this backup copy was created.
:vartype recovery_point_time: datetime
:ivar recovery_point_additional_info: Additional information associated
with this backup copy.
:vartype recovery_point_additional_info: str
:ivar source_vm_storage_type: Storage type of the VM whose backup copy is
created.
:vartype source_vm_storage_type: str
:ivar is_source_vm_encrypted: Identifies whether the VM was encrypted when
the backup copy is created.
:vartype is_source_vm_encrypted: bool
:param key_and_secret: Required details for recovering an encrypted VM.
Applicable only when IsSourceVMEncrypted is true.
:type key_and_secret:
~azure.mgmt.recoveryservicesbackup.models.KeyAndSecretDetails
:param is_instant_ilr_session_active: Is the session to recover items from
this backup copy still active.
:type is_instant_ilr_session_active: bool
:param recovery_point_tier_details: Recovery point tier information.
:type recovery_point_tier_details:
list[~azure.mgmt.recoveryservicesbackup.models.RecoveryPointTierInformation]
:param is_managed_virtual_machine: Whether VM is with Managed Disks
:type is_managed_virtual_machine: bool
:param virtual_machine_size: Virtual Machine Size
:type virtual_machine_size: str
:param original_storage_account_option: Original Storage Account Option
:type original_storage_account_option: bool
:param os_type: OS type
:type os_type: str
:param recovery_point_disk_configuration: Disk configuration
:type recovery_point_disk_configuration:
~azure.mgmt.recoveryservicesbackup.models.RecoveryPointDiskConfiguration
"""
_validation = {
'object_type': {'required': True},
'recovery_point_type': {'readonly': True},
'recovery_point_time': {'readonly': True},
'recovery_point_additional_info': {'readonly': True},
'source_vm_storage_type': {'readonly': True},
'is_source_vm_encrypted': {'readonly': True},
}
_attribute_map = {
'object_type': {'key': 'objectType', 'type': 'str'},
'recovery_point_type': {'key': 'recoveryPointType', 'type': 'str'},
'recovery_point_time': {'key': 'recoveryPointTime', 'type': 'iso-8601'},
'recovery_point_additional_info': {'key': 'recoveryPointAdditionalInfo', 'type': 'str'},
'source_vm_storage_type': {'key': 'sourceVMStorageType', 'type': 'str'},
'is_source_vm_encrypted': {'key': 'isSourceVMEncrypted', 'type': 'bool'},
'key_and_secret': {'key': 'keyAndSecret', 'type': 'KeyAndSecretDetails'},
'is_instant_ilr_session_active': {'key': 'isInstantIlrSessionActive', 'type': 'bool'},
'recovery_point_tier_details': {'key': 'recoveryPointTierDetails', 'type': '[RecoveryPointTierInformation]'},
'is_managed_virtual_machine': {'key': 'isManagedVirtualMachine', 'type': 'bool'},
'virtual_machine_size': {'key': 'virtualMachineSize', 'type': 'str'},
'original_storage_account_option': {'key': 'originalStorageAccountOption', 'type': 'bool'},
'os_type': {'key': 'osType', 'type': 'str'},
'recovery_point_disk_configuration': {'key': 'recoveryPointDiskConfiguration', 'type': 'RecoveryPointDiskConfiguration'},
}
def __init__(self, *, key_and_secret=None, is_instant_ilr_session_active: bool=None, recovery_point_tier_details=None, is_managed_virtual_machine: bool=None, virtual_machine_size: str=None, original_storage_account_option: bool=None, os_type: str=None, recovery_point_disk_configuration=None, **kwargs) -> None:
super(IaasVMRecoveryPoint, self).__init__(**kwargs)
self.recovery_point_type = None
self.recovery_point_time = None
self.recovery_point_additional_info = None
self.source_vm_storage_type = None
self.is_source_vm_encrypted = None
self.key_and_secret = key_and_secret
self.is_instant_ilr_session_active = is_instant_ilr_session_active
self.recovery_point_tier_details = recovery_point_tier_details
self.is_managed_virtual_machine = is_managed_virtual_machine
self.virtual_machine_size = virtual_machine_size
self.original_storage_account_option = original_storage_account_option
self.os_type = os_type
self.recovery_point_disk_configuration = recovery_point_disk_configuration
self.object_type = 'IaasVMRecoveryPoint'
[docs]class IaasVMRestoreRequest(RestoreRequest):
"""IaaS VM workload-specific restore.
All required parameters must be populated in order to send to Azure.
:param object_type: Required. Constant filled by server.
:type object_type: str
:param recovery_point_id: ID of the backup copy to be recovered.
:type recovery_point_id: str
:param recovery_type: Type of this recovery. Possible values include:
'Invalid', 'OriginalLocation', 'AlternateLocation', 'RestoreDisks',
'Offline'
:type recovery_type: str or
~azure.mgmt.recoveryservicesbackup.models.RecoveryType
:param source_resource_id: Fully qualified ARM ID of the VM which is being
recovered.
:type source_resource_id: str
:param target_virtual_machine_id: This is the complete ARM Id of the VM
that will be created.
For e.g.
/subscriptions/{subId}/resourcegroups/{rg}/provider/Microsoft.Compute/virtualmachines/{vm}
:type target_virtual_machine_id: str
:param target_resource_group_id: This is the ARM Id of the resource group
that you want to create for this Virtual machine and other artifacts.
For e.g. /subscriptions/{subId}/resourcegroups/{rg}
:type target_resource_group_id: str
:param storage_account_id: Fully qualified ARM ID of the storage account
to which the VM has to be restored.
:type storage_account_id: str
:param virtual_network_id: This is the virtual network Id of the vnet that
will be attached to the virtual machine.
User will be validated for join action permissions in the linked access.
:type virtual_network_id: str
:param subnet_id: Subnet ID, is the subnet ID associated with the to be
restored VM. For Classic VMs it would be
{VnetID}/Subnet/{SubnetName} and, for the Azure Resource Manager VMs it
would be ARM resource ID used to represent
the subnet.
:type subnet_id: str
:param target_domain_name_id: Fully qualified ARM ID of the domain name to
be associated to the VM being restored. This applies only to Classic
Virtual Machines.
:type target_domain_name_id: str
:param region: Region in which the virtual machine is restored.
:type region: str
:param affinity_group: Affinity group associated to VM to be restored.
Used only for Classic Compute Virtual Machines.
:type affinity_group: str
:param create_new_cloud_service: Should a new cloud service be created
while restoring the VM. If this is false, VM will be restored to the same
cloud service as it was at the time of backup.
:type create_new_cloud_service: bool
:param original_storage_account_option: Original Storage Account Option
:type original_storage_account_option: bool
:param encryption_details: Details needed if the VM was encrypted at the
time of backup.
:type encryption_details:
~azure.mgmt.recoveryservicesbackup.models.EncryptionDetails
:param restore_disk_lun_list: List of Disk LUNs for partial restore
:type restore_disk_lun_list: list[int]
"""
_validation = {
'object_type': {'required': True},
}
_attribute_map = {
'object_type': {'key': 'objectType', 'type': 'str'},
'recovery_point_id': {'key': 'recoveryPointId', 'type': 'str'},
'recovery_type': {'key': 'recoveryType', 'type': 'str'},
'source_resource_id': {'key': 'sourceResourceId', 'type': 'str'},
'target_virtual_machine_id': {'key': 'targetVirtualMachineId', 'type': 'str'},
'target_resource_group_id': {'key': 'targetResourceGroupId', 'type': 'str'},
'storage_account_id': {'key': 'storageAccountId', 'type': 'str'},
'virtual_network_id': {'key': 'virtualNetworkId', 'type': 'str'},
'subnet_id': {'key': 'subnetId', 'type': 'str'},
'target_domain_name_id': {'key': 'targetDomainNameId', 'type': 'str'},
'region': {'key': 'region', 'type': 'str'},
'affinity_group': {'key': 'affinityGroup', 'type': 'str'},
'create_new_cloud_service': {'key': 'createNewCloudService', 'type': 'bool'},
'original_storage_account_option': {'key': 'originalStorageAccountOption', 'type': 'bool'},
'encryption_details': {'key': 'encryptionDetails', 'type': 'EncryptionDetails'},
'restore_disk_lun_list': {'key': 'restoreDiskLunList', 'type': '[int]'},
}
def __init__(self, *, recovery_point_id: str=None, recovery_type=None, source_resource_id: str=None, target_virtual_machine_id: str=None, target_resource_group_id: str=None, storage_account_id: str=None, virtual_network_id: str=None, subnet_id: str=None, target_domain_name_id: str=None, region: str=None, affinity_group: str=None, create_new_cloud_service: bool=None, original_storage_account_option: bool=None, encryption_details=None, restore_disk_lun_list=None, **kwargs) -> None:
super(IaasVMRestoreRequest, self).__init__(**kwargs)
self.recovery_point_id = recovery_point_id
self.recovery_type = recovery_type
self.source_resource_id = source_resource_id
self.target_virtual_machine_id = target_virtual_machine_id
self.target_resource_group_id = target_resource_group_id
self.storage_account_id = storage_account_id
self.virtual_network_id = virtual_network_id
self.subnet_id = subnet_id
self.target_domain_name_id = target_domain_name_id
self.region = region
self.affinity_group = affinity_group
self.create_new_cloud_service = create_new_cloud_service
self.original_storage_account_option = original_storage_account_option
self.encryption_details = encryption_details
self.restore_disk_lun_list = restore_disk_lun_list
self.object_type = 'IaasVMRestoreRequest'
[docs]class ILRRequestResource(Resource):
"""Parameters to Provision ILR API.
Variables are only populated by the server, and will be ignored when
sending a request.
:ivar id: Resource Id represents the complete path to the resource.
:vartype id: str
:ivar name: Resource name associated with the resource.
:vartype name: str
:ivar type: Resource type represents the complete path of the form
Namespace/ResourceType/ResourceType/...
:vartype type: str
:param location: Resource location.
:type location: str
:param tags: Resource tags.
:type tags: dict[str, str]
:param e_tag: Optional ETag.
:type e_tag: str
:param properties: ILRRequestResource properties
:type properties: ~azure.mgmt.recoveryservicesbackup.models.ILRRequest
"""
_validation = {
'id': {'readonly': True},
'name': {'readonly': True},
'type': {'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}'},
'e_tag': {'key': 'eTag', 'type': 'str'},
'properties': {'key': 'properties', 'type': 'ILRRequest'},
}
def __init__(self, *, location: str=None, tags=None, e_tag: str=None, properties=None, **kwargs) -> None:
super(ILRRequestResource, self).__init__(location=location, tags=tags, e_tag=e_tag, **kwargs)
self.properties = properties
[docs]class InquiryInfo(Model):
"""Details about inquired protectable items under a given container.
:param status: Inquiry Status for this container such as
InProgress | Failed | Succeeded
:type status: str
:param error_detail: Error Details if the Status is non-success.
:type error_detail: ~azure.mgmt.recoveryservicesbackup.models.ErrorDetail
:param inquiry_details: Inquiry Details which will have workload specific
details.
For e.g. - For SQL and oracle this will contain different details.
:type inquiry_details:
list[~azure.mgmt.recoveryservicesbackup.models.WorkloadInquiryDetails]
"""
_attribute_map = {
'status': {'key': 'status', 'type': 'str'},
'error_detail': {'key': 'errorDetail', 'type': 'ErrorDetail'},
'inquiry_details': {'key': 'inquiryDetails', 'type': '[WorkloadInquiryDetails]'},
}
def __init__(self, *, status: str=None, error_detail=None, inquiry_details=None, **kwargs) -> None:
super(InquiryInfo, self).__init__(**kwargs)
self.status = status
self.error_detail = error_detail
self.inquiry_details = inquiry_details
[docs]class InquiryValidation(Model):
"""Validation for inquired protectable items under a given container.
Variables are only populated by the server, and will be ignored when
sending a request.
:param status: Status for the Inquiry Validation.
:type status: str
:param error_detail: Error Detail in case the status is non-success.
:type error_detail: ~azure.mgmt.recoveryservicesbackup.models.ErrorDetail
:ivar additional_detail: Error Additional Detail in case the status is
non-success.
:vartype additional_detail: str
"""
_validation = {
'additional_detail': {'readonly': True},
}
_attribute_map = {
'status': {'key': 'status', 'type': 'str'},
'error_detail': {'key': 'errorDetail', 'type': 'ErrorDetail'},
'additional_detail': {'key': 'additionalDetail', 'type': 'str'},
}
def __init__(self, *, status: str=None, error_detail=None, **kwargs) -> None:
super(InquiryValidation, self).__init__(**kwargs)
self.status = status
self.error_detail = error_detail
self.additional_detail = None
[docs]class InstantItemRecoveryTarget(Model):
"""Target details for file / folder restore.
:param client_scripts: List of client scripts.
:type client_scripts:
list[~azure.mgmt.recoveryservicesbackup.models.ClientScriptForConnect]
"""
_attribute_map = {
'client_scripts': {'key': 'clientScripts', 'type': '[ClientScriptForConnect]'},
}
def __init__(self, *, client_scripts=None, **kwargs) -> None:
super(InstantItemRecoveryTarget, self).__init__(**kwargs)
self.client_scripts = client_scripts
[docs]class InstantRPAdditionalDetails(Model):
"""InstantRPAdditionalDetails.
:param azure_backup_rg_name_prefix:
:type azure_backup_rg_name_prefix: str
:param azure_backup_rg_name_suffix:
:type azure_backup_rg_name_suffix: str
"""
_attribute_map = {
'azure_backup_rg_name_prefix': {'key': 'azureBackupRGNamePrefix', 'type': 'str'},
'azure_backup_rg_name_suffix': {'key': 'azureBackupRGNameSuffix', 'type': 'str'},
}
def __init__(self, *, azure_backup_rg_name_prefix: str=None, azure_backup_rg_name_suffix: str=None, **kwargs) -> None:
super(InstantRPAdditionalDetails, self).__init__(**kwargs)
self.azure_backup_rg_name_prefix = azure_backup_rg_name_prefix
self.azure_backup_rg_name_suffix = azure_backup_rg_name_suffix
[docs]class JobQueryObject(Model):
"""Filters to list the jobs.
:param status: Status of the job. Possible values include: 'Invalid',
'InProgress', 'Completed', 'Failed', 'CompletedWithWarnings', 'Cancelled',
'Cancelling'
:type status: str or ~azure.mgmt.recoveryservicesbackup.models.JobStatus
:param backup_management_type: Type of backup management for the job.
Possible values include: 'Invalid', 'AzureIaasVM', 'MAB', 'DPM',
'AzureBackupServer', 'AzureSql', 'AzureStorage', 'AzureWorkload',
'DefaultBackup'
:type backup_management_type: str or
~azure.mgmt.recoveryservicesbackup.models.BackupManagementType
:param operation: Type of operation. Possible values include: 'Invalid',
'Register', 'UnRegister', 'ConfigureBackup', 'Backup', 'Restore',
'DisableBackup', 'DeleteBackupData', 'CrossRegionRestore', 'Undelete'
:type operation: str or
~azure.mgmt.recoveryservicesbackup.models.JobOperationType
:param job_id: JobID represents the job uniquely.
:type job_id: str
:param start_time: Job has started at this time. Value is in UTC.
:type start_time: datetime
:param end_time: Job has ended at this time. Value is in UTC.
:type end_time: datetime
"""
_attribute_map = {
'status': {'key': 'status', 'type': 'str'},
'backup_management_type': {'key': 'backupManagementType', 'type': 'str'},
'operation': {'key': 'operation', 'type': 'str'},
'job_id': {'key': 'jobId', 'type': 'str'},
'start_time': {'key': 'startTime', 'type': 'iso-8601'},
'end_time': {'key': 'endTime', 'type': 'iso-8601'},
}
def __init__(self, *, status=None, backup_management_type=None, operation=None, job_id: str=None, start_time=None, end_time=None, **kwargs) -> None:
super(JobQueryObject, self).__init__(**kwargs)
self.status = status
self.backup_management_type = backup_management_type
self.operation = operation
self.job_id = job_id
self.start_time = start_time
self.end_time = end_time
[docs]class JobResource(Resource):
"""Defines workload agnostic properties for a job.
Variables are only populated by the server, and will be ignored when
sending a request.
:ivar id: Resource Id represents the complete path to the resource.
:vartype id: str
:ivar name: Resource name associated with the resource.
:vartype name: str
:ivar type: Resource type represents the complete path of the form
Namespace/ResourceType/ResourceType/...
:vartype type: str
:param location: Resource location.
:type location: str
:param tags: Resource tags.
:type tags: dict[str, str]
:param e_tag: Optional ETag.
:type e_tag: str
:param properties: JobResource properties
:type properties: ~azure.mgmt.recoveryservicesbackup.models.Job
"""
_validation = {
'id': {'readonly': True},
'name': {'readonly': True},
'type': {'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}'},
'e_tag': {'key': 'eTag', 'type': 'str'},
'properties': {'key': 'properties', 'type': 'Job'},
}
def __init__(self, *, location: str=None, tags=None, e_tag: str=None, properties=None, **kwargs) -> None:
super(JobResource, self).__init__(location=location, tags=tags, e_tag=e_tag, **kwargs)
self.properties = properties
[docs]class KEKDetails(Model):
"""KEK is encryption key for BEK.
:param key_url: Key is KEK.
:type key_url: str
:param key_vault_id: Key Vault ID where this Key is stored.
:type key_vault_id: str
:param key_backup_data: KEK data.
:type key_backup_data: str
"""
_attribute_map = {
'key_url': {'key': 'keyUrl', 'type': 'str'},
'key_vault_id': {'key': 'keyVaultId', 'type': 'str'},
'key_backup_data': {'key': 'keyBackupData', 'type': 'str'},
}
def __init__(self, *, key_url: str=None, key_vault_id: str=None, key_backup_data: str=None, **kwargs) -> None:
super(KEKDetails, self).__init__(**kwargs)
self.key_url = key_url
self.key_vault_id = key_vault_id
self.key_backup_data = key_backup_data
[docs]class KeyAndSecretDetails(Model):
"""BEK is bitlocker key.
KEK is encryption key for BEK
If the VM was encrypted then we will store following details :
1. Secret(BEK) - Url + Backup Data + vaultId.
2. Key(KEK) - Url + Backup Data + vaultId.
3. EncryptionMechanism
BEK and KEK can potentially have different vault ids.
:param kek_details: KEK is encryption key for BEK.
:type kek_details: ~azure.mgmt.recoveryservicesbackup.models.KEKDetails
:param bek_details: BEK is bitlocker encryption key.
:type bek_details: ~azure.mgmt.recoveryservicesbackup.models.BEKDetails
:param encryption_mechanism: Encryption mechanism: None/ SinglePass/
DoublePass
:type encryption_mechanism: str
"""
_attribute_map = {
'kek_details': {'key': 'kekDetails', 'type': 'KEKDetails'},
'bek_details': {'key': 'bekDetails', 'type': 'BEKDetails'},
'encryption_mechanism': {'key': 'encryptionMechanism', 'type': 'str'},
}
def __init__(self, *, kek_details=None, bek_details=None, encryption_mechanism: str=None, **kwargs) -> None:
super(KeyAndSecretDetails, self).__init__(**kwargs)
self.kek_details = kek_details
self.bek_details = bek_details
self.encryption_mechanism = encryption_mechanism
[docs]class SchedulePolicy(Model):
"""Base class for backup schedule.
You probably want to use the sub-classes and not this class directly. Known
sub-classes are: LogSchedulePolicy, LongTermSchedulePolicy,
SimpleSchedulePolicy
All required parameters must be populated in order to send to Azure.
:param schedule_policy_type: Required. Constant filled by server.
:type schedule_policy_type: str
"""
_validation = {
'schedule_policy_type': {'required': True},
}
_attribute_map = {
'schedule_policy_type': {'key': 'schedulePolicyType', 'type': 'str'},
}
_subtype_map = {
'schedule_policy_type': {'LogSchedulePolicy': 'LogSchedulePolicy', 'LongTermSchedulePolicy': 'LongTermSchedulePolicy', 'SimpleSchedulePolicy': 'SimpleSchedulePolicy'}
}
def __init__(self, **kwargs) -> None:
super(SchedulePolicy, self).__init__(**kwargs)
self.schedule_policy_type = None
[docs]class LogSchedulePolicy(SchedulePolicy):
"""Log policy schedule.
All required parameters must be populated in order to send to Azure.
:param schedule_policy_type: Required. Constant filled by server.
:type schedule_policy_type: str
:param schedule_frequency_in_mins: Frequency of the log schedule operation
of this policy in minutes.
:type schedule_frequency_in_mins: int
"""
_validation = {
'schedule_policy_type': {'required': True},
}
_attribute_map = {
'schedule_policy_type': {'key': 'schedulePolicyType', 'type': 'str'},
'schedule_frequency_in_mins': {'key': 'scheduleFrequencyInMins', 'type': 'int'},
}
def __init__(self, *, schedule_frequency_in_mins: int=None, **kwargs) -> None:
super(LogSchedulePolicy, self).__init__(**kwargs)
self.schedule_frequency_in_mins = schedule_frequency_in_mins
self.schedule_policy_type = 'LogSchedulePolicy'
[docs]class RetentionPolicy(Model):
"""Base class for retention policy.
You probably want to use the sub-classes and not this class directly. Known
sub-classes are: LongTermRetentionPolicy, SimpleRetentionPolicy
All required parameters must be populated in order to send to Azure.
:param retention_policy_type: Required. Constant filled by server.
:type retention_policy_type: str
"""
_validation = {
'retention_policy_type': {'required': True},
}
_attribute_map = {
'retention_policy_type': {'key': 'retentionPolicyType', 'type': 'str'},
}
_subtype_map = {
'retention_policy_type': {'LongTermRetentionPolicy': 'LongTermRetentionPolicy', 'SimpleRetentionPolicy': 'SimpleRetentionPolicy'}
}
def __init__(self, **kwargs) -> None:
super(RetentionPolicy, self).__init__(**kwargs)
self.retention_policy_type = None
[docs]class LongTermRetentionPolicy(RetentionPolicy):
"""Long term retention policy.
All required parameters must be populated in order to send to Azure.
:param retention_policy_type: Required. Constant filled by server.
:type retention_policy_type: str
:param daily_schedule: Daily retention schedule of the protection policy.
:type daily_schedule:
~azure.mgmt.recoveryservicesbackup.models.DailyRetentionSchedule
:param weekly_schedule: Weekly retention schedule of the protection
policy.
:type weekly_schedule:
~azure.mgmt.recoveryservicesbackup.models.WeeklyRetentionSchedule
:param monthly_schedule: Monthly retention schedule of the protection
policy.
:type monthly_schedule:
~azure.mgmt.recoveryservicesbackup.models.MonthlyRetentionSchedule
:param yearly_schedule: Yearly retention schedule of the protection
policy.
:type yearly_schedule:
~azure.mgmt.recoveryservicesbackup.models.YearlyRetentionSchedule
"""
_validation = {
'retention_policy_type': {'required': True},
}
_attribute_map = {
'retention_policy_type': {'key': 'retentionPolicyType', 'type': 'str'},
'daily_schedule': {'key': 'dailySchedule', 'type': 'DailyRetentionSchedule'},
'weekly_schedule': {'key': 'weeklySchedule', 'type': 'WeeklyRetentionSchedule'},
'monthly_schedule': {'key': 'monthlySchedule', 'type': 'MonthlyRetentionSchedule'},
'yearly_schedule': {'key': 'yearlySchedule', 'type': 'YearlyRetentionSchedule'},
}
def __init__(self, *, daily_schedule=None, weekly_schedule=None, monthly_schedule=None, yearly_schedule=None, **kwargs) -> None:
super(LongTermRetentionPolicy, self).__init__(**kwargs)
self.daily_schedule = daily_schedule
self.weekly_schedule = weekly_schedule
self.monthly_schedule = monthly_schedule
self.yearly_schedule = yearly_schedule
self.retention_policy_type = 'LongTermRetentionPolicy'
[docs]class LongTermSchedulePolicy(SchedulePolicy):
"""Long term policy schedule.
All required parameters must be populated in order to send to Azure.
:param schedule_policy_type: Required. Constant filled by server.
:type schedule_policy_type: str
"""
_validation = {
'schedule_policy_type': {'required': True},
}
_attribute_map = {
'schedule_policy_type': {'key': 'schedulePolicyType', 'type': 'str'},
}
def __init__(self, **kwargs) -> None:
super(LongTermSchedulePolicy, self).__init__(**kwargs)
self.schedule_policy_type = 'LongTermSchedulePolicy'
[docs]class MabContainer(ProtectionContainer):
"""Container with items backed up using MAB backup engine.
All required parameters must be populated in order to send to Azure.
:param friendly_name: Friendly name of the container.
:type friendly_name: str
:param backup_management_type: Type of backup management for the
container. Possible values include: 'Invalid', 'AzureIaasVM', 'MAB',
'DPM', 'AzureBackupServer', 'AzureSql', 'AzureStorage', 'AzureWorkload',
'DefaultBackup'
:type backup_management_type: str or
~azure.mgmt.recoveryservicesbackup.models.BackupManagementType
:param registration_status: Status of registration of the container with
the Recovery Services Vault.
:type registration_status: str
:param health_status: Status of health of the container.
:type health_status: str
:param container_type: Required. Constant filled by server.
:type container_type: str
:param can_re_register: Can the container be registered one more time.
:type can_re_register: bool
:param container_id: ContainerID represents the container.
:type container_id: long
:param protected_item_count: Number of items backed up in this container.
:type protected_item_count: long
:param agent_version: Agent version of this container.
:type agent_version: str
:param extended_info: Additional information for this container
:type extended_info:
~azure.mgmt.recoveryservicesbackup.models.MabContainerExtendedInfo
:param mab_container_health_details: Health details on this mab container.
:type mab_container_health_details:
list[~azure.mgmt.recoveryservicesbackup.models.MABContainerHealthDetails]
:param container_health_state: Health state of mab container.
:type container_health_state: str
"""
_validation = {
'container_type': {'required': True},
}
_attribute_map = {
'friendly_name': {'key': 'friendlyName', 'type': 'str'},
'backup_management_type': {'key': 'backupManagementType', 'type': 'str'},
'registration_status': {'key': 'registrationStatus', 'type': 'str'},
'health_status': {'key': 'healthStatus', 'type': 'str'},
'container_type': {'key': 'containerType', 'type': 'str'},
'can_re_register': {'key': 'canReRegister', 'type': 'bool'},
'container_id': {'key': 'containerId', 'type': 'long'},
'protected_item_count': {'key': 'protectedItemCount', 'type': 'long'},
'agent_version': {'key': 'agentVersion', 'type': 'str'},
'extended_info': {'key': 'extendedInfo', 'type': 'MabContainerExtendedInfo'},
'mab_container_health_details': {'key': 'mabContainerHealthDetails', 'type': '[MABContainerHealthDetails]'},
'container_health_state': {'key': 'containerHealthState', 'type': 'str'},
}
def __init__(self, *, friendly_name: str=None, backup_management_type=None, registration_status: str=None, health_status: str=None, can_re_register: bool=None, container_id: int=None, protected_item_count: int=None, agent_version: str=None, extended_info=None, mab_container_health_details=None, container_health_state: str=None, **kwargs) -> None:
super(MabContainer, self).__init__(friendly_name=friendly_name, backup_management_type=backup_management_type, registration_status=registration_status, health_status=health_status, **kwargs)
self.can_re_register = can_re_register
self.container_id = container_id
self.protected_item_count = protected_item_count
self.agent_version = agent_version
self.extended_info = extended_info
self.mab_container_health_details = mab_container_health_details
self.container_health_state = container_health_state
self.container_type = 'Windows'
[docs]class MabContainerExtendedInfo(Model):
"""Additional information of the container.
:param last_refreshed_at: Time stamp when this container was refreshed.
:type last_refreshed_at: datetime
:param backup_item_type: Type of backup items associated with this
container. Possible values include: 'Invalid', 'VM', 'FileFolder',
'AzureSqlDb', 'SQLDB', 'Exchange', 'Sharepoint', 'VMwareVM',
'SystemState', 'Client', 'GenericDataSource', 'SQLDataBase',
'AzureFileShare', 'SAPHanaDatabase', 'SAPAseDatabase'
:type backup_item_type: str or
~azure.mgmt.recoveryservicesbackup.models.BackupItemType
:param backup_items: List of backup items associated with this container.
:type backup_items: list[str]
:param policy_name: Backup policy associated with this container.
:type policy_name: str
:param last_backup_status: Latest backup status of this container.
:type last_backup_status: str
"""
_attribute_map = {
'last_refreshed_at': {'key': 'lastRefreshedAt', 'type': 'iso-8601'},
'backup_item_type': {'key': 'backupItemType', 'type': 'str'},
'backup_items': {'key': 'backupItems', 'type': '[str]'},
'policy_name': {'key': 'policyName', 'type': 'str'},
'last_backup_status': {'key': 'lastBackupStatus', 'type': 'str'},
}
def __init__(self, *, last_refreshed_at=None, backup_item_type=None, backup_items=None, policy_name: str=None, last_backup_status: str=None, **kwargs) -> None:
super(MabContainerExtendedInfo, self).__init__(**kwargs)
self.last_refreshed_at = last_refreshed_at
self.backup_item_type = backup_item_type
self.backup_items = backup_items
self.policy_name = policy_name
self.last_backup_status = last_backup_status
[docs]class MABContainerHealthDetails(Model):
"""MAB workload-specific Health Details.
:param code: Health Code
:type code: int
:param title: Health Title
:type title: str
:param message: Health Message
:type message: str
:param recommendations: Health Recommended Actions
:type recommendations: list[str]
"""
_attribute_map = {
'code': {'key': 'code', 'type': 'int'},
'title': {'key': 'title', 'type': 'str'},
'message': {'key': 'message', 'type': 'str'},
'recommendations': {'key': 'recommendations', 'type': '[str]'},
}
def __init__(self, *, code: int=None, title: str=None, message: str=None, recommendations=None, **kwargs) -> None:
super(MABContainerHealthDetails, self).__init__(**kwargs)
self.code = code
self.title = title
self.message = message
self.recommendations = recommendations
[docs]class MabErrorInfo(Model):
"""MAB workload-specific error information.
Variables are only populated by the server, and will be ignored when
sending a request.
:ivar error_string: Localized error string.
:vartype error_string: str
:ivar recommendations: List of localized recommendations.
:vartype recommendations: list[str]
"""
_validation = {
'error_string': {'readonly': True},
'recommendations': {'readonly': True},
}
_attribute_map = {
'error_string': {'key': 'errorString', 'type': 'str'},
'recommendations': {'key': 'recommendations', 'type': '[str]'},
}
def __init__(self, **kwargs) -> None:
super(MabErrorInfo, self).__init__(**kwargs)
self.error_string = None
self.recommendations = None
[docs]class MabFileFolderProtectedItem(ProtectedItem):
"""MAB workload-specific backup item.
All required parameters must be populated in order to send to Azure.
:param backup_management_type: Type of backup management for the backed up
item. Possible values include: 'Invalid', 'AzureIaasVM', 'MAB', 'DPM',
'AzureBackupServer', 'AzureSql', 'AzureStorage', 'AzureWorkload',
'DefaultBackup'
:type backup_management_type: str or
~azure.mgmt.recoveryservicesbackup.models.BackupManagementType
:param workload_type: Type of workload this item represents. Possible
values include: 'Invalid', 'VM', 'FileFolder', 'AzureSqlDb', 'SQLDB',
'Exchange', 'Sharepoint', 'VMwareVM', 'SystemState', 'Client',
'GenericDataSource', 'SQLDataBase', 'AzureFileShare', 'SAPHanaDatabase',
'SAPAseDatabase'
:type workload_type: str or
~azure.mgmt.recoveryservicesbackup.models.DataSourceType
:param container_name: Unique name of container
:type container_name: str
:param source_resource_id: ARM ID of the resource to be backed up.
:type source_resource_id: str
:param policy_id: ID of the backup policy with which this item is backed
up.
:type policy_id: str
:param last_recovery_point: Timestamp when the last (latest) backup copy
was created for this backup item.
:type last_recovery_point: datetime
:param backup_set_name: Name of the backup set the backup item belongs to
:type backup_set_name: str
:param create_mode: Create mode to indicate recovery of existing soft
deleted data source or creation of new data source. Possible values
include: 'Invalid', 'Default', 'Recover'
:type create_mode: str or
~azure.mgmt.recoveryservicesbackup.models.CreateMode
:param deferred_delete_time_in_utc: Time for deferred deletion in UTC
:type deferred_delete_time_in_utc: datetime
:param is_scheduled_for_deferred_delete: Flag to identify whether the DS
is scheduled for deferred delete
:type is_scheduled_for_deferred_delete: bool
:param deferred_delete_time_remaining: Time remaining before the DS marked
for deferred delete is permanently deleted
:type deferred_delete_time_remaining: str
:param is_deferred_delete_schedule_upcoming: Flag to identify whether the
deferred deleted DS is to be purged soon
:type is_deferred_delete_schedule_upcoming: bool
:param is_rehydrate: Flag to identify that deferred deleted DS is to be
moved into Pause state
:type is_rehydrate: bool
:param protected_item_type: Required. Constant filled by server.
:type protected_item_type: str
:param friendly_name: Friendly name of this backup item.
:type friendly_name: str
:param computer_name: Name of the computer associated with this backup
item.
:type computer_name: str
:param last_backup_status: Status of last backup operation.
:type last_backup_status: str
:param last_backup_time: Timestamp of the last backup operation on this
backup item.
:type last_backup_time: datetime
:param protection_state: Protected, ProtectionStopped, IRPending or
ProtectionError
:type protection_state: str
:param deferred_delete_sync_time_in_utc: Sync time for deferred deletion
in UTC
:type deferred_delete_sync_time_in_utc: long
:param extended_info: Additional information with this backup item.
:type extended_info:
~azure.mgmt.recoveryservicesbackup.models.MabFileFolderProtectedItemExtendedInfo
"""
_validation = {
'protected_item_type': {'required': True},
}
_attribute_map = {
'backup_management_type': {'key': 'backupManagementType', 'type': 'str'},
'workload_type': {'key': 'workloadType', 'type': 'str'},
'container_name': {'key': 'containerName', 'type': 'str'},
'source_resource_id': {'key': 'sourceResourceId', 'type': 'str'},
'policy_id': {'key': 'policyId', 'type': 'str'},
'last_recovery_point': {'key': 'lastRecoveryPoint', 'type': 'iso-8601'},
'backup_set_name': {'key': 'backupSetName', 'type': 'str'},
'create_mode': {'key': 'createMode', 'type': 'str'},
'deferred_delete_time_in_utc': {'key': 'deferredDeleteTimeInUTC', 'type': 'iso-8601'},
'is_scheduled_for_deferred_delete': {'key': 'isScheduledForDeferredDelete', 'type': 'bool'},
'deferred_delete_time_remaining': {'key': 'deferredDeleteTimeRemaining', 'type': 'str'},
'is_deferred_delete_schedule_upcoming': {'key': 'isDeferredDeleteScheduleUpcoming', 'type': 'bool'},
'is_rehydrate': {'key': 'isRehydrate', 'type': 'bool'},
'protected_item_type': {'key': 'protectedItemType', 'type': 'str'},
'friendly_name': {'key': 'friendlyName', 'type': 'str'},
'computer_name': {'key': 'computerName', 'type': 'str'},
'last_backup_status': {'key': 'lastBackupStatus', 'type': 'str'},
'last_backup_time': {'key': 'lastBackupTime', 'type': 'iso-8601'},
'protection_state': {'key': 'protectionState', 'type': 'str'},
'deferred_delete_sync_time_in_utc': {'key': 'deferredDeleteSyncTimeInUTC', 'type': 'long'},
'extended_info': {'key': 'extendedInfo', 'type': 'MabFileFolderProtectedItemExtendedInfo'},
}
def __init__(self, *, backup_management_type=None, workload_type=None, container_name: str=None, source_resource_id: str=None, policy_id: str=None, last_recovery_point=None, backup_set_name: str=None, create_mode=None, deferred_delete_time_in_utc=None, is_scheduled_for_deferred_delete: bool=None, deferred_delete_time_remaining: str=None, is_deferred_delete_schedule_upcoming: bool=None, is_rehydrate: bool=None, friendly_name: str=None, computer_name: str=None, last_backup_status: str=None, last_backup_time=None, protection_state: str=None, deferred_delete_sync_time_in_utc: int=None, extended_info=None, **kwargs) -> None:
super(MabFileFolderProtectedItem, self).__init__(backup_management_type=backup_management_type, workload_type=workload_type, container_name=container_name, source_resource_id=source_resource_id, policy_id=policy_id, last_recovery_point=last_recovery_point, backup_set_name=backup_set_name, create_mode=create_mode, deferred_delete_time_in_utc=deferred_delete_time_in_utc, is_scheduled_for_deferred_delete=is_scheduled_for_deferred_delete, deferred_delete_time_remaining=deferred_delete_time_remaining, is_deferred_delete_schedule_upcoming=is_deferred_delete_schedule_upcoming, is_rehydrate=is_rehydrate, **kwargs)
self.friendly_name = friendly_name
self.computer_name = computer_name
self.last_backup_status = last_backup_status
self.last_backup_time = last_backup_time
self.protection_state = protection_state
self.deferred_delete_sync_time_in_utc = deferred_delete_sync_time_in_utc
self.extended_info = extended_info
self.protected_item_type = 'MabFileFolderProtectedItem'
[docs]class MabFileFolderProtectedItemExtendedInfo(Model):
"""Additional information on the backed up item.
:param last_refreshed_at: Last time when the agent data synced to service.
:type last_refreshed_at: datetime
:param oldest_recovery_point: The oldest backup copy available.
:type oldest_recovery_point: datetime
:param recovery_point_count: Number of backup copies associated with the
backup item.
:type recovery_point_count: int
"""
_attribute_map = {
'last_refreshed_at': {'key': 'lastRefreshedAt', 'type': 'iso-8601'},
'oldest_recovery_point': {'key': 'oldestRecoveryPoint', 'type': 'iso-8601'},
'recovery_point_count': {'key': 'recoveryPointCount', 'type': 'int'},
}
def __init__(self, *, last_refreshed_at=None, oldest_recovery_point=None, recovery_point_count: int=None, **kwargs) -> None:
super(MabFileFolderProtectedItemExtendedInfo, self).__init__(**kwargs)
self.last_refreshed_at = last_refreshed_at
self.oldest_recovery_point = oldest_recovery_point
self.recovery_point_count = recovery_point_count
[docs]class MabJob(Job):
"""MAB workload-specific job.
All required parameters must be populated in order to send to Azure.
:param entity_friendly_name: Friendly name of the entity on which the
current job is executing.
:type entity_friendly_name: str
:param backup_management_type: Backup management type to execute the
current job. Possible values include: 'Invalid', 'AzureIaasVM', 'MAB',
'DPM', 'AzureBackupServer', 'AzureSql', 'AzureStorage', 'AzureWorkload',
'DefaultBackup'
:type backup_management_type: str or
~azure.mgmt.recoveryservicesbackup.models.BackupManagementType
:param operation: The operation name.
:type operation: str
:param status: Job status.
:type status: str
:param start_time: The start time.
:type start_time: datetime
:param end_time: The end time.
:type end_time: datetime
:param activity_id: ActivityId of job.
:type activity_id: str
:param job_type: Required. Constant filled by server.
:type job_type: str
:param duration: Time taken by job to run.
:type duration: timedelta
:param actions_info: The state/actions applicable on jobs like
cancel/retry.
:type actions_info: list[str or
~azure.mgmt.recoveryservicesbackup.models.JobSupportedAction]
:param mab_server_name: Name of server protecting the DS.
:type mab_server_name: str
:param mab_server_type: Server type of MAB container. Possible values
include: 'Invalid', 'Unknown', 'IaasVMContainer',
'IaasVMServiceContainer', 'DPMContainer', 'AzureBackupServerContainer',
'MABContainer', 'Cluster', 'AzureSqlContainer', 'Windows', 'VCenter',
'VMAppContainer', 'SQLAGWorkLoadContainer', 'StorageContainer',
'GenericContainer'
:type mab_server_type: str or
~azure.mgmt.recoveryservicesbackup.models.MabServerType
:param workload_type: Workload type of backup item. Possible values
include: 'Invalid', 'VM', 'FileFolder', 'AzureSqlDb', 'SQLDB', 'Exchange',
'Sharepoint', 'VMwareVM', 'SystemState', 'Client', 'GenericDataSource',
'SQLDataBase', 'AzureFileShare', 'SAPHanaDatabase', 'SAPAseDatabase'
:type workload_type: str or
~azure.mgmt.recoveryservicesbackup.models.WorkloadType
:param error_details: The errors.
:type error_details:
list[~azure.mgmt.recoveryservicesbackup.models.MabErrorInfo]
:param extended_info: Additional information on the job.
:type extended_info:
~azure.mgmt.recoveryservicesbackup.models.MabJobExtendedInfo
"""
_validation = {
'job_type': {'required': True},
}
_attribute_map = {
'entity_friendly_name': {'key': 'entityFriendlyName', 'type': 'str'},
'backup_management_type': {'key': 'backupManagementType', 'type': 'str'},
'operation': {'key': 'operation', 'type': 'str'},
'status': {'key': 'status', 'type': 'str'},
'start_time': {'key': 'startTime', 'type': 'iso-8601'},
'end_time': {'key': 'endTime', 'type': 'iso-8601'},
'activity_id': {'key': 'activityId', 'type': 'str'},
'job_type': {'key': 'jobType', 'type': 'str'},
'duration': {'key': 'duration', 'type': 'duration'},
'actions_info': {'key': 'actionsInfo', 'type': '[JobSupportedAction]'},
'mab_server_name': {'key': 'mabServerName', 'type': 'str'},
'mab_server_type': {'key': 'mabServerType', 'type': 'str'},
'workload_type': {'key': 'workloadType', 'type': 'str'},
'error_details': {'key': 'errorDetails', 'type': '[MabErrorInfo]'},
'extended_info': {'key': 'extendedInfo', 'type': 'MabJobExtendedInfo'},
}
def __init__(self, *, entity_friendly_name: str=None, backup_management_type=None, operation: str=None, status: str=None, start_time=None, end_time=None, activity_id: str=None, duration=None, actions_info=None, mab_server_name: str=None, mab_server_type=None, workload_type=None, error_details=None, extended_info=None, **kwargs) -> None:
super(MabJob, self).__init__(entity_friendly_name=entity_friendly_name, backup_management_type=backup_management_type, operation=operation, status=status, start_time=start_time, end_time=end_time, activity_id=activity_id, **kwargs)
self.duration = duration
self.actions_info = actions_info
self.mab_server_name = mab_server_name
self.mab_server_type = mab_server_type
self.workload_type = workload_type
self.error_details = error_details
self.extended_info = extended_info
self.job_type = 'MabJob'
[docs]class MabJobExtendedInfo(Model):
"""Additional information for the MAB workload-specific job.
:param tasks_list: List of tasks for this job.
:type tasks_list:
list[~azure.mgmt.recoveryservicesbackup.models.MabJobTaskDetails]
:param property_bag: The job properties.
:type property_bag: dict[str, str]
:param dynamic_error_message: Non localized error message specific to this
job.
:type dynamic_error_message: str
"""
_attribute_map = {
'tasks_list': {'key': 'tasksList', 'type': '[MabJobTaskDetails]'},
'property_bag': {'key': 'propertyBag', 'type': '{str}'},
'dynamic_error_message': {'key': 'dynamicErrorMessage', 'type': 'str'},
}
def __init__(self, *, tasks_list=None, property_bag=None, dynamic_error_message: str=None, **kwargs) -> None:
super(MabJobExtendedInfo, self).__init__(**kwargs)
self.tasks_list = tasks_list
self.property_bag = property_bag
self.dynamic_error_message = dynamic_error_message
[docs]class MabJobTaskDetails(Model):
"""MAB workload-specific job task details.
:param task_id: The task display name.
:type task_id: str
:param start_time: The start time.
:type start_time: datetime
:param end_time: The end time.
:type end_time: datetime
:param duration: Time elapsed for task.
:type duration: timedelta
:param status: The status.
:type status: str
"""
_attribute_map = {
'task_id': {'key': 'taskId', 'type': 'str'},
'start_time': {'key': 'startTime', 'type': 'iso-8601'},
'end_time': {'key': 'endTime', 'type': 'iso-8601'},
'duration': {'key': 'duration', 'type': 'duration'},
'status': {'key': 'status', 'type': 'str'},
}
def __init__(self, *, task_id: str=None, start_time=None, end_time=None, duration=None, status: str=None, **kwargs) -> None:
super(MabJobTaskDetails, self).__init__(**kwargs)
self.task_id = task_id
self.start_time = start_time
self.end_time = end_time
self.duration = duration
self.status = status
[docs]class MabProtectionPolicy(ProtectionPolicy):
"""Mab container-specific backup policy.
All required parameters must be populated in order to send to Azure.
:param protected_items_count: Number of items associated with this policy.
:type protected_items_count: int
:param backup_management_type: Required. Constant filled by server.
:type backup_management_type: str
:param schedule_policy: Backup schedule of backup policy.
:type schedule_policy:
~azure.mgmt.recoveryservicesbackup.models.SchedulePolicy
:param retention_policy: Retention policy details.
:type retention_policy:
~azure.mgmt.recoveryservicesbackup.models.RetentionPolicy
"""
_validation = {
'backup_management_type': {'required': True},
}
_attribute_map = {
'protected_items_count': {'key': 'protectedItemsCount', 'type': 'int'},
'backup_management_type': {'key': 'backupManagementType', 'type': 'str'},
'schedule_policy': {'key': 'schedulePolicy', 'type': 'SchedulePolicy'},
'retention_policy': {'key': 'retentionPolicy', 'type': 'RetentionPolicy'},
}
def __init__(self, *, protected_items_count: int=None, schedule_policy=None, retention_policy=None, **kwargs) -> None:
super(MabProtectionPolicy, self).__init__(protected_items_count=protected_items_count, **kwargs)
self.schedule_policy = schedule_policy
self.retention_policy = retention_policy
self.backup_management_type = 'MAB'
[docs]class MonthlyRetentionSchedule(Model):
"""Monthly retention schedule.
:param retention_schedule_format_type: Retention schedule format type for
monthly retention policy. Possible values include: 'Invalid', 'Daily',
'Weekly'
:type retention_schedule_format_type: str or
~azure.mgmt.recoveryservicesbackup.models.RetentionScheduleFormat
:param retention_schedule_daily: Daily retention format for monthly
retention policy.
:type retention_schedule_daily:
~azure.mgmt.recoveryservicesbackup.models.DailyRetentionFormat
:param retention_schedule_weekly: Weekly retention format for monthly
retention policy.
:type retention_schedule_weekly:
~azure.mgmt.recoveryservicesbackup.models.WeeklyRetentionFormat
:param retention_times: Retention times of retention policy.
:type retention_times: list[datetime]
:param retention_duration: Retention duration of retention Policy.
:type retention_duration:
~azure.mgmt.recoveryservicesbackup.models.RetentionDuration
"""
_attribute_map = {
'retention_schedule_format_type': {'key': 'retentionScheduleFormatType', 'type': 'str'},
'retention_schedule_daily': {'key': 'retentionScheduleDaily', 'type': 'DailyRetentionFormat'},
'retention_schedule_weekly': {'key': 'retentionScheduleWeekly', 'type': 'WeeklyRetentionFormat'},
'retention_times': {'key': 'retentionTimes', 'type': '[iso-8601]'},
'retention_duration': {'key': 'retentionDuration', 'type': 'RetentionDuration'},
}
def __init__(self, *, retention_schedule_format_type=None, retention_schedule_daily=None, retention_schedule_weekly=None, retention_times=None, retention_duration=None, **kwargs) -> None:
super(MonthlyRetentionSchedule, self).__init__(**kwargs)
self.retention_schedule_format_type = retention_schedule_format_type
self.retention_schedule_daily = retention_schedule_daily
self.retention_schedule_weekly = retention_schedule_weekly
self.retention_times = retention_times
self.retention_duration = retention_duration
[docs]class NameInfo(Model):
"""The name of usage.
:param value: Value of usage.
:type value: str
:param localized_value: Localized value of usage.
:type localized_value: str
"""
_attribute_map = {
'value': {'key': 'value', 'type': 'str'},
'localized_value': {'key': 'localizedValue', 'type': 'str'},
}
def __init__(self, *, value: str=None, localized_value: str=None, **kwargs) -> None:
super(NameInfo, self).__init__(**kwargs)
self.value = value
self.localized_value = localized_value
[docs]class OperationResultInfo(OperationResultInfoBase):
"""Operation result info.
All required parameters must be populated in order to send to Azure.
:param object_type: Required. Constant filled by server.
:type object_type: str
:param job_list: List of jobs created by this operation.
:type job_list: list[str]
"""
_validation = {
'object_type': {'required': True},
}
_attribute_map = {
'object_type': {'key': 'objectType', 'type': 'str'},
'job_list': {'key': 'jobList', 'type': '[str]'},
}
def __init__(self, *, job_list=None, **kwargs) -> None:
super(OperationResultInfo, self).__init__(**kwargs)
self.job_list = job_list
self.object_type = 'OperationResultInfo'
[docs]class OperationWorkerResponse(Model):
"""This is the base class for operation result responses.
:param status_code: HTTP Status Code of the operation. Possible values
include: 'Continue', 'SwitchingProtocols', 'OK', 'Created', 'Accepted',
'NonAuthoritativeInformation', 'NoContent', 'ResetContent',
'PartialContent', 'MultipleChoices', 'Ambiguous', 'MovedPermanently',
'Moved', 'Found', 'Redirect', 'SeeOther', 'RedirectMethod', 'NotModified',
'UseProxy', 'Unused', 'TemporaryRedirect', 'RedirectKeepVerb',
'BadRequest', 'Unauthorized', 'PaymentRequired', 'Forbidden', 'NotFound',
'MethodNotAllowed', 'NotAcceptable', 'ProxyAuthenticationRequired',
'RequestTimeout', 'Conflict', 'Gone', 'LengthRequired',
'PreconditionFailed', 'RequestEntityTooLarge', 'RequestUriTooLong',
'UnsupportedMediaType', 'RequestedRangeNotSatisfiable',
'ExpectationFailed', 'UpgradeRequired', 'InternalServerError',
'NotImplemented', 'BadGateway', 'ServiceUnavailable', 'GatewayTimeout',
'HttpVersionNotSupported'
:type status_code: str or
~azure.mgmt.recoveryservicesbackup.models.HttpStatusCode
:param headers: HTTP headers associated with this operation.
:type headers: dict[str, list[str]]
"""
_attribute_map = {
'status_code': {'key': 'statusCode', 'type': 'HttpStatusCode'},
'headers': {'key': 'headers', 'type': '{[str]}'},
}
def __init__(self, *, status_code=None, headers=None, **kwargs) -> None:
super(OperationWorkerResponse, self).__init__(**kwargs)
self.status_code = status_code
self.headers = headers
[docs]class OperationResultInfoBaseResource(OperationWorkerResponse):
"""Base class for operation result info.
:param status_code: HTTP Status Code of the operation. Possible values
include: 'Continue', 'SwitchingProtocols', 'OK', 'Created', 'Accepted',
'NonAuthoritativeInformation', 'NoContent', 'ResetContent',
'PartialContent', 'MultipleChoices', 'Ambiguous', 'MovedPermanently',
'Moved', 'Found', 'Redirect', 'SeeOther', 'RedirectMethod', 'NotModified',
'UseProxy', 'Unused', 'TemporaryRedirect', 'RedirectKeepVerb',
'BadRequest', 'Unauthorized', 'PaymentRequired', 'Forbidden', 'NotFound',
'MethodNotAllowed', 'NotAcceptable', 'ProxyAuthenticationRequired',
'RequestTimeout', 'Conflict', 'Gone', 'LengthRequired',
'PreconditionFailed', 'RequestEntityTooLarge', 'RequestUriTooLong',
'UnsupportedMediaType', 'RequestedRangeNotSatisfiable',
'ExpectationFailed', 'UpgradeRequired', 'InternalServerError',
'NotImplemented', 'BadGateway', 'ServiceUnavailable', 'GatewayTimeout',
'HttpVersionNotSupported'
:type status_code: str or
~azure.mgmt.recoveryservicesbackup.models.HttpStatusCode
:param headers: HTTP headers associated with this operation.
:type headers: dict[str, list[str]]
:param operation: OperationResultInfoBaseResource operation
:type operation:
~azure.mgmt.recoveryservicesbackup.models.OperationResultInfoBase
"""
_attribute_map = {
'status_code': {'key': 'statusCode', 'type': 'HttpStatusCode'},
'headers': {'key': 'headers', 'type': '{[str]}'},
'operation': {'key': 'operation', 'type': 'OperationResultInfoBase'},
}
def __init__(self, *, status_code=None, headers=None, operation=None, **kwargs) -> None:
super(OperationResultInfoBaseResource, self).__init__(status_code=status_code, headers=headers, **kwargs)
self.operation = operation
[docs]class OperationStatus(Model):
"""Operation status.
:param id: ID of the operation.
:type id: str
:param name: Name of the operation.
:type name: str
:param status: Operation status. Possible values include: 'Invalid',
'InProgress', 'Succeeded', 'Failed', 'Canceled'
:type status: str or
~azure.mgmt.recoveryservicesbackup.models.OperationStatusValues
:param start_time: Operation start time. Format: ISO-8601.
:type start_time: datetime
:param end_time: Operation end time. Format: ISO-8601.
:type end_time: datetime
:param error: Error information related to this operation.
:type error:
~azure.mgmt.recoveryservicesbackup.models.OperationStatusError
:param properties: Additional information associated with this operation.
:type properties:
~azure.mgmt.recoveryservicesbackup.models.OperationStatusExtendedInfo
"""
_attribute_map = {
'id': {'key': 'id', 'type': 'str'},
'name': {'key': 'name', 'type': 'str'},
'status': {'key': 'status', 'type': 'str'},
'start_time': {'key': 'startTime', 'type': 'iso-8601'},
'end_time': {'key': 'endTime', 'type': 'iso-8601'},
'error': {'key': 'error', 'type': 'OperationStatusError'},
'properties': {'key': 'properties', 'type': 'OperationStatusExtendedInfo'},
}
def __init__(self, *, id: str=None, name: str=None, status=None, start_time=None, end_time=None, error=None, properties=None, **kwargs) -> None:
super(OperationStatus, self).__init__(**kwargs)
self.id = id
self.name = name
self.status = status
self.start_time = start_time
self.end_time = end_time
self.error = error
self.properties = properties
[docs]class OperationStatusError(Model):
"""Error information associated with operation status call.
:param code: Error code of the operation failure.
:type code: str
:param message: Error message displayed if the operation failure.
:type message: str
"""
_attribute_map = {
'code': {'key': 'code', 'type': 'str'},
'message': {'key': 'message', 'type': 'str'},
}
def __init__(self, *, code: str=None, message: str=None, **kwargs) -> None:
super(OperationStatusError, self).__init__(**kwargs)
self.code = code
self.message = message
[docs]class OperationStatusExtendedInfo(Model):
"""Base class for additional information of operation status.
You probably want to use the sub-classes and not this class directly. Known
sub-classes are: OperationStatusJobExtendedInfo,
OperationStatusJobsExtendedInfo, OperationStatusProvisionILRExtendedInfo
All required parameters must be populated in order to send to Azure.
:param object_type: Required. Constant filled by server.
:type object_type: str
"""
_validation = {
'object_type': {'required': True},
}
_attribute_map = {
'object_type': {'key': 'objectType', 'type': 'str'},
}
_subtype_map = {
'object_type': {'OperationStatusJobExtendedInfo': 'OperationStatusJobExtendedInfo', 'OperationStatusJobsExtendedInfo': 'OperationStatusJobsExtendedInfo', 'OperationStatusProvisionILRExtendedInfo': 'OperationStatusProvisionILRExtendedInfo'}
}
def __init__(self, **kwargs) -> None:
super(OperationStatusExtendedInfo, self).__init__(**kwargs)
self.object_type = None
[docs]class OperationStatusJobExtendedInfo(OperationStatusExtendedInfo):
"""Operation status job extended info.
All required parameters must be populated in order to send to Azure.
:param object_type: Required. Constant filled by server.
:type object_type: str
:param job_id: ID of the job created for this protected item.
:type job_id: str
"""
_validation = {
'object_type': {'required': True},
}
_attribute_map = {
'object_type': {'key': 'objectType', 'type': 'str'},
'job_id': {'key': 'jobId', 'type': 'str'},
}
def __init__(self, *, job_id: str=None, **kwargs) -> None:
super(OperationStatusJobExtendedInfo, self).__init__(**kwargs)
self.job_id = job_id
self.object_type = 'OperationStatusJobExtendedInfo'
[docs]class OperationStatusJobsExtendedInfo(OperationStatusExtendedInfo):
"""Operation status extended info for list of jobs.
All required parameters must be populated in order to send to Azure.
:param object_type: Required. Constant filled by server.
:type object_type: str
:param job_ids: IDs of the jobs created for the protected item.
:type job_ids: list[str]
:param failed_jobs_error: Stores all the failed jobs along with the
corresponding error codes.
:type failed_jobs_error: dict[str, str]
"""
_validation = {
'object_type': {'required': True},
}
_attribute_map = {
'object_type': {'key': 'objectType', 'type': 'str'},
'job_ids': {'key': 'jobIds', 'type': '[str]'},
'failed_jobs_error': {'key': 'failedJobsError', 'type': '{str}'},
}
def __init__(self, *, job_ids=None, failed_jobs_error=None, **kwargs) -> None:
super(OperationStatusJobsExtendedInfo, self).__init__(**kwargs)
self.job_ids = job_ids
self.failed_jobs_error = failed_jobs_error
self.object_type = 'OperationStatusJobsExtendedInfo'
[docs]class OperationStatusProvisionILRExtendedInfo(OperationStatusExtendedInfo):
"""Operation status extended info for ILR provision action.
All required parameters must be populated in order to send to Azure.
:param object_type: Required. Constant filled by server.
:type object_type: str
:param recovery_target: Target details for file / folder restore.
:type recovery_target:
~azure.mgmt.recoveryservicesbackup.models.InstantItemRecoveryTarget
"""
_validation = {
'object_type': {'required': True},
}
_attribute_map = {
'object_type': {'key': 'objectType', 'type': 'str'},
'recovery_target': {'key': 'recoveryTarget', 'type': 'InstantItemRecoveryTarget'},
}
def __init__(self, *, recovery_target=None, **kwargs) -> None:
super(OperationStatusProvisionILRExtendedInfo, self).__init__(**kwargs)
self.recovery_target = recovery_target
self.object_type = 'OperationStatusProvisionILRExtendedInfo'
[docs]class PointInTimeRange(Model):
"""Provides details for log ranges.
:param start_time: Start time of the time range for log recovery.
:type start_time: datetime
:param end_time: End time of the time range for log recovery.
:type end_time: datetime
"""
_attribute_map = {
'start_time': {'key': 'startTime', 'type': 'iso-8601'},
'end_time': {'key': 'endTime', 'type': 'iso-8601'},
}
def __init__(self, *, start_time=None, end_time=None, **kwargs) -> None:
super(PointInTimeRange, self).__init__(**kwargs)
self.start_time = start_time
self.end_time = end_time
[docs]class PreBackupValidation(Model):
"""Pre-backup validation for Azure VM Workload provider.
:param status: Status of protectable item, i.e.
InProgress,Succeeded,Failed. Possible values include: 'Invalid',
'Success', 'Failed'
:type status: str or
~azure.mgmt.recoveryservicesbackup.models.InquiryStatus
:param code: Error code of protectable item
:type code: str
:param message: Message corresponding to the error code for the
protectable item
:type message: str
"""
_attribute_map = {
'status': {'key': 'status', 'type': 'str'},
'code': {'key': 'code', 'type': 'str'},
'message': {'key': 'message', 'type': 'str'},
}
def __init__(self, *, status=None, code: str=None, message: str=None, **kwargs) -> None:
super(PreBackupValidation, self).__init__(**kwargs)
self.status = status
self.code = code
self.message = message
[docs]class PreValidateEnableBackupRequest(Model):
"""Contract to validate if backup can be enabled on the given resource in a
given vault and given configuration.
It will validate followings
1. Vault capacity
2. VM is already protected
3. Any VM related configuration passed in properties.
:param resource_type: ProtectedItem Type- VM, SqlDataBase, AzureFileShare
etc. Possible values include: 'Invalid', 'VM', 'FileFolder', 'AzureSqlDb',
'SQLDB', 'Exchange', 'Sharepoint', 'VMwareVM', 'SystemState', 'Client',
'GenericDataSource', 'SQLDataBase', 'AzureFileShare', 'SAPHanaDatabase',
'SAPAseDatabase'
:type resource_type: str or
~azure.mgmt.recoveryservicesbackup.models.DataSourceType
:param resource_id: ARM Virtual Machine Id
:type resource_id: str
:param vault_id: ARM id of the Recovery Services Vault
:type vault_id: str
:param properties: Configuration of VM if any needs to be validated like
OS type etc
:type properties: str
"""
_attribute_map = {
'resource_type': {'key': 'resourceType', 'type': 'str'},
'resource_id': {'key': 'resourceId', 'type': 'str'},
'vault_id': {'key': 'vaultId', 'type': 'str'},
'properties': {'key': 'properties', 'type': 'str'},
}
def __init__(self, *, resource_type=None, resource_id: str=None, vault_id: str=None, properties: str=None, **kwargs) -> None:
super(PreValidateEnableBackupRequest, self).__init__(**kwargs)
self.resource_type = resource_type
self.resource_id = resource_id
self.vault_id = vault_id
self.properties = properties
[docs]class PreValidateEnableBackupResponse(Model):
"""Response contract for enable backup validation request.
:param status: Validation Status. Possible values include: 'Invalid',
'Succeeded', 'Failed'
:type status: str or
~azure.mgmt.recoveryservicesbackup.models.ValidationStatus
:param error_code: Response error code
:type error_code: str
:param error_message: Response error message
:type error_message: str
:param recommendation: Recommended action for user
:type recommendation: str
:param container_name: Specifies the product specific container name. E.g.
iaasvmcontainer;iaasvmcontainer;rgname;vmname. This is required
for portal
:type container_name: str
:param protected_item_name: Specifies the product specific ds name. E.g.
vm;iaasvmcontainer;rgname;vmname. This is required for portal
:type protected_item_name: str
"""
_attribute_map = {
'status': {'key': 'status', 'type': 'str'},
'error_code': {'key': 'errorCode', 'type': 'str'},
'error_message': {'key': 'errorMessage', 'type': 'str'},
'recommendation': {'key': 'recommendation', 'type': 'str'},
'container_name': {'key': 'containerName', 'type': 'str'},
'protected_item_name': {'key': 'protectedItemName', 'type': 'str'},
}
def __init__(self, *, status=None, error_code: str=None, error_message: str=None, recommendation: str=None, container_name: str=None, protected_item_name: str=None, **kwargs) -> None:
super(PreValidateEnableBackupResponse, self).__init__(**kwargs)
self.status = status
self.error_code = error_code
self.error_message = error_message
self.recommendation = recommendation
self.container_name = container_name
self.protected_item_name = protected_item_name
[docs]class PrivateEndpoint(Model):
"""The Private Endpoint network resource that is linked to the Private
Endpoint connection.
:param id: Gets or sets id
:type id: str
"""
_attribute_map = {
'id': {'key': 'id', 'type': 'str'},
}
def __init__(self, *, id: str=None, **kwargs) -> None:
super(PrivateEndpoint, self).__init__(**kwargs)
self.id = id
[docs]class PrivateEndpointConnection(Model):
"""Private Endpoint Connection Response Properties.
:param provisioning_state: Gets or sets provisioning state of the private
endpoint connection. Possible values include: 'Succeeded', 'Deleting',
'Failed', 'Pending'
:type provisioning_state: str or
~azure.mgmt.recoveryservicesbackup.models.ProvisioningState
:param private_endpoint: Gets or sets private endpoint associated with the
private endpoint connection
:type private_endpoint:
~azure.mgmt.recoveryservicesbackup.models.PrivateEndpoint
:param private_link_service_connection_state: Gets or sets private link
service connection state
:type private_link_service_connection_state:
~azure.mgmt.recoveryservicesbackup.models.PrivateLinkServiceConnectionState
"""
_attribute_map = {
'provisioning_state': {'key': 'provisioningState', 'type': 'str'},
'private_endpoint': {'key': 'privateEndpoint', 'type': 'PrivateEndpoint'},
'private_link_service_connection_state': {'key': 'privateLinkServiceConnectionState', 'type': 'PrivateLinkServiceConnectionState'},
}
def __init__(self, *, provisioning_state=None, private_endpoint=None, private_link_service_connection_state=None, **kwargs) -> None:
super(PrivateEndpointConnection, self).__init__(**kwargs)
self.provisioning_state = provisioning_state
self.private_endpoint = private_endpoint
self.private_link_service_connection_state = private_link_service_connection_state
[docs]class PrivateEndpointConnectionResource(Resource):
"""Private Endpoint Connection Response Properties.
Variables are only populated by the server, and will be ignored when
sending a request.
:ivar id: Resource Id represents the complete path to the resource.
:vartype id: str
:ivar name: Resource name associated with the resource.
:vartype name: str
:ivar type: Resource type represents the complete path of the form
Namespace/ResourceType/ResourceType/...
:vartype type: str
:param location: Resource location.
:type location: str
:param tags: Resource tags.
:type tags: dict[str, str]
:param e_tag: Optional ETag.
:type e_tag: str
:param properties: PrivateEndpointConnectionResource properties
:type properties:
~azure.mgmt.recoveryservicesbackup.models.PrivateEndpointConnection
"""
_validation = {
'id': {'readonly': True},
'name': {'readonly': True},
'type': {'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}'},
'e_tag': {'key': 'eTag', 'type': 'str'},
'properties': {'key': 'properties', 'type': 'PrivateEndpointConnection'},
}
def __init__(self, *, location: str=None, tags=None, e_tag: str=None, properties=None, **kwargs) -> None:
super(PrivateEndpointConnectionResource, self).__init__(location=location, tags=tags, e_tag=e_tag, **kwargs)
self.properties = properties
[docs]class PrivateLinkServiceConnectionState(Model):
"""Private Link Service Connection State.
:param status: Gets or sets the status. Possible values include:
'Pending', 'Approved', 'Rejected', 'Disconnected'
:type status: str or
~azure.mgmt.recoveryservicesbackup.models.PrivateEndpointConnectionStatus
:param description: Gets or sets description
:type description: str
:param action_required: Gets or sets actions required
:type action_required: str
"""
_attribute_map = {
'status': {'key': 'status', 'type': 'str'},
'description': {'key': 'description', 'type': 'str'},
'action_required': {'key': 'actionRequired', 'type': 'str'},
}
def __init__(self, *, status=None, description: str=None, action_required: str=None, **kwargs) -> None:
super(PrivateLinkServiceConnectionState, self).__init__(**kwargs)
self.status = status
self.description = description
self.action_required = action_required
[docs]class ProtectableContainerResource(Resource):
"""Protectable Container Class.
Variables are only populated by the server, and will be ignored when
sending a request.
:ivar id: Resource Id represents the complete path to the resource.
:vartype id: str
:ivar name: Resource name associated with the resource.
:vartype name: str
:ivar type: Resource type represents the complete path of the form
Namespace/ResourceType/ResourceType/...
:vartype type: str
:param location: Resource location.
:type location: str
:param tags: Resource tags.
:type tags: dict[str, str]
:param e_tag: Optional ETag.
:type e_tag: str
:param properties: ProtectableContainerResource properties
:type properties:
~azure.mgmt.recoveryservicesbackup.models.ProtectableContainer
"""
_validation = {
'id': {'readonly': True},
'name': {'readonly': True},
'type': {'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}'},
'e_tag': {'key': 'eTag', 'type': 'str'},
'properties': {'key': 'properties', 'type': 'ProtectableContainer'},
}
def __init__(self, *, location: str=None, tags=None, e_tag: str=None, properties=None, **kwargs) -> None:
super(ProtectableContainerResource, self).__init__(location=location, tags=tags, e_tag=e_tag, **kwargs)
self.properties = properties
[docs]class ProtectedItemQueryObject(Model):
"""Filters to list backup items.
:param health_state: Health State for the backed up item. Possible values
include: 'Passed', 'ActionRequired', 'ActionSuggested', 'Invalid'
:type health_state: str or
~azure.mgmt.recoveryservicesbackup.models.HealthState
:param backup_management_type: Backup management type for the backed up
item. Possible values include: 'Invalid', 'AzureIaasVM', 'MAB', 'DPM',
'AzureBackupServer', 'AzureSql', 'AzureStorage', 'AzureWorkload',
'DefaultBackup'
:type backup_management_type: str or
~azure.mgmt.recoveryservicesbackup.models.BackupManagementType
:param item_type: Type of workload this item represents. Possible values
include: 'Invalid', 'VM', 'FileFolder', 'AzureSqlDb', 'SQLDB', 'Exchange',
'Sharepoint', 'VMwareVM', 'SystemState', 'Client', 'GenericDataSource',
'SQLDataBase', 'AzureFileShare', 'SAPHanaDatabase', 'SAPAseDatabase'
:type item_type: str or
~azure.mgmt.recoveryservicesbackup.models.DataSourceType
:param policy_name: Backup policy name associated with the backup item.
:type policy_name: str
:param container_name: Name of the container.
:type container_name: str
:param backup_engine_name: Backup Engine name
:type backup_engine_name: str
:param friendly_name: Friendly name of protected item
:type friendly_name: str
:param fabric_name: Name of the fabric.
:type fabric_name: str
:param backup_set_name: Name of the backup set.
:type backup_set_name: str
"""
_attribute_map = {
'health_state': {'key': 'healthState', 'type': 'str'},
'backup_management_type': {'key': 'backupManagementType', 'type': 'str'},
'item_type': {'key': 'itemType', 'type': 'str'},
'policy_name': {'key': 'policyName', 'type': 'str'},
'container_name': {'key': 'containerName', 'type': 'str'},
'backup_engine_name': {'key': 'backupEngineName', 'type': 'str'},
'friendly_name': {'key': 'friendlyName', 'type': 'str'},
'fabric_name': {'key': 'fabricName', 'type': 'str'},
'backup_set_name': {'key': 'backupSetName', 'type': 'str'},
}
def __init__(self, *, health_state=None, backup_management_type=None, item_type=None, policy_name: str=None, container_name: str=None, backup_engine_name: str=None, friendly_name: str=None, fabric_name: str=None, backup_set_name: str=None, **kwargs) -> None:
super(ProtectedItemQueryObject, self).__init__(**kwargs)
self.health_state = health_state
self.backup_management_type = backup_management_type
self.item_type = item_type
self.policy_name = policy_name
self.container_name = container_name
self.backup_engine_name = backup_engine_name
self.friendly_name = friendly_name
self.fabric_name = fabric_name
self.backup_set_name = backup_set_name
[docs]class ProtectedItemResource(Resource):
"""Base class for backup items.
Variables are only populated by the server, and will be ignored when
sending a request.
:ivar id: Resource Id represents the complete path to the resource.
:vartype id: str
:ivar name: Resource name associated with the resource.
:vartype name: str
:ivar type: Resource type represents the complete path of the form
Namespace/ResourceType/ResourceType/...
:vartype type: str
:param location: Resource location.
:type location: str
:param tags: Resource tags.
:type tags: dict[str, str]
:param e_tag: Optional ETag.
:type e_tag: str
:param properties: ProtectedItemResource properties
:type properties: ~azure.mgmt.recoveryservicesbackup.models.ProtectedItem
"""
_validation = {
'id': {'readonly': True},
'name': {'readonly': True},
'type': {'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}'},
'e_tag': {'key': 'eTag', 'type': 'str'},
'properties': {'key': 'properties', 'type': 'ProtectedItem'},
}
def __init__(self, *, location: str=None, tags=None, e_tag: str=None, properties=None, **kwargs) -> None:
super(ProtectedItemResource, self).__init__(location=location, tags=tags, e_tag=e_tag, **kwargs)
self.properties = properties
[docs]class ProtectionContainerResource(Resource):
"""Base class for container with backup items. Containers with specific
workloads are derived from this class.
Variables are only populated by the server, and will be ignored when
sending a request.
:ivar id: Resource Id represents the complete path to the resource.
:vartype id: str
:ivar name: Resource name associated with the resource.
:vartype name: str
:ivar type: Resource type represents the complete path of the form
Namespace/ResourceType/ResourceType/...
:vartype type: str
:param location: Resource location.
:type location: str
:param tags: Resource tags.
:type tags: dict[str, str]
:param e_tag: Optional ETag.
:type e_tag: str
:param properties: ProtectionContainerResource properties
:type properties:
~azure.mgmt.recoveryservicesbackup.models.ProtectionContainer
"""
_validation = {
'id': {'readonly': True},
'name': {'readonly': True},
'type': {'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}'},
'e_tag': {'key': 'eTag', 'type': 'str'},
'properties': {'key': 'properties', 'type': 'ProtectionContainer'},
}
def __init__(self, *, location: str=None, tags=None, e_tag: str=None, properties=None, **kwargs) -> None:
super(ProtectionContainerResource, self).__init__(location=location, tags=tags, e_tag=e_tag, **kwargs)
self.properties = properties
[docs]class ProtectionIntentQueryObject(Model):
"""Filters to list protection intent.
:param backup_management_type: Backup management type for the backed up
item. Possible values include: 'Invalid', 'AzureIaasVM', 'MAB', 'DPM',
'AzureBackupServer', 'AzureSql', 'AzureStorage', 'AzureWorkload',
'DefaultBackup'
:type backup_management_type: str or
~azure.mgmt.recoveryservicesbackup.models.BackupManagementType
:param item_type: Type of workload this item represents. Possible values
include: 'Invalid', 'SQLInstance', 'SQLAvailabilityGroupContainer'
:type item_type: str or
~azure.mgmt.recoveryservicesbackup.models.IntentItemType
:param parent_name: Parent name of the intent
:type parent_name: str
:param item_name: Item name of the intent
:type item_name: str
"""
_attribute_map = {
'backup_management_type': {'key': 'backupManagementType', 'type': 'str'},
'item_type': {'key': 'itemType', 'type': 'str'},
'parent_name': {'key': 'parentName', 'type': 'str'},
'item_name': {'key': 'itemName', 'type': 'str'},
}
def __init__(self, *, backup_management_type=None, item_type=None, parent_name: str=None, item_name: str=None, **kwargs) -> None:
super(ProtectionIntentQueryObject, self).__init__(**kwargs)
self.backup_management_type = backup_management_type
self.item_type = item_type
self.parent_name = parent_name
self.item_name = item_name
[docs]class ProtectionIntentResource(Resource):
"""Base class for backup ProtectionIntent.
Variables are only populated by the server, and will be ignored when
sending a request.
:ivar id: Resource Id represents the complete path to the resource.
:vartype id: str
:ivar name: Resource name associated with the resource.
:vartype name: str
:ivar type: Resource type represents the complete path of the form
Namespace/ResourceType/ResourceType/...
:vartype type: str
:param location: Resource location.
:type location: str
:param tags: Resource tags.
:type tags: dict[str, str]
:param e_tag: Optional ETag.
:type e_tag: str
:param properties: ProtectionIntentResource properties
:type properties:
~azure.mgmt.recoveryservicesbackup.models.ProtectionIntent
"""
_validation = {
'id': {'readonly': True},
'name': {'readonly': True},
'type': {'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}'},
'e_tag': {'key': 'eTag', 'type': 'str'},
'properties': {'key': 'properties', 'type': 'ProtectionIntent'},
}
def __init__(self, *, location: str=None, tags=None, e_tag: str=None, properties=None, **kwargs) -> None:
super(ProtectionIntentResource, self).__init__(location=location, tags=tags, e_tag=e_tag, **kwargs)
self.properties = properties
[docs]class ProtectionPolicyQueryObject(Model):
"""Filters the list backup policies API.
:param backup_management_type: Backup management type for the backup
policy. Possible values include: 'Invalid', 'AzureIaasVM', 'MAB', 'DPM',
'AzureBackupServer', 'AzureSql', 'AzureStorage', 'AzureWorkload',
'DefaultBackup'
:type backup_management_type: str or
~azure.mgmt.recoveryservicesbackup.models.BackupManagementType
:param fabric_name: Fabric name for filter
:type fabric_name: str
:param workload_type: Workload type for the backup policy. Possible values
include: 'Invalid', 'VM', 'FileFolder', 'AzureSqlDb', 'SQLDB', 'Exchange',
'Sharepoint', 'VMwareVM', 'SystemState', 'Client', 'GenericDataSource',
'SQLDataBase', 'AzureFileShare', 'SAPHanaDatabase', 'SAPAseDatabase'
:type workload_type: str or
~azure.mgmt.recoveryservicesbackup.models.WorkloadType
"""
_attribute_map = {
'backup_management_type': {'key': 'backupManagementType', 'type': 'str'},
'fabric_name': {'key': 'fabricName', 'type': 'str'},
'workload_type': {'key': 'workloadType', 'type': 'str'},
}
def __init__(self, *, backup_management_type=None, fabric_name: str=None, workload_type=None, **kwargs) -> None:
super(ProtectionPolicyQueryObject, self).__init__(**kwargs)
self.backup_management_type = backup_management_type
self.fabric_name = fabric_name
self.workload_type = workload_type
[docs]class ProtectionPolicyResource(Resource):
"""Base class for backup policy. Workload-specific backup policies are derived
from this class.
Variables are only populated by the server, and will be ignored when
sending a request.
:ivar id: Resource Id represents the complete path to the resource.
:vartype id: str
:ivar name: Resource name associated with the resource.
:vartype name: str
:ivar type: Resource type represents the complete path of the form
Namespace/ResourceType/ResourceType/...
:vartype type: str
:param location: Resource location.
:type location: str
:param tags: Resource tags.
:type tags: dict[str, str]
:param e_tag: Optional ETag.
:type e_tag: str
:param properties: ProtectionPolicyResource properties
:type properties:
~azure.mgmt.recoveryservicesbackup.models.ProtectionPolicy
"""
_validation = {
'id': {'readonly': True},
'name': {'readonly': True},
'type': {'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}'},
'e_tag': {'key': 'eTag', 'type': 'str'},
'properties': {'key': 'properties', 'type': 'ProtectionPolicy'},
}
def __init__(self, *, location: str=None, tags=None, e_tag: str=None, properties=None, **kwargs) -> None:
super(ProtectionPolicyResource, self).__init__(location=location, tags=tags, e_tag=e_tag, **kwargs)
self.properties = properties
[docs]class RecoveryPointDiskConfiguration(Model):
"""Disk configuration.
:param number_of_disks_included_in_backup: Number of disks included in
backup
:type number_of_disks_included_in_backup: int
:param number_of_disks_attached_to_vm: Number of disks attached to the VM
:type number_of_disks_attached_to_vm: int
:param included_disk_list: Information of disks included in backup
:type included_disk_list:
list[~azure.mgmt.recoveryservicesbackup.models.DiskInformation]
:param excluded_disk_list: Information of disks excluded from backup
:type excluded_disk_list:
list[~azure.mgmt.recoveryservicesbackup.models.DiskInformation]
"""
_attribute_map = {
'number_of_disks_included_in_backup': {'key': 'numberOfDisksIncludedInBackup', 'type': 'int'},
'number_of_disks_attached_to_vm': {'key': 'numberOfDisksAttachedToVm', 'type': 'int'},
'included_disk_list': {'key': 'includedDiskList', 'type': '[DiskInformation]'},
'excluded_disk_list': {'key': 'excludedDiskList', 'type': '[DiskInformation]'},
}
def __init__(self, *, number_of_disks_included_in_backup: int=None, number_of_disks_attached_to_vm: int=None, included_disk_list=None, excluded_disk_list=None, **kwargs) -> None:
super(RecoveryPointDiskConfiguration, self).__init__(**kwargs)
self.number_of_disks_included_in_backup = number_of_disks_included_in_backup
self.number_of_disks_attached_to_vm = number_of_disks_attached_to_vm
self.included_disk_list = included_disk_list
self.excluded_disk_list = excluded_disk_list
[docs]class RecoveryPointResource(Resource):
"""Base class for backup copies. Workload-specific backup copies are derived
from this class.
Variables are only populated by the server, and will be ignored when
sending a request.
:ivar id: Resource Id represents the complete path to the resource.
:vartype id: str
:ivar name: Resource name associated with the resource.
:vartype name: str
:ivar type: Resource type represents the complete path of the form
Namespace/ResourceType/ResourceType/...
:vartype type: str
:param location: Resource location.
:type location: str
:param tags: Resource tags.
:type tags: dict[str, str]
:param e_tag: Optional ETag.
:type e_tag: str
:param properties: RecoveryPointResource properties
:type properties: ~azure.mgmt.recoveryservicesbackup.models.RecoveryPoint
"""
_validation = {
'id': {'readonly': True},
'name': {'readonly': True},
'type': {'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}'},
'e_tag': {'key': 'eTag', 'type': 'str'},
'properties': {'key': 'properties', 'type': 'RecoveryPoint'},
}
def __init__(self, *, location: str=None, tags=None, e_tag: str=None, properties=None, **kwargs) -> None:
super(RecoveryPointResource, self).__init__(location=location, tags=tags, e_tag=e_tag, **kwargs)
self.properties = properties
[docs]class ResourceList(Model):
"""Base for all lists of resources.
:param next_link: The uri to fetch the next page of resources. Call
ListNext() fetches next page of resources.
:type next_link: str
"""
_attribute_map = {
'next_link': {'key': 'nextLink', 'type': 'str'},
}
def __init__(self, *, next_link: str=None, **kwargs) -> None:
super(ResourceList, self).__init__(**kwargs)
self.next_link = next_link
[docs]class RestoreFileSpecs(Model):
"""Restore file specs like file path, type and target folder path info.
:param path: Source File/Folder path
:type path: str
:param file_spec_type: Indicates what the Path variable stands for
:type file_spec_type: str
:param target_folder_path: Destination folder path in target FileShare
:type target_folder_path: str
"""
_attribute_map = {
'path': {'key': 'path', 'type': 'str'},
'file_spec_type': {'key': 'fileSpecType', 'type': 'str'},
'target_folder_path': {'key': 'targetFolderPath', 'type': 'str'},
}
def __init__(self, *, path: str=None, file_spec_type: str=None, target_folder_path: str=None, **kwargs) -> None:
super(RestoreFileSpecs, self).__init__(**kwargs)
self.path = path
self.file_spec_type = file_spec_type
self.target_folder_path = target_folder_path
[docs]class RestoreRequestResource(Resource):
"""Base class for restore request. Workload-specific restore requests are
derived from this class.
Variables are only populated by the server, and will be ignored when
sending a request.
:ivar id: Resource Id represents the complete path to the resource.
:vartype id: str
:ivar name: Resource name associated with the resource.
:vartype name: str
:ivar type: Resource type represents the complete path of the form
Namespace/ResourceType/ResourceType/...
:vartype type: str
:param location: Resource location.
:type location: str
:param tags: Resource tags.
:type tags: dict[str, str]
:param e_tag: Optional ETag.
:type e_tag: str
:param properties: RestoreRequestResource properties
:type properties: ~azure.mgmt.recoveryservicesbackup.models.RestoreRequest
"""
_validation = {
'id': {'readonly': True},
'name': {'readonly': True},
'type': {'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}'},
'e_tag': {'key': 'eTag', 'type': 'str'},
'properties': {'key': 'properties', 'type': 'RestoreRequest'},
}
def __init__(self, *, location: str=None, tags=None, e_tag: str=None, properties=None, **kwargs) -> None:
super(RestoreRequestResource, self).__init__(location=location, tags=tags, e_tag=e_tag, **kwargs)
self.properties = properties
[docs]class RetentionDuration(Model):
"""Retention duration.
:param count: Count of duration types. Retention duration is obtained by
the counting the duration type Count times.
For example, when Count = 3 and DurationType = Weeks, retention duration
will be three weeks.
:type count: int
:param duration_type: Retention duration type of retention policy.
Possible values include: 'Invalid', 'Days', 'Weeks', 'Months', 'Years'
:type duration_type: str or
~azure.mgmt.recoveryservicesbackup.models.RetentionDurationType
"""
_attribute_map = {
'count': {'key': 'count', 'type': 'int'},
'duration_type': {'key': 'durationType', 'type': 'str'},
}
def __init__(self, *, count: int=None, duration_type=None, **kwargs) -> None:
super(RetentionDuration, self).__init__(**kwargs)
self.count = count
self.duration_type = duration_type
[docs]class Settings(Model):
"""Common settings field for backup management.
:param time_zone: TimeZone optional input as string. For example: TimeZone
= "Pacific Standard Time".
:type time_zone: str
:param issqlcompression: SQL compression flag
:type issqlcompression: bool
:param is_compression: Workload compression flag. This has been added so
that 'isSqlCompression'
will be deprecated once clients upgrade to consider this flag.
:type is_compression: bool
"""
_attribute_map = {
'time_zone': {'key': 'timeZone', 'type': 'str'},
'issqlcompression': {'key': 'issqlcompression', 'type': 'bool'},
'is_compression': {'key': 'isCompression', 'type': 'bool'},
}
def __init__(self, *, time_zone: str=None, issqlcompression: bool=None, is_compression: bool=None, **kwargs) -> None:
super(Settings, self).__init__(**kwargs)
self.time_zone = time_zone
self.issqlcompression = issqlcompression
self.is_compression = is_compression
[docs]class SimpleRetentionPolicy(RetentionPolicy):
"""Simple policy retention.
All required parameters must be populated in order to send to Azure.
:param retention_policy_type: Required. Constant filled by server.
:type retention_policy_type: str
:param retention_duration: Retention duration of the protection policy.
:type retention_duration:
~azure.mgmt.recoveryservicesbackup.models.RetentionDuration
"""
_validation = {
'retention_policy_type': {'required': True},
}
_attribute_map = {
'retention_policy_type': {'key': 'retentionPolicyType', 'type': 'str'},
'retention_duration': {'key': 'retentionDuration', 'type': 'RetentionDuration'},
}
def __init__(self, *, retention_duration=None, **kwargs) -> None:
super(SimpleRetentionPolicy, self).__init__(**kwargs)
self.retention_duration = retention_duration
self.retention_policy_type = 'SimpleRetentionPolicy'
[docs]class SimpleSchedulePolicy(SchedulePolicy):
"""Simple policy schedule.
All required parameters must be populated in order to send to Azure.
:param schedule_policy_type: Required. Constant filled by server.
:type schedule_policy_type: str
:param schedule_run_frequency: Frequency of the schedule operation of this
policy. Possible values include: 'Invalid', 'Daily', 'Weekly'
:type schedule_run_frequency: str or
~azure.mgmt.recoveryservicesbackup.models.ScheduleRunType
:param schedule_run_days: List of days of week this schedule has to be
run.
:type schedule_run_days: list[str or
~azure.mgmt.recoveryservicesbackup.models.DayOfWeek]
:param schedule_run_times: List of times of day this schedule has to be
run.
:type schedule_run_times: list[datetime]
:param schedule_weekly_frequency: At every number weeks this schedule has
to be run.
:type schedule_weekly_frequency: int
"""
_validation = {
'schedule_policy_type': {'required': True},
}
_attribute_map = {
'schedule_policy_type': {'key': 'schedulePolicyType', 'type': 'str'},
'schedule_run_frequency': {'key': 'scheduleRunFrequency', 'type': 'str'},
'schedule_run_days': {'key': 'scheduleRunDays', 'type': '[DayOfWeek]'},
'schedule_run_times': {'key': 'scheduleRunTimes', 'type': '[iso-8601]'},
'schedule_weekly_frequency': {'key': 'scheduleWeeklyFrequency', 'type': 'int'},
}
def __init__(self, *, schedule_run_frequency=None, schedule_run_days=None, schedule_run_times=None, schedule_weekly_frequency: int=None, **kwargs) -> None:
super(SimpleSchedulePolicy, self).__init__(**kwargs)
self.schedule_run_frequency = schedule_run_frequency
self.schedule_run_days = schedule_run_days
self.schedule_run_times = schedule_run_times
self.schedule_weekly_frequency = schedule_weekly_frequency
self.schedule_policy_type = 'SimpleSchedulePolicy'
[docs]class SQLDataDirectory(Model):
"""SQLDataDirectory info.
:param type: Type of data directory mapping. Possible values include:
'Invalid', 'Data', 'Log'
:type type: str or
~azure.mgmt.recoveryservicesbackup.models.SQLDataDirectoryType
:param path: File path
:type path: str
:param logical_name: Logical name of the file
:type logical_name: str
"""
_attribute_map = {
'type': {'key': 'type', 'type': 'str'},
'path': {'key': 'path', 'type': 'str'},
'logical_name': {'key': 'logicalName', 'type': 'str'},
}
def __init__(self, *, type=None, path: str=None, logical_name: str=None, **kwargs) -> None:
super(SQLDataDirectory, self).__init__(**kwargs)
self.type = type
self.path = path
self.logical_name = logical_name
[docs]class SQLDataDirectoryMapping(Model):
"""Encapsulates information regarding data directory.
:param mapping_type: Type of data directory mapping. Possible values
include: 'Invalid', 'Data', 'Log'
:type mapping_type: str or
~azure.mgmt.recoveryservicesbackup.models.SQLDataDirectoryType
:param source_logical_name: Restore source logical name path
:type source_logical_name: str
:param source_path: Restore source path
:type source_path: str
:param target_path: Target path
:type target_path: str
"""
_attribute_map = {
'mapping_type': {'key': 'mappingType', 'type': 'str'},
'source_logical_name': {'key': 'sourceLogicalName', 'type': 'str'},
'source_path': {'key': 'sourcePath', 'type': 'str'},
'target_path': {'key': 'targetPath', 'type': 'str'},
}
def __init__(self, *, mapping_type=None, source_logical_name: str=None, source_path: str=None, target_path: str=None, **kwargs) -> None:
super(SQLDataDirectoryMapping, self).__init__(**kwargs)
self.mapping_type = mapping_type
self.source_logical_name = source_logical_name
self.source_path = source_path
self.target_path = target_path
[docs]class SubProtectionPolicy(Model):
"""Sub-protection policy which includes schedule and retention.
:param policy_type: Type of backup policy type. Possible values include:
'Invalid', 'Full', 'Differential', 'Log', 'CopyOnlyFull'
:type policy_type: str or
~azure.mgmt.recoveryservicesbackup.models.PolicyType
:param schedule_policy: Backup schedule specified as part of backup
policy.
:type schedule_policy:
~azure.mgmt.recoveryservicesbackup.models.SchedulePolicy
:param retention_policy: Retention policy with the details on backup copy
retention ranges.
:type retention_policy:
~azure.mgmt.recoveryservicesbackup.models.RetentionPolicy
"""
_attribute_map = {
'policy_type': {'key': 'policyType', 'type': 'str'},
'schedule_policy': {'key': 'schedulePolicy', 'type': 'SchedulePolicy'},
'retention_policy': {'key': 'retentionPolicy', 'type': 'RetentionPolicy'},
}
def __init__(self, *, policy_type=None, schedule_policy=None, retention_policy=None, **kwargs) -> None:
super(SubProtectionPolicy, self).__init__(**kwargs)
self.policy_type = policy_type
self.schedule_policy = schedule_policy
self.retention_policy = retention_policy
[docs]class TargetAFSRestoreInfo(Model):
"""Target Azure File Share Info.
:param name: File share name
:type name: str
:param target_resource_id: Target file share resource ARM ID
:type target_resource_id: str
"""
_attribute_map = {
'name': {'key': 'name', 'type': 'str'},
'target_resource_id': {'key': 'targetResourceId', 'type': 'str'},
}
def __init__(self, *, name: str=None, target_resource_id: str=None, **kwargs) -> None:
super(TargetAFSRestoreInfo, self).__init__(**kwargs)
self.name = name
self.target_resource_id = target_resource_id
[docs]class TargetRestoreInfo(Model):
"""Details about target workload during restore operation.
:param overwrite_option: Can Overwrite if Target DataBase already exists.
Possible values include: 'Invalid', 'FailOnConflict', 'Overwrite'
:type overwrite_option: str or
~azure.mgmt.recoveryservicesbackup.models.OverwriteOptions
:param container_id: Resource Id name of the container in which Target
DataBase resides
:type container_id: str
:param database_name: Database name InstanceName/DataBaseName for SQL or
System/DbName for SAP Hana
:type database_name: str
:param target_directory_for_file_restore: Target directory location for
restore as files.
:type target_directory_for_file_restore: str
"""
_attribute_map = {
'overwrite_option': {'key': 'overwriteOption', 'type': 'str'},
'container_id': {'key': 'containerId', 'type': 'str'},
'database_name': {'key': 'databaseName', 'type': 'str'},
'target_directory_for_file_restore': {'key': 'targetDirectoryForFileRestore', 'type': 'str'},
}
def __init__(self, *, overwrite_option=None, container_id: str=None, database_name: str=None, target_directory_for_file_restore: str=None, **kwargs) -> None:
super(TargetRestoreInfo, self).__init__(**kwargs)
self.overwrite_option = overwrite_option
self.container_id = container_id
self.database_name = database_name
self.target_directory_for_file_restore = target_directory_for_file_restore
[docs]class ValidateOperationRequest(Model):
"""Base class for validate operation request.
You probably want to use the sub-classes and not this class directly. Known
sub-classes are: ValidateRestoreOperationRequest
All required parameters must be populated in order to send to Azure.
:param object_type: Required. Constant filled by server.
:type object_type: str
"""
_validation = {
'object_type': {'required': True},
}
_attribute_map = {
'object_type': {'key': 'objectType', 'type': 'str'},
}
_subtype_map = {
'object_type': {'ValidateRestoreOperationRequest': 'ValidateRestoreOperationRequest'}
}
def __init__(self, **kwargs) -> None:
super(ValidateOperationRequest, self).__init__(**kwargs)
self.object_type = None
[docs]class ValidateRestoreOperationRequest(ValidateOperationRequest):
"""AzureRestoreValidation request.
You probably want to use the sub-classes and not this class directly. Known
sub-classes are: ValidateIaasVMRestoreOperationRequest
All required parameters must be populated in order to send to Azure.
:param object_type: Required. Constant filled by server.
:type object_type: str
:param restore_request: Sets restore request to be validated
:type restore_request:
~azure.mgmt.recoveryservicesbackup.models.RestoreRequest
"""
_validation = {
'object_type': {'required': True},
}
_attribute_map = {
'object_type': {'key': 'objectType', 'type': 'str'},
'restore_request': {'key': 'restoreRequest', 'type': 'RestoreRequest'},
}
_subtype_map = {
'object_type': {'ValidateIaasVMRestoreOperationRequest': 'ValidateIaasVMRestoreOperationRequest'}
}
def __init__(self, *, restore_request=None, **kwargs) -> None:
super(ValidateRestoreOperationRequest, self).__init__(**kwargs)
self.restore_request = restore_request
self.object_type = 'ValidateRestoreOperationRequest'
[docs]class ValidateIaasVMRestoreOperationRequest(ValidateRestoreOperationRequest):
"""AzureRestoreValidation request.
All required parameters must be populated in order to send to Azure.
:param object_type: Required. Constant filled by server.
:type object_type: str
:param restore_request: Sets restore request to be validated
:type restore_request:
~azure.mgmt.recoveryservicesbackup.models.RestoreRequest
"""
_validation = {
'object_type': {'required': True},
}
_attribute_map = {
'object_type': {'key': 'objectType', 'type': 'str'},
'restore_request': {'key': 'restoreRequest', 'type': 'RestoreRequest'},
}
def __init__(self, *, restore_request=None, **kwargs) -> None:
super(ValidateIaasVMRestoreOperationRequest, self).__init__(restore_request=restore_request, **kwargs)
self.object_type = 'ValidateIaasVMRestoreOperationRequest'
[docs]class ValidateOperationResponse(Model):
"""Base class for validate operation response.
:param validation_results: Gets the validation result
:type validation_results:
list[~azure.mgmt.recoveryservicesbackup.models.ErrorDetail]
"""
_attribute_map = {
'validation_results': {'key': 'validationResults', 'type': '[ErrorDetail]'},
}
def __init__(self, *, validation_results=None, **kwargs) -> None:
super(ValidateOperationResponse, self).__init__(**kwargs)
self.validation_results = validation_results
[docs]class ValidateOperationsResponse(Model):
"""ValidateOperationsResponse.
:param validate_operation_response:
:type validate_operation_response:
~azure.mgmt.recoveryservicesbackup.models.ValidateOperationResponse
"""
_attribute_map = {
'validate_operation_response': {'key': 'validateOperationResponse', 'type': 'ValidateOperationResponse'},
}
def __init__(self, *, validate_operation_response=None, **kwargs) -> None:
super(ValidateOperationsResponse, self).__init__(**kwargs)
self.validate_operation_response = validate_operation_response
[docs]class WeeklyRetentionSchedule(Model):
"""Weekly retention schedule.
:param days_of_the_week: List of days of week for weekly retention policy.
:type days_of_the_week: list[str or
~azure.mgmt.recoveryservicesbackup.models.DayOfWeek]
:param retention_times: Retention times of retention policy.
:type retention_times: list[datetime]
:param retention_duration: Retention duration of retention Policy.
:type retention_duration:
~azure.mgmt.recoveryservicesbackup.models.RetentionDuration
"""
_attribute_map = {
'days_of_the_week': {'key': 'daysOfTheWeek', 'type': '[DayOfWeek]'},
'retention_times': {'key': 'retentionTimes', 'type': '[iso-8601]'},
'retention_duration': {'key': 'retentionDuration', 'type': 'RetentionDuration'},
}
def __init__(self, *, days_of_the_week=None, retention_times=None, retention_duration=None, **kwargs) -> None:
super(WeeklyRetentionSchedule, self).__init__(**kwargs)
self.days_of_the_week = days_of_the_week
self.retention_times = retention_times
self.retention_duration = retention_duration
[docs]class WorkloadInquiryDetails(Model):
"""Details of an inquired protectable item.
:param type: Type of the Workload such as SQL, Oracle etc.
:type type: str
:param item_count: Contains the protectable item Count inside this
Container.
:type item_count: long
:param inquiry_validation: Inquiry validation such as permissions and
other backup validations.
:type inquiry_validation:
~azure.mgmt.recoveryservicesbackup.models.InquiryValidation
"""
_attribute_map = {
'type': {'key': 'type', 'type': 'str'},
'item_count': {'key': 'itemCount', 'type': 'long'},
'inquiry_validation': {'key': 'inquiryValidation', 'type': 'InquiryValidation'},
}
def __init__(self, *, type: str=None, item_count: int=None, inquiry_validation=None, **kwargs) -> None:
super(WorkloadInquiryDetails, self).__init__(**kwargs)
self.type = type
self.item_count = item_count
self.inquiry_validation = inquiry_validation
[docs]class WorkloadItemResource(Resource):
"""Base class for backup item. Workload-specific backup items are derived from
this class.
Variables are only populated by the server, and will be ignored when
sending a request.
:ivar id: Resource Id represents the complete path to the resource.
:vartype id: str
:ivar name: Resource name associated with the resource.
:vartype name: str
:ivar type: Resource type represents the complete path of the form
Namespace/ResourceType/ResourceType/...
:vartype type: str
:param location: Resource location.
:type location: str
:param tags: Resource tags.
:type tags: dict[str, str]
:param e_tag: Optional ETag.
:type e_tag: str
:param properties: WorkloadItemResource properties
:type properties: ~azure.mgmt.recoveryservicesbackup.models.WorkloadItem
"""
_validation = {
'id': {'readonly': True},
'name': {'readonly': True},
'type': {'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}'},
'e_tag': {'key': 'eTag', 'type': 'str'},
'properties': {'key': 'properties', 'type': 'WorkloadItem'},
}
def __init__(self, *, location: str=None, tags=None, e_tag: str=None, properties=None, **kwargs) -> None:
super(WorkloadItemResource, self).__init__(location=location, tags=tags, e_tag=e_tag, **kwargs)
self.properties = properties
[docs]class WorkloadProtectableItemResource(Resource):
"""Base class for backup item. Workload-specific backup items are derived from
this class.
Variables are only populated by the server, and will be ignored when
sending a request.
:ivar id: Resource Id represents the complete path to the resource.
:vartype id: str
:ivar name: Resource name associated with the resource.
:vartype name: str
:ivar type: Resource type represents the complete path of the form
Namespace/ResourceType/ResourceType/...
:vartype type: str
:param location: Resource location.
:type location: str
:param tags: Resource tags.
:type tags: dict[str, str]
:param e_tag: Optional ETag.
:type e_tag: str
:param properties: WorkloadProtectableItemResource properties
:type properties:
~azure.mgmt.recoveryservicesbackup.models.WorkloadProtectableItem
"""
_validation = {
'id': {'readonly': True},
'name': {'readonly': True},
'type': {'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}'},
'e_tag': {'key': 'eTag', 'type': 'str'},
'properties': {'key': 'properties', 'type': 'WorkloadProtectableItem'},
}
def __init__(self, *, location: str=None, tags=None, e_tag: str=None, properties=None, **kwargs) -> None:
super(WorkloadProtectableItemResource, self).__init__(location=location, tags=tags, e_tag=e_tag, **kwargs)
self.properties = properties
[docs]class YearlyRetentionSchedule(Model):
"""Yearly retention schedule.
:param retention_schedule_format_type: Retention schedule format for
yearly retention policy. Possible values include: 'Invalid', 'Daily',
'Weekly'
:type retention_schedule_format_type: str or
~azure.mgmt.recoveryservicesbackup.models.RetentionScheduleFormat
:param months_of_year: List of months of year of yearly retention policy.
:type months_of_year: list[str or
~azure.mgmt.recoveryservicesbackup.models.MonthOfYear]
:param retention_schedule_daily: Daily retention format for yearly
retention policy.
:type retention_schedule_daily:
~azure.mgmt.recoveryservicesbackup.models.DailyRetentionFormat
:param retention_schedule_weekly: Weekly retention format for yearly
retention policy.
:type retention_schedule_weekly:
~azure.mgmt.recoveryservicesbackup.models.WeeklyRetentionFormat
:param retention_times: Retention times of retention policy.
:type retention_times: list[datetime]
:param retention_duration: Retention duration of retention Policy.
:type retention_duration:
~azure.mgmt.recoveryservicesbackup.models.RetentionDuration
"""
_attribute_map = {
'retention_schedule_format_type': {'key': 'retentionScheduleFormatType', 'type': 'str'},
'months_of_year': {'key': 'monthsOfYear', 'type': '[MonthOfYear]'},
'retention_schedule_daily': {'key': 'retentionScheduleDaily', 'type': 'DailyRetentionFormat'},
'retention_schedule_weekly': {'key': 'retentionScheduleWeekly', 'type': 'WeeklyRetentionFormat'},
'retention_times': {'key': 'retentionTimes', 'type': '[iso-8601]'},
'retention_duration': {'key': 'retentionDuration', 'type': 'RetentionDuration'},
}
def __init__(self, *, retention_schedule_format_type=None, months_of_year=None, retention_schedule_daily=None, retention_schedule_weekly=None, retention_times=None, retention_duration=None, **kwargs) -> None:
super(YearlyRetentionSchedule, self).__init__(**kwargs)
self.retention_schedule_format_type = retention_schedule_format_type
self.months_of_year = months_of_year
self.retention_schedule_daily = retention_schedule_daily
self.retention_schedule_weekly = retention_schedule_weekly
self.retention_times = retention_times
self.retention_duration = retention_duration