Source code for azure.mgmt.recoveryservicesbackup.models._models_py3

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

from msrest.serialization import Model
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 DailyRetentionFormat(Model): """Daily retention format. :param days_of_the_month: List of days of the month. :type days_of_the_month: list[~azure.mgmt.recoveryservicesbackup.models.Day] """ _attribute_map = { 'days_of_the_month': {'key': 'daysOfTheMonth', 'type': '[Day]'}, } def __init__(self, *, days_of_the_month=None, **kwargs) -> None: super(DailyRetentionFormat, self).__init__(**kwargs) self.days_of_the_month = days_of_the_month
[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 DiskInformation(Model): """Disk information. :param lun: :type lun: int :param name: :type name: str """ _attribute_map = { 'lun': {'key': 'lun', 'type': 'int'}, 'name': {'key': 'name', 'type': 'str'}, } def __init__(self, *, lun: int=None, name: str=None, **kwargs) -> None: super(DiskInformation, self).__init__(**kwargs) self.lun = lun self.name = name
[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 RecoveryPointTierInformation(Model): """Recovery point tier information. :param type: Recovery point tier type. Possible values include: 'Invalid', 'InstantRP', 'HardenedRP' :type type: str or ~azure.mgmt.recoveryservicesbackup.models.RecoveryPointTierType :param status: Recovery point tier status. Possible values include: 'Invalid', 'Valid', 'Disabled', 'Deleted' :type status: str or ~azure.mgmt.recoveryservicesbackup.models.RecoveryPointTierStatus """ _attribute_map = { 'type': {'key': 'type', 'type': 'RecoveryPointTierType'}, 'status': {'key': 'status', 'type': 'RecoveryPointTierStatus'}, } def __init__(self, *, type=None, status=None, **kwargs) -> None: super(RecoveryPointTierInformation, self).__init__(**kwargs) self.type = type self.status = status
[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 TokenInformation(Model): """The token information details. :param token: Token value. :type token: str :param expiry_time_in_utc_ticks: Expiry time of token. :type expiry_time_in_utc_ticks: long :param security_pin: Security PIN :type security_pin: str """ _attribute_map = { 'token': {'key': 'token', 'type': 'str'}, 'expiry_time_in_utc_ticks': {'key': 'expiryTimeInUtcTicks', 'type': 'long'}, 'security_pin': {'key': 'securityPIN', 'type': 'str'}, } def __init__(self, *, token: str=None, expiry_time_in_utc_ticks: int=None, security_pin: str=None, **kwargs) -> None: super(TokenInformation, self).__init__(**kwargs) self.token = token self.expiry_time_in_utc_ticks = expiry_time_in_utc_ticks self.security_pin = security_pin
[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 WeeklyRetentionFormat(Model): """Weekly retention format. :param days_of_the_week: List of days of the week. :type days_of_the_week: list[str or ~azure.mgmt.recoveryservicesbackup.models.DayOfWeek] :param weeks_of_the_month: List of weeks of month. :type weeks_of_the_month: list[str or ~azure.mgmt.recoveryservicesbackup.models.WeekOfMonth] """ _attribute_map = { 'days_of_the_week': {'key': 'daysOfTheWeek', 'type': '[DayOfWeek]'}, 'weeks_of_the_month': {'key': 'weeksOfTheMonth', 'type': '[WeekOfMonth]'}, } def __init__(self, *, days_of_the_week=None, weeks_of_the_month=None, **kwargs) -> None: super(WeeklyRetentionFormat, self).__init__(**kwargs) self.days_of_the_week = days_of_the_week self.weeks_of_the_month = weeks_of_the_month
[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