1# coding=utf-8 2# -------------------------------------------------------------------------- 3# Copyright (c) Microsoft Corporation. All rights reserved. 4# Licensed under the MIT License. See License.txt in the project root for 5# license information. 6# 7# Code generated by Microsoft (R) AutoRest Code Generator. 8# Changes may cause incorrect behavior and will be lost if the code is 9# regenerated. 10# -------------------------------------------------------------------------- 11 12from msrest.serialization import Model 13from msrest.exceptions import HttpOperationError 14 15 16class AADProperties(Model): 17 """AADProperties. 18 19 :param service_principal_client_id: 20 :type service_principal_client_id: str 21 :param tenant_id: 22 :type tenant_id: str 23 :param authority: 24 :type authority: str 25 :param audience: 26 :type audience: str 27 :param service_principal_object_id: 28 :type service_principal_object_id: str 29 """ 30 31 _attribute_map = { 32 'service_principal_client_id': {'key': 'servicePrincipalClientId', 'type': 'str'}, 33 'tenant_id': {'key': 'tenantId', 'type': 'str'}, 34 'authority': {'key': 'authority', 'type': 'str'}, 35 'audience': {'key': 'audience', 'type': 'str'}, 36 'service_principal_object_id': {'key': 'servicePrincipalObjectId', 'type': 'str'}, 37 } 38 39 def __init__(self, **kwargs): 40 super(AADProperties, self).__init__(**kwargs) 41 self.service_principal_client_id = kwargs.get('service_principal_client_id', None) 42 self.tenant_id = kwargs.get('tenant_id', None) 43 self.authority = kwargs.get('authority', None) 44 self.audience = kwargs.get('audience', None) 45 self.service_principal_object_id = kwargs.get('service_principal_object_id', None) 46 47 48class Resource(Model): 49 """ARM Resource. 50 51 Variables are only populated by the server, and will be ignored when 52 sending a request. 53 54 :ivar id: Resource Id represents the complete path to the resource. 55 :vartype id: str 56 :ivar name: Resource name associated with the resource. 57 :vartype name: str 58 :ivar type: Resource type represents the complete path of the form 59 Namespace/ResourceType/ResourceType/... 60 :vartype type: str 61 :param location: Resource location. 62 :type location: str 63 :param tags: Resource tags. 64 :type tags: dict[str, str] 65 :param e_tag: Optional ETag. 66 :type e_tag: str 67 """ 68 69 _validation = { 70 'id': {'readonly': True}, 71 'name': {'readonly': True}, 72 'type': {'readonly': True}, 73 } 74 75 _attribute_map = { 76 'id': {'key': 'id', 'type': 'str'}, 77 'name': {'key': 'name', 'type': 'str'}, 78 'type': {'key': 'type', 'type': 'str'}, 79 'location': {'key': 'location', 'type': 'str'}, 80 'tags': {'key': 'tags', 'type': '{str}'}, 81 'e_tag': {'key': 'eTag', 'type': 'str'}, 82 } 83 84 def __init__(self, **kwargs): 85 super(Resource, self).__init__(**kwargs) 86 self.id = None 87 self.name = None 88 self.type = None 89 self.location = kwargs.get('location', None) 90 self.tags = kwargs.get('tags', None) 91 self.e_tag = kwargs.get('e_tag', None) 92 93 94class AADPropertiesResource(Resource): 95 """AADPropertiesResource. 96 97 Variables are only populated by the server, and will be ignored when 98 sending a request. 99 100 :ivar id: Resource Id represents the complete path to the resource. 101 :vartype id: str 102 :ivar name: Resource name associated with the resource. 103 :vartype name: str 104 :ivar type: Resource type represents the complete path of the form 105 Namespace/ResourceType/ResourceType/... 106 :vartype type: str 107 :param location: Resource location. 108 :type location: str 109 :param tags: Resource tags. 110 :type tags: dict[str, str] 111 :param e_tag: Optional ETag. 112 :type e_tag: str 113 :param properties: AADPropertiesResource properties 114 :type properties: ~azure.mgmt.recoveryservicesbackup.models.AADProperties 115 """ 116 117 _validation = { 118 'id': {'readonly': True}, 119 'name': {'readonly': True}, 120 'type': {'readonly': True}, 121 } 122 123 _attribute_map = { 124 'id': {'key': 'id', 'type': 'str'}, 125 'name': {'key': 'name', 'type': 'str'}, 126 'type': {'key': 'type', 'type': 'str'}, 127 'location': {'key': 'location', 'type': 'str'}, 128 'tags': {'key': 'tags', 'type': '{str}'}, 129 'e_tag': {'key': 'eTag', 'type': 'str'}, 130 'properties': {'key': 'properties', 'type': 'AADProperties'}, 131 } 132 133 def __init__(self, **kwargs): 134 super(AADPropertiesResource, self).__init__(**kwargs) 135 self.properties = kwargs.get('properties', None) 136 137 138class FeatureSupportRequest(Model): 139 """Base class for feature request. 140 141 You probably want to use the sub-classes and not this class directly. Known 142 sub-classes are: AzureBackupGoalFeatureSupportRequest, 143 AzureVMResourceFeatureSupportRequest 144 145 All required parameters must be populated in order to send to Azure. 146 147 :param feature_type: Required. Constant filled by server. 148 :type feature_type: str 149 """ 150 151 _validation = { 152 'feature_type': {'required': True}, 153 } 154 155 _attribute_map = { 156 'feature_type': {'key': 'featureType', 'type': 'str'}, 157 } 158 159 _subtype_map = { 160 'feature_type': {'AzureBackupGoals': 'AzureBackupGoalFeatureSupportRequest', 'AzureVMResourceBackup': 'AzureVMResourceFeatureSupportRequest'} 161 } 162 163 def __init__(self, **kwargs): 164 super(FeatureSupportRequest, self).__init__(**kwargs) 165 self.feature_type = None 166 167 168class AzureBackupGoalFeatureSupportRequest(FeatureSupportRequest): 169 """Azure backup goal feature specific request. 170 171 All required parameters must be populated in order to send to Azure. 172 173 :param feature_type: Required. Constant filled by server. 174 :type feature_type: str 175 """ 176 177 _validation = { 178 'feature_type': {'required': True}, 179 } 180 181 _attribute_map = { 182 'feature_type': {'key': 'featureType', 'type': 'str'}, 183 } 184 185 def __init__(self, **kwargs): 186 super(AzureBackupGoalFeatureSupportRequest, self).__init__(**kwargs) 187 self.feature_type = 'AzureBackupGoals' 188 189 190class ProtectionContainer(Model): 191 """Base class for container with backup items. Containers with specific 192 workloads are derived from this class. 193 194 You probably want to use the sub-classes and not this class directly. Known 195 sub-classes are: AzureSqlContainer, AzureStorageContainer, 196 AzureWorkloadContainer, DpmContainer, GenericContainer, IaaSVMContainer, 197 MabContainer 198 199 All required parameters must be populated in order to send to Azure. 200 201 :param friendly_name: Friendly name of the container. 202 :type friendly_name: str 203 :param backup_management_type: Type of backup management for the 204 container. Possible values include: 'Invalid', 'AzureIaasVM', 'MAB', 205 'DPM', 'AzureBackupServer', 'AzureSql', 'AzureStorage', 'AzureWorkload', 206 'DefaultBackup' 207 :type backup_management_type: str or 208 ~azure.mgmt.recoveryservicesbackup.models.BackupManagementType 209 :param registration_status: Status of registration of the container with 210 the Recovery Services Vault. 211 :type registration_status: str 212 :param health_status: Status of health of the container. 213 :type health_status: str 214 :param container_type: Required. Constant filled by server. 215 :type container_type: str 216 """ 217 218 _validation = { 219 'container_type': {'required': True}, 220 } 221 222 _attribute_map = { 223 'friendly_name': {'key': 'friendlyName', 'type': 'str'}, 224 'backup_management_type': {'key': 'backupManagementType', 'type': 'str'}, 225 'registration_status': {'key': 'registrationStatus', 'type': 'str'}, 226 'health_status': {'key': 'healthStatus', 'type': 'str'}, 227 'container_type': {'key': 'containerType', 'type': 'str'}, 228 } 229 230 _subtype_map = { 231 'container_type': {'AzureSqlContainer': 'AzureSqlContainer', 'StorageContainer': 'AzureStorageContainer', 'AzureWorkloadContainer': 'AzureWorkloadContainer', 'DPMContainer': 'DpmContainer', 'GenericContainer': 'GenericContainer', 'IaaSVMContainer': 'IaaSVMContainer', 'Windows': 'MabContainer'} 232 } 233 234 def __init__(self, **kwargs): 235 super(ProtectionContainer, self).__init__(**kwargs) 236 self.friendly_name = kwargs.get('friendly_name', None) 237 self.backup_management_type = kwargs.get('backup_management_type', None) 238 self.registration_status = kwargs.get('registration_status', None) 239 self.health_status = kwargs.get('health_status', None) 240 self.container_type = None 241 242 243class DpmContainer(ProtectionContainer): 244 """DPM workload-specific protection container. 245 246 You probably want to use the sub-classes and not this class directly. Known 247 sub-classes are: AzureBackupServerContainer 248 249 All required parameters must be populated in order to send to Azure. 250 251 :param friendly_name: Friendly name of the container. 252 :type friendly_name: str 253 :param backup_management_type: Type of backup management for the 254 container. Possible values include: 'Invalid', 'AzureIaasVM', 'MAB', 255 'DPM', 'AzureBackupServer', 'AzureSql', 'AzureStorage', 'AzureWorkload', 256 'DefaultBackup' 257 :type backup_management_type: str or 258 ~azure.mgmt.recoveryservicesbackup.models.BackupManagementType 259 :param registration_status: Status of registration of the container with 260 the Recovery Services Vault. 261 :type registration_status: str 262 :param health_status: Status of health of the container. 263 :type health_status: str 264 :param container_type: Required. Constant filled by server. 265 :type container_type: str 266 :param can_re_register: Specifies whether the container is re-registrable. 267 :type can_re_register: bool 268 :param container_id: ID of container. 269 :type container_id: str 270 :param protected_item_count: Number of protected items in the BackupEngine 271 :type protected_item_count: long 272 :param dpm_agent_version: Backup engine Agent version 273 :type dpm_agent_version: str 274 :param dpm_servers: List of BackupEngines protecting the container 275 :type dpm_servers: list[str] 276 :param upgrade_available: To check if upgrade available 277 :type upgrade_available: bool 278 :param protection_status: Protection status of the container. 279 :type protection_status: str 280 :param extended_info: Extended Info of the container. 281 :type extended_info: 282 ~azure.mgmt.recoveryservicesbackup.models.DPMContainerExtendedInfo 283 """ 284 285 _validation = { 286 'container_type': {'required': True}, 287 } 288 289 _attribute_map = { 290 'friendly_name': {'key': 'friendlyName', 'type': 'str'}, 291 'backup_management_type': {'key': 'backupManagementType', 'type': 'str'}, 292 'registration_status': {'key': 'registrationStatus', 'type': 'str'}, 293 'health_status': {'key': 'healthStatus', 'type': 'str'}, 294 'container_type': {'key': 'containerType', 'type': 'str'}, 295 'can_re_register': {'key': 'canReRegister', 'type': 'bool'}, 296 'container_id': {'key': 'containerId', 'type': 'str'}, 297 'protected_item_count': {'key': 'protectedItemCount', 'type': 'long'}, 298 'dpm_agent_version': {'key': 'dpmAgentVersion', 'type': 'str'}, 299 'dpm_servers': {'key': 'dpmServers', 'type': '[str]'}, 300 'upgrade_available': {'key': 'upgradeAvailable', 'type': 'bool'}, 301 'protection_status': {'key': 'protectionStatus', 'type': 'str'}, 302 'extended_info': {'key': 'extendedInfo', 'type': 'DPMContainerExtendedInfo'}, 303 } 304 305 _subtype_map = { 306 'container_type': {'AzureBackupServerContainer': 'AzureBackupServerContainer'} 307 } 308 309 def __init__(self, **kwargs): 310 super(DpmContainer, self).__init__(**kwargs) 311 self.can_re_register = kwargs.get('can_re_register', None) 312 self.container_id = kwargs.get('container_id', None) 313 self.protected_item_count = kwargs.get('protected_item_count', None) 314 self.dpm_agent_version = kwargs.get('dpm_agent_version', None) 315 self.dpm_servers = kwargs.get('dpm_servers', None) 316 self.upgrade_available = kwargs.get('upgrade_available', None) 317 self.protection_status = kwargs.get('protection_status', None) 318 self.extended_info = kwargs.get('extended_info', None) 319 self.container_type = 'DPMContainer' 320 321 322class AzureBackupServerContainer(DpmContainer): 323 """AzureBackupServer (DPMVenus) workload-specific protection container. 324 325 All required parameters must be populated in order to send to Azure. 326 327 :param friendly_name: Friendly name of the container. 328 :type friendly_name: str 329 :param backup_management_type: Type of backup management for the 330 container. Possible values include: 'Invalid', 'AzureIaasVM', 'MAB', 331 'DPM', 'AzureBackupServer', 'AzureSql', 'AzureStorage', 'AzureWorkload', 332 'DefaultBackup' 333 :type backup_management_type: str or 334 ~azure.mgmt.recoveryservicesbackup.models.BackupManagementType 335 :param registration_status: Status of registration of the container with 336 the Recovery Services Vault. 337 :type registration_status: str 338 :param health_status: Status of health of the container. 339 :type health_status: str 340 :param container_type: Required. Constant filled by server. 341 :type container_type: str 342 :param can_re_register: Specifies whether the container is re-registrable. 343 :type can_re_register: bool 344 :param container_id: ID of container. 345 :type container_id: str 346 :param protected_item_count: Number of protected items in the BackupEngine 347 :type protected_item_count: long 348 :param dpm_agent_version: Backup engine Agent version 349 :type dpm_agent_version: str 350 :param dpm_servers: List of BackupEngines protecting the container 351 :type dpm_servers: list[str] 352 :param upgrade_available: To check if upgrade available 353 :type upgrade_available: bool 354 :param protection_status: Protection status of the container. 355 :type protection_status: str 356 :param extended_info: Extended Info of the container. 357 :type extended_info: 358 ~azure.mgmt.recoveryservicesbackup.models.DPMContainerExtendedInfo 359 """ 360 361 _validation = { 362 'container_type': {'required': True}, 363 } 364 365 _attribute_map = { 366 'friendly_name': {'key': 'friendlyName', 'type': 'str'}, 367 'backup_management_type': {'key': 'backupManagementType', 'type': 'str'}, 368 'registration_status': {'key': 'registrationStatus', 'type': 'str'}, 369 'health_status': {'key': 'healthStatus', 'type': 'str'}, 370 'container_type': {'key': 'containerType', 'type': 'str'}, 371 'can_re_register': {'key': 'canReRegister', 'type': 'bool'}, 372 'container_id': {'key': 'containerId', 'type': 'str'}, 373 'protected_item_count': {'key': 'protectedItemCount', 'type': 'long'}, 374 'dpm_agent_version': {'key': 'dpmAgentVersion', 'type': 'str'}, 375 'dpm_servers': {'key': 'dpmServers', 'type': '[str]'}, 376 'upgrade_available': {'key': 'upgradeAvailable', 'type': 'bool'}, 377 'protection_status': {'key': 'protectionStatus', 'type': 'str'}, 378 'extended_info': {'key': 'extendedInfo', 'type': 'DPMContainerExtendedInfo'}, 379 } 380 381 def __init__(self, **kwargs): 382 super(AzureBackupServerContainer, self).__init__(**kwargs) 383 self.container_type = 'AzureBackupServerContainer' 384 385 386class BackupEngineBase(Model): 387 """The base backup engine class. All workload specific backup engines derive 388 from this class. 389 390 You probably want to use the sub-classes and not this class directly. Known 391 sub-classes are: AzureBackupServerEngine, DpmBackupEngine 392 393 All required parameters must be populated in order to send to Azure. 394 395 :param friendly_name: Friendly name of the backup engine. 396 :type friendly_name: str 397 :param backup_management_type: Type of backup management for the backup 398 engine. Possible values include: 'Invalid', 'AzureIaasVM', 'MAB', 'DPM', 399 'AzureBackupServer', 'AzureSql', 'AzureStorage', 'AzureWorkload', 400 'DefaultBackup' 401 :type backup_management_type: str or 402 ~azure.mgmt.recoveryservicesbackup.models.BackupManagementType 403 :param registration_status: Registration status of the backup engine with 404 the Recovery Services Vault. 405 :type registration_status: str 406 :param backup_engine_state: Status of the backup engine with the Recovery 407 Services Vault. = {Active/Deleting/DeleteFailed} 408 :type backup_engine_state: str 409 :param health_status: Backup status of the backup engine. 410 :type health_status: str 411 :param can_re_register: Flag indicating if the backup engine be 412 registered, once already registered. 413 :type can_re_register: bool 414 :param backup_engine_id: ID of the backup engine. 415 :type backup_engine_id: str 416 :param dpm_version: Backup engine version 417 :type dpm_version: str 418 :param azure_backup_agent_version: Backup agent version 419 :type azure_backup_agent_version: str 420 :param is_azure_backup_agent_upgrade_available: To check if backup agent 421 upgrade available 422 :type is_azure_backup_agent_upgrade_available: bool 423 :param is_dpm_upgrade_available: To check if backup engine upgrade 424 available 425 :type is_dpm_upgrade_available: bool 426 :param extended_info: Extended info of the backupengine 427 :type extended_info: 428 ~azure.mgmt.recoveryservicesbackup.models.BackupEngineExtendedInfo 429 :param backup_engine_type: Required. Constant filled by server. 430 :type backup_engine_type: str 431 """ 432 433 _validation = { 434 'backup_engine_type': {'required': True}, 435 } 436 437 _attribute_map = { 438 'friendly_name': {'key': 'friendlyName', 'type': 'str'}, 439 'backup_management_type': {'key': 'backupManagementType', 'type': 'str'}, 440 'registration_status': {'key': 'registrationStatus', 'type': 'str'}, 441 'backup_engine_state': {'key': 'backupEngineState', 'type': 'str'}, 442 'health_status': {'key': 'healthStatus', 'type': 'str'}, 443 'can_re_register': {'key': 'canReRegister', 'type': 'bool'}, 444 'backup_engine_id': {'key': 'backupEngineId', 'type': 'str'}, 445 'dpm_version': {'key': 'dpmVersion', 'type': 'str'}, 446 'azure_backup_agent_version': {'key': 'azureBackupAgentVersion', 'type': 'str'}, 447 'is_azure_backup_agent_upgrade_available': {'key': 'isAzureBackupAgentUpgradeAvailable', 'type': 'bool'}, 448 'is_dpm_upgrade_available': {'key': 'isDpmUpgradeAvailable', 'type': 'bool'}, 449 'extended_info': {'key': 'extendedInfo', 'type': 'BackupEngineExtendedInfo'}, 450 'backup_engine_type': {'key': 'backupEngineType', 'type': 'str'}, 451 } 452 453 _subtype_map = { 454 'backup_engine_type': {'AzureBackupServerEngine': 'AzureBackupServerEngine', 'DpmBackupEngine': 'DpmBackupEngine'} 455 } 456 457 def __init__(self, **kwargs): 458 super(BackupEngineBase, self).__init__(**kwargs) 459 self.friendly_name = kwargs.get('friendly_name', None) 460 self.backup_management_type = kwargs.get('backup_management_type', None) 461 self.registration_status = kwargs.get('registration_status', None) 462 self.backup_engine_state = kwargs.get('backup_engine_state', None) 463 self.health_status = kwargs.get('health_status', None) 464 self.can_re_register = kwargs.get('can_re_register', None) 465 self.backup_engine_id = kwargs.get('backup_engine_id', None) 466 self.dpm_version = kwargs.get('dpm_version', None) 467 self.azure_backup_agent_version = kwargs.get('azure_backup_agent_version', None) 468 self.is_azure_backup_agent_upgrade_available = kwargs.get('is_azure_backup_agent_upgrade_available', None) 469 self.is_dpm_upgrade_available = kwargs.get('is_dpm_upgrade_available', None) 470 self.extended_info = kwargs.get('extended_info', None) 471 self.backup_engine_type = None 472 473 474class AzureBackupServerEngine(BackupEngineBase): 475 """Backup engine type when Azure Backup Server is used to manage the backups. 476 477 All required parameters must be populated in order to send to Azure. 478 479 :param friendly_name: Friendly name of the backup engine. 480 :type friendly_name: str 481 :param backup_management_type: Type of backup management for the backup 482 engine. Possible values include: 'Invalid', 'AzureIaasVM', 'MAB', 'DPM', 483 'AzureBackupServer', 'AzureSql', 'AzureStorage', 'AzureWorkload', 484 'DefaultBackup' 485 :type backup_management_type: str or 486 ~azure.mgmt.recoveryservicesbackup.models.BackupManagementType 487 :param registration_status: Registration status of the backup engine with 488 the Recovery Services Vault. 489 :type registration_status: str 490 :param backup_engine_state: Status of the backup engine with the Recovery 491 Services Vault. = {Active/Deleting/DeleteFailed} 492 :type backup_engine_state: str 493 :param health_status: Backup status of the backup engine. 494 :type health_status: str 495 :param can_re_register: Flag indicating if the backup engine be 496 registered, once already registered. 497 :type can_re_register: bool 498 :param backup_engine_id: ID of the backup engine. 499 :type backup_engine_id: str 500 :param dpm_version: Backup engine version 501 :type dpm_version: str 502 :param azure_backup_agent_version: Backup agent version 503 :type azure_backup_agent_version: str 504 :param is_azure_backup_agent_upgrade_available: To check if backup agent 505 upgrade available 506 :type is_azure_backup_agent_upgrade_available: bool 507 :param is_dpm_upgrade_available: To check if backup engine upgrade 508 available 509 :type is_dpm_upgrade_available: bool 510 :param extended_info: Extended info of the backupengine 511 :type extended_info: 512 ~azure.mgmt.recoveryservicesbackup.models.BackupEngineExtendedInfo 513 :param backup_engine_type: Required. Constant filled by server. 514 :type backup_engine_type: str 515 """ 516 517 _validation = { 518 'backup_engine_type': {'required': True}, 519 } 520 521 _attribute_map = { 522 'friendly_name': {'key': 'friendlyName', 'type': 'str'}, 523 'backup_management_type': {'key': 'backupManagementType', 'type': 'str'}, 524 'registration_status': {'key': 'registrationStatus', 'type': 'str'}, 525 'backup_engine_state': {'key': 'backupEngineState', 'type': 'str'}, 526 'health_status': {'key': 'healthStatus', 'type': 'str'}, 527 'can_re_register': {'key': 'canReRegister', 'type': 'bool'}, 528 'backup_engine_id': {'key': 'backupEngineId', 'type': 'str'}, 529 'dpm_version': {'key': 'dpmVersion', 'type': 'str'}, 530 'azure_backup_agent_version': {'key': 'azureBackupAgentVersion', 'type': 'str'}, 531 'is_azure_backup_agent_upgrade_available': {'key': 'isAzureBackupAgentUpgradeAvailable', 'type': 'bool'}, 532 'is_dpm_upgrade_available': {'key': 'isDpmUpgradeAvailable', 'type': 'bool'}, 533 'extended_info': {'key': 'extendedInfo', 'type': 'BackupEngineExtendedInfo'}, 534 'backup_engine_type': {'key': 'backupEngineType', 'type': 'str'}, 535 } 536 537 def __init__(self, **kwargs): 538 super(AzureBackupServerEngine, self).__init__(**kwargs) 539 self.backup_engine_type = 'AzureBackupServerEngine' 540 541 542class BackupRequest(Model): 543 """Base class for backup request. Workload-specific backup requests are 544 derived from this class. 545 546 You probably want to use the sub-classes and not this class directly. Known 547 sub-classes are: AzureFileShareBackupRequest, AzureWorkloadBackupRequest, 548 IaasVMBackupRequest 549 550 All required parameters must be populated in order to send to Azure. 551 552 :param object_type: Required. Constant filled by server. 553 :type object_type: str 554 """ 555 556 _validation = { 557 'object_type': {'required': True}, 558 } 559 560 _attribute_map = { 561 'object_type': {'key': 'objectType', 'type': 'str'}, 562 } 563 564 _subtype_map = { 565 'object_type': {'AzureFileShareBackupRequest': 'AzureFileShareBackupRequest', 'AzureWorkloadBackupRequest': 'AzureWorkloadBackupRequest', 'IaasVMBackupRequest': 'IaasVMBackupRequest'} 566 } 567 568 def __init__(self, **kwargs): 569 super(BackupRequest, self).__init__(**kwargs) 570 self.object_type = None 571 572 573class AzureFileShareBackupRequest(BackupRequest): 574 """AzureFileShare workload-specific backup request. 575 576 All required parameters must be populated in order to send to Azure. 577 578 :param object_type: Required. Constant filled by server. 579 :type object_type: str 580 :param recovery_point_expiry_time_in_utc: Backup copy will expire after 581 the time specified (UTC). 582 :type recovery_point_expiry_time_in_utc: datetime 583 """ 584 585 _validation = { 586 'object_type': {'required': True}, 587 } 588 589 _attribute_map = { 590 'object_type': {'key': 'objectType', 'type': 'str'}, 591 'recovery_point_expiry_time_in_utc': {'key': 'recoveryPointExpiryTimeInUTC', 'type': 'iso-8601'}, 592 } 593 594 def __init__(self, **kwargs): 595 super(AzureFileShareBackupRequest, self).__init__(**kwargs) 596 self.recovery_point_expiry_time_in_utc = kwargs.get('recovery_point_expiry_time_in_utc', None) 597 self.object_type = 'AzureFileShareBackupRequest' 598 599 600class WorkloadProtectableItem(Model): 601 """Base class for backup item. Workload-specific backup items are derived from 602 this class. 603 604 You probably want to use the sub-classes and not this class directly. Known 605 sub-classes are: AzureFileShareProtectableItem, 606 AzureVmWorkloadProtectableItem, IaaSVMProtectableItem 607 608 All required parameters must be populated in order to send to Azure. 609 610 :param backup_management_type: Type of backup management to backup an 611 item. 612 :type backup_management_type: str 613 :param workload_type: Type of workload for the backup management 614 :type workload_type: str 615 :param friendly_name: Friendly name of the backup item. 616 :type friendly_name: str 617 :param protection_state: State of the back up item. Possible values 618 include: 'Invalid', 'NotProtected', 'Protecting', 'Protected', 619 'ProtectionFailed' 620 :type protection_state: str or 621 ~azure.mgmt.recoveryservicesbackup.models.ProtectionStatus 622 :param protectable_item_type: Required. Constant filled by server. 623 :type protectable_item_type: str 624 """ 625 626 _validation = { 627 'protectable_item_type': {'required': True}, 628 } 629 630 _attribute_map = { 631 'backup_management_type': {'key': 'backupManagementType', 'type': 'str'}, 632 'workload_type': {'key': 'workloadType', 'type': 'str'}, 633 'friendly_name': {'key': 'friendlyName', 'type': 'str'}, 634 'protection_state': {'key': 'protectionState', 'type': 'str'}, 635 'protectable_item_type': {'key': 'protectableItemType', 'type': 'str'}, 636 } 637 638 _subtype_map = { 639 'protectable_item_type': {'AzureFileShare': 'AzureFileShareProtectableItem', 'AzureVmWorkloadProtectableItem': 'AzureVmWorkloadProtectableItem', 'IaaSVMProtectableItem': 'IaaSVMProtectableItem'} 640 } 641 642 def __init__(self, **kwargs): 643 super(WorkloadProtectableItem, self).__init__(**kwargs) 644 self.backup_management_type = kwargs.get('backup_management_type', None) 645 self.workload_type = kwargs.get('workload_type', None) 646 self.friendly_name = kwargs.get('friendly_name', None) 647 self.protection_state = kwargs.get('protection_state', None) 648 self.protectable_item_type = None 649 650 651class AzureFileShareProtectableItem(WorkloadProtectableItem): 652 """Protectable item for Azure Fileshare workloads. 653 654 All required parameters must be populated in order to send to Azure. 655 656 :param backup_management_type: Type of backup management to backup an 657 item. 658 :type backup_management_type: str 659 :param workload_type: Type of workload for the backup management 660 :type workload_type: str 661 :param friendly_name: Friendly name of the backup item. 662 :type friendly_name: str 663 :param protection_state: State of the back up item. Possible values 664 include: 'Invalid', 'NotProtected', 'Protecting', 'Protected', 665 'ProtectionFailed' 666 :type protection_state: str or 667 ~azure.mgmt.recoveryservicesbackup.models.ProtectionStatus 668 :param protectable_item_type: Required. Constant filled by server. 669 :type protectable_item_type: str 670 :param parent_container_fabric_id: Full Fabric ID of container to which 671 this protectable item belongs. For example, ARM ID. 672 :type parent_container_fabric_id: str 673 :param parent_container_friendly_name: Friendly name of container to which 674 this protectable item belongs. 675 :type parent_container_friendly_name: str 676 :param azure_file_share_type: File Share type XSync or XSMB. Possible 677 values include: 'Invalid', 'XSMB', 'XSync' 678 :type azure_file_share_type: str or 679 ~azure.mgmt.recoveryservicesbackup.models.AzureFileShareType 680 """ 681 682 _validation = { 683 'protectable_item_type': {'required': True}, 684 } 685 686 _attribute_map = { 687 'backup_management_type': {'key': 'backupManagementType', 'type': 'str'}, 688 'workload_type': {'key': 'workloadType', 'type': 'str'}, 689 'friendly_name': {'key': 'friendlyName', 'type': 'str'}, 690 'protection_state': {'key': 'protectionState', 'type': 'str'}, 691 'protectable_item_type': {'key': 'protectableItemType', 'type': 'str'}, 692 'parent_container_fabric_id': {'key': 'parentContainerFabricId', 'type': 'str'}, 693 'parent_container_friendly_name': {'key': 'parentContainerFriendlyName', 'type': 'str'}, 694 'azure_file_share_type': {'key': 'azureFileShareType', 'type': 'str'}, 695 } 696 697 def __init__(self, **kwargs): 698 super(AzureFileShareProtectableItem, self).__init__(**kwargs) 699 self.parent_container_fabric_id = kwargs.get('parent_container_fabric_id', None) 700 self.parent_container_friendly_name = kwargs.get('parent_container_friendly_name', None) 701 self.azure_file_share_type = kwargs.get('azure_file_share_type', None) 702 self.protectable_item_type = 'AzureFileShare' 703 704 705class ProtectedItem(Model): 706 """Base class for backup items. 707 708 You probably want to use the sub-classes and not this class directly. Known 709 sub-classes are: AzureFileshareProtectedItem, AzureIaaSVMProtectedItem, 710 AzureSqlProtectedItem, AzureVmWorkloadProtectedItem, DPMProtectedItem, 711 GenericProtectedItem, MabFileFolderProtectedItem 712 713 All required parameters must be populated in order to send to Azure. 714 715 :param backup_management_type: Type of backup management for the backed up 716 item. Possible values include: 'Invalid', 'AzureIaasVM', 'MAB', 'DPM', 717 'AzureBackupServer', 'AzureSql', 'AzureStorage', 'AzureWorkload', 718 'DefaultBackup' 719 :type backup_management_type: str or 720 ~azure.mgmt.recoveryservicesbackup.models.BackupManagementType 721 :param workload_type: Type of workload this item represents. Possible 722 values include: 'Invalid', 'VM', 'FileFolder', 'AzureSqlDb', 'SQLDB', 723 'Exchange', 'Sharepoint', 'VMwareVM', 'SystemState', 'Client', 724 'GenericDataSource', 'SQLDataBase', 'AzureFileShare', 'SAPHanaDatabase', 725 'SAPAseDatabase' 726 :type workload_type: str or 727 ~azure.mgmt.recoveryservicesbackup.models.DataSourceType 728 :param container_name: Unique name of container 729 :type container_name: str 730 :param source_resource_id: ARM ID of the resource to be backed up. 731 :type source_resource_id: str 732 :param policy_id: ID of the backup policy with which this item is backed 733 up. 734 :type policy_id: str 735 :param last_recovery_point: Timestamp when the last (latest) backup copy 736 was created for this backup item. 737 :type last_recovery_point: datetime 738 :param backup_set_name: Name of the backup set the backup item belongs to 739 :type backup_set_name: str 740 :param create_mode: Create mode to indicate recovery of existing soft 741 deleted data source or creation of new data source. Possible values 742 include: 'Invalid', 'Default', 'Recover' 743 :type create_mode: str or 744 ~azure.mgmt.recoveryservicesbackup.models.CreateMode 745 :param deferred_delete_time_in_utc: Time for deferred deletion in UTC 746 :type deferred_delete_time_in_utc: datetime 747 :param is_scheduled_for_deferred_delete: Flag to identify whether the DS 748 is scheduled for deferred delete 749 :type is_scheduled_for_deferred_delete: bool 750 :param deferred_delete_time_remaining: Time remaining before the DS marked 751 for deferred delete is permanently deleted 752 :type deferred_delete_time_remaining: str 753 :param is_deferred_delete_schedule_upcoming: Flag to identify whether the 754 deferred deleted DS is to be purged soon 755 :type is_deferred_delete_schedule_upcoming: bool 756 :param is_rehydrate: Flag to identify that deferred deleted DS is to be 757 moved into Pause state 758 :type is_rehydrate: bool 759 :param resource_guard_operation_requests: ResourceGuardOperationRequests 760 on which LAC check will be performed 761 :type resource_guard_operation_requests: list[str] 762 :param protected_item_type: Required. Constant filled by server. 763 :type protected_item_type: str 764 """ 765 766 _validation = { 767 'protected_item_type': {'required': True}, 768 } 769 770 _attribute_map = { 771 'backup_management_type': {'key': 'backupManagementType', 'type': 'str'}, 772 'workload_type': {'key': 'workloadType', 'type': 'str'}, 773 'container_name': {'key': 'containerName', 'type': 'str'}, 774 'source_resource_id': {'key': 'sourceResourceId', 'type': 'str'}, 775 'policy_id': {'key': 'policyId', 'type': 'str'}, 776 'last_recovery_point': {'key': 'lastRecoveryPoint', 'type': 'iso-8601'}, 777 'backup_set_name': {'key': 'backupSetName', 'type': 'str'}, 778 'create_mode': {'key': 'createMode', 'type': 'str'}, 779 'deferred_delete_time_in_utc': {'key': 'deferredDeleteTimeInUTC', 'type': 'iso-8601'}, 780 'is_scheduled_for_deferred_delete': {'key': 'isScheduledForDeferredDelete', 'type': 'bool'}, 781 'deferred_delete_time_remaining': {'key': 'deferredDeleteTimeRemaining', 'type': 'str'}, 782 'is_deferred_delete_schedule_upcoming': {'key': 'isDeferredDeleteScheduleUpcoming', 'type': 'bool'}, 783 'is_rehydrate': {'key': 'isRehydrate', 'type': 'bool'}, 784 'resource_guard_operation_requests': {'key': 'resourceGuardOperationRequests', 'type': '[str]'}, 785 'protected_item_type': {'key': 'protectedItemType', 'type': 'str'}, 786 } 787 788 _subtype_map = { 789 'protected_item_type': {'AzureFileShareProtectedItem': 'AzureFileshareProtectedItem', 'AzureIaaSVMProtectedItem': 'AzureIaaSVMProtectedItem', 'Microsoft.Sql/servers/databases': 'AzureSqlProtectedItem', 'AzureVmWorkloadProtectedItem': 'AzureVmWorkloadProtectedItem', 'DPMProtectedItem': 'DPMProtectedItem', 'GenericProtectedItem': 'GenericProtectedItem', 'MabFileFolderProtectedItem': 'MabFileFolderProtectedItem'} 790 } 791 792 def __init__(self, **kwargs): 793 super(ProtectedItem, self).__init__(**kwargs) 794 self.backup_management_type = kwargs.get('backup_management_type', None) 795 self.workload_type = kwargs.get('workload_type', None) 796 self.container_name = kwargs.get('container_name', None) 797 self.source_resource_id = kwargs.get('source_resource_id', None) 798 self.policy_id = kwargs.get('policy_id', None) 799 self.last_recovery_point = kwargs.get('last_recovery_point', None) 800 self.backup_set_name = kwargs.get('backup_set_name', None) 801 self.create_mode = kwargs.get('create_mode', None) 802 self.deferred_delete_time_in_utc = kwargs.get('deferred_delete_time_in_utc', None) 803 self.is_scheduled_for_deferred_delete = kwargs.get('is_scheduled_for_deferred_delete', None) 804 self.deferred_delete_time_remaining = kwargs.get('deferred_delete_time_remaining', None) 805 self.is_deferred_delete_schedule_upcoming = kwargs.get('is_deferred_delete_schedule_upcoming', None) 806 self.is_rehydrate = kwargs.get('is_rehydrate', None) 807 self.resource_guard_operation_requests = kwargs.get('resource_guard_operation_requests', None) 808 self.protected_item_type = None 809 810 811class AzureFileshareProtectedItem(ProtectedItem): 812 """Azure File Share workload-specific backup item. 813 814 All required parameters must be populated in order to send to Azure. 815 816 :param backup_management_type: Type of backup management for the backed up 817 item. Possible values include: 'Invalid', 'AzureIaasVM', 'MAB', 'DPM', 818 'AzureBackupServer', 'AzureSql', 'AzureStorage', 'AzureWorkload', 819 'DefaultBackup' 820 :type backup_management_type: str or 821 ~azure.mgmt.recoveryservicesbackup.models.BackupManagementType 822 :param workload_type: Type of workload this item represents. Possible 823 values include: 'Invalid', 'VM', 'FileFolder', 'AzureSqlDb', 'SQLDB', 824 'Exchange', 'Sharepoint', 'VMwareVM', 'SystemState', 'Client', 825 'GenericDataSource', 'SQLDataBase', 'AzureFileShare', 'SAPHanaDatabase', 826 'SAPAseDatabase' 827 :type workload_type: str or 828 ~azure.mgmt.recoveryservicesbackup.models.DataSourceType 829 :param container_name: Unique name of container 830 :type container_name: str 831 :param source_resource_id: ARM ID of the resource to be backed up. 832 :type source_resource_id: str 833 :param policy_id: ID of the backup policy with which this item is backed 834 up. 835 :type policy_id: str 836 :param last_recovery_point: Timestamp when the last (latest) backup copy 837 was created for this backup item. 838 :type last_recovery_point: datetime 839 :param backup_set_name: Name of the backup set the backup item belongs to 840 :type backup_set_name: str 841 :param create_mode: Create mode to indicate recovery of existing soft 842 deleted data source or creation of new data source. Possible values 843 include: 'Invalid', 'Default', 'Recover' 844 :type create_mode: str or 845 ~azure.mgmt.recoveryservicesbackup.models.CreateMode 846 :param deferred_delete_time_in_utc: Time for deferred deletion in UTC 847 :type deferred_delete_time_in_utc: datetime 848 :param is_scheduled_for_deferred_delete: Flag to identify whether the DS 849 is scheduled for deferred delete 850 :type is_scheduled_for_deferred_delete: bool 851 :param deferred_delete_time_remaining: Time remaining before the DS marked 852 for deferred delete is permanently deleted 853 :type deferred_delete_time_remaining: str 854 :param is_deferred_delete_schedule_upcoming: Flag to identify whether the 855 deferred deleted DS is to be purged soon 856 :type is_deferred_delete_schedule_upcoming: bool 857 :param is_rehydrate: Flag to identify that deferred deleted DS is to be 858 moved into Pause state 859 :type is_rehydrate: bool 860 :param resource_guard_operation_requests: ResourceGuardOperationRequests 861 on which LAC check will be performed 862 :type resource_guard_operation_requests: list[str] 863 :param protected_item_type: Required. Constant filled by server. 864 :type protected_item_type: str 865 :param friendly_name: Friendly name of the fileshare represented by this 866 backup item. 867 :type friendly_name: str 868 :param protection_status: Backup status of this backup item. 869 :type protection_status: str 870 :param protection_state: Backup state of this backup item. Possible values 871 include: 'Invalid', 'IRPending', 'Protected', 'ProtectionError', 872 'ProtectionStopped', 'ProtectionPaused' 873 :type protection_state: str or 874 ~azure.mgmt.recoveryservicesbackup.models.ProtectionState 875 :param last_backup_status: Last backup operation status. Possible values: 876 Healthy, Unhealthy. 877 :type last_backup_status: str 878 :param last_backup_time: Timestamp of the last backup operation on this 879 backup item. 880 :type last_backup_time: datetime 881 :param kpis_healths: Health details of different KPIs 882 :type kpis_healths: dict[str, 883 ~azure.mgmt.recoveryservicesbackup.models.KPIResourceHealthDetails] 884 :param extended_info: Additional information with this backup item. 885 :type extended_info: 886 ~azure.mgmt.recoveryservicesbackup.models.AzureFileshareProtectedItemExtendedInfo 887 :param health_status: backups running status for this backup item. 888 Possible values include: 'Passed', 'ActionRequired', 'ActionSuggested', 889 'Invalid' 890 :type health_status: str or 891 ~azure.mgmt.recoveryservicesbackup.models.HealthStatus 892 """ 893 894 _validation = { 895 'protected_item_type': {'required': True}, 896 } 897 898 _attribute_map = { 899 'backup_management_type': {'key': 'backupManagementType', 'type': 'str'}, 900 'workload_type': {'key': 'workloadType', 'type': 'str'}, 901 'container_name': {'key': 'containerName', 'type': 'str'}, 902 'source_resource_id': {'key': 'sourceResourceId', 'type': 'str'}, 903 'policy_id': {'key': 'policyId', 'type': 'str'}, 904 'last_recovery_point': {'key': 'lastRecoveryPoint', 'type': 'iso-8601'}, 905 'backup_set_name': {'key': 'backupSetName', 'type': 'str'}, 906 'create_mode': {'key': 'createMode', 'type': 'str'}, 907 'deferred_delete_time_in_utc': {'key': 'deferredDeleteTimeInUTC', 'type': 'iso-8601'}, 908 'is_scheduled_for_deferred_delete': {'key': 'isScheduledForDeferredDelete', 'type': 'bool'}, 909 'deferred_delete_time_remaining': {'key': 'deferredDeleteTimeRemaining', 'type': 'str'}, 910 'is_deferred_delete_schedule_upcoming': {'key': 'isDeferredDeleteScheduleUpcoming', 'type': 'bool'}, 911 'is_rehydrate': {'key': 'isRehydrate', 'type': 'bool'}, 912 'resource_guard_operation_requests': {'key': 'resourceGuardOperationRequests', 'type': '[str]'}, 913 'protected_item_type': {'key': 'protectedItemType', 'type': 'str'}, 914 'friendly_name': {'key': 'friendlyName', 'type': 'str'}, 915 'protection_status': {'key': 'protectionStatus', 'type': 'str'}, 916 'protection_state': {'key': 'protectionState', 'type': 'str'}, 917 'last_backup_status': {'key': 'lastBackupStatus', 'type': 'str'}, 918 'last_backup_time': {'key': 'lastBackupTime', 'type': 'iso-8601'}, 919 'kpis_healths': {'key': 'kpisHealths', 'type': '{KPIResourceHealthDetails}'}, 920 'extended_info': {'key': 'extendedInfo', 'type': 'AzureFileshareProtectedItemExtendedInfo'}, 921 'health_status': {'key': 'healthStatus', 'type': 'str'}, 922 } 923 924 def __init__(self, **kwargs): 925 super(AzureFileshareProtectedItem, self).__init__(**kwargs) 926 self.friendly_name = kwargs.get('friendly_name', None) 927 self.protection_status = kwargs.get('protection_status', None) 928 self.protection_state = kwargs.get('protection_state', None) 929 self.last_backup_status = kwargs.get('last_backup_status', None) 930 self.last_backup_time = kwargs.get('last_backup_time', None) 931 self.kpis_healths = kwargs.get('kpis_healths', None) 932 self.extended_info = kwargs.get('extended_info', None) 933 self.health_status = kwargs.get('health_status', None) 934 self.protected_item_type = 'AzureFileShareProtectedItem' 935 936 937class AzureFileshareProtectedItemExtendedInfo(Model): 938 """Additional information about Azure File Share backup item. 939 940 Variables are only populated by the server, and will be ignored when 941 sending a request. 942 943 :param oldest_recovery_point: The oldest backup copy available for this 944 item in the service. 945 :type oldest_recovery_point: datetime 946 :param recovery_point_count: Number of available backup copies associated 947 with this backup item. 948 :type recovery_point_count: int 949 :param policy_state: Indicates consistency of policy object and policy 950 applied to this backup item. 951 :type policy_state: str 952 :ivar resource_state: Indicates the state of this resource. Possible 953 values are from enum ResourceState {Invalid, Active, SoftDeleted, Deleted} 954 :vartype resource_state: str 955 :ivar resource_state_sync_time: The resource state sync time for this 956 backup item. 957 :vartype resource_state_sync_time: datetime 958 """ 959 960 _validation = { 961 'resource_state': {'readonly': True}, 962 'resource_state_sync_time': {'readonly': True}, 963 } 964 965 _attribute_map = { 966 'oldest_recovery_point': {'key': 'oldestRecoveryPoint', 'type': 'iso-8601'}, 967 'recovery_point_count': {'key': 'recoveryPointCount', 'type': 'int'}, 968 'policy_state': {'key': 'policyState', 'type': 'str'}, 969 'resource_state': {'key': 'resourceState', 'type': 'str'}, 970 'resource_state_sync_time': {'key': 'resourceStateSyncTime', 'type': 'iso-8601'}, 971 } 972 973 def __init__(self, **kwargs): 974 super(AzureFileshareProtectedItemExtendedInfo, self).__init__(**kwargs) 975 self.oldest_recovery_point = kwargs.get('oldest_recovery_point', None) 976 self.recovery_point_count = kwargs.get('recovery_point_count', None) 977 self.policy_state = kwargs.get('policy_state', None) 978 self.resource_state = None 979 self.resource_state_sync_time = None 980 981 982class ProtectionPolicy(Model): 983 """Base class for backup policy. Workload-specific backup policies are derived 984 from this class. 985 986 You probably want to use the sub-classes and not this class directly. Known 987 sub-classes are: AzureVmWorkloadProtectionPolicy, 988 AzureFileShareProtectionPolicy, AzureIaaSVMProtectionPolicy, 989 AzureSqlProtectionPolicy, GenericProtectionPolicy, MabProtectionPolicy 990 991 All required parameters must be populated in order to send to Azure. 992 993 :param protected_items_count: Number of items associated with this policy. 994 :type protected_items_count: int 995 :param resource_guard_operation_requests: ResourceGuard Operation Requests 996 :type resource_guard_operation_requests: list[str] 997 :param backup_management_type: Required. Constant filled by server. 998 :type backup_management_type: str 999 """ 1000 1001 _validation = { 1002 'backup_management_type': {'required': True}, 1003 } 1004 1005 _attribute_map = { 1006 'protected_items_count': {'key': 'protectedItemsCount', 'type': 'int'}, 1007 'resource_guard_operation_requests': {'key': 'resourceGuardOperationRequests', 'type': '[str]'}, 1008 'backup_management_type': {'key': 'backupManagementType', 'type': 'str'}, 1009 } 1010 1011 _subtype_map = { 1012 'backup_management_type': {'AzureWorkload': 'AzureVmWorkloadProtectionPolicy', 'AzureStorage': 'AzureFileShareProtectionPolicy', 'AzureIaasVM': 'AzureIaaSVMProtectionPolicy', 'AzureSql': 'AzureSqlProtectionPolicy', 'GenericProtectionPolicy': 'GenericProtectionPolicy', 'MAB': 'MabProtectionPolicy'} 1013 } 1014 1015 def __init__(self, **kwargs): 1016 super(ProtectionPolicy, self).__init__(**kwargs) 1017 self.protected_items_count = kwargs.get('protected_items_count', None) 1018 self.resource_guard_operation_requests = kwargs.get('resource_guard_operation_requests', None) 1019 self.backup_management_type = None 1020 1021 1022class AzureFileShareProtectionPolicy(ProtectionPolicy): 1023 """AzureStorage backup policy. 1024 1025 All required parameters must be populated in order to send to Azure. 1026 1027 :param protected_items_count: Number of items associated with this policy. 1028 :type protected_items_count: int 1029 :param resource_guard_operation_requests: ResourceGuard Operation Requests 1030 :type resource_guard_operation_requests: list[str] 1031 :param backup_management_type: Required. Constant filled by server. 1032 :type backup_management_type: str 1033 :param work_load_type: Type of workload for the backup management. 1034 Possible values include: 'Invalid', 'VM', 'FileFolder', 'AzureSqlDb', 1035 'SQLDB', 'Exchange', 'Sharepoint', 'VMwareVM', 'SystemState', 'Client', 1036 'GenericDataSource', 'SQLDataBase', 'AzureFileShare', 'SAPHanaDatabase', 1037 'SAPAseDatabase' 1038 :type work_load_type: str or 1039 ~azure.mgmt.recoveryservicesbackup.models.WorkloadType 1040 :param schedule_policy: Backup schedule specified as part of backup 1041 policy. 1042 :type schedule_policy: 1043 ~azure.mgmt.recoveryservicesbackup.models.SchedulePolicy 1044 :param retention_policy: Retention policy with the details on backup copy 1045 retention ranges. 1046 :type retention_policy: 1047 ~azure.mgmt.recoveryservicesbackup.models.RetentionPolicy 1048 :param time_zone: TimeZone optional input as string. For example: TimeZone 1049 = "Pacific Standard Time". 1050 :type time_zone: str 1051 """ 1052 1053 _validation = { 1054 'backup_management_type': {'required': True}, 1055 } 1056 1057 _attribute_map = { 1058 'protected_items_count': {'key': 'protectedItemsCount', 'type': 'int'}, 1059 'resource_guard_operation_requests': {'key': 'resourceGuardOperationRequests', 'type': '[str]'}, 1060 'backup_management_type': {'key': 'backupManagementType', 'type': 'str'}, 1061 'work_load_type': {'key': 'workLoadType', 'type': 'str'}, 1062 'schedule_policy': {'key': 'schedulePolicy', 'type': 'SchedulePolicy'}, 1063 'retention_policy': {'key': 'retentionPolicy', 'type': 'RetentionPolicy'}, 1064 'time_zone': {'key': 'timeZone', 'type': 'str'}, 1065 } 1066 1067 def __init__(self, **kwargs): 1068 super(AzureFileShareProtectionPolicy, self).__init__(**kwargs) 1069 self.work_load_type = kwargs.get('work_load_type', None) 1070 self.schedule_policy = kwargs.get('schedule_policy', None) 1071 self.retention_policy = kwargs.get('retention_policy', None) 1072 self.time_zone = kwargs.get('time_zone', None) 1073 self.backup_management_type = 'AzureStorage' 1074 1075 1076class ILRRequest(Model): 1077 """Parameters to Provision ILR API. 1078 1079 You probably want to use the sub-classes and not this class directly. Known 1080 sub-classes are: AzureFileShareProvisionILRRequest, 1081 IaasVMILRRegistrationRequest 1082 1083 All required parameters must be populated in order to send to Azure. 1084 1085 :param object_type: Required. Constant filled by server. 1086 :type object_type: str 1087 """ 1088 1089 _validation = { 1090 'object_type': {'required': True}, 1091 } 1092 1093 _attribute_map = { 1094 'object_type': {'key': 'objectType', 'type': 'str'}, 1095 } 1096 1097 _subtype_map = { 1098 'object_type': {'AzureFileShareProvisionILRRequest': 'AzureFileShareProvisionILRRequest', 'IaasVMILRRegistrationRequest': 'IaasVMILRRegistrationRequest'} 1099 } 1100 1101 def __init__(self, **kwargs): 1102 super(ILRRequest, self).__init__(**kwargs) 1103 self.object_type = None 1104 1105 1106class AzureFileShareProvisionILRRequest(ILRRequest): 1107 """Update snapshot Uri with the correct friendly Name of the source Azure file 1108 share. 1109 1110 All required parameters must be populated in order to send to Azure. 1111 1112 :param object_type: Required. Constant filled by server. 1113 :type object_type: str 1114 :param recovery_point_id: Recovery point ID. 1115 :type recovery_point_id: str 1116 :param source_resource_id: Source Storage account ARM Id 1117 :type source_resource_id: str 1118 """ 1119 1120 _validation = { 1121 'object_type': {'required': True}, 1122 } 1123 1124 _attribute_map = { 1125 'object_type': {'key': 'objectType', 'type': 'str'}, 1126 'recovery_point_id': {'key': 'recoveryPointId', 'type': 'str'}, 1127 'source_resource_id': {'key': 'sourceResourceId', 'type': 'str'}, 1128 } 1129 1130 def __init__(self, **kwargs): 1131 super(AzureFileShareProvisionILRRequest, self).__init__(**kwargs) 1132 self.recovery_point_id = kwargs.get('recovery_point_id', None) 1133 self.source_resource_id = kwargs.get('source_resource_id', None) 1134 self.object_type = 'AzureFileShareProvisionILRRequest' 1135 1136 1137class RecoveryPoint(Model): 1138 """Base class for backup copies. Workload-specific backup copies are derived 1139 from this class. 1140 1141 You probably want to use the sub-classes and not this class directly. Known 1142 sub-classes are: AzureFileShareRecoveryPoint, AzureWorkloadRecoveryPoint, 1143 GenericRecoveryPoint, IaasVMRecoveryPoint 1144 1145 All required parameters must be populated in order to send to Azure. 1146 1147 :param object_type: Required. Constant filled by server. 1148 :type object_type: str 1149 """ 1150 1151 _validation = { 1152 'object_type': {'required': True}, 1153 } 1154 1155 _attribute_map = { 1156 'object_type': {'key': 'objectType', 'type': 'str'}, 1157 } 1158 1159 _subtype_map = { 1160 'object_type': {'AzureFileShareRecoveryPoint': 'AzureFileShareRecoveryPoint', 'AzureWorkloadRecoveryPoint': 'AzureWorkloadRecoveryPoint', 'GenericRecoveryPoint': 'GenericRecoveryPoint', 'IaasVMRecoveryPoint': 'IaasVMRecoveryPoint'} 1161 } 1162 1163 def __init__(self, **kwargs): 1164 super(RecoveryPoint, self).__init__(**kwargs) 1165 self.object_type = None 1166 1167 1168class AzureFileShareRecoveryPoint(RecoveryPoint): 1169 """Azure File Share workload specific backup copy. 1170 1171 Variables are only populated by the server, and will be ignored when 1172 sending a request. 1173 1174 All required parameters must be populated in order to send to Azure. 1175 1176 :param object_type: Required. Constant filled by server. 1177 :type object_type: str 1178 :ivar recovery_point_type: Type of the backup copy. Specifies whether it 1179 is a crash consistent backup or app consistent. 1180 :vartype recovery_point_type: str 1181 :ivar recovery_point_time: Time at which this backup copy was created. 1182 :vartype recovery_point_time: datetime 1183 :ivar file_share_snapshot_uri: Contains Url to the snapshot of fileshare, 1184 if applicable 1185 :vartype file_share_snapshot_uri: str 1186 :ivar recovery_point_size_in_gb: Contains recovery point size 1187 :vartype recovery_point_size_in_gb: int 1188 """ 1189 1190 _validation = { 1191 'object_type': {'required': True}, 1192 'recovery_point_type': {'readonly': True}, 1193 'recovery_point_time': {'readonly': True}, 1194 'file_share_snapshot_uri': {'readonly': True}, 1195 'recovery_point_size_in_gb': {'readonly': True}, 1196 } 1197 1198 _attribute_map = { 1199 'object_type': {'key': 'objectType', 'type': 'str'}, 1200 'recovery_point_type': {'key': 'recoveryPointType', 'type': 'str'}, 1201 'recovery_point_time': {'key': 'recoveryPointTime', 'type': 'iso-8601'}, 1202 'file_share_snapshot_uri': {'key': 'fileShareSnapshotUri', 'type': 'str'}, 1203 'recovery_point_size_in_gb': {'key': 'recoveryPointSizeInGB', 'type': 'int'}, 1204 } 1205 1206 def __init__(self, **kwargs): 1207 super(AzureFileShareRecoveryPoint, self).__init__(**kwargs) 1208 self.recovery_point_type = None 1209 self.recovery_point_time = None 1210 self.file_share_snapshot_uri = None 1211 self.recovery_point_size_in_gb = None 1212 self.object_type = 'AzureFileShareRecoveryPoint' 1213 1214 1215class RestoreRequest(Model): 1216 """Base class for restore request. Workload-specific restore requests are 1217 derived from this class. 1218 1219 You probably want to use the sub-classes and not this class directly. Known 1220 sub-classes are: AzureFileShareRestoreRequest, AzureWorkloadRestoreRequest, 1221 IaasVMRestoreRequest 1222 1223 All required parameters must be populated in order to send to Azure. 1224 1225 :param object_type: Required. Constant filled by server. 1226 :type object_type: str 1227 """ 1228 1229 _validation = { 1230 'object_type': {'required': True}, 1231 } 1232 1233 _attribute_map = { 1234 'object_type': {'key': 'objectType', 'type': 'str'}, 1235 } 1236 1237 _subtype_map = { 1238 'object_type': {'AzureFileShareRestoreRequest': 'AzureFileShareRestoreRequest', 'AzureWorkloadRestoreRequest': 'AzureWorkloadRestoreRequest', 'IaasVMRestoreRequest': 'IaasVMRestoreRequest'} 1239 } 1240 1241 def __init__(self, **kwargs): 1242 super(RestoreRequest, self).__init__(**kwargs) 1243 self.object_type = None 1244 1245 1246class AzureFileShareRestoreRequest(RestoreRequest): 1247 """AzureFileShare Restore Request. 1248 1249 All required parameters must be populated in order to send to Azure. 1250 1251 :param object_type: Required. Constant filled by server. 1252 :type object_type: str 1253 :param recovery_type: Type of this recovery. Possible values include: 1254 'Invalid', 'OriginalLocation', 'AlternateLocation', 'RestoreDisks', 1255 'Offline' 1256 :type recovery_type: str or 1257 ~azure.mgmt.recoveryservicesbackup.models.RecoveryType 1258 :param source_resource_id: Source storage account ARM Id 1259 :type source_resource_id: str 1260 :param copy_options: Options to resolve copy conflicts. Possible values 1261 include: 'Invalid', 'CreateCopy', 'Skip', 'Overwrite', 'FailOnConflict' 1262 :type copy_options: str or 1263 ~azure.mgmt.recoveryservicesbackup.models.CopyOptions 1264 :param restore_request_type: Restore Type (FullShareRestore or 1265 ItemLevelRestore). Possible values include: 'Invalid', 'FullShareRestore', 1266 'ItemLevelRestore' 1267 :type restore_request_type: str or 1268 ~azure.mgmt.recoveryservicesbackup.models.RestoreRequestType 1269 :param restore_file_specs: List of Source Files/Folders(which need to 1270 recover) and TargetFolderPath details 1271 :type restore_file_specs: 1272 list[~azure.mgmt.recoveryservicesbackup.models.RestoreFileSpecs] 1273 :param target_details: Target File Share Details 1274 :type target_details: 1275 ~azure.mgmt.recoveryservicesbackup.models.TargetAFSRestoreInfo 1276 """ 1277 1278 _validation = { 1279 'object_type': {'required': True}, 1280 } 1281 1282 _attribute_map = { 1283 'object_type': {'key': 'objectType', 'type': 'str'}, 1284 'recovery_type': {'key': 'recoveryType', 'type': 'str'}, 1285 'source_resource_id': {'key': 'sourceResourceId', 'type': 'str'}, 1286 'copy_options': {'key': 'copyOptions', 'type': 'str'}, 1287 'restore_request_type': {'key': 'restoreRequestType', 'type': 'str'}, 1288 'restore_file_specs': {'key': 'restoreFileSpecs', 'type': '[RestoreFileSpecs]'}, 1289 'target_details': {'key': 'targetDetails', 'type': 'TargetAFSRestoreInfo'}, 1290 } 1291 1292 def __init__(self, **kwargs): 1293 super(AzureFileShareRestoreRequest, self).__init__(**kwargs) 1294 self.recovery_type = kwargs.get('recovery_type', None) 1295 self.source_resource_id = kwargs.get('source_resource_id', None) 1296 self.copy_options = kwargs.get('copy_options', None) 1297 self.restore_request_type = kwargs.get('restore_request_type', None) 1298 self.restore_file_specs = kwargs.get('restore_file_specs', None) 1299 self.target_details = kwargs.get('target_details', None) 1300 self.object_type = 'AzureFileShareRestoreRequest' 1301 1302 1303class IaaSVMContainer(ProtectionContainer): 1304 """IaaS VM workload-specific container. 1305 1306 You probably want to use the sub-classes and not this class directly. Known 1307 sub-classes are: AzureIaaSClassicComputeVMContainer, 1308 AzureIaaSComputeVMContainer 1309 1310 All required parameters must be populated in order to send to Azure. 1311 1312 :param friendly_name: Friendly name of the container. 1313 :type friendly_name: str 1314 :param backup_management_type: Type of backup management for the 1315 container. Possible values include: 'Invalid', 'AzureIaasVM', 'MAB', 1316 'DPM', 'AzureBackupServer', 'AzureSql', 'AzureStorage', 'AzureWorkload', 1317 'DefaultBackup' 1318 :type backup_management_type: str or 1319 ~azure.mgmt.recoveryservicesbackup.models.BackupManagementType 1320 :param registration_status: Status of registration of the container with 1321 the Recovery Services Vault. 1322 :type registration_status: str 1323 :param health_status: Status of health of the container. 1324 :type health_status: str 1325 :param container_type: Required. Constant filled by server. 1326 :type container_type: str 1327 :param virtual_machine_id: Fully qualified ARM url of the virtual machine 1328 represented by this Azure IaaS VM container. 1329 :type virtual_machine_id: str 1330 :param virtual_machine_version: Specifies whether the container represents 1331 a Classic or an Azure Resource Manager VM. 1332 :type virtual_machine_version: str 1333 :param resource_group: Resource group name of Recovery Services Vault. 1334 :type resource_group: str 1335 """ 1336 1337 _validation = { 1338 'container_type': {'required': True}, 1339 } 1340 1341 _attribute_map = { 1342 'friendly_name': {'key': 'friendlyName', 'type': 'str'}, 1343 'backup_management_type': {'key': 'backupManagementType', 'type': 'str'}, 1344 'registration_status': {'key': 'registrationStatus', 'type': 'str'}, 1345 'health_status': {'key': 'healthStatus', 'type': 'str'}, 1346 'container_type': {'key': 'containerType', 'type': 'str'}, 1347 'virtual_machine_id': {'key': 'virtualMachineId', 'type': 'str'}, 1348 'virtual_machine_version': {'key': 'virtualMachineVersion', 'type': 'str'}, 1349 'resource_group': {'key': 'resourceGroup', 'type': 'str'}, 1350 } 1351 1352 _subtype_map = { 1353 'container_type': {'Microsoft.ClassicCompute/virtualMachines': 'AzureIaaSClassicComputeVMContainer', 'Microsoft.Compute/virtualMachines': 'AzureIaaSComputeVMContainer'} 1354 } 1355 1356 def __init__(self, **kwargs): 1357 super(IaaSVMContainer, self).__init__(**kwargs) 1358 self.virtual_machine_id = kwargs.get('virtual_machine_id', None) 1359 self.virtual_machine_version = kwargs.get('virtual_machine_version', None) 1360 self.resource_group = kwargs.get('resource_group', None) 1361 self.container_type = 'IaaSVMContainer' 1362 1363 1364class AzureIaaSClassicComputeVMContainer(IaaSVMContainer): 1365 """IaaS VM workload-specific backup item representing a classic virtual 1366 machine. 1367 1368 All required parameters must be populated in order to send to Azure. 1369 1370 :param friendly_name: Friendly name of the container. 1371 :type friendly_name: str 1372 :param backup_management_type: Type of backup management for the 1373 container. Possible values include: 'Invalid', 'AzureIaasVM', 'MAB', 1374 'DPM', 'AzureBackupServer', 'AzureSql', 'AzureStorage', 'AzureWorkload', 1375 'DefaultBackup' 1376 :type backup_management_type: str or 1377 ~azure.mgmt.recoveryservicesbackup.models.BackupManagementType 1378 :param registration_status: Status of registration of the container with 1379 the Recovery Services Vault. 1380 :type registration_status: str 1381 :param health_status: Status of health of the container. 1382 :type health_status: str 1383 :param container_type: Required. Constant filled by server. 1384 :type container_type: str 1385 :param virtual_machine_id: Fully qualified ARM url of the virtual machine 1386 represented by this Azure IaaS VM container. 1387 :type virtual_machine_id: str 1388 :param virtual_machine_version: Specifies whether the container represents 1389 a Classic or an Azure Resource Manager VM. 1390 :type virtual_machine_version: str 1391 :param resource_group: Resource group name of Recovery Services Vault. 1392 :type resource_group: str 1393 """ 1394 1395 _validation = { 1396 'container_type': {'required': True}, 1397 } 1398 1399 _attribute_map = { 1400 'friendly_name': {'key': 'friendlyName', 'type': 'str'}, 1401 'backup_management_type': {'key': 'backupManagementType', 'type': 'str'}, 1402 'registration_status': {'key': 'registrationStatus', 'type': 'str'}, 1403 'health_status': {'key': 'healthStatus', 'type': 'str'}, 1404 'container_type': {'key': 'containerType', 'type': 'str'}, 1405 'virtual_machine_id': {'key': 'virtualMachineId', 'type': 'str'}, 1406 'virtual_machine_version': {'key': 'virtualMachineVersion', 'type': 'str'}, 1407 'resource_group': {'key': 'resourceGroup', 'type': 'str'}, 1408 } 1409 1410 def __init__(self, **kwargs): 1411 super(AzureIaaSClassicComputeVMContainer, self).__init__(**kwargs) 1412 self.container_type = 'Microsoft.ClassicCompute/virtualMachines' 1413 1414 1415class IaaSVMProtectableItem(WorkloadProtectableItem): 1416 """IaaS VM workload-specific backup item. 1417 1418 You probably want to use the sub-classes and not this class directly. Known 1419 sub-classes are: AzureIaaSClassicComputeVMProtectableItem, 1420 AzureIaaSComputeVMProtectableItem 1421 1422 All required parameters must be populated in order to send to Azure. 1423 1424 :param backup_management_type: Type of backup management to backup an 1425 item. 1426 :type backup_management_type: str 1427 :param workload_type: Type of workload for the backup management 1428 :type workload_type: str 1429 :param friendly_name: Friendly name of the backup item. 1430 :type friendly_name: str 1431 :param protection_state: State of the back up item. Possible values 1432 include: 'Invalid', 'NotProtected', 'Protecting', 'Protected', 1433 'ProtectionFailed' 1434 :type protection_state: str or 1435 ~azure.mgmt.recoveryservicesbackup.models.ProtectionStatus 1436 :param protectable_item_type: Required. Constant filled by server. 1437 :type protectable_item_type: str 1438 :param virtual_machine_id: Fully qualified ARM ID of the virtual machine. 1439 :type virtual_machine_id: str 1440 """ 1441 1442 _validation = { 1443 'protectable_item_type': {'required': True}, 1444 } 1445 1446 _attribute_map = { 1447 'backup_management_type': {'key': 'backupManagementType', 'type': 'str'}, 1448 'workload_type': {'key': 'workloadType', 'type': 'str'}, 1449 'friendly_name': {'key': 'friendlyName', 'type': 'str'}, 1450 'protection_state': {'key': 'protectionState', 'type': 'str'}, 1451 'protectable_item_type': {'key': 'protectableItemType', 'type': 'str'}, 1452 'virtual_machine_id': {'key': 'virtualMachineId', 'type': 'str'}, 1453 } 1454 1455 _subtype_map = { 1456 'protectable_item_type': {'Microsoft.ClassicCompute/virtualMachines': 'AzureIaaSClassicComputeVMProtectableItem', 'Microsoft.Compute/virtualMachines': 'AzureIaaSComputeVMProtectableItem'} 1457 } 1458 1459 def __init__(self, **kwargs): 1460 super(IaaSVMProtectableItem, self).__init__(**kwargs) 1461 self.virtual_machine_id = kwargs.get('virtual_machine_id', None) 1462 self.protectable_item_type = 'IaaSVMProtectableItem' 1463 1464 1465class AzureIaaSClassicComputeVMProtectableItem(IaaSVMProtectableItem): 1466 """IaaS VM workload-specific backup item representing the Classic Compute VM. 1467 1468 All required parameters must be populated in order to send to Azure. 1469 1470 :param backup_management_type: Type of backup management to backup an 1471 item. 1472 :type backup_management_type: str 1473 :param workload_type: Type of workload for the backup management 1474 :type workload_type: str 1475 :param friendly_name: Friendly name of the backup item. 1476 :type friendly_name: str 1477 :param protection_state: State of the back up item. Possible values 1478 include: 'Invalid', 'NotProtected', 'Protecting', 'Protected', 1479 'ProtectionFailed' 1480 :type protection_state: str or 1481 ~azure.mgmt.recoveryservicesbackup.models.ProtectionStatus 1482 :param protectable_item_type: Required. Constant filled by server. 1483 :type protectable_item_type: str 1484 :param virtual_machine_id: Fully qualified ARM ID of the virtual machine. 1485 :type virtual_machine_id: str 1486 """ 1487 1488 _validation = { 1489 'protectable_item_type': {'required': True}, 1490 } 1491 1492 _attribute_map = { 1493 'backup_management_type': {'key': 'backupManagementType', 'type': 'str'}, 1494 'workload_type': {'key': 'workloadType', 'type': 'str'}, 1495 'friendly_name': {'key': 'friendlyName', 'type': 'str'}, 1496 'protection_state': {'key': 'protectionState', 'type': 'str'}, 1497 'protectable_item_type': {'key': 'protectableItemType', 'type': 'str'}, 1498 'virtual_machine_id': {'key': 'virtualMachineId', 'type': 'str'}, 1499 } 1500 1501 def __init__(self, **kwargs): 1502 super(AzureIaaSClassicComputeVMProtectableItem, self).__init__(**kwargs) 1503 self.protectable_item_type = 'Microsoft.ClassicCompute/virtualMachines' 1504 1505 1506class AzureIaaSVMProtectedItem(ProtectedItem): 1507 """IaaS VM workload-specific backup item. 1508 1509 You probably want to use the sub-classes and not this class directly. Known 1510 sub-classes are: AzureIaaSClassicComputeVMProtectedItem, 1511 AzureIaaSComputeVMProtectedItem 1512 1513 All required parameters must be populated in order to send to Azure. 1514 1515 :param backup_management_type: Type of backup management for the backed up 1516 item. Possible values include: 'Invalid', 'AzureIaasVM', 'MAB', 'DPM', 1517 'AzureBackupServer', 'AzureSql', 'AzureStorage', 'AzureWorkload', 1518 'DefaultBackup' 1519 :type backup_management_type: str or 1520 ~azure.mgmt.recoveryservicesbackup.models.BackupManagementType 1521 :param workload_type: Type of workload this item represents. Possible 1522 values include: 'Invalid', 'VM', 'FileFolder', 'AzureSqlDb', 'SQLDB', 1523 'Exchange', 'Sharepoint', 'VMwareVM', 'SystemState', 'Client', 1524 'GenericDataSource', 'SQLDataBase', 'AzureFileShare', 'SAPHanaDatabase', 1525 'SAPAseDatabase' 1526 :type workload_type: str or 1527 ~azure.mgmt.recoveryservicesbackup.models.DataSourceType 1528 :param container_name: Unique name of container 1529 :type container_name: str 1530 :param source_resource_id: ARM ID of the resource to be backed up. 1531 :type source_resource_id: str 1532 :param policy_id: ID of the backup policy with which this item is backed 1533 up. 1534 :type policy_id: str 1535 :param last_recovery_point: Timestamp when the last (latest) backup copy 1536 was created for this backup item. 1537 :type last_recovery_point: datetime 1538 :param backup_set_name: Name of the backup set the backup item belongs to 1539 :type backup_set_name: str 1540 :param create_mode: Create mode to indicate recovery of existing soft 1541 deleted data source or creation of new data source. Possible values 1542 include: 'Invalid', 'Default', 'Recover' 1543 :type create_mode: str or 1544 ~azure.mgmt.recoveryservicesbackup.models.CreateMode 1545 :param deferred_delete_time_in_utc: Time for deferred deletion in UTC 1546 :type deferred_delete_time_in_utc: datetime 1547 :param is_scheduled_for_deferred_delete: Flag to identify whether the DS 1548 is scheduled for deferred delete 1549 :type is_scheduled_for_deferred_delete: bool 1550 :param deferred_delete_time_remaining: Time remaining before the DS marked 1551 for deferred delete is permanently deleted 1552 :type deferred_delete_time_remaining: str 1553 :param is_deferred_delete_schedule_upcoming: Flag to identify whether the 1554 deferred deleted DS is to be purged soon 1555 :type is_deferred_delete_schedule_upcoming: bool 1556 :param is_rehydrate: Flag to identify that deferred deleted DS is to be 1557 moved into Pause state 1558 :type is_rehydrate: bool 1559 :param resource_guard_operation_requests: ResourceGuardOperationRequests 1560 on which LAC check will be performed 1561 :type resource_guard_operation_requests: list[str] 1562 :param protected_item_type: Required. Constant filled by server. 1563 :type protected_item_type: str 1564 :param friendly_name: Friendly name of the VM represented by this backup 1565 item. 1566 :type friendly_name: str 1567 :param virtual_machine_id: Fully qualified ARM ID of the virtual machine 1568 represented by this item. 1569 :type virtual_machine_id: str 1570 :param protection_status: Backup status of this backup item. 1571 :type protection_status: str 1572 :param protection_state: Backup state of this backup item. Possible values 1573 include: 'Invalid', 'IRPending', 'Protected', 'ProtectionError', 1574 'ProtectionStopped', 'ProtectionPaused' 1575 :type protection_state: str or 1576 ~azure.mgmt.recoveryservicesbackup.models.ProtectionState 1577 :param health_status: Health status of protected item. Possible values 1578 include: 'Passed', 'ActionRequired', 'ActionSuggested', 'Invalid' 1579 :type health_status: str or 1580 ~azure.mgmt.recoveryservicesbackup.models.HealthStatus 1581 :param health_details: Health details on this backup item. 1582 :type health_details: 1583 list[~azure.mgmt.recoveryservicesbackup.models.AzureIaaSVMHealthDetails] 1584 :param kpis_healths: Health details of different KPIs 1585 :type kpis_healths: dict[str, 1586 ~azure.mgmt.recoveryservicesbackup.models.KPIResourceHealthDetails] 1587 :param last_backup_status: Last backup operation status. 1588 :type last_backup_status: str 1589 :param last_backup_time: Timestamp of the last backup operation on this 1590 backup item. 1591 :type last_backup_time: datetime 1592 :param protected_item_data_id: Data ID of the protected item. 1593 :type protected_item_data_id: str 1594 :param extended_info: Additional information for this backup item. 1595 :type extended_info: 1596 ~azure.mgmt.recoveryservicesbackup.models.AzureIaaSVMProtectedItemExtendedInfo 1597 :param extended_properties: 1598 :type extended_properties: 1599 ~azure.mgmt.recoveryservicesbackup.models.ExtendedProperties 1600 """ 1601 1602 _validation = { 1603 'protected_item_type': {'required': True}, 1604 } 1605 1606 _attribute_map = { 1607 'backup_management_type': {'key': 'backupManagementType', 'type': 'str'}, 1608 'workload_type': {'key': 'workloadType', 'type': 'str'}, 1609 'container_name': {'key': 'containerName', 'type': 'str'}, 1610 'source_resource_id': {'key': 'sourceResourceId', 'type': 'str'}, 1611 'policy_id': {'key': 'policyId', 'type': 'str'}, 1612 'last_recovery_point': {'key': 'lastRecoveryPoint', 'type': 'iso-8601'}, 1613 'backup_set_name': {'key': 'backupSetName', 'type': 'str'}, 1614 'create_mode': {'key': 'createMode', 'type': 'str'}, 1615 'deferred_delete_time_in_utc': {'key': 'deferredDeleteTimeInUTC', 'type': 'iso-8601'}, 1616 'is_scheduled_for_deferred_delete': {'key': 'isScheduledForDeferredDelete', 'type': 'bool'}, 1617 'deferred_delete_time_remaining': {'key': 'deferredDeleteTimeRemaining', 'type': 'str'}, 1618 'is_deferred_delete_schedule_upcoming': {'key': 'isDeferredDeleteScheduleUpcoming', 'type': 'bool'}, 1619 'is_rehydrate': {'key': 'isRehydrate', 'type': 'bool'}, 1620 'resource_guard_operation_requests': {'key': 'resourceGuardOperationRequests', 'type': '[str]'}, 1621 'protected_item_type': {'key': 'protectedItemType', 'type': 'str'}, 1622 'friendly_name': {'key': 'friendlyName', 'type': 'str'}, 1623 'virtual_machine_id': {'key': 'virtualMachineId', 'type': 'str'}, 1624 'protection_status': {'key': 'protectionStatus', 'type': 'str'}, 1625 'protection_state': {'key': 'protectionState', 'type': 'str'}, 1626 'health_status': {'key': 'healthStatus', 'type': 'str'}, 1627 'health_details': {'key': 'healthDetails', 'type': '[AzureIaaSVMHealthDetails]'}, 1628 'kpis_healths': {'key': 'kpisHealths', 'type': '{KPIResourceHealthDetails}'}, 1629 'last_backup_status': {'key': 'lastBackupStatus', 'type': 'str'}, 1630 'last_backup_time': {'key': 'lastBackupTime', 'type': 'iso-8601'}, 1631 'protected_item_data_id': {'key': 'protectedItemDataId', 'type': 'str'}, 1632 'extended_info': {'key': 'extendedInfo', 'type': 'AzureIaaSVMProtectedItemExtendedInfo'}, 1633 'extended_properties': {'key': 'extendedProperties', 'type': 'ExtendedProperties'}, 1634 } 1635 1636 _subtype_map = { 1637 'protected_item_type': {'Microsoft.ClassicCompute/virtualMachines': 'AzureIaaSClassicComputeVMProtectedItem', 'Microsoft.Compute/virtualMachines': 'AzureIaaSComputeVMProtectedItem'} 1638 } 1639 1640 def __init__(self, **kwargs): 1641 super(AzureIaaSVMProtectedItem, self).__init__(**kwargs) 1642 self.friendly_name = kwargs.get('friendly_name', None) 1643 self.virtual_machine_id = kwargs.get('virtual_machine_id', None) 1644 self.protection_status = kwargs.get('protection_status', None) 1645 self.protection_state = kwargs.get('protection_state', None) 1646 self.health_status = kwargs.get('health_status', None) 1647 self.health_details = kwargs.get('health_details', None) 1648 self.kpis_healths = kwargs.get('kpis_healths', None) 1649 self.last_backup_status = kwargs.get('last_backup_status', None) 1650 self.last_backup_time = kwargs.get('last_backup_time', None) 1651 self.protected_item_data_id = kwargs.get('protected_item_data_id', None) 1652 self.extended_info = kwargs.get('extended_info', None) 1653 self.extended_properties = kwargs.get('extended_properties', None) 1654 self.protected_item_type = 'AzureIaaSVMProtectedItem' 1655 1656 1657class AzureIaaSClassicComputeVMProtectedItem(AzureIaaSVMProtectedItem): 1658 """IaaS VM workload-specific backup item representing the Classic Compute VM. 1659 1660 All required parameters must be populated in order to send to Azure. 1661 1662 :param backup_management_type: Type of backup management for the backed up 1663 item. Possible values include: 'Invalid', 'AzureIaasVM', 'MAB', 'DPM', 1664 'AzureBackupServer', 'AzureSql', 'AzureStorage', 'AzureWorkload', 1665 'DefaultBackup' 1666 :type backup_management_type: str or 1667 ~azure.mgmt.recoveryservicesbackup.models.BackupManagementType 1668 :param workload_type: Type of workload this item represents. Possible 1669 values include: 'Invalid', 'VM', 'FileFolder', 'AzureSqlDb', 'SQLDB', 1670 'Exchange', 'Sharepoint', 'VMwareVM', 'SystemState', 'Client', 1671 'GenericDataSource', 'SQLDataBase', 'AzureFileShare', 'SAPHanaDatabase', 1672 'SAPAseDatabase' 1673 :type workload_type: str or 1674 ~azure.mgmt.recoveryservicesbackup.models.DataSourceType 1675 :param container_name: Unique name of container 1676 :type container_name: str 1677 :param source_resource_id: ARM ID of the resource to be backed up. 1678 :type source_resource_id: str 1679 :param policy_id: ID of the backup policy with which this item is backed 1680 up. 1681 :type policy_id: str 1682 :param last_recovery_point: Timestamp when the last (latest) backup copy 1683 was created for this backup item. 1684 :type last_recovery_point: datetime 1685 :param backup_set_name: Name of the backup set the backup item belongs to 1686 :type backup_set_name: str 1687 :param create_mode: Create mode to indicate recovery of existing soft 1688 deleted data source or creation of new data source. Possible values 1689 include: 'Invalid', 'Default', 'Recover' 1690 :type create_mode: str or 1691 ~azure.mgmt.recoveryservicesbackup.models.CreateMode 1692 :param deferred_delete_time_in_utc: Time for deferred deletion in UTC 1693 :type deferred_delete_time_in_utc: datetime 1694 :param is_scheduled_for_deferred_delete: Flag to identify whether the DS 1695 is scheduled for deferred delete 1696 :type is_scheduled_for_deferred_delete: bool 1697 :param deferred_delete_time_remaining: Time remaining before the DS marked 1698 for deferred delete is permanently deleted 1699 :type deferred_delete_time_remaining: str 1700 :param is_deferred_delete_schedule_upcoming: Flag to identify whether the 1701 deferred deleted DS is to be purged soon 1702 :type is_deferred_delete_schedule_upcoming: bool 1703 :param is_rehydrate: Flag to identify that deferred deleted DS is to be 1704 moved into Pause state 1705 :type is_rehydrate: bool 1706 :param resource_guard_operation_requests: ResourceGuardOperationRequests 1707 on which LAC check will be performed 1708 :type resource_guard_operation_requests: list[str] 1709 :param protected_item_type: Required. Constant filled by server. 1710 :type protected_item_type: str 1711 :param friendly_name: Friendly name of the VM represented by this backup 1712 item. 1713 :type friendly_name: str 1714 :param virtual_machine_id: Fully qualified ARM ID of the virtual machine 1715 represented by this item. 1716 :type virtual_machine_id: str 1717 :param protection_status: Backup status of this backup item. 1718 :type protection_status: str 1719 :param protection_state: Backup state of this backup item. Possible values 1720 include: 'Invalid', 'IRPending', 'Protected', 'ProtectionError', 1721 'ProtectionStopped', 'ProtectionPaused' 1722 :type protection_state: str or 1723 ~azure.mgmt.recoveryservicesbackup.models.ProtectionState 1724 :param health_status: Health status of protected item. Possible values 1725 include: 'Passed', 'ActionRequired', 'ActionSuggested', 'Invalid' 1726 :type health_status: str or 1727 ~azure.mgmt.recoveryservicesbackup.models.HealthStatus 1728 :param health_details: Health details on this backup item. 1729 :type health_details: 1730 list[~azure.mgmt.recoveryservicesbackup.models.AzureIaaSVMHealthDetails] 1731 :param kpis_healths: Health details of different KPIs 1732 :type kpis_healths: dict[str, 1733 ~azure.mgmt.recoveryservicesbackup.models.KPIResourceHealthDetails] 1734 :param last_backup_status: Last backup operation status. 1735 :type last_backup_status: str 1736 :param last_backup_time: Timestamp of the last backup operation on this 1737 backup item. 1738 :type last_backup_time: datetime 1739 :param protected_item_data_id: Data ID of the protected item. 1740 :type protected_item_data_id: str 1741 :param extended_info: Additional information for this backup item. 1742 :type extended_info: 1743 ~azure.mgmt.recoveryservicesbackup.models.AzureIaaSVMProtectedItemExtendedInfo 1744 :param extended_properties: 1745 :type extended_properties: 1746 ~azure.mgmt.recoveryservicesbackup.models.ExtendedProperties 1747 """ 1748 1749 _validation = { 1750 'protected_item_type': {'required': True}, 1751 } 1752 1753 _attribute_map = { 1754 'backup_management_type': {'key': 'backupManagementType', 'type': 'str'}, 1755 'workload_type': {'key': 'workloadType', 'type': 'str'}, 1756 'container_name': {'key': 'containerName', 'type': 'str'}, 1757 'source_resource_id': {'key': 'sourceResourceId', 'type': 'str'}, 1758 'policy_id': {'key': 'policyId', 'type': 'str'}, 1759 'last_recovery_point': {'key': 'lastRecoveryPoint', 'type': 'iso-8601'}, 1760 'backup_set_name': {'key': 'backupSetName', 'type': 'str'}, 1761 'create_mode': {'key': 'createMode', 'type': 'str'}, 1762 'deferred_delete_time_in_utc': {'key': 'deferredDeleteTimeInUTC', 'type': 'iso-8601'}, 1763 'is_scheduled_for_deferred_delete': {'key': 'isScheduledForDeferredDelete', 'type': 'bool'}, 1764 'deferred_delete_time_remaining': {'key': 'deferredDeleteTimeRemaining', 'type': 'str'}, 1765 'is_deferred_delete_schedule_upcoming': {'key': 'isDeferredDeleteScheduleUpcoming', 'type': 'bool'}, 1766 'is_rehydrate': {'key': 'isRehydrate', 'type': 'bool'}, 1767 'resource_guard_operation_requests': {'key': 'resourceGuardOperationRequests', 'type': '[str]'}, 1768 'protected_item_type': {'key': 'protectedItemType', 'type': 'str'}, 1769 'friendly_name': {'key': 'friendlyName', 'type': 'str'}, 1770 'virtual_machine_id': {'key': 'virtualMachineId', 'type': 'str'}, 1771 'protection_status': {'key': 'protectionStatus', 'type': 'str'}, 1772 'protection_state': {'key': 'protectionState', 'type': 'str'}, 1773 'health_status': {'key': 'healthStatus', 'type': 'str'}, 1774 'health_details': {'key': 'healthDetails', 'type': '[AzureIaaSVMHealthDetails]'}, 1775 'kpis_healths': {'key': 'kpisHealths', 'type': '{KPIResourceHealthDetails}'}, 1776 'last_backup_status': {'key': 'lastBackupStatus', 'type': 'str'}, 1777 'last_backup_time': {'key': 'lastBackupTime', 'type': 'iso-8601'}, 1778 'protected_item_data_id': {'key': 'protectedItemDataId', 'type': 'str'}, 1779 'extended_info': {'key': 'extendedInfo', 'type': 'AzureIaaSVMProtectedItemExtendedInfo'}, 1780 'extended_properties': {'key': 'extendedProperties', 'type': 'ExtendedProperties'}, 1781 } 1782 1783 def __init__(self, **kwargs): 1784 super(AzureIaaSClassicComputeVMProtectedItem, self).__init__(**kwargs) 1785 self.protected_item_type = 'Microsoft.ClassicCompute/virtualMachines' 1786 1787 1788class AzureIaaSComputeVMContainer(IaaSVMContainer): 1789 """IaaS VM workload-specific backup item representing an Azure Resource 1790 Manager virtual machine. 1791 1792 All required parameters must be populated in order to send to Azure. 1793 1794 :param friendly_name: Friendly name of the container. 1795 :type friendly_name: str 1796 :param backup_management_type: Type of backup management for the 1797 container. Possible values include: 'Invalid', 'AzureIaasVM', 'MAB', 1798 'DPM', 'AzureBackupServer', 'AzureSql', 'AzureStorage', 'AzureWorkload', 1799 'DefaultBackup' 1800 :type backup_management_type: str or 1801 ~azure.mgmt.recoveryservicesbackup.models.BackupManagementType 1802 :param registration_status: Status of registration of the container with 1803 the Recovery Services Vault. 1804 :type registration_status: str 1805 :param health_status: Status of health of the container. 1806 :type health_status: str 1807 :param container_type: Required. Constant filled by server. 1808 :type container_type: str 1809 :param virtual_machine_id: Fully qualified ARM url of the virtual machine 1810 represented by this Azure IaaS VM container. 1811 :type virtual_machine_id: str 1812 :param virtual_machine_version: Specifies whether the container represents 1813 a Classic or an Azure Resource Manager VM. 1814 :type virtual_machine_version: str 1815 :param resource_group: Resource group name of Recovery Services Vault. 1816 :type resource_group: str 1817 """ 1818 1819 _validation = { 1820 'container_type': {'required': True}, 1821 } 1822 1823 _attribute_map = { 1824 'friendly_name': {'key': 'friendlyName', 'type': 'str'}, 1825 'backup_management_type': {'key': 'backupManagementType', 'type': 'str'}, 1826 'registration_status': {'key': 'registrationStatus', 'type': 'str'}, 1827 'health_status': {'key': 'healthStatus', 'type': 'str'}, 1828 'container_type': {'key': 'containerType', 'type': 'str'}, 1829 'virtual_machine_id': {'key': 'virtualMachineId', 'type': 'str'}, 1830 'virtual_machine_version': {'key': 'virtualMachineVersion', 'type': 'str'}, 1831 'resource_group': {'key': 'resourceGroup', 'type': 'str'}, 1832 } 1833 1834 def __init__(self, **kwargs): 1835 super(AzureIaaSComputeVMContainer, self).__init__(**kwargs) 1836 self.container_type = 'Microsoft.Compute/virtualMachines' 1837 1838 1839class AzureIaaSComputeVMProtectableItem(IaaSVMProtectableItem): 1840 """IaaS VM workload-specific backup item representing the Azure Resource 1841 Manager VM. 1842 1843 All required parameters must be populated in order to send to Azure. 1844 1845 :param backup_management_type: Type of backup management to backup an 1846 item. 1847 :type backup_management_type: str 1848 :param workload_type: Type of workload for the backup management 1849 :type workload_type: str 1850 :param friendly_name: Friendly name of the backup item. 1851 :type friendly_name: str 1852 :param protection_state: State of the back up item. Possible values 1853 include: 'Invalid', 'NotProtected', 'Protecting', 'Protected', 1854 'ProtectionFailed' 1855 :type protection_state: str or 1856 ~azure.mgmt.recoveryservicesbackup.models.ProtectionStatus 1857 :param protectable_item_type: Required. Constant filled by server. 1858 :type protectable_item_type: str 1859 :param virtual_machine_id: Fully qualified ARM ID of the virtual machine. 1860 :type virtual_machine_id: str 1861 """ 1862 1863 _validation = { 1864 'protectable_item_type': {'required': True}, 1865 } 1866 1867 _attribute_map = { 1868 'backup_management_type': {'key': 'backupManagementType', 'type': 'str'}, 1869 'workload_type': {'key': 'workloadType', 'type': 'str'}, 1870 'friendly_name': {'key': 'friendlyName', 'type': 'str'}, 1871 'protection_state': {'key': 'protectionState', 'type': 'str'}, 1872 'protectable_item_type': {'key': 'protectableItemType', 'type': 'str'}, 1873 'virtual_machine_id': {'key': 'virtualMachineId', 'type': 'str'}, 1874 } 1875 1876 def __init__(self, **kwargs): 1877 super(AzureIaaSComputeVMProtectableItem, self).__init__(**kwargs) 1878 self.protectable_item_type = 'Microsoft.Compute/virtualMachines' 1879 1880 1881class AzureIaaSComputeVMProtectedItem(AzureIaaSVMProtectedItem): 1882 """IaaS VM workload-specific backup item representing the Azure Resource 1883 Manager VM. 1884 1885 All required parameters must be populated in order to send to Azure. 1886 1887 :param backup_management_type: Type of backup management for the backed up 1888 item. Possible values include: 'Invalid', 'AzureIaasVM', 'MAB', 'DPM', 1889 'AzureBackupServer', 'AzureSql', 'AzureStorage', 'AzureWorkload', 1890 'DefaultBackup' 1891 :type backup_management_type: str or 1892 ~azure.mgmt.recoveryservicesbackup.models.BackupManagementType 1893 :param workload_type: Type of workload this item represents. Possible 1894 values include: 'Invalid', 'VM', 'FileFolder', 'AzureSqlDb', 'SQLDB', 1895 'Exchange', 'Sharepoint', 'VMwareVM', 'SystemState', 'Client', 1896 'GenericDataSource', 'SQLDataBase', 'AzureFileShare', 'SAPHanaDatabase', 1897 'SAPAseDatabase' 1898 :type workload_type: str or 1899 ~azure.mgmt.recoveryservicesbackup.models.DataSourceType 1900 :param container_name: Unique name of container 1901 :type container_name: str 1902 :param source_resource_id: ARM ID of the resource to be backed up. 1903 :type source_resource_id: str 1904 :param policy_id: ID of the backup policy with which this item is backed 1905 up. 1906 :type policy_id: str 1907 :param last_recovery_point: Timestamp when the last (latest) backup copy 1908 was created for this backup item. 1909 :type last_recovery_point: datetime 1910 :param backup_set_name: Name of the backup set the backup item belongs to 1911 :type backup_set_name: str 1912 :param create_mode: Create mode to indicate recovery of existing soft 1913 deleted data source or creation of new data source. Possible values 1914 include: 'Invalid', 'Default', 'Recover' 1915 :type create_mode: str or 1916 ~azure.mgmt.recoveryservicesbackup.models.CreateMode 1917 :param deferred_delete_time_in_utc: Time for deferred deletion in UTC 1918 :type deferred_delete_time_in_utc: datetime 1919 :param is_scheduled_for_deferred_delete: Flag to identify whether the DS 1920 is scheduled for deferred delete 1921 :type is_scheduled_for_deferred_delete: bool 1922 :param deferred_delete_time_remaining: Time remaining before the DS marked 1923 for deferred delete is permanently deleted 1924 :type deferred_delete_time_remaining: str 1925 :param is_deferred_delete_schedule_upcoming: Flag to identify whether the 1926 deferred deleted DS is to be purged soon 1927 :type is_deferred_delete_schedule_upcoming: bool 1928 :param is_rehydrate: Flag to identify that deferred deleted DS is to be 1929 moved into Pause state 1930 :type is_rehydrate: bool 1931 :param resource_guard_operation_requests: ResourceGuardOperationRequests 1932 on which LAC check will be performed 1933 :type resource_guard_operation_requests: list[str] 1934 :param protected_item_type: Required. Constant filled by server. 1935 :type protected_item_type: str 1936 :param friendly_name: Friendly name of the VM represented by this backup 1937 item. 1938 :type friendly_name: str 1939 :param virtual_machine_id: Fully qualified ARM ID of the virtual machine 1940 represented by this item. 1941 :type virtual_machine_id: str 1942 :param protection_status: Backup status of this backup item. 1943 :type protection_status: str 1944 :param protection_state: Backup state of this backup item. Possible values 1945 include: 'Invalid', 'IRPending', 'Protected', 'ProtectionError', 1946 'ProtectionStopped', 'ProtectionPaused' 1947 :type protection_state: str or 1948 ~azure.mgmt.recoveryservicesbackup.models.ProtectionState 1949 :param health_status: Health status of protected item. Possible values 1950 include: 'Passed', 'ActionRequired', 'ActionSuggested', 'Invalid' 1951 :type health_status: str or 1952 ~azure.mgmt.recoveryservicesbackup.models.HealthStatus 1953 :param health_details: Health details on this backup item. 1954 :type health_details: 1955 list[~azure.mgmt.recoveryservicesbackup.models.AzureIaaSVMHealthDetails] 1956 :param kpis_healths: Health details of different KPIs 1957 :type kpis_healths: dict[str, 1958 ~azure.mgmt.recoveryservicesbackup.models.KPIResourceHealthDetails] 1959 :param last_backup_status: Last backup operation status. 1960 :type last_backup_status: str 1961 :param last_backup_time: Timestamp of the last backup operation on this 1962 backup item. 1963 :type last_backup_time: datetime 1964 :param protected_item_data_id: Data ID of the protected item. 1965 :type protected_item_data_id: str 1966 :param extended_info: Additional information for this backup item. 1967 :type extended_info: 1968 ~azure.mgmt.recoveryservicesbackup.models.AzureIaaSVMProtectedItemExtendedInfo 1969 :param extended_properties: 1970 :type extended_properties: 1971 ~azure.mgmt.recoveryservicesbackup.models.ExtendedProperties 1972 """ 1973 1974 _validation = { 1975 'protected_item_type': {'required': True}, 1976 } 1977 1978 _attribute_map = { 1979 'backup_management_type': {'key': 'backupManagementType', 'type': 'str'}, 1980 'workload_type': {'key': 'workloadType', 'type': 'str'}, 1981 'container_name': {'key': 'containerName', 'type': 'str'}, 1982 'source_resource_id': {'key': 'sourceResourceId', 'type': 'str'}, 1983 'policy_id': {'key': 'policyId', 'type': 'str'}, 1984 'last_recovery_point': {'key': 'lastRecoveryPoint', 'type': 'iso-8601'}, 1985 'backup_set_name': {'key': 'backupSetName', 'type': 'str'}, 1986 'create_mode': {'key': 'createMode', 'type': 'str'}, 1987 'deferred_delete_time_in_utc': {'key': 'deferredDeleteTimeInUTC', 'type': 'iso-8601'}, 1988 'is_scheduled_for_deferred_delete': {'key': 'isScheduledForDeferredDelete', 'type': 'bool'}, 1989 'deferred_delete_time_remaining': {'key': 'deferredDeleteTimeRemaining', 'type': 'str'}, 1990 'is_deferred_delete_schedule_upcoming': {'key': 'isDeferredDeleteScheduleUpcoming', 'type': 'bool'}, 1991 'is_rehydrate': {'key': 'isRehydrate', 'type': 'bool'}, 1992 'resource_guard_operation_requests': {'key': 'resourceGuardOperationRequests', 'type': '[str]'}, 1993 'protected_item_type': {'key': 'protectedItemType', 'type': 'str'}, 1994 'friendly_name': {'key': 'friendlyName', 'type': 'str'}, 1995 'virtual_machine_id': {'key': 'virtualMachineId', 'type': 'str'}, 1996 'protection_status': {'key': 'protectionStatus', 'type': 'str'}, 1997 'protection_state': {'key': 'protectionState', 'type': 'str'}, 1998 'health_status': {'key': 'healthStatus', 'type': 'str'}, 1999 'health_details': {'key': 'healthDetails', 'type': '[AzureIaaSVMHealthDetails]'}, 2000 'kpis_healths': {'key': 'kpisHealths', 'type': '{KPIResourceHealthDetails}'}, 2001 'last_backup_status': {'key': 'lastBackupStatus', 'type': 'str'}, 2002 'last_backup_time': {'key': 'lastBackupTime', 'type': 'iso-8601'}, 2003 'protected_item_data_id': {'key': 'protectedItemDataId', 'type': 'str'}, 2004 'extended_info': {'key': 'extendedInfo', 'type': 'AzureIaaSVMProtectedItemExtendedInfo'}, 2005 'extended_properties': {'key': 'extendedProperties', 'type': 'ExtendedProperties'}, 2006 } 2007 2008 def __init__(self, **kwargs): 2009 super(AzureIaaSComputeVMProtectedItem, self).__init__(**kwargs) 2010 self.protected_item_type = 'Microsoft.Compute/virtualMachines' 2011 2012 2013class AzureIaaSVMErrorInfo(Model): 2014 """Azure IaaS VM workload-specific error information. 2015 2016 Variables are only populated by the server, and will be ignored when 2017 sending a request. 2018 2019 :ivar error_code: Error code. 2020 :vartype error_code: int 2021 :ivar error_title: Title: Typically, the entity that the error pertains 2022 to. 2023 :vartype error_title: str 2024 :ivar error_string: Localized error string. 2025 :vartype error_string: str 2026 :ivar recommendations: List of localized recommendations for above error 2027 code. 2028 :vartype recommendations: list[str] 2029 """ 2030 2031 _validation = { 2032 'error_code': {'readonly': True}, 2033 'error_title': {'readonly': True}, 2034 'error_string': {'readonly': True}, 2035 'recommendations': {'readonly': True}, 2036 } 2037 2038 _attribute_map = { 2039 'error_code': {'key': 'errorCode', 'type': 'int'}, 2040 'error_title': {'key': 'errorTitle', 'type': 'str'}, 2041 'error_string': {'key': 'errorString', 'type': 'str'}, 2042 'recommendations': {'key': 'recommendations', 'type': '[str]'}, 2043 } 2044 2045 def __init__(self, **kwargs): 2046 super(AzureIaaSVMErrorInfo, self).__init__(**kwargs) 2047 self.error_code = None 2048 self.error_title = None 2049 self.error_string = None 2050 self.recommendations = None 2051 2052 2053class ResourceHealthDetails(Model): 2054 """Health Details for backup items. 2055 2056 Variables are only populated by the server, and will be ignored when 2057 sending a request. 2058 2059 :ivar code: Health Code 2060 :vartype code: int 2061 :ivar title: Health Title 2062 :vartype title: str 2063 :ivar message: Health Message 2064 :vartype message: str 2065 :ivar recommendations: Health Recommended Actions 2066 :vartype recommendations: list[str] 2067 """ 2068 2069 _validation = { 2070 'code': {'readonly': True}, 2071 'title': {'readonly': True}, 2072 'message': {'readonly': True}, 2073 'recommendations': {'readonly': True}, 2074 } 2075 2076 _attribute_map = { 2077 'code': {'key': 'code', 'type': 'int'}, 2078 'title': {'key': 'title', 'type': 'str'}, 2079 'message': {'key': 'message', 'type': 'str'}, 2080 'recommendations': {'key': 'recommendations', 'type': '[str]'}, 2081 } 2082 2083 def __init__(self, **kwargs): 2084 super(ResourceHealthDetails, self).__init__(**kwargs) 2085 self.code = None 2086 self.title = None 2087 self.message = None 2088 self.recommendations = None 2089 2090 2091class AzureIaaSVMHealthDetails(ResourceHealthDetails): 2092 """Azure IaaS VM workload-specific Health Details. 2093 2094 Variables are only populated by the server, and will be ignored when 2095 sending a request. 2096 2097 :ivar code: Health Code 2098 :vartype code: int 2099 :ivar title: Health Title 2100 :vartype title: str 2101 :ivar message: Health Message 2102 :vartype message: str 2103 :ivar recommendations: Health Recommended Actions 2104 :vartype recommendations: list[str] 2105 """ 2106 2107 _validation = { 2108 'code': {'readonly': True}, 2109 'title': {'readonly': True}, 2110 'message': {'readonly': True}, 2111 'recommendations': {'readonly': True}, 2112 } 2113 2114 _attribute_map = { 2115 'code': {'key': 'code', 'type': 'int'}, 2116 'title': {'key': 'title', 'type': 'str'}, 2117 'message': {'key': 'message', 'type': 'str'}, 2118 'recommendations': {'key': 'recommendations', 'type': '[str]'}, 2119 } 2120 2121 def __init__(self, **kwargs): 2122 super(AzureIaaSVMHealthDetails, self).__init__(**kwargs) 2123 2124 2125class Job(Model): 2126 """Defines workload agnostic properties for a job. 2127 2128 You probably want to use the sub-classes and not this class directly. Known 2129 sub-classes are: AzureIaaSVMJob, AzureStorageJob, AzureWorkloadJob, DpmJob, 2130 MabJob, VaultJob 2131 2132 All required parameters must be populated in order to send to Azure. 2133 2134 :param entity_friendly_name: Friendly name of the entity on which the 2135 current job is executing. 2136 :type entity_friendly_name: str 2137 :param backup_management_type: Backup management type to execute the 2138 current job. Possible values include: 'Invalid', 'AzureIaasVM', 'MAB', 2139 'DPM', 'AzureBackupServer', 'AzureSql', 'AzureStorage', 'AzureWorkload', 2140 'DefaultBackup' 2141 :type backup_management_type: str or 2142 ~azure.mgmt.recoveryservicesbackup.models.BackupManagementType 2143 :param operation: The operation name. 2144 :type operation: str 2145 :param status: Job status. 2146 :type status: str 2147 :param start_time: The start time. 2148 :type start_time: datetime 2149 :param end_time: The end time. 2150 :type end_time: datetime 2151 :param activity_id: ActivityId of job. 2152 :type activity_id: str 2153 :param job_type: Required. Constant filled by server. 2154 :type job_type: str 2155 """ 2156 2157 _validation = { 2158 'job_type': {'required': True}, 2159 } 2160 2161 _attribute_map = { 2162 'entity_friendly_name': {'key': 'entityFriendlyName', 'type': 'str'}, 2163 'backup_management_type': {'key': 'backupManagementType', 'type': 'str'}, 2164 'operation': {'key': 'operation', 'type': 'str'}, 2165 'status': {'key': 'status', 'type': 'str'}, 2166 'start_time': {'key': 'startTime', 'type': 'iso-8601'}, 2167 'end_time': {'key': 'endTime', 'type': 'iso-8601'}, 2168 'activity_id': {'key': 'activityId', 'type': 'str'}, 2169 'job_type': {'key': 'jobType', 'type': 'str'}, 2170 } 2171 2172 _subtype_map = { 2173 'job_type': {'AzureIaaSVMJob': 'AzureIaaSVMJob', 'AzureStorageJob': 'AzureStorageJob', 'AzureWorkloadJob': 'AzureWorkloadJob', 'DpmJob': 'DpmJob', 'MabJob': 'MabJob', 'VaultJob': 'VaultJob'} 2174 } 2175 2176 def __init__(self, **kwargs): 2177 super(Job, self).__init__(**kwargs) 2178 self.entity_friendly_name = kwargs.get('entity_friendly_name', None) 2179 self.backup_management_type = kwargs.get('backup_management_type', None) 2180 self.operation = kwargs.get('operation', None) 2181 self.status = kwargs.get('status', None) 2182 self.start_time = kwargs.get('start_time', None) 2183 self.end_time = kwargs.get('end_time', None) 2184 self.activity_id = kwargs.get('activity_id', None) 2185 self.job_type = None 2186 2187 2188class AzureIaaSVMJob(Job): 2189 """Azure IaaS VM workload-specific job object. 2190 2191 All required parameters must be populated in order to send to Azure. 2192 2193 :param entity_friendly_name: Friendly name of the entity on which the 2194 current job is executing. 2195 :type entity_friendly_name: str 2196 :param backup_management_type: Backup management type to execute the 2197 current job. Possible values include: 'Invalid', 'AzureIaasVM', 'MAB', 2198 'DPM', 'AzureBackupServer', 'AzureSql', 'AzureStorage', 'AzureWorkload', 2199 'DefaultBackup' 2200 :type backup_management_type: str or 2201 ~azure.mgmt.recoveryservicesbackup.models.BackupManagementType 2202 :param operation: The operation name. 2203 :type operation: str 2204 :param status: Job status. 2205 :type status: str 2206 :param start_time: The start time. 2207 :type start_time: datetime 2208 :param end_time: The end time. 2209 :type end_time: datetime 2210 :param activity_id: ActivityId of job. 2211 :type activity_id: str 2212 :param job_type: Required. Constant filled by server. 2213 :type job_type: str 2214 :param duration: Time elapsed during the execution of this job. 2215 :type duration: timedelta 2216 :param actions_info: Gets or sets the state/actions applicable on this job 2217 like cancel/retry. 2218 :type actions_info: list[str or 2219 ~azure.mgmt.recoveryservicesbackup.models.JobSupportedAction] 2220 :param error_details: Error details on execution of this job. 2221 :type error_details: 2222 list[~azure.mgmt.recoveryservicesbackup.models.AzureIaaSVMErrorInfo] 2223 :param virtual_machine_version: Specifies whether the backup item is a 2224 Classic or an Azure Resource Manager VM. 2225 :type virtual_machine_version: str 2226 :param extended_info: Additional information for this job. 2227 :type extended_info: 2228 ~azure.mgmt.recoveryservicesbackup.models.AzureIaaSVMJobExtendedInfo 2229 """ 2230 2231 _validation = { 2232 'job_type': {'required': True}, 2233 } 2234 2235 _attribute_map = { 2236 'entity_friendly_name': {'key': 'entityFriendlyName', 'type': 'str'}, 2237 'backup_management_type': {'key': 'backupManagementType', 'type': 'str'}, 2238 'operation': {'key': 'operation', 'type': 'str'}, 2239 'status': {'key': 'status', 'type': 'str'}, 2240 'start_time': {'key': 'startTime', 'type': 'iso-8601'}, 2241 'end_time': {'key': 'endTime', 'type': 'iso-8601'}, 2242 'activity_id': {'key': 'activityId', 'type': 'str'}, 2243 'job_type': {'key': 'jobType', 'type': 'str'}, 2244 'duration': {'key': 'duration', 'type': 'duration'}, 2245 'actions_info': {'key': 'actionsInfo', 'type': '[JobSupportedAction]'}, 2246 'error_details': {'key': 'errorDetails', 'type': '[AzureIaaSVMErrorInfo]'}, 2247 'virtual_machine_version': {'key': 'virtualMachineVersion', 'type': 'str'}, 2248 'extended_info': {'key': 'extendedInfo', 'type': 'AzureIaaSVMJobExtendedInfo'}, 2249 } 2250 2251 def __init__(self, **kwargs): 2252 super(AzureIaaSVMJob, self).__init__(**kwargs) 2253 self.duration = kwargs.get('duration', None) 2254 self.actions_info = kwargs.get('actions_info', None) 2255 self.error_details = kwargs.get('error_details', None) 2256 self.virtual_machine_version = kwargs.get('virtual_machine_version', None) 2257 self.extended_info = kwargs.get('extended_info', None) 2258 self.job_type = 'AzureIaaSVMJob' 2259 2260 2261class AzureIaaSVMJobExtendedInfo(Model): 2262 """Azure IaaS VM workload-specific additional information for job. 2263 2264 :param tasks_list: List of tasks associated with this job. 2265 :type tasks_list: 2266 list[~azure.mgmt.recoveryservicesbackup.models.AzureIaaSVMJobTaskDetails] 2267 :param property_bag: Job properties. 2268 :type property_bag: dict[str, str] 2269 :param internal_property_bag: Job internal properties. 2270 :type internal_property_bag: dict[str, str] 2271 :param progress_percentage: Indicates progress of the job. Null if it has 2272 not started or completed. 2273 :type progress_percentage: float 2274 :param estimated_remaining_duration: Time remaining for execution of this 2275 job. 2276 :type estimated_remaining_duration: str 2277 :param dynamic_error_message: Non localized error message on job 2278 execution. 2279 :type dynamic_error_message: str 2280 """ 2281 2282 _attribute_map = { 2283 'tasks_list': {'key': 'tasksList', 'type': '[AzureIaaSVMJobTaskDetails]'}, 2284 'property_bag': {'key': 'propertyBag', 'type': '{str}'}, 2285 'internal_property_bag': {'key': 'internalPropertyBag', 'type': '{str}'}, 2286 'progress_percentage': {'key': 'progressPercentage', 'type': 'float'}, 2287 'estimated_remaining_duration': {'key': 'estimatedRemainingDuration', 'type': 'str'}, 2288 'dynamic_error_message': {'key': 'dynamicErrorMessage', 'type': 'str'}, 2289 } 2290 2291 def __init__(self, **kwargs): 2292 super(AzureIaaSVMJobExtendedInfo, self).__init__(**kwargs) 2293 self.tasks_list = kwargs.get('tasks_list', None) 2294 self.property_bag = kwargs.get('property_bag', None) 2295 self.internal_property_bag = kwargs.get('internal_property_bag', None) 2296 self.progress_percentage = kwargs.get('progress_percentage', None) 2297 self.estimated_remaining_duration = kwargs.get('estimated_remaining_duration', None) 2298 self.dynamic_error_message = kwargs.get('dynamic_error_message', None) 2299 2300 2301class AzureIaaSVMJobTaskDetails(Model): 2302 """Azure IaaS VM workload-specific job task details. 2303 2304 :param task_id: The task display name. 2305 :type task_id: str 2306 :param start_time: The start time. 2307 :type start_time: datetime 2308 :param end_time: The end time. 2309 :type end_time: datetime 2310 :param instance_id: The instanceId. 2311 :type instance_id: str 2312 :param duration: Time elapsed for task. 2313 :type duration: timedelta 2314 :param status: The status. 2315 :type status: str 2316 :param progress_percentage: Progress of the task. 2317 :type progress_percentage: float 2318 :param task_execution_details: Details about execution of the task. 2319 eg: number of bytes transferred etc 2320 :type task_execution_details: str 2321 """ 2322 2323 _attribute_map = { 2324 'task_id': {'key': 'taskId', 'type': 'str'}, 2325 'start_time': {'key': 'startTime', 'type': 'iso-8601'}, 2326 'end_time': {'key': 'endTime', 'type': 'iso-8601'}, 2327 'instance_id': {'key': 'instanceId', 'type': 'str'}, 2328 'duration': {'key': 'duration', 'type': 'duration'}, 2329 'status': {'key': 'status', 'type': 'str'}, 2330 'progress_percentage': {'key': 'progressPercentage', 'type': 'float'}, 2331 'task_execution_details': {'key': 'taskExecutionDetails', 'type': 'str'}, 2332 } 2333 2334 def __init__(self, **kwargs): 2335 super(AzureIaaSVMJobTaskDetails, self).__init__(**kwargs) 2336 self.task_id = kwargs.get('task_id', None) 2337 self.start_time = kwargs.get('start_time', None) 2338 self.end_time = kwargs.get('end_time', None) 2339 self.instance_id = kwargs.get('instance_id', None) 2340 self.duration = kwargs.get('duration', None) 2341 self.status = kwargs.get('status', None) 2342 self.progress_percentage = kwargs.get('progress_percentage', None) 2343 self.task_execution_details = kwargs.get('task_execution_details', None) 2344 2345 2346class AzureIaaSVMProtectedItemExtendedInfo(Model): 2347 """Additional information on Azure IaaS VM specific backup item. 2348 2349 :param oldest_recovery_point: The oldest backup copy available for this 2350 backup item. 2351 :type oldest_recovery_point: datetime 2352 :param recovery_point_count: Number of backup copies available for this 2353 backup item. 2354 :type recovery_point_count: int 2355 :param policy_inconsistent: Specifies if backup policy associated with the 2356 backup item is inconsistent. 2357 :type policy_inconsistent: bool 2358 """ 2359 2360 _attribute_map = { 2361 'oldest_recovery_point': {'key': 'oldestRecoveryPoint', 'type': 'iso-8601'}, 2362 'recovery_point_count': {'key': 'recoveryPointCount', 'type': 'int'}, 2363 'policy_inconsistent': {'key': 'policyInconsistent', 'type': 'bool'}, 2364 } 2365 2366 def __init__(self, **kwargs): 2367 super(AzureIaaSVMProtectedItemExtendedInfo, self).__init__(**kwargs) 2368 self.oldest_recovery_point = kwargs.get('oldest_recovery_point', None) 2369 self.recovery_point_count = kwargs.get('recovery_point_count', None) 2370 self.policy_inconsistent = kwargs.get('policy_inconsistent', None) 2371 2372 2373class AzureIaaSVMProtectionPolicy(ProtectionPolicy): 2374 """IaaS VM workload-specific backup policy. 2375 2376 All required parameters must be populated in order to send to Azure. 2377 2378 :param protected_items_count: Number of items associated with this policy. 2379 :type protected_items_count: int 2380 :param resource_guard_operation_requests: ResourceGuard Operation Requests 2381 :type resource_guard_operation_requests: list[str] 2382 :param backup_management_type: Required. Constant filled by server. 2383 :type backup_management_type: str 2384 :param instant_rp_details: 2385 :type instant_rp_details: 2386 ~azure.mgmt.recoveryservicesbackup.models.InstantRPAdditionalDetails 2387 :param schedule_policy: Backup schedule specified as part of backup 2388 policy. 2389 :type schedule_policy: 2390 ~azure.mgmt.recoveryservicesbackup.models.SchedulePolicy 2391 :param retention_policy: Retention policy with the details on backup copy 2392 retention ranges. 2393 :type retention_policy: 2394 ~azure.mgmt.recoveryservicesbackup.models.RetentionPolicy 2395 :param instant_rp_retention_range_in_days: Instant RP retention policy 2396 range in days 2397 :type instant_rp_retention_range_in_days: int 2398 :param time_zone: TimeZone optional input as string. For example: TimeZone 2399 = "Pacific Standard Time". 2400 :type time_zone: str 2401 """ 2402 2403 _validation = { 2404 'backup_management_type': {'required': True}, 2405 } 2406 2407 _attribute_map = { 2408 'protected_items_count': {'key': 'protectedItemsCount', 'type': 'int'}, 2409 'resource_guard_operation_requests': {'key': 'resourceGuardOperationRequests', 'type': '[str]'}, 2410 'backup_management_type': {'key': 'backupManagementType', 'type': 'str'}, 2411 'instant_rp_details': {'key': 'instantRPDetails', 'type': 'InstantRPAdditionalDetails'}, 2412 'schedule_policy': {'key': 'schedulePolicy', 'type': 'SchedulePolicy'}, 2413 'retention_policy': {'key': 'retentionPolicy', 'type': 'RetentionPolicy'}, 2414 'instant_rp_retention_range_in_days': {'key': 'instantRpRetentionRangeInDays', 'type': 'int'}, 2415 'time_zone': {'key': 'timeZone', 'type': 'str'}, 2416 } 2417 2418 def __init__(self, **kwargs): 2419 super(AzureIaaSVMProtectionPolicy, self).__init__(**kwargs) 2420 self.instant_rp_details = kwargs.get('instant_rp_details', None) 2421 self.schedule_policy = kwargs.get('schedule_policy', None) 2422 self.retention_policy = kwargs.get('retention_policy', None) 2423 self.instant_rp_retention_range_in_days = kwargs.get('instant_rp_retention_range_in_days', None) 2424 self.time_zone = kwargs.get('time_zone', None) 2425 self.backup_management_type = 'AzureIaasVM' 2426 2427 2428class ProtectionIntent(Model): 2429 """Base class for backup ProtectionIntent. 2430 2431 You probably want to use the sub-classes and not this class directly. Known 2432 sub-classes are: AzureRecoveryServiceVaultProtectionIntent, 2433 AzureResourceProtectionIntent 2434 2435 All required parameters must be populated in order to send to Azure. 2436 2437 :param backup_management_type: Type of backup management for the backed up 2438 item. Possible values include: 'Invalid', 'AzureIaasVM', 'MAB', 'DPM', 2439 'AzureBackupServer', 'AzureSql', 'AzureStorage', 'AzureWorkload', 2440 'DefaultBackup' 2441 :type backup_management_type: str or 2442 ~azure.mgmt.recoveryservicesbackup.models.BackupManagementType 2443 :param source_resource_id: ARM ID of the resource to be backed up. 2444 :type source_resource_id: str 2445 :param item_id: ID of the item which is getting protected, In case of 2446 Azure Vm , it is ProtectedItemId 2447 :type item_id: str 2448 :param policy_id: ID of the backup policy with which this item is backed 2449 up. 2450 :type policy_id: str 2451 :param protection_state: Backup state of this backup item. Possible values 2452 include: 'Invalid', 'NotProtected', 'Protecting', 'Protected', 2453 'ProtectionFailed' 2454 :type protection_state: str or 2455 ~azure.mgmt.recoveryservicesbackup.models.ProtectionStatus 2456 :param protection_intent_item_type: Required. Constant filled by server. 2457 :type protection_intent_item_type: str 2458 """ 2459 2460 _validation = { 2461 'protection_intent_item_type': {'required': True}, 2462 } 2463 2464 _attribute_map = { 2465 'backup_management_type': {'key': 'backupManagementType', 'type': 'str'}, 2466 'source_resource_id': {'key': 'sourceResourceId', 'type': 'str'}, 2467 'item_id': {'key': 'itemId', 'type': 'str'}, 2468 'policy_id': {'key': 'policyId', 'type': 'str'}, 2469 'protection_state': {'key': 'protectionState', 'type': 'str'}, 2470 'protection_intent_item_type': {'key': 'protectionIntentItemType', 'type': 'str'}, 2471 } 2472 2473 _subtype_map = { 2474 'protection_intent_item_type': {'RecoveryServiceVaultItem': 'AzureRecoveryServiceVaultProtectionIntent', 'AzureResourceItem': 'AzureResourceProtectionIntent'} 2475 } 2476 2477 def __init__(self, **kwargs): 2478 super(ProtectionIntent, self).__init__(**kwargs) 2479 self.backup_management_type = kwargs.get('backup_management_type', None) 2480 self.source_resource_id = kwargs.get('source_resource_id', None) 2481 self.item_id = kwargs.get('item_id', None) 2482 self.policy_id = kwargs.get('policy_id', None) 2483 self.protection_state = kwargs.get('protection_state', None) 2484 self.protection_intent_item_type = None 2485 2486 2487class AzureRecoveryServiceVaultProtectionIntent(ProtectionIntent): 2488 """Azure Recovery Services Vault specific protection intent item. 2489 2490 You probably want to use the sub-classes and not this class directly. Known 2491 sub-classes are: AzureWorkloadAutoProtectionIntent 2492 2493 All required parameters must be populated in order to send to Azure. 2494 2495 :param backup_management_type: Type of backup management for the backed up 2496 item. Possible values include: 'Invalid', 'AzureIaasVM', 'MAB', 'DPM', 2497 'AzureBackupServer', 'AzureSql', 'AzureStorage', 'AzureWorkload', 2498 'DefaultBackup' 2499 :type backup_management_type: str or 2500 ~azure.mgmt.recoveryservicesbackup.models.BackupManagementType 2501 :param source_resource_id: ARM ID of the resource to be backed up. 2502 :type source_resource_id: str 2503 :param item_id: ID of the item which is getting protected, In case of 2504 Azure Vm , it is ProtectedItemId 2505 :type item_id: str 2506 :param policy_id: ID of the backup policy with which this item is backed 2507 up. 2508 :type policy_id: str 2509 :param protection_state: Backup state of this backup item. Possible values 2510 include: 'Invalid', 'NotProtected', 'Protecting', 'Protected', 2511 'ProtectionFailed' 2512 :type protection_state: str or 2513 ~azure.mgmt.recoveryservicesbackup.models.ProtectionStatus 2514 :param protection_intent_item_type: Required. Constant filled by server. 2515 :type protection_intent_item_type: str 2516 """ 2517 2518 _validation = { 2519 'protection_intent_item_type': {'required': True}, 2520 } 2521 2522 _attribute_map = { 2523 'backup_management_type': {'key': 'backupManagementType', 'type': 'str'}, 2524 'source_resource_id': {'key': 'sourceResourceId', 'type': 'str'}, 2525 'item_id': {'key': 'itemId', 'type': 'str'}, 2526 'policy_id': {'key': 'policyId', 'type': 'str'}, 2527 'protection_state': {'key': 'protectionState', 'type': 'str'}, 2528 'protection_intent_item_type': {'key': 'protectionIntentItemType', 'type': 'str'}, 2529 } 2530 2531 _subtype_map = { 2532 'protection_intent_item_type': {'AzureWorkloadAutoProtectionIntent': 'AzureWorkloadAutoProtectionIntent'} 2533 } 2534 2535 def __init__(self, **kwargs): 2536 super(AzureRecoveryServiceVaultProtectionIntent, self).__init__(**kwargs) 2537 self.protection_intent_item_type = 'RecoveryServiceVaultItem' 2538 2539 2540class AzureResourceProtectionIntent(ProtectionIntent): 2541 """IaaS VM specific backup protection intent item. 2542 2543 All required parameters must be populated in order to send to Azure. 2544 2545 :param backup_management_type: Type of backup management for the backed up 2546 item. Possible values include: 'Invalid', 'AzureIaasVM', 'MAB', 'DPM', 2547 'AzureBackupServer', 'AzureSql', 'AzureStorage', 'AzureWorkload', 2548 'DefaultBackup' 2549 :type backup_management_type: str or 2550 ~azure.mgmt.recoveryservicesbackup.models.BackupManagementType 2551 :param source_resource_id: ARM ID of the resource to be backed up. 2552 :type source_resource_id: str 2553 :param item_id: ID of the item which is getting protected, In case of 2554 Azure Vm , it is ProtectedItemId 2555 :type item_id: str 2556 :param policy_id: ID of the backup policy with which this item is backed 2557 up. 2558 :type policy_id: str 2559 :param protection_state: Backup state of this backup item. Possible values 2560 include: 'Invalid', 'NotProtected', 'Protecting', 'Protected', 2561 'ProtectionFailed' 2562 :type protection_state: str or 2563 ~azure.mgmt.recoveryservicesbackup.models.ProtectionStatus 2564 :param protection_intent_item_type: Required. Constant filled by server. 2565 :type protection_intent_item_type: str 2566 :param friendly_name: Friendly name of the VM represented by this backup 2567 item. 2568 :type friendly_name: str 2569 """ 2570 2571 _validation = { 2572 'protection_intent_item_type': {'required': True}, 2573 } 2574 2575 _attribute_map = { 2576 'backup_management_type': {'key': 'backupManagementType', 'type': 'str'}, 2577 'source_resource_id': {'key': 'sourceResourceId', 'type': 'str'}, 2578 'item_id': {'key': 'itemId', 'type': 'str'}, 2579 'policy_id': {'key': 'policyId', 'type': 'str'}, 2580 'protection_state': {'key': 'protectionState', 'type': 'str'}, 2581 'protection_intent_item_type': {'key': 'protectionIntentItemType', 'type': 'str'}, 2582 'friendly_name': {'key': 'friendlyName', 'type': 'str'}, 2583 } 2584 2585 def __init__(self, **kwargs): 2586 super(AzureResourceProtectionIntent, self).__init__(**kwargs) 2587 self.friendly_name = kwargs.get('friendly_name', None) 2588 self.protection_intent_item_type = 'AzureResourceItem' 2589 2590 2591class AzureWorkloadContainer(ProtectionContainer): 2592 """Container for the workloads running inside Azure Compute or Classic 2593 Compute. 2594 2595 You probably want to use the sub-classes and not this class directly. Known 2596 sub-classes are: AzureSQLAGWorkloadContainerProtectionContainer, 2597 AzureVMAppContainerProtectionContainer 2598 2599 All required parameters must be populated in order to send to Azure. 2600 2601 :param friendly_name: Friendly name of the container. 2602 :type friendly_name: str 2603 :param backup_management_type: Type of backup management for the 2604 container. Possible values include: 'Invalid', 'AzureIaasVM', 'MAB', 2605 'DPM', 'AzureBackupServer', 'AzureSql', 'AzureStorage', 'AzureWorkload', 2606 'DefaultBackup' 2607 :type backup_management_type: str or 2608 ~azure.mgmt.recoveryservicesbackup.models.BackupManagementType 2609 :param registration_status: Status of registration of the container with 2610 the Recovery Services Vault. 2611 :type registration_status: str 2612 :param health_status: Status of health of the container. 2613 :type health_status: str 2614 :param container_type: Required. Constant filled by server. 2615 :type container_type: str 2616 :param source_resource_id: ARM ID of the virtual machine represented by 2617 this Azure Workload Container 2618 :type source_resource_id: str 2619 :param last_updated_time: Time stamp when this container was updated. 2620 :type last_updated_time: datetime 2621 :param extended_info: Additional details of a workload container. 2622 :type extended_info: 2623 ~azure.mgmt.recoveryservicesbackup.models.AzureWorkloadContainerExtendedInfo 2624 :param workload_type: Workload type for which registration was sent. 2625 Possible values include: 'Invalid', 'VM', 'FileFolder', 'AzureSqlDb', 2626 'SQLDB', 'Exchange', 'Sharepoint', 'VMwareVM', 'SystemState', 'Client', 2627 'GenericDataSource', 'SQLDataBase', 'AzureFileShare', 'SAPHanaDatabase', 2628 'SAPAseDatabase' 2629 :type workload_type: str or 2630 ~azure.mgmt.recoveryservicesbackup.models.WorkloadType 2631 :param operation_type: Re-Do Operation. Possible values include: 2632 'Invalid', 'Register', 'Reregister' 2633 :type operation_type: str or 2634 ~azure.mgmt.recoveryservicesbackup.models.OperationType 2635 """ 2636 2637 _validation = { 2638 'container_type': {'required': True}, 2639 } 2640 2641 _attribute_map = { 2642 'friendly_name': {'key': 'friendlyName', 'type': 'str'}, 2643 'backup_management_type': {'key': 'backupManagementType', 'type': 'str'}, 2644 'registration_status': {'key': 'registrationStatus', 'type': 'str'}, 2645 'health_status': {'key': 'healthStatus', 'type': 'str'}, 2646 'container_type': {'key': 'containerType', 'type': 'str'}, 2647 'source_resource_id': {'key': 'sourceResourceId', 'type': 'str'}, 2648 'last_updated_time': {'key': 'lastUpdatedTime', 'type': 'iso-8601'}, 2649 'extended_info': {'key': 'extendedInfo', 'type': 'AzureWorkloadContainerExtendedInfo'}, 2650 'workload_type': {'key': 'workloadType', 'type': 'str'}, 2651 'operation_type': {'key': 'operationType', 'type': 'str'}, 2652 } 2653 2654 _subtype_map = { 2655 'container_type': {'SQLAGWorkLoadContainer': 'AzureSQLAGWorkloadContainerProtectionContainer', 'VMAppContainer': 'AzureVMAppContainerProtectionContainer'} 2656 } 2657 2658 def __init__(self, **kwargs): 2659 super(AzureWorkloadContainer, self).__init__(**kwargs) 2660 self.source_resource_id = kwargs.get('source_resource_id', None) 2661 self.last_updated_time = kwargs.get('last_updated_time', None) 2662 self.extended_info = kwargs.get('extended_info', None) 2663 self.workload_type = kwargs.get('workload_type', None) 2664 self.operation_type = kwargs.get('operation_type', None) 2665 self.container_type = 'AzureWorkloadContainer' 2666 2667 2668class AzureSQLAGWorkloadContainerProtectionContainer(AzureWorkloadContainer): 2669 """Container for SQL workloads under SQL Availability Group. 2670 2671 All required parameters must be populated in order to send to Azure. 2672 2673 :param friendly_name: Friendly name of the container. 2674 :type friendly_name: str 2675 :param backup_management_type: Type of backup management for the 2676 container. Possible values include: 'Invalid', 'AzureIaasVM', 'MAB', 2677 'DPM', 'AzureBackupServer', 'AzureSql', 'AzureStorage', 'AzureWorkload', 2678 'DefaultBackup' 2679 :type backup_management_type: str or 2680 ~azure.mgmt.recoveryservicesbackup.models.BackupManagementType 2681 :param registration_status: Status of registration of the container with 2682 the Recovery Services Vault. 2683 :type registration_status: str 2684 :param health_status: Status of health of the container. 2685 :type health_status: str 2686 :param container_type: Required. Constant filled by server. 2687 :type container_type: str 2688 :param source_resource_id: ARM ID of the virtual machine represented by 2689 this Azure Workload Container 2690 :type source_resource_id: str 2691 :param last_updated_time: Time stamp when this container was updated. 2692 :type last_updated_time: datetime 2693 :param extended_info: Additional details of a workload container. 2694 :type extended_info: 2695 ~azure.mgmt.recoveryservicesbackup.models.AzureWorkloadContainerExtendedInfo 2696 :param workload_type: Workload type for which registration was sent. 2697 Possible values include: 'Invalid', 'VM', 'FileFolder', 'AzureSqlDb', 2698 'SQLDB', 'Exchange', 'Sharepoint', 'VMwareVM', 'SystemState', 'Client', 2699 'GenericDataSource', 'SQLDataBase', 'AzureFileShare', 'SAPHanaDatabase', 2700 'SAPAseDatabase' 2701 :type workload_type: str or 2702 ~azure.mgmt.recoveryservicesbackup.models.WorkloadType 2703 :param operation_type: Re-Do Operation. Possible values include: 2704 'Invalid', 'Register', 'Reregister' 2705 :type operation_type: str or 2706 ~azure.mgmt.recoveryservicesbackup.models.OperationType 2707 """ 2708 2709 _validation = { 2710 'container_type': {'required': True}, 2711 } 2712 2713 _attribute_map = { 2714 'friendly_name': {'key': 'friendlyName', 'type': 'str'}, 2715 'backup_management_type': {'key': 'backupManagementType', 'type': 'str'}, 2716 'registration_status': {'key': 'registrationStatus', 'type': 'str'}, 2717 'health_status': {'key': 'healthStatus', 'type': 'str'}, 2718 'container_type': {'key': 'containerType', 'type': 'str'}, 2719 'source_resource_id': {'key': 'sourceResourceId', 'type': 'str'}, 2720 'last_updated_time': {'key': 'lastUpdatedTime', 'type': 'iso-8601'}, 2721 'extended_info': {'key': 'extendedInfo', 'type': 'AzureWorkloadContainerExtendedInfo'}, 2722 'workload_type': {'key': 'workloadType', 'type': 'str'}, 2723 'operation_type': {'key': 'operationType', 'type': 'str'}, 2724 } 2725 2726 def __init__(self, **kwargs): 2727 super(AzureSQLAGWorkloadContainerProtectionContainer, self).__init__(**kwargs) 2728 self.container_type = 'SQLAGWorkLoadContainer' 2729 2730 2731class AzureSqlContainer(ProtectionContainer): 2732 """Azure Sql workload-specific container. 2733 2734 All required parameters must be populated in order to send to Azure. 2735 2736 :param friendly_name: Friendly name of the container. 2737 :type friendly_name: str 2738 :param backup_management_type: Type of backup management for the 2739 container. Possible values include: 'Invalid', 'AzureIaasVM', 'MAB', 2740 'DPM', 'AzureBackupServer', 'AzureSql', 'AzureStorage', 'AzureWorkload', 2741 'DefaultBackup' 2742 :type backup_management_type: str or 2743 ~azure.mgmt.recoveryservicesbackup.models.BackupManagementType 2744 :param registration_status: Status of registration of the container with 2745 the Recovery Services Vault. 2746 :type registration_status: str 2747 :param health_status: Status of health of the container. 2748 :type health_status: str 2749 :param container_type: Required. Constant filled by server. 2750 :type container_type: str 2751 """ 2752 2753 _validation = { 2754 'container_type': {'required': True}, 2755 } 2756 2757 _attribute_map = { 2758 'friendly_name': {'key': 'friendlyName', 'type': 'str'}, 2759 'backup_management_type': {'key': 'backupManagementType', 'type': 'str'}, 2760 'registration_status': {'key': 'registrationStatus', 'type': 'str'}, 2761 'health_status': {'key': 'healthStatus', 'type': 'str'}, 2762 'container_type': {'key': 'containerType', 'type': 'str'}, 2763 } 2764 2765 def __init__(self, **kwargs): 2766 super(AzureSqlContainer, self).__init__(**kwargs) 2767 self.container_type = 'AzureSqlContainer' 2768 2769 2770class AzureSqlProtectedItem(ProtectedItem): 2771 """Azure SQL workload-specific backup item. 2772 2773 All required parameters must be populated in order to send to Azure. 2774 2775 :param backup_management_type: Type of backup management for the backed up 2776 item. Possible values include: 'Invalid', 'AzureIaasVM', 'MAB', 'DPM', 2777 'AzureBackupServer', 'AzureSql', 'AzureStorage', 'AzureWorkload', 2778 'DefaultBackup' 2779 :type backup_management_type: str or 2780 ~azure.mgmt.recoveryservicesbackup.models.BackupManagementType 2781 :param workload_type: Type of workload this item represents. Possible 2782 values include: 'Invalid', 'VM', 'FileFolder', 'AzureSqlDb', 'SQLDB', 2783 'Exchange', 'Sharepoint', 'VMwareVM', 'SystemState', 'Client', 2784 'GenericDataSource', 'SQLDataBase', 'AzureFileShare', 'SAPHanaDatabase', 2785 'SAPAseDatabase' 2786 :type workload_type: str or 2787 ~azure.mgmt.recoveryservicesbackup.models.DataSourceType 2788 :param container_name: Unique name of container 2789 :type container_name: str 2790 :param source_resource_id: ARM ID of the resource to be backed up. 2791 :type source_resource_id: str 2792 :param policy_id: ID of the backup policy with which this item is backed 2793 up. 2794 :type policy_id: str 2795 :param last_recovery_point: Timestamp when the last (latest) backup copy 2796 was created for this backup item. 2797 :type last_recovery_point: datetime 2798 :param backup_set_name: Name of the backup set the backup item belongs to 2799 :type backup_set_name: str 2800 :param create_mode: Create mode to indicate recovery of existing soft 2801 deleted data source or creation of new data source. Possible values 2802 include: 'Invalid', 'Default', 'Recover' 2803 :type create_mode: str or 2804 ~azure.mgmt.recoveryservicesbackup.models.CreateMode 2805 :param deferred_delete_time_in_utc: Time for deferred deletion in UTC 2806 :type deferred_delete_time_in_utc: datetime 2807 :param is_scheduled_for_deferred_delete: Flag to identify whether the DS 2808 is scheduled for deferred delete 2809 :type is_scheduled_for_deferred_delete: bool 2810 :param deferred_delete_time_remaining: Time remaining before the DS marked 2811 for deferred delete is permanently deleted 2812 :type deferred_delete_time_remaining: str 2813 :param is_deferred_delete_schedule_upcoming: Flag to identify whether the 2814 deferred deleted DS is to be purged soon 2815 :type is_deferred_delete_schedule_upcoming: bool 2816 :param is_rehydrate: Flag to identify that deferred deleted DS is to be 2817 moved into Pause state 2818 :type is_rehydrate: bool 2819 :param resource_guard_operation_requests: ResourceGuardOperationRequests 2820 on which LAC check will be performed 2821 :type resource_guard_operation_requests: list[str] 2822 :param protected_item_type: Required. Constant filled by server. 2823 :type protected_item_type: str 2824 :param protected_item_data_id: Internal ID of a backup item. Used by Azure 2825 SQL Backup engine to contact Recovery Services. 2826 :type protected_item_data_id: str 2827 :param protection_state: Backup state of the backed up item. Possible 2828 values include: 'Invalid', 'IRPending', 'Protected', 'ProtectionError', 2829 'ProtectionStopped', 'ProtectionPaused' 2830 :type protection_state: str or 2831 ~azure.mgmt.recoveryservicesbackup.models.ProtectedItemState 2832 :param extended_info: Additional information for this backup item. 2833 :type extended_info: 2834 ~azure.mgmt.recoveryservicesbackup.models.AzureSqlProtectedItemExtendedInfo 2835 """ 2836 2837 _validation = { 2838 'protected_item_type': {'required': True}, 2839 } 2840 2841 _attribute_map = { 2842 'backup_management_type': {'key': 'backupManagementType', 'type': 'str'}, 2843 'workload_type': {'key': 'workloadType', 'type': 'str'}, 2844 'container_name': {'key': 'containerName', 'type': 'str'}, 2845 'source_resource_id': {'key': 'sourceResourceId', 'type': 'str'}, 2846 'policy_id': {'key': 'policyId', 'type': 'str'}, 2847 'last_recovery_point': {'key': 'lastRecoveryPoint', 'type': 'iso-8601'}, 2848 'backup_set_name': {'key': 'backupSetName', 'type': 'str'}, 2849 'create_mode': {'key': 'createMode', 'type': 'str'}, 2850 'deferred_delete_time_in_utc': {'key': 'deferredDeleteTimeInUTC', 'type': 'iso-8601'}, 2851 'is_scheduled_for_deferred_delete': {'key': 'isScheduledForDeferredDelete', 'type': 'bool'}, 2852 'deferred_delete_time_remaining': {'key': 'deferredDeleteTimeRemaining', 'type': 'str'}, 2853 'is_deferred_delete_schedule_upcoming': {'key': 'isDeferredDeleteScheduleUpcoming', 'type': 'bool'}, 2854 'is_rehydrate': {'key': 'isRehydrate', 'type': 'bool'}, 2855 'resource_guard_operation_requests': {'key': 'resourceGuardOperationRequests', 'type': '[str]'}, 2856 'protected_item_type': {'key': 'protectedItemType', 'type': 'str'}, 2857 'protected_item_data_id': {'key': 'protectedItemDataId', 'type': 'str'}, 2858 'protection_state': {'key': 'protectionState', 'type': 'str'}, 2859 'extended_info': {'key': 'extendedInfo', 'type': 'AzureSqlProtectedItemExtendedInfo'}, 2860 } 2861 2862 def __init__(self, **kwargs): 2863 super(AzureSqlProtectedItem, self).__init__(**kwargs) 2864 self.protected_item_data_id = kwargs.get('protected_item_data_id', None) 2865 self.protection_state = kwargs.get('protection_state', None) 2866 self.extended_info = kwargs.get('extended_info', None) 2867 self.protected_item_type = 'Microsoft.Sql/servers/databases' 2868 2869 2870class AzureSqlProtectedItemExtendedInfo(Model): 2871 """Additional information on Azure Sql specific protected item. 2872 2873 :param oldest_recovery_point: The oldest backup copy available for this 2874 item in the service. 2875 :type oldest_recovery_point: datetime 2876 :param recovery_point_count: Number of available backup copies associated 2877 with this backup item. 2878 :type recovery_point_count: int 2879 :param policy_state: State of the backup policy associated with this 2880 backup item. 2881 :type policy_state: str 2882 """ 2883 2884 _attribute_map = { 2885 'oldest_recovery_point': {'key': 'oldestRecoveryPoint', 'type': 'iso-8601'}, 2886 'recovery_point_count': {'key': 'recoveryPointCount', 'type': 'int'}, 2887 'policy_state': {'key': 'policyState', 'type': 'str'}, 2888 } 2889 2890 def __init__(self, **kwargs): 2891 super(AzureSqlProtectedItemExtendedInfo, self).__init__(**kwargs) 2892 self.oldest_recovery_point = kwargs.get('oldest_recovery_point', None) 2893 self.recovery_point_count = kwargs.get('recovery_point_count', None) 2894 self.policy_state = kwargs.get('policy_state', None) 2895 2896 2897class AzureSqlProtectionPolicy(ProtectionPolicy): 2898 """Azure SQL workload-specific backup policy. 2899 2900 All required parameters must be populated in order to send to Azure. 2901 2902 :param protected_items_count: Number of items associated with this policy. 2903 :type protected_items_count: int 2904 :param resource_guard_operation_requests: ResourceGuard Operation Requests 2905 :type resource_guard_operation_requests: list[str] 2906 :param backup_management_type: Required. Constant filled by server. 2907 :type backup_management_type: str 2908 :param retention_policy: Retention policy details. 2909 :type retention_policy: 2910 ~azure.mgmt.recoveryservicesbackup.models.RetentionPolicy 2911 """ 2912 2913 _validation = { 2914 'backup_management_type': {'required': True}, 2915 } 2916 2917 _attribute_map = { 2918 'protected_items_count': {'key': 'protectedItemsCount', 'type': 'int'}, 2919 'resource_guard_operation_requests': {'key': 'resourceGuardOperationRequests', 'type': '[str]'}, 2920 'backup_management_type': {'key': 'backupManagementType', 'type': 'str'}, 2921 'retention_policy': {'key': 'retentionPolicy', 'type': 'RetentionPolicy'}, 2922 } 2923 2924 def __init__(self, **kwargs): 2925 super(AzureSqlProtectionPolicy, self).__init__(**kwargs) 2926 self.retention_policy = kwargs.get('retention_policy', None) 2927 self.backup_management_type = 'AzureSql' 2928 2929 2930class AzureStorageContainer(ProtectionContainer): 2931 """Azure Storage Account workload-specific container. 2932 2933 All required parameters must be populated in order to send to Azure. 2934 2935 :param friendly_name: Friendly name of the container. 2936 :type friendly_name: str 2937 :param backup_management_type: Type of backup management for the 2938 container. Possible values include: 'Invalid', 'AzureIaasVM', 'MAB', 2939 'DPM', 'AzureBackupServer', 'AzureSql', 'AzureStorage', 'AzureWorkload', 2940 'DefaultBackup' 2941 :type backup_management_type: str or 2942 ~azure.mgmt.recoveryservicesbackup.models.BackupManagementType 2943 :param registration_status: Status of registration of the container with 2944 the Recovery Services Vault. 2945 :type registration_status: str 2946 :param health_status: Status of health of the container. 2947 :type health_status: str 2948 :param container_type: Required. Constant filled by server. 2949 :type container_type: str 2950 :param source_resource_id: Fully qualified ARM url. 2951 :type source_resource_id: str 2952 :param storage_account_version: Storage account version. 2953 :type storage_account_version: str 2954 :param resource_group: Resource group name of Recovery Services Vault. 2955 :type resource_group: str 2956 :param protected_item_count: Number of items backed up in this container. 2957 :type protected_item_count: long 2958 """ 2959 2960 _validation = { 2961 'container_type': {'required': True}, 2962 } 2963 2964 _attribute_map = { 2965 'friendly_name': {'key': 'friendlyName', 'type': 'str'}, 2966 'backup_management_type': {'key': 'backupManagementType', 'type': 'str'}, 2967 'registration_status': {'key': 'registrationStatus', 'type': 'str'}, 2968 'health_status': {'key': 'healthStatus', 'type': 'str'}, 2969 'container_type': {'key': 'containerType', 'type': 'str'}, 2970 'source_resource_id': {'key': 'sourceResourceId', 'type': 'str'}, 2971 'storage_account_version': {'key': 'storageAccountVersion', 'type': 'str'}, 2972 'resource_group': {'key': 'resourceGroup', 'type': 'str'}, 2973 'protected_item_count': {'key': 'protectedItemCount', 'type': 'long'}, 2974 } 2975 2976 def __init__(self, **kwargs): 2977 super(AzureStorageContainer, self).__init__(**kwargs) 2978 self.source_resource_id = kwargs.get('source_resource_id', None) 2979 self.storage_account_version = kwargs.get('storage_account_version', None) 2980 self.resource_group = kwargs.get('resource_group', None) 2981 self.protected_item_count = kwargs.get('protected_item_count', None) 2982 self.container_type = 'StorageContainer' 2983 2984 2985class AzureStorageErrorInfo(Model): 2986 """Azure storage specific error information. 2987 2988 :param error_code: Error code. 2989 :type error_code: int 2990 :param error_string: Localized error string. 2991 :type error_string: str 2992 :param recommendations: List of localized recommendations for above error 2993 code. 2994 :type recommendations: list[str] 2995 """ 2996 2997 _attribute_map = { 2998 'error_code': {'key': 'errorCode', 'type': 'int'}, 2999 'error_string': {'key': 'errorString', 'type': 'str'}, 3000 'recommendations': {'key': 'recommendations', 'type': '[str]'}, 3001 } 3002 3003 def __init__(self, **kwargs): 3004 super(AzureStorageErrorInfo, self).__init__(**kwargs) 3005 self.error_code = kwargs.get('error_code', None) 3006 self.error_string = kwargs.get('error_string', None) 3007 self.recommendations = kwargs.get('recommendations', None) 3008 3009 3010class AzureStorageJob(Job): 3011 """Azure storage specific job. 3012 3013 All required parameters must be populated in order to send to Azure. 3014 3015 :param entity_friendly_name: Friendly name of the entity on which the 3016 current job is executing. 3017 :type entity_friendly_name: str 3018 :param backup_management_type: Backup management type to execute the 3019 current job. Possible values include: 'Invalid', 'AzureIaasVM', 'MAB', 3020 'DPM', 'AzureBackupServer', 'AzureSql', 'AzureStorage', 'AzureWorkload', 3021 'DefaultBackup' 3022 :type backup_management_type: str or 3023 ~azure.mgmt.recoveryservicesbackup.models.BackupManagementType 3024 :param operation: The operation name. 3025 :type operation: str 3026 :param status: Job status. 3027 :type status: str 3028 :param start_time: The start time. 3029 :type start_time: datetime 3030 :param end_time: The end time. 3031 :type end_time: datetime 3032 :param activity_id: ActivityId of job. 3033 :type activity_id: str 3034 :param job_type: Required. Constant filled by server. 3035 :type job_type: str 3036 :param duration: Time elapsed during the execution of this job. 3037 :type duration: timedelta 3038 :param actions_info: Gets or sets the state/actions applicable on this job 3039 like cancel/retry. 3040 :type actions_info: list[str or 3041 ~azure.mgmt.recoveryservicesbackup.models.JobSupportedAction] 3042 :param error_details: Error details on execution of this job. 3043 :type error_details: 3044 list[~azure.mgmt.recoveryservicesbackup.models.AzureStorageErrorInfo] 3045 :param storage_account_name: Specifies friendly name of the storage 3046 account. 3047 :type storage_account_name: str 3048 :param storage_account_version: Specifies whether the Storage account is a 3049 Classic or an Azure Resource Manager Storage account. 3050 :type storage_account_version: str 3051 :param extended_info: Additional information about the job. 3052 :type extended_info: 3053 ~azure.mgmt.recoveryservicesbackup.models.AzureStorageJobExtendedInfo 3054 """ 3055 3056 _validation = { 3057 'job_type': {'required': True}, 3058 } 3059 3060 _attribute_map = { 3061 'entity_friendly_name': {'key': 'entityFriendlyName', 'type': 'str'}, 3062 'backup_management_type': {'key': 'backupManagementType', 'type': 'str'}, 3063 'operation': {'key': 'operation', 'type': 'str'}, 3064 'status': {'key': 'status', 'type': 'str'}, 3065 'start_time': {'key': 'startTime', 'type': 'iso-8601'}, 3066 'end_time': {'key': 'endTime', 'type': 'iso-8601'}, 3067 'activity_id': {'key': 'activityId', 'type': 'str'}, 3068 'job_type': {'key': 'jobType', 'type': 'str'}, 3069 'duration': {'key': 'duration', 'type': 'duration'}, 3070 'actions_info': {'key': 'actionsInfo', 'type': '[JobSupportedAction]'}, 3071 'error_details': {'key': 'errorDetails', 'type': '[AzureStorageErrorInfo]'}, 3072 'storage_account_name': {'key': 'storageAccountName', 'type': 'str'}, 3073 'storage_account_version': {'key': 'storageAccountVersion', 'type': 'str'}, 3074 'extended_info': {'key': 'extendedInfo', 'type': 'AzureStorageJobExtendedInfo'}, 3075 } 3076 3077 def __init__(self, **kwargs): 3078 super(AzureStorageJob, self).__init__(**kwargs) 3079 self.duration = kwargs.get('duration', None) 3080 self.actions_info = kwargs.get('actions_info', None) 3081 self.error_details = kwargs.get('error_details', None) 3082 self.storage_account_name = kwargs.get('storage_account_name', None) 3083 self.storage_account_version = kwargs.get('storage_account_version', None) 3084 self.extended_info = kwargs.get('extended_info', None) 3085 self.job_type = 'AzureStorageJob' 3086 3087 3088class AzureStorageJobExtendedInfo(Model): 3089 """Azure Storage workload-specific additional information for job. 3090 3091 :param tasks_list: List of tasks for this job 3092 :type tasks_list: 3093 list[~azure.mgmt.recoveryservicesbackup.models.AzureStorageJobTaskDetails] 3094 :param property_bag: Job properties. 3095 :type property_bag: dict[str, str] 3096 :param dynamic_error_message: Non localized error message on job 3097 execution. 3098 :type dynamic_error_message: str 3099 """ 3100 3101 _attribute_map = { 3102 'tasks_list': {'key': 'tasksList', 'type': '[AzureStorageJobTaskDetails]'}, 3103 'property_bag': {'key': 'propertyBag', 'type': '{str}'}, 3104 'dynamic_error_message': {'key': 'dynamicErrorMessage', 'type': 'str'}, 3105 } 3106 3107 def __init__(self, **kwargs): 3108 super(AzureStorageJobExtendedInfo, self).__init__(**kwargs) 3109 self.tasks_list = kwargs.get('tasks_list', None) 3110 self.property_bag = kwargs.get('property_bag', None) 3111 self.dynamic_error_message = kwargs.get('dynamic_error_message', None) 3112 3113 3114class AzureStorageJobTaskDetails(Model): 3115 """Azure storage workload specific job task details. 3116 3117 :param task_id: The task display name. 3118 :type task_id: str 3119 :param status: The status. 3120 :type status: str 3121 """ 3122 3123 _attribute_map = { 3124 'task_id': {'key': 'taskId', 'type': 'str'}, 3125 'status': {'key': 'status', 'type': 'str'}, 3126 } 3127 3128 def __init__(self, **kwargs): 3129 super(AzureStorageJobTaskDetails, self).__init__(**kwargs) 3130 self.task_id = kwargs.get('task_id', None) 3131 self.status = kwargs.get('status', None) 3132 3133 3134class ProtectableContainer(Model): 3135 """Protectable Container Class. 3136 3137 You probably want to use the sub-classes and not this class directly. Known 3138 sub-classes are: AzureStorageProtectableContainer, 3139 AzureVMAppContainerProtectableContainer 3140 3141 All required parameters must be populated in order to send to Azure. 3142 3143 :param friendly_name: Friendly name of the container. 3144 :type friendly_name: str 3145 :param backup_management_type: Type of backup management for the 3146 container. Possible values include: 'Invalid', 'AzureIaasVM', 'MAB', 3147 'DPM', 'AzureBackupServer', 'AzureSql', 'AzureStorage', 'AzureWorkload', 3148 'DefaultBackup' 3149 :type backup_management_type: str or 3150 ~azure.mgmt.recoveryservicesbackup.models.BackupManagementType 3151 :param health_status: Status of health of the container. 3152 :type health_status: str 3153 :param container_id: Fabric Id of the container such as ARM Id. 3154 :type container_id: str 3155 :param protectable_container_type: Required. Constant filled by server. 3156 :type protectable_container_type: str 3157 """ 3158 3159 _validation = { 3160 'protectable_container_type': {'required': True}, 3161 } 3162 3163 _attribute_map = { 3164 'friendly_name': {'key': 'friendlyName', 'type': 'str'}, 3165 'backup_management_type': {'key': 'backupManagementType', 'type': 'str'}, 3166 'health_status': {'key': 'healthStatus', 'type': 'str'}, 3167 'container_id': {'key': 'containerId', 'type': 'str'}, 3168 'protectable_container_type': {'key': 'protectableContainerType', 'type': 'str'}, 3169 } 3170 3171 _subtype_map = { 3172 'protectable_container_type': {'StorageContainer': 'AzureStorageProtectableContainer', 'VMAppContainer': 'AzureVMAppContainerProtectableContainer'} 3173 } 3174 3175 def __init__(self, **kwargs): 3176 super(ProtectableContainer, self).__init__(**kwargs) 3177 self.friendly_name = kwargs.get('friendly_name', None) 3178 self.backup_management_type = kwargs.get('backup_management_type', None) 3179 self.health_status = kwargs.get('health_status', None) 3180 self.container_id = kwargs.get('container_id', None) 3181 self.protectable_container_type = None 3182 3183 3184class AzureStorageProtectableContainer(ProtectableContainer): 3185 """Azure Storage-specific protectable containers. 3186 3187 All required parameters must be populated in order to send to Azure. 3188 3189 :param friendly_name: Friendly name of the container. 3190 :type friendly_name: str 3191 :param backup_management_type: Type of backup management for the 3192 container. Possible values include: 'Invalid', 'AzureIaasVM', 'MAB', 3193 'DPM', 'AzureBackupServer', 'AzureSql', 'AzureStorage', 'AzureWorkload', 3194 'DefaultBackup' 3195 :type backup_management_type: str or 3196 ~azure.mgmt.recoveryservicesbackup.models.BackupManagementType 3197 :param health_status: Status of health of the container. 3198 :type health_status: str 3199 :param container_id: Fabric Id of the container such as ARM Id. 3200 :type container_id: str 3201 :param protectable_container_type: Required. Constant filled by server. 3202 :type protectable_container_type: str 3203 """ 3204 3205 _validation = { 3206 'protectable_container_type': {'required': True}, 3207 } 3208 3209 _attribute_map = { 3210 'friendly_name': {'key': 'friendlyName', 'type': 'str'}, 3211 'backup_management_type': {'key': 'backupManagementType', 'type': 'str'}, 3212 'health_status': {'key': 'healthStatus', 'type': 'str'}, 3213 'container_id': {'key': 'containerId', 'type': 'str'}, 3214 'protectable_container_type': {'key': 'protectableContainerType', 'type': 'str'}, 3215 } 3216 3217 def __init__(self, **kwargs): 3218 super(AzureStorageProtectableContainer, self).__init__(**kwargs) 3219 self.protectable_container_type = 'StorageContainer' 3220 3221 3222class AzureVMAppContainerProtectableContainer(ProtectableContainer): 3223 """Azure workload-specific container. 3224 3225 All required parameters must be populated in order to send to Azure. 3226 3227 :param friendly_name: Friendly name of the container. 3228 :type friendly_name: str 3229 :param backup_management_type: Type of backup management for the 3230 container. Possible values include: 'Invalid', 'AzureIaasVM', 'MAB', 3231 'DPM', 'AzureBackupServer', 'AzureSql', 'AzureStorage', 'AzureWorkload', 3232 'DefaultBackup' 3233 :type backup_management_type: str or 3234 ~azure.mgmt.recoveryservicesbackup.models.BackupManagementType 3235 :param health_status: Status of health of the container. 3236 :type health_status: str 3237 :param container_id: Fabric Id of the container such as ARM Id. 3238 :type container_id: str 3239 :param protectable_container_type: Required. Constant filled by server. 3240 :type protectable_container_type: str 3241 """ 3242 3243 _validation = { 3244 'protectable_container_type': {'required': True}, 3245 } 3246 3247 _attribute_map = { 3248 'friendly_name': {'key': 'friendlyName', 'type': 'str'}, 3249 'backup_management_type': {'key': 'backupManagementType', 'type': 'str'}, 3250 'health_status': {'key': 'healthStatus', 'type': 'str'}, 3251 'container_id': {'key': 'containerId', 'type': 'str'}, 3252 'protectable_container_type': {'key': 'protectableContainerType', 'type': 'str'}, 3253 } 3254 3255 def __init__(self, **kwargs): 3256 super(AzureVMAppContainerProtectableContainer, self).__init__(**kwargs) 3257 self.protectable_container_type = 'VMAppContainer' 3258 3259 3260class AzureVMAppContainerProtectionContainer(AzureWorkloadContainer): 3261 """Container for SQL workloads under Azure Virtual Machines. 3262 3263 All required parameters must be populated in order to send to Azure. 3264 3265 :param friendly_name: Friendly name of the container. 3266 :type friendly_name: str 3267 :param backup_management_type: Type of backup management for the 3268 container. Possible values include: 'Invalid', 'AzureIaasVM', 'MAB', 3269 'DPM', 'AzureBackupServer', 'AzureSql', 'AzureStorage', 'AzureWorkload', 3270 'DefaultBackup' 3271 :type backup_management_type: str or 3272 ~azure.mgmt.recoveryservicesbackup.models.BackupManagementType 3273 :param registration_status: Status of registration of the container with 3274 the Recovery Services Vault. 3275 :type registration_status: str 3276 :param health_status: Status of health of the container. 3277 :type health_status: str 3278 :param container_type: Required. Constant filled by server. 3279 :type container_type: str 3280 :param source_resource_id: ARM ID of the virtual machine represented by 3281 this Azure Workload Container 3282 :type source_resource_id: str 3283 :param last_updated_time: Time stamp when this container was updated. 3284 :type last_updated_time: datetime 3285 :param extended_info: Additional details of a workload container. 3286 :type extended_info: 3287 ~azure.mgmt.recoveryservicesbackup.models.AzureWorkloadContainerExtendedInfo 3288 :param workload_type: Workload type for which registration was sent. 3289 Possible values include: 'Invalid', 'VM', 'FileFolder', 'AzureSqlDb', 3290 'SQLDB', 'Exchange', 'Sharepoint', 'VMwareVM', 'SystemState', 'Client', 3291 'GenericDataSource', 'SQLDataBase', 'AzureFileShare', 'SAPHanaDatabase', 3292 'SAPAseDatabase' 3293 :type workload_type: str or 3294 ~azure.mgmt.recoveryservicesbackup.models.WorkloadType 3295 :param operation_type: Re-Do Operation. Possible values include: 3296 'Invalid', 'Register', 'Reregister' 3297 :type operation_type: str or 3298 ~azure.mgmt.recoveryservicesbackup.models.OperationType 3299 """ 3300 3301 _validation = { 3302 'container_type': {'required': True}, 3303 } 3304 3305 _attribute_map = { 3306 'friendly_name': {'key': 'friendlyName', 'type': 'str'}, 3307 'backup_management_type': {'key': 'backupManagementType', 'type': 'str'}, 3308 'registration_status': {'key': 'registrationStatus', 'type': 'str'}, 3309 'health_status': {'key': 'healthStatus', 'type': 'str'}, 3310 'container_type': {'key': 'containerType', 'type': 'str'}, 3311 'source_resource_id': {'key': 'sourceResourceId', 'type': 'str'}, 3312 'last_updated_time': {'key': 'lastUpdatedTime', 'type': 'iso-8601'}, 3313 'extended_info': {'key': 'extendedInfo', 'type': 'AzureWorkloadContainerExtendedInfo'}, 3314 'workload_type': {'key': 'workloadType', 'type': 'str'}, 3315 'operation_type': {'key': 'operationType', 'type': 'str'}, 3316 } 3317 3318 def __init__(self, **kwargs): 3319 super(AzureVMAppContainerProtectionContainer, self).__init__(**kwargs) 3320 self.container_type = 'VMAppContainer' 3321 3322 3323class AzureVMResourceFeatureSupportRequest(FeatureSupportRequest): 3324 """AzureResource(IaaS VM) Specific feature support request. 3325 3326 All required parameters must be populated in order to send to Azure. 3327 3328 :param feature_type: Required. Constant filled by server. 3329 :type feature_type: str 3330 :param vm_size: Size of the resource: VM size(A/D series etc) in case of 3331 IaasVM 3332 :type vm_size: str 3333 :param vm_sku: SKUs (Premium/Managed etc) in case of IaasVM 3334 :type vm_sku: str 3335 """ 3336 3337 _validation = { 3338 'feature_type': {'required': True}, 3339 } 3340 3341 _attribute_map = { 3342 'feature_type': {'key': 'featureType', 'type': 'str'}, 3343 'vm_size': {'key': 'vmSize', 'type': 'str'}, 3344 'vm_sku': {'key': 'vmSku', 'type': 'str'}, 3345 } 3346 3347 def __init__(self, **kwargs): 3348 super(AzureVMResourceFeatureSupportRequest, self).__init__(**kwargs) 3349 self.vm_size = kwargs.get('vm_size', None) 3350 self.vm_sku = kwargs.get('vm_sku', None) 3351 self.feature_type = 'AzureVMResourceBackup' 3352 3353 3354class AzureVMResourceFeatureSupportResponse(Model): 3355 """Response for feature support requests for Azure IaasVm. 3356 3357 :param support_status: Support status of feature. Possible values include: 3358 'Invalid', 'Supported', 'DefaultOFF', 'DefaultON', 'NotSupported' 3359 :type support_status: str or 3360 ~azure.mgmt.recoveryservicesbackup.models.SupportStatus 3361 """ 3362 3363 _attribute_map = { 3364 'support_status': {'key': 'supportStatus', 'type': 'str'}, 3365 } 3366 3367 def __init__(self, **kwargs): 3368 super(AzureVMResourceFeatureSupportResponse, self).__init__(**kwargs) 3369 self.support_status = kwargs.get('support_status', None) 3370 3371 3372class WorkloadItem(Model): 3373 """Base class for backup item. Workload-specific backup items are derived from 3374 this class. 3375 3376 You probably want to use the sub-classes and not this class directly. Known 3377 sub-classes are: AzureVmWorkloadItem 3378 3379 All required parameters must be populated in order to send to Azure. 3380 3381 :param backup_management_type: Type of backup management to backup an 3382 item. 3383 :type backup_management_type: str 3384 :param workload_type: Type of workload for the backup management 3385 :type workload_type: str 3386 :param friendly_name: Friendly name of the backup item. 3387 :type friendly_name: str 3388 :param protection_state: State of the back up item. Possible values 3389 include: 'Invalid', 'NotProtected', 'Protecting', 'Protected', 3390 'ProtectionFailed' 3391 :type protection_state: str or 3392 ~azure.mgmt.recoveryservicesbackup.models.ProtectionStatus 3393 :param workload_item_type: Required. Constant filled by server. 3394 :type workload_item_type: str 3395 """ 3396 3397 _validation = { 3398 'workload_item_type': {'required': True}, 3399 } 3400 3401 _attribute_map = { 3402 'backup_management_type': {'key': 'backupManagementType', 'type': 'str'}, 3403 'workload_type': {'key': 'workloadType', 'type': 'str'}, 3404 'friendly_name': {'key': 'friendlyName', 'type': 'str'}, 3405 'protection_state': {'key': 'protectionState', 'type': 'str'}, 3406 'workload_item_type': {'key': 'workloadItemType', 'type': 'str'}, 3407 } 3408 3409 _subtype_map = { 3410 'workload_item_type': {'AzureVmWorkloadItem': 'AzureVmWorkloadItem'} 3411 } 3412 3413 def __init__(self, **kwargs): 3414 super(WorkloadItem, self).__init__(**kwargs) 3415 self.backup_management_type = kwargs.get('backup_management_type', None) 3416 self.workload_type = kwargs.get('workload_type', None) 3417 self.friendly_name = kwargs.get('friendly_name', None) 3418 self.protection_state = kwargs.get('protection_state', None) 3419 self.workload_item_type = None 3420 3421 3422class AzureVmWorkloadItem(WorkloadItem): 3423 """Azure VM workload-specific workload item. 3424 3425 You probably want to use the sub-classes and not this class directly. Known 3426 sub-classes are: AzureVmWorkloadSAPAseDatabaseWorkloadItem, 3427 AzureVmWorkloadSAPAseSystemWorkloadItem, 3428 AzureVmWorkloadSAPHanaDatabaseWorkloadItem, 3429 AzureVmWorkloadSAPHanaSystemWorkloadItem, 3430 AzureVmWorkloadSQLDatabaseWorkloadItem, 3431 AzureVmWorkloadSQLInstanceWorkloadItem 3432 3433 All required parameters must be populated in order to send to Azure. 3434 3435 :param backup_management_type: Type of backup management to backup an 3436 item. 3437 :type backup_management_type: str 3438 :param workload_type: Type of workload for the backup management 3439 :type workload_type: str 3440 :param friendly_name: Friendly name of the backup item. 3441 :type friendly_name: str 3442 :param protection_state: State of the back up item. Possible values 3443 include: 'Invalid', 'NotProtected', 'Protecting', 'Protected', 3444 'ProtectionFailed' 3445 :type protection_state: str or 3446 ~azure.mgmt.recoveryservicesbackup.models.ProtectionStatus 3447 :param workload_item_type: Required. Constant filled by server. 3448 :type workload_item_type: str 3449 :param parent_name: Name for instance or AG 3450 :type parent_name: str 3451 :param server_name: Host/Cluster Name for instance or AG 3452 :type server_name: str 3453 :param is_auto_protectable: Indicates if workload item is auto-protectable 3454 :type is_auto_protectable: bool 3455 :param subinquireditemcount: For instance or AG, indicates number of DB's 3456 present 3457 :type subinquireditemcount: int 3458 :param sub_workload_item_count: For instance or AG, indicates number of 3459 DB's to be protected 3460 :type sub_workload_item_count: int 3461 """ 3462 3463 _validation = { 3464 'workload_item_type': {'required': True}, 3465 } 3466 3467 _attribute_map = { 3468 'backup_management_type': {'key': 'backupManagementType', 'type': 'str'}, 3469 'workload_type': {'key': 'workloadType', 'type': 'str'}, 3470 'friendly_name': {'key': 'friendlyName', 'type': 'str'}, 3471 'protection_state': {'key': 'protectionState', 'type': 'str'}, 3472 'workload_item_type': {'key': 'workloadItemType', 'type': 'str'}, 3473 'parent_name': {'key': 'parentName', 'type': 'str'}, 3474 'server_name': {'key': 'serverName', 'type': 'str'}, 3475 'is_auto_protectable': {'key': 'isAutoProtectable', 'type': 'bool'}, 3476 'subinquireditemcount': {'key': 'subinquireditemcount', 'type': 'int'}, 3477 'sub_workload_item_count': {'key': 'subWorkloadItemCount', 'type': 'int'}, 3478 } 3479 3480 _subtype_map = { 3481 'workload_item_type': {'SAPAseDatabase': 'AzureVmWorkloadSAPAseDatabaseWorkloadItem', 'SAPAseSystem': 'AzureVmWorkloadSAPAseSystemWorkloadItem', 'SAPHanaDatabase': 'AzureVmWorkloadSAPHanaDatabaseWorkloadItem', 'SAPHanaSystem': 'AzureVmWorkloadSAPHanaSystemWorkloadItem', 'SQLDataBase': 'AzureVmWorkloadSQLDatabaseWorkloadItem', 'SQLInstance': 'AzureVmWorkloadSQLInstanceWorkloadItem'} 3482 } 3483 3484 def __init__(self, **kwargs): 3485 super(AzureVmWorkloadItem, self).__init__(**kwargs) 3486 self.parent_name = kwargs.get('parent_name', None) 3487 self.server_name = kwargs.get('server_name', None) 3488 self.is_auto_protectable = kwargs.get('is_auto_protectable', None) 3489 self.subinquireditemcount = kwargs.get('subinquireditemcount', None) 3490 self.sub_workload_item_count = kwargs.get('sub_workload_item_count', None) 3491 self.workload_item_type = 'AzureVmWorkloadItem' 3492 3493 3494class AzureVmWorkloadProtectableItem(WorkloadProtectableItem): 3495 """Azure VM workload-specific protectable item. 3496 3497 You probably want to use the sub-classes and not this class directly. Known 3498 sub-classes are: AzureVmWorkloadSAPAseSystemProtectableItem, 3499 AzureVmWorkloadSAPHanaDatabaseProtectableItem, 3500 AzureVmWorkloadSAPHanaSystemProtectableItem, 3501 AzureVmWorkloadSQLAvailabilityGroupProtectableItem, 3502 AzureVmWorkloadSQLDatabaseProtectableItem, 3503 AzureVmWorkloadSQLInstanceProtectableItem 3504 3505 All required parameters must be populated in order to send to Azure. 3506 3507 :param backup_management_type: Type of backup management to backup an 3508 item. 3509 :type backup_management_type: str 3510 :param workload_type: Type of workload for the backup management 3511 :type workload_type: str 3512 :param friendly_name: Friendly name of the backup item. 3513 :type friendly_name: str 3514 :param protection_state: State of the back up item. Possible values 3515 include: 'Invalid', 'NotProtected', 'Protecting', 'Protected', 3516 'ProtectionFailed' 3517 :type protection_state: str or 3518 ~azure.mgmt.recoveryservicesbackup.models.ProtectionStatus 3519 :param protectable_item_type: Required. Constant filled by server. 3520 :type protectable_item_type: str 3521 :param parent_name: Name for instance or AG 3522 :type parent_name: str 3523 :param parent_unique_name: Parent Unique Name is added to provide the 3524 service formatted URI Name of the Parent 3525 Only Applicable for data bases where the parent would be either Instance 3526 or a SQL AG. 3527 :type parent_unique_name: str 3528 :param server_name: Host/Cluster Name for instance or AG 3529 :type server_name: str 3530 :param is_auto_protectable: Indicates if protectable item is 3531 auto-protectable 3532 :type is_auto_protectable: bool 3533 :param is_auto_protected: Indicates if protectable item is auto-protected 3534 :type is_auto_protected: bool 3535 :param subinquireditemcount: For instance or AG, indicates number of DB's 3536 present 3537 :type subinquireditemcount: int 3538 :param subprotectableitemcount: For instance or AG, indicates number of 3539 DB's to be protected 3540 :type subprotectableitemcount: int 3541 :param prebackupvalidation: Pre-backup validation for protectable objects 3542 :type prebackupvalidation: 3543 ~azure.mgmt.recoveryservicesbackup.models.PreBackupValidation 3544 """ 3545 3546 _validation = { 3547 'protectable_item_type': {'required': True}, 3548 } 3549 3550 _attribute_map = { 3551 'backup_management_type': {'key': 'backupManagementType', 'type': 'str'}, 3552 'workload_type': {'key': 'workloadType', 'type': 'str'}, 3553 'friendly_name': {'key': 'friendlyName', 'type': 'str'}, 3554 'protection_state': {'key': 'protectionState', 'type': 'str'}, 3555 'protectable_item_type': {'key': 'protectableItemType', 'type': 'str'}, 3556 'parent_name': {'key': 'parentName', 'type': 'str'}, 3557 'parent_unique_name': {'key': 'parentUniqueName', 'type': 'str'}, 3558 'server_name': {'key': 'serverName', 'type': 'str'}, 3559 'is_auto_protectable': {'key': 'isAutoProtectable', 'type': 'bool'}, 3560 'is_auto_protected': {'key': 'isAutoProtected', 'type': 'bool'}, 3561 'subinquireditemcount': {'key': 'subinquireditemcount', 'type': 'int'}, 3562 'subprotectableitemcount': {'key': 'subprotectableitemcount', 'type': 'int'}, 3563 'prebackupvalidation': {'key': 'prebackupvalidation', 'type': 'PreBackupValidation'}, 3564 } 3565 3566 _subtype_map = { 3567 'protectable_item_type': {'SAPAseSystem': 'AzureVmWorkloadSAPAseSystemProtectableItem', 'SAPHanaDatabase': 'AzureVmWorkloadSAPHanaDatabaseProtectableItem', 'SAPHanaSystem': 'AzureVmWorkloadSAPHanaSystemProtectableItem', 'SQLAvailabilityGroupContainer': 'AzureVmWorkloadSQLAvailabilityGroupProtectableItem', 'SQLDataBase': 'AzureVmWorkloadSQLDatabaseProtectableItem', 'SQLInstance': 'AzureVmWorkloadSQLInstanceProtectableItem'} 3568 } 3569 3570 def __init__(self, **kwargs): 3571 super(AzureVmWorkloadProtectableItem, self).__init__(**kwargs) 3572 self.parent_name = kwargs.get('parent_name', None) 3573 self.parent_unique_name = kwargs.get('parent_unique_name', None) 3574 self.server_name = kwargs.get('server_name', None) 3575 self.is_auto_protectable = kwargs.get('is_auto_protectable', None) 3576 self.is_auto_protected = kwargs.get('is_auto_protected', None) 3577 self.subinquireditemcount = kwargs.get('subinquireditemcount', None) 3578 self.subprotectableitemcount = kwargs.get('subprotectableitemcount', None) 3579 self.prebackupvalidation = kwargs.get('prebackupvalidation', None) 3580 self.protectable_item_type = 'AzureVmWorkloadProtectableItem' 3581 3582 3583class AzureVmWorkloadProtectedItem(ProtectedItem): 3584 """Azure VM workload-specific protected item. 3585 3586 You probably want to use the sub-classes and not this class directly. Known 3587 sub-classes are: AzureVmWorkloadSAPAseDatabaseProtectedItem, 3588 AzureVmWorkloadSAPHanaDatabaseProtectedItem, 3589 AzureVmWorkloadSQLDatabaseProtectedItem 3590 3591 All required parameters must be populated in order to send to Azure. 3592 3593 :param backup_management_type: Type of backup management for the backed up 3594 item. Possible values include: 'Invalid', 'AzureIaasVM', 'MAB', 'DPM', 3595 'AzureBackupServer', 'AzureSql', 'AzureStorage', 'AzureWorkload', 3596 'DefaultBackup' 3597 :type backup_management_type: str or 3598 ~azure.mgmt.recoveryservicesbackup.models.BackupManagementType 3599 :param workload_type: Type of workload this item represents. Possible 3600 values include: 'Invalid', 'VM', 'FileFolder', 'AzureSqlDb', 'SQLDB', 3601 'Exchange', 'Sharepoint', 'VMwareVM', 'SystemState', 'Client', 3602 'GenericDataSource', 'SQLDataBase', 'AzureFileShare', 'SAPHanaDatabase', 3603 'SAPAseDatabase' 3604 :type workload_type: str or 3605 ~azure.mgmt.recoveryservicesbackup.models.DataSourceType 3606 :param container_name: Unique name of container 3607 :type container_name: str 3608 :param source_resource_id: ARM ID of the resource to be backed up. 3609 :type source_resource_id: str 3610 :param policy_id: ID of the backup policy with which this item is backed 3611 up. 3612 :type policy_id: str 3613 :param last_recovery_point: Timestamp when the last (latest) backup copy 3614 was created for this backup item. 3615 :type last_recovery_point: datetime 3616 :param backup_set_name: Name of the backup set the backup item belongs to 3617 :type backup_set_name: str 3618 :param create_mode: Create mode to indicate recovery of existing soft 3619 deleted data source or creation of new data source. Possible values 3620 include: 'Invalid', 'Default', 'Recover' 3621 :type create_mode: str or 3622 ~azure.mgmt.recoveryservicesbackup.models.CreateMode 3623 :param deferred_delete_time_in_utc: Time for deferred deletion in UTC 3624 :type deferred_delete_time_in_utc: datetime 3625 :param is_scheduled_for_deferred_delete: Flag to identify whether the DS 3626 is scheduled for deferred delete 3627 :type is_scheduled_for_deferred_delete: bool 3628 :param deferred_delete_time_remaining: Time remaining before the DS marked 3629 for deferred delete is permanently deleted 3630 :type deferred_delete_time_remaining: str 3631 :param is_deferred_delete_schedule_upcoming: Flag to identify whether the 3632 deferred deleted DS is to be purged soon 3633 :type is_deferred_delete_schedule_upcoming: bool 3634 :param is_rehydrate: Flag to identify that deferred deleted DS is to be 3635 moved into Pause state 3636 :type is_rehydrate: bool 3637 :param resource_guard_operation_requests: ResourceGuardOperationRequests 3638 on which LAC check will be performed 3639 :type resource_guard_operation_requests: list[str] 3640 :param protected_item_type: Required. Constant filled by server. 3641 :type protected_item_type: str 3642 :param friendly_name: Friendly name of the DB represented by this backup 3643 item. 3644 :type friendly_name: str 3645 :param server_name: Host/Cluster Name for instance or AG 3646 :type server_name: str 3647 :param parent_name: Parent name of the DB such as Instance or Availability 3648 Group. 3649 :type parent_name: str 3650 :param parent_type: Parent type of protected item, example: for a DB, 3651 standalone server or distributed 3652 :type parent_type: str 3653 :param protection_status: Backup status of this backup item. 3654 :type protection_status: str 3655 :param protection_state: Backup state of this backup item. Possible values 3656 include: 'Invalid', 'IRPending', 'Protected', 'ProtectionError', 3657 'ProtectionStopped', 'ProtectionPaused' 3658 :type protection_state: str or 3659 ~azure.mgmt.recoveryservicesbackup.models.ProtectionState 3660 :param last_backup_status: Last backup operation status. Possible values: 3661 Healthy, Unhealthy. Possible values include: 'Invalid', 'Healthy', 3662 'Unhealthy', 'IRPending' 3663 :type last_backup_status: str or 3664 ~azure.mgmt.recoveryservicesbackup.models.LastBackupStatus 3665 :param last_backup_time: Timestamp of the last backup operation on this 3666 backup item. 3667 :type last_backup_time: datetime 3668 :param last_backup_error_detail: Error details in last backup 3669 :type last_backup_error_detail: 3670 ~azure.mgmt.recoveryservicesbackup.models.ErrorDetail 3671 :param protected_item_data_source_id: Data ID of the protected item. 3672 :type protected_item_data_source_id: str 3673 :param protected_item_health_status: Health status of the backup item, 3674 evaluated based on last heartbeat received. Possible values include: 3675 'Invalid', 'Healthy', 'Unhealthy', 'NotReachable', 'IRPending' 3676 :type protected_item_health_status: str or 3677 ~azure.mgmt.recoveryservicesbackup.models.ProtectedItemHealthStatus 3678 :param extended_info: Additional information for this backup item. 3679 :type extended_info: 3680 ~azure.mgmt.recoveryservicesbackup.models.AzureVmWorkloadProtectedItemExtendedInfo 3681 :param kpis_healths: Health details of different KPIs 3682 :type kpis_healths: dict[str, 3683 ~azure.mgmt.recoveryservicesbackup.models.KPIResourceHealthDetails] 3684 """ 3685 3686 _validation = { 3687 'protected_item_type': {'required': True}, 3688 } 3689 3690 _attribute_map = { 3691 'backup_management_type': {'key': 'backupManagementType', 'type': 'str'}, 3692 'workload_type': {'key': 'workloadType', 'type': 'str'}, 3693 'container_name': {'key': 'containerName', 'type': 'str'}, 3694 'source_resource_id': {'key': 'sourceResourceId', 'type': 'str'}, 3695 'policy_id': {'key': 'policyId', 'type': 'str'}, 3696 'last_recovery_point': {'key': 'lastRecoveryPoint', 'type': 'iso-8601'}, 3697 'backup_set_name': {'key': 'backupSetName', 'type': 'str'}, 3698 'create_mode': {'key': 'createMode', 'type': 'str'}, 3699 'deferred_delete_time_in_utc': {'key': 'deferredDeleteTimeInUTC', 'type': 'iso-8601'}, 3700 'is_scheduled_for_deferred_delete': {'key': 'isScheduledForDeferredDelete', 'type': 'bool'}, 3701 'deferred_delete_time_remaining': {'key': 'deferredDeleteTimeRemaining', 'type': 'str'}, 3702 'is_deferred_delete_schedule_upcoming': {'key': 'isDeferredDeleteScheduleUpcoming', 'type': 'bool'}, 3703 'is_rehydrate': {'key': 'isRehydrate', 'type': 'bool'}, 3704 'resource_guard_operation_requests': {'key': 'resourceGuardOperationRequests', 'type': '[str]'}, 3705 'protected_item_type': {'key': 'protectedItemType', 'type': 'str'}, 3706 'friendly_name': {'key': 'friendlyName', 'type': 'str'}, 3707 'server_name': {'key': 'serverName', 'type': 'str'}, 3708 'parent_name': {'key': 'parentName', 'type': 'str'}, 3709 'parent_type': {'key': 'parentType', 'type': 'str'}, 3710 'protection_status': {'key': 'protectionStatus', 'type': 'str'}, 3711 'protection_state': {'key': 'protectionState', 'type': 'str'}, 3712 'last_backup_status': {'key': 'lastBackupStatus', 'type': 'str'}, 3713 'last_backup_time': {'key': 'lastBackupTime', 'type': 'iso-8601'}, 3714 'last_backup_error_detail': {'key': 'lastBackupErrorDetail', 'type': 'ErrorDetail'}, 3715 'protected_item_data_source_id': {'key': 'protectedItemDataSourceId', 'type': 'str'}, 3716 'protected_item_health_status': {'key': 'protectedItemHealthStatus', 'type': 'str'}, 3717 'extended_info': {'key': 'extendedInfo', 'type': 'AzureVmWorkloadProtectedItemExtendedInfo'}, 3718 'kpis_healths': {'key': 'kpisHealths', 'type': '{KPIResourceHealthDetails}'}, 3719 } 3720 3721 _subtype_map = { 3722 'protected_item_type': {'AzureVmWorkloadSAPAseDatabase': 'AzureVmWorkloadSAPAseDatabaseProtectedItem', 'AzureVmWorkloadSAPHanaDatabase': 'AzureVmWorkloadSAPHanaDatabaseProtectedItem', 'AzureVmWorkloadSQLDatabase': 'AzureVmWorkloadSQLDatabaseProtectedItem'} 3723 } 3724 3725 def __init__(self, **kwargs): 3726 super(AzureVmWorkloadProtectedItem, self).__init__(**kwargs) 3727 self.friendly_name = kwargs.get('friendly_name', None) 3728 self.server_name = kwargs.get('server_name', None) 3729 self.parent_name = kwargs.get('parent_name', None) 3730 self.parent_type = kwargs.get('parent_type', None) 3731 self.protection_status = kwargs.get('protection_status', None) 3732 self.protection_state = kwargs.get('protection_state', None) 3733 self.last_backup_status = kwargs.get('last_backup_status', None) 3734 self.last_backup_time = kwargs.get('last_backup_time', None) 3735 self.last_backup_error_detail = kwargs.get('last_backup_error_detail', None) 3736 self.protected_item_data_source_id = kwargs.get('protected_item_data_source_id', None) 3737 self.protected_item_health_status = kwargs.get('protected_item_health_status', None) 3738 self.extended_info = kwargs.get('extended_info', None) 3739 self.kpis_healths = kwargs.get('kpis_healths', None) 3740 self.protected_item_type = 'AzureVmWorkloadProtectedItem' 3741 3742 3743class AzureVmWorkloadProtectedItemExtendedInfo(Model): 3744 """Additional information on Azure Workload for SQL specific backup item. 3745 3746 :param oldest_recovery_point: The oldest backup copy available for this 3747 backup item. 3748 :type oldest_recovery_point: datetime 3749 :param recovery_point_count: Number of backup copies available for this 3750 backup item. 3751 :type recovery_point_count: int 3752 :param policy_state: Indicates consistency of policy object and policy 3753 applied to this backup item. 3754 :type policy_state: str 3755 """ 3756 3757 _attribute_map = { 3758 'oldest_recovery_point': {'key': 'oldestRecoveryPoint', 'type': 'iso-8601'}, 3759 'recovery_point_count': {'key': 'recoveryPointCount', 'type': 'int'}, 3760 'policy_state': {'key': 'policyState', 'type': 'str'}, 3761 } 3762 3763 def __init__(self, **kwargs): 3764 super(AzureVmWorkloadProtectedItemExtendedInfo, self).__init__(**kwargs) 3765 self.oldest_recovery_point = kwargs.get('oldest_recovery_point', None) 3766 self.recovery_point_count = kwargs.get('recovery_point_count', None) 3767 self.policy_state = kwargs.get('policy_state', None) 3768 3769 3770class AzureVmWorkloadProtectionPolicy(ProtectionPolicy): 3771 """Azure VM (Mercury) workload-specific backup policy. 3772 3773 All required parameters must be populated in order to send to Azure. 3774 3775 :param protected_items_count: Number of items associated with this policy. 3776 :type protected_items_count: int 3777 :param resource_guard_operation_requests: ResourceGuard Operation Requests 3778 :type resource_guard_operation_requests: list[str] 3779 :param backup_management_type: Required. Constant filled by server. 3780 :type backup_management_type: str 3781 :param work_load_type: Type of workload for the backup management. 3782 Possible values include: 'Invalid', 'VM', 'FileFolder', 'AzureSqlDb', 3783 'SQLDB', 'Exchange', 'Sharepoint', 'VMwareVM', 'SystemState', 'Client', 3784 'GenericDataSource', 'SQLDataBase', 'AzureFileShare', 'SAPHanaDatabase', 3785 'SAPAseDatabase' 3786 :type work_load_type: str or 3787 ~azure.mgmt.recoveryservicesbackup.models.WorkloadType 3788 :param settings: Common settings for the backup management 3789 :type settings: ~azure.mgmt.recoveryservicesbackup.models.Settings 3790 :param sub_protection_policy: List of sub-protection policies which 3791 includes schedule and retention 3792 :type sub_protection_policy: 3793 list[~azure.mgmt.recoveryservicesbackup.models.SubProtectionPolicy] 3794 :param make_policy_consistent: Fix the policy inconsistency 3795 :type make_policy_consistent: bool 3796 """ 3797 3798 _validation = { 3799 'backup_management_type': {'required': True}, 3800 } 3801 3802 _attribute_map = { 3803 'protected_items_count': {'key': 'protectedItemsCount', 'type': 'int'}, 3804 'resource_guard_operation_requests': {'key': 'resourceGuardOperationRequests', 'type': '[str]'}, 3805 'backup_management_type': {'key': 'backupManagementType', 'type': 'str'}, 3806 'work_load_type': {'key': 'workLoadType', 'type': 'str'}, 3807 'settings': {'key': 'settings', 'type': 'Settings'}, 3808 'sub_protection_policy': {'key': 'subProtectionPolicy', 'type': '[SubProtectionPolicy]'}, 3809 'make_policy_consistent': {'key': 'makePolicyConsistent', 'type': 'bool'}, 3810 } 3811 3812 def __init__(self, **kwargs): 3813 super(AzureVmWorkloadProtectionPolicy, self).__init__(**kwargs) 3814 self.work_load_type = kwargs.get('work_load_type', None) 3815 self.settings = kwargs.get('settings', None) 3816 self.sub_protection_policy = kwargs.get('sub_protection_policy', None) 3817 self.make_policy_consistent = kwargs.get('make_policy_consistent', None) 3818 self.backup_management_type = 'AzureWorkload' 3819 3820 3821class AzureVmWorkloadSAPAseDatabaseProtectedItem(AzureVmWorkloadProtectedItem): 3822 """Azure VM workload-specific protected item representing SAP ASE Database. 3823 3824 All required parameters must be populated in order to send to Azure. 3825 3826 :param backup_management_type: Type of backup management for the backed up 3827 item. Possible values include: 'Invalid', 'AzureIaasVM', 'MAB', 'DPM', 3828 'AzureBackupServer', 'AzureSql', 'AzureStorage', 'AzureWorkload', 3829 'DefaultBackup' 3830 :type backup_management_type: str or 3831 ~azure.mgmt.recoveryservicesbackup.models.BackupManagementType 3832 :param workload_type: Type of workload this item represents. Possible 3833 values include: 'Invalid', 'VM', 'FileFolder', 'AzureSqlDb', 'SQLDB', 3834 'Exchange', 'Sharepoint', 'VMwareVM', 'SystemState', 'Client', 3835 'GenericDataSource', 'SQLDataBase', 'AzureFileShare', 'SAPHanaDatabase', 3836 'SAPAseDatabase' 3837 :type workload_type: str or 3838 ~azure.mgmt.recoveryservicesbackup.models.DataSourceType 3839 :param container_name: Unique name of container 3840 :type container_name: str 3841 :param source_resource_id: ARM ID of the resource to be backed up. 3842 :type source_resource_id: str 3843 :param policy_id: ID of the backup policy with which this item is backed 3844 up. 3845 :type policy_id: str 3846 :param last_recovery_point: Timestamp when the last (latest) backup copy 3847 was created for this backup item. 3848 :type last_recovery_point: datetime 3849 :param backup_set_name: Name of the backup set the backup item belongs to 3850 :type backup_set_name: str 3851 :param create_mode: Create mode to indicate recovery of existing soft 3852 deleted data source or creation of new data source. Possible values 3853 include: 'Invalid', 'Default', 'Recover' 3854 :type create_mode: str or 3855 ~azure.mgmt.recoveryservicesbackup.models.CreateMode 3856 :param deferred_delete_time_in_utc: Time for deferred deletion in UTC 3857 :type deferred_delete_time_in_utc: datetime 3858 :param is_scheduled_for_deferred_delete: Flag to identify whether the DS 3859 is scheduled for deferred delete 3860 :type is_scheduled_for_deferred_delete: bool 3861 :param deferred_delete_time_remaining: Time remaining before the DS marked 3862 for deferred delete is permanently deleted 3863 :type deferred_delete_time_remaining: str 3864 :param is_deferred_delete_schedule_upcoming: Flag to identify whether the 3865 deferred deleted DS is to be purged soon 3866 :type is_deferred_delete_schedule_upcoming: bool 3867 :param is_rehydrate: Flag to identify that deferred deleted DS is to be 3868 moved into Pause state 3869 :type is_rehydrate: bool 3870 :param resource_guard_operation_requests: ResourceGuardOperationRequests 3871 on which LAC check will be performed 3872 :type resource_guard_operation_requests: list[str] 3873 :param protected_item_type: Required. Constant filled by server. 3874 :type protected_item_type: str 3875 :param friendly_name: Friendly name of the DB represented by this backup 3876 item. 3877 :type friendly_name: str 3878 :param server_name: Host/Cluster Name for instance or AG 3879 :type server_name: str 3880 :param parent_name: Parent name of the DB such as Instance or Availability 3881 Group. 3882 :type parent_name: str 3883 :param parent_type: Parent type of protected item, example: for a DB, 3884 standalone server or distributed 3885 :type parent_type: str 3886 :param protection_status: Backup status of this backup item. 3887 :type protection_status: str 3888 :param protection_state: Backup state of this backup item. Possible values 3889 include: 'Invalid', 'IRPending', 'Protected', 'ProtectionError', 3890 'ProtectionStopped', 'ProtectionPaused' 3891 :type protection_state: str or 3892 ~azure.mgmt.recoveryservicesbackup.models.ProtectionState 3893 :param last_backup_status: Last backup operation status. Possible values: 3894 Healthy, Unhealthy. Possible values include: 'Invalid', 'Healthy', 3895 'Unhealthy', 'IRPending' 3896 :type last_backup_status: str or 3897 ~azure.mgmt.recoveryservicesbackup.models.LastBackupStatus 3898 :param last_backup_time: Timestamp of the last backup operation on this 3899 backup item. 3900 :type last_backup_time: datetime 3901 :param last_backup_error_detail: Error details in last backup 3902 :type last_backup_error_detail: 3903 ~azure.mgmt.recoveryservicesbackup.models.ErrorDetail 3904 :param protected_item_data_source_id: Data ID of the protected item. 3905 :type protected_item_data_source_id: str 3906 :param protected_item_health_status: Health status of the backup item, 3907 evaluated based on last heartbeat received. Possible values include: 3908 'Invalid', 'Healthy', 'Unhealthy', 'NotReachable', 'IRPending' 3909 :type protected_item_health_status: str or 3910 ~azure.mgmt.recoveryservicesbackup.models.ProtectedItemHealthStatus 3911 :param extended_info: Additional information for this backup item. 3912 :type extended_info: 3913 ~azure.mgmt.recoveryservicesbackup.models.AzureVmWorkloadProtectedItemExtendedInfo 3914 :param kpis_healths: Health details of different KPIs 3915 :type kpis_healths: dict[str, 3916 ~azure.mgmt.recoveryservicesbackup.models.KPIResourceHealthDetails] 3917 """ 3918 3919 _validation = { 3920 'protected_item_type': {'required': True}, 3921 } 3922 3923 _attribute_map = { 3924 'backup_management_type': {'key': 'backupManagementType', 'type': 'str'}, 3925 'workload_type': {'key': 'workloadType', 'type': 'str'}, 3926 'container_name': {'key': 'containerName', 'type': 'str'}, 3927 'source_resource_id': {'key': 'sourceResourceId', 'type': 'str'}, 3928 'policy_id': {'key': 'policyId', 'type': 'str'}, 3929 'last_recovery_point': {'key': 'lastRecoveryPoint', 'type': 'iso-8601'}, 3930 'backup_set_name': {'key': 'backupSetName', 'type': 'str'}, 3931 'create_mode': {'key': 'createMode', 'type': 'str'}, 3932 'deferred_delete_time_in_utc': {'key': 'deferredDeleteTimeInUTC', 'type': 'iso-8601'}, 3933 'is_scheduled_for_deferred_delete': {'key': 'isScheduledForDeferredDelete', 'type': 'bool'}, 3934 'deferred_delete_time_remaining': {'key': 'deferredDeleteTimeRemaining', 'type': 'str'}, 3935 'is_deferred_delete_schedule_upcoming': {'key': 'isDeferredDeleteScheduleUpcoming', 'type': 'bool'}, 3936 'is_rehydrate': {'key': 'isRehydrate', 'type': 'bool'}, 3937 'resource_guard_operation_requests': {'key': 'resourceGuardOperationRequests', 'type': '[str]'}, 3938 'protected_item_type': {'key': 'protectedItemType', 'type': 'str'}, 3939 'friendly_name': {'key': 'friendlyName', 'type': 'str'}, 3940 'server_name': {'key': 'serverName', 'type': 'str'}, 3941 'parent_name': {'key': 'parentName', 'type': 'str'}, 3942 'parent_type': {'key': 'parentType', 'type': 'str'}, 3943 'protection_status': {'key': 'protectionStatus', 'type': 'str'}, 3944 'protection_state': {'key': 'protectionState', 'type': 'str'}, 3945 'last_backup_status': {'key': 'lastBackupStatus', 'type': 'str'}, 3946 'last_backup_time': {'key': 'lastBackupTime', 'type': 'iso-8601'}, 3947 'last_backup_error_detail': {'key': 'lastBackupErrorDetail', 'type': 'ErrorDetail'}, 3948 'protected_item_data_source_id': {'key': 'protectedItemDataSourceId', 'type': 'str'}, 3949 'protected_item_health_status': {'key': 'protectedItemHealthStatus', 'type': 'str'}, 3950 'extended_info': {'key': 'extendedInfo', 'type': 'AzureVmWorkloadProtectedItemExtendedInfo'}, 3951 'kpis_healths': {'key': 'kpisHealths', 'type': '{KPIResourceHealthDetails}'}, 3952 } 3953 3954 def __init__(self, **kwargs): 3955 super(AzureVmWorkloadSAPAseDatabaseProtectedItem, self).__init__(**kwargs) 3956 self.protected_item_type = 'AzureVmWorkloadSAPAseDatabase' 3957 3958 3959class AzureVmWorkloadSAPAseDatabaseWorkloadItem(AzureVmWorkloadItem): 3960 """Azure VM workload-specific workload item representing SAP ASE Database. 3961 3962 All required parameters must be populated in order to send to Azure. 3963 3964 :param backup_management_type: Type of backup management to backup an 3965 item. 3966 :type backup_management_type: str 3967 :param workload_type: Type of workload for the backup management 3968 :type workload_type: str 3969 :param friendly_name: Friendly name of the backup item. 3970 :type friendly_name: str 3971 :param protection_state: State of the back up item. Possible values 3972 include: 'Invalid', 'NotProtected', 'Protecting', 'Protected', 3973 'ProtectionFailed' 3974 :type protection_state: str or 3975 ~azure.mgmt.recoveryservicesbackup.models.ProtectionStatus 3976 :param workload_item_type: Required. Constant filled by server. 3977 :type workload_item_type: str 3978 :param parent_name: Name for instance or AG 3979 :type parent_name: str 3980 :param server_name: Host/Cluster Name for instance or AG 3981 :type server_name: str 3982 :param is_auto_protectable: Indicates if workload item is auto-protectable 3983 :type is_auto_protectable: bool 3984 :param subinquireditemcount: For instance or AG, indicates number of DB's 3985 present 3986 :type subinquireditemcount: int 3987 :param sub_workload_item_count: For instance or AG, indicates number of 3988 DB's to be protected 3989 :type sub_workload_item_count: int 3990 """ 3991 3992 _validation = { 3993 'workload_item_type': {'required': True}, 3994 } 3995 3996 _attribute_map = { 3997 'backup_management_type': {'key': 'backupManagementType', 'type': 'str'}, 3998 'workload_type': {'key': 'workloadType', 'type': 'str'}, 3999 'friendly_name': {'key': 'friendlyName', 'type': 'str'}, 4000 'protection_state': {'key': 'protectionState', 'type': 'str'}, 4001 'workload_item_type': {'key': 'workloadItemType', 'type': 'str'}, 4002 'parent_name': {'key': 'parentName', 'type': 'str'}, 4003 'server_name': {'key': 'serverName', 'type': 'str'}, 4004 'is_auto_protectable': {'key': 'isAutoProtectable', 'type': 'bool'}, 4005 'subinquireditemcount': {'key': 'subinquireditemcount', 'type': 'int'}, 4006 'sub_workload_item_count': {'key': 'subWorkloadItemCount', 'type': 'int'}, 4007 } 4008 4009 def __init__(self, **kwargs): 4010 super(AzureVmWorkloadSAPAseDatabaseWorkloadItem, self).__init__(**kwargs) 4011 self.workload_item_type = 'SAPAseDatabase' 4012 4013 4014class AzureVmWorkloadSAPAseSystemProtectableItem(AzureVmWorkloadProtectableItem): 4015 """Azure VM workload-specific protectable item representing SAP ASE System. 4016 4017 All required parameters must be populated in order to send to Azure. 4018 4019 :param backup_management_type: Type of backup management to backup an 4020 item. 4021 :type backup_management_type: str 4022 :param workload_type: Type of workload for the backup management 4023 :type workload_type: str 4024 :param friendly_name: Friendly name of the backup item. 4025 :type friendly_name: str 4026 :param protection_state: State of the back up item. Possible values 4027 include: 'Invalid', 'NotProtected', 'Protecting', 'Protected', 4028 'ProtectionFailed' 4029 :type protection_state: str or 4030 ~azure.mgmt.recoveryservicesbackup.models.ProtectionStatus 4031 :param protectable_item_type: Required. Constant filled by server. 4032 :type protectable_item_type: str 4033 :param parent_name: Name for instance or AG 4034 :type parent_name: str 4035 :param parent_unique_name: Parent Unique Name is added to provide the 4036 service formatted URI Name of the Parent 4037 Only Applicable for data bases where the parent would be either Instance 4038 or a SQL AG. 4039 :type parent_unique_name: str 4040 :param server_name: Host/Cluster Name for instance or AG 4041 :type server_name: str 4042 :param is_auto_protectable: Indicates if protectable item is 4043 auto-protectable 4044 :type is_auto_protectable: bool 4045 :param is_auto_protected: Indicates if protectable item is auto-protected 4046 :type is_auto_protected: bool 4047 :param subinquireditemcount: For instance or AG, indicates number of DB's 4048 present 4049 :type subinquireditemcount: int 4050 :param subprotectableitemcount: For instance or AG, indicates number of 4051 DB's to be protected 4052 :type subprotectableitemcount: int 4053 :param prebackupvalidation: Pre-backup validation for protectable objects 4054 :type prebackupvalidation: 4055 ~azure.mgmt.recoveryservicesbackup.models.PreBackupValidation 4056 """ 4057 4058 _validation = { 4059 'protectable_item_type': {'required': True}, 4060 } 4061 4062 _attribute_map = { 4063 'backup_management_type': {'key': 'backupManagementType', 'type': 'str'}, 4064 'workload_type': {'key': 'workloadType', 'type': 'str'}, 4065 'friendly_name': {'key': 'friendlyName', 'type': 'str'}, 4066 'protection_state': {'key': 'protectionState', 'type': 'str'}, 4067 'protectable_item_type': {'key': 'protectableItemType', 'type': 'str'}, 4068 'parent_name': {'key': 'parentName', 'type': 'str'}, 4069 'parent_unique_name': {'key': 'parentUniqueName', 'type': 'str'}, 4070 'server_name': {'key': 'serverName', 'type': 'str'}, 4071 'is_auto_protectable': {'key': 'isAutoProtectable', 'type': 'bool'}, 4072 'is_auto_protected': {'key': 'isAutoProtected', 'type': 'bool'}, 4073 'subinquireditemcount': {'key': 'subinquireditemcount', 'type': 'int'}, 4074 'subprotectableitemcount': {'key': 'subprotectableitemcount', 'type': 'int'}, 4075 'prebackupvalidation': {'key': 'prebackupvalidation', 'type': 'PreBackupValidation'}, 4076 } 4077 4078 def __init__(self, **kwargs): 4079 super(AzureVmWorkloadSAPAseSystemProtectableItem, self).__init__(**kwargs) 4080 self.protectable_item_type = 'SAPAseSystem' 4081 4082 4083class AzureVmWorkloadSAPAseSystemWorkloadItem(AzureVmWorkloadItem): 4084 """Azure VM workload-specific workload item representing SAP ASE System. 4085 4086 All required parameters must be populated in order to send to Azure. 4087 4088 :param backup_management_type: Type of backup management to backup an 4089 item. 4090 :type backup_management_type: str 4091 :param workload_type: Type of workload for the backup management 4092 :type workload_type: str 4093 :param friendly_name: Friendly name of the backup item. 4094 :type friendly_name: str 4095 :param protection_state: State of the back up item. Possible values 4096 include: 'Invalid', 'NotProtected', 'Protecting', 'Protected', 4097 'ProtectionFailed' 4098 :type protection_state: str or 4099 ~azure.mgmt.recoveryservicesbackup.models.ProtectionStatus 4100 :param workload_item_type: Required. Constant filled by server. 4101 :type workload_item_type: str 4102 :param parent_name: Name for instance or AG 4103 :type parent_name: str 4104 :param server_name: Host/Cluster Name for instance or AG 4105 :type server_name: str 4106 :param is_auto_protectable: Indicates if workload item is auto-protectable 4107 :type is_auto_protectable: bool 4108 :param subinquireditemcount: For instance or AG, indicates number of DB's 4109 present 4110 :type subinquireditemcount: int 4111 :param sub_workload_item_count: For instance or AG, indicates number of 4112 DB's to be protected 4113 :type sub_workload_item_count: int 4114 """ 4115 4116 _validation = { 4117 'workload_item_type': {'required': True}, 4118 } 4119 4120 _attribute_map = { 4121 'backup_management_type': {'key': 'backupManagementType', 'type': 'str'}, 4122 'workload_type': {'key': 'workloadType', 'type': 'str'}, 4123 'friendly_name': {'key': 'friendlyName', 'type': 'str'}, 4124 'protection_state': {'key': 'protectionState', 'type': 'str'}, 4125 'workload_item_type': {'key': 'workloadItemType', 'type': 'str'}, 4126 'parent_name': {'key': 'parentName', 'type': 'str'}, 4127 'server_name': {'key': 'serverName', 'type': 'str'}, 4128 'is_auto_protectable': {'key': 'isAutoProtectable', 'type': 'bool'}, 4129 'subinquireditemcount': {'key': 'subinquireditemcount', 'type': 'int'}, 4130 'sub_workload_item_count': {'key': 'subWorkloadItemCount', 'type': 'int'}, 4131 } 4132 4133 def __init__(self, **kwargs): 4134 super(AzureVmWorkloadSAPAseSystemWorkloadItem, self).__init__(**kwargs) 4135 self.workload_item_type = 'SAPAseSystem' 4136 4137 4138class AzureVmWorkloadSAPHanaDatabaseProtectableItem(AzureVmWorkloadProtectableItem): 4139 """Azure VM workload-specific protectable item representing SAP HANA Database. 4140 4141 All required parameters must be populated in order to send to Azure. 4142 4143 :param backup_management_type: Type of backup management to backup an 4144 item. 4145 :type backup_management_type: str 4146 :param workload_type: Type of workload for the backup management 4147 :type workload_type: str 4148 :param friendly_name: Friendly name of the backup item. 4149 :type friendly_name: str 4150 :param protection_state: State of the back up item. Possible values 4151 include: 'Invalid', 'NotProtected', 'Protecting', 'Protected', 4152 'ProtectionFailed' 4153 :type protection_state: str or 4154 ~azure.mgmt.recoveryservicesbackup.models.ProtectionStatus 4155 :param protectable_item_type: Required. Constant filled by server. 4156 :type protectable_item_type: str 4157 :param parent_name: Name for instance or AG 4158 :type parent_name: str 4159 :param parent_unique_name: Parent Unique Name is added to provide the 4160 service formatted URI Name of the Parent 4161 Only Applicable for data bases where the parent would be either Instance 4162 or a SQL AG. 4163 :type parent_unique_name: str 4164 :param server_name: Host/Cluster Name for instance or AG 4165 :type server_name: str 4166 :param is_auto_protectable: Indicates if protectable item is 4167 auto-protectable 4168 :type is_auto_protectable: bool 4169 :param is_auto_protected: Indicates if protectable item is auto-protected 4170 :type is_auto_protected: bool 4171 :param subinquireditemcount: For instance or AG, indicates number of DB's 4172 present 4173 :type subinquireditemcount: int 4174 :param subprotectableitemcount: For instance or AG, indicates number of 4175 DB's to be protected 4176 :type subprotectableitemcount: int 4177 :param prebackupvalidation: Pre-backup validation for protectable objects 4178 :type prebackupvalidation: 4179 ~azure.mgmt.recoveryservicesbackup.models.PreBackupValidation 4180 """ 4181 4182 _validation = { 4183 'protectable_item_type': {'required': True}, 4184 } 4185 4186 _attribute_map = { 4187 'backup_management_type': {'key': 'backupManagementType', 'type': 'str'}, 4188 'workload_type': {'key': 'workloadType', 'type': 'str'}, 4189 'friendly_name': {'key': 'friendlyName', 'type': 'str'}, 4190 'protection_state': {'key': 'protectionState', 'type': 'str'}, 4191 'protectable_item_type': {'key': 'protectableItemType', 'type': 'str'}, 4192 'parent_name': {'key': 'parentName', 'type': 'str'}, 4193 'parent_unique_name': {'key': 'parentUniqueName', 'type': 'str'}, 4194 'server_name': {'key': 'serverName', 'type': 'str'}, 4195 'is_auto_protectable': {'key': 'isAutoProtectable', 'type': 'bool'}, 4196 'is_auto_protected': {'key': 'isAutoProtected', 'type': 'bool'}, 4197 'subinquireditemcount': {'key': 'subinquireditemcount', 'type': 'int'}, 4198 'subprotectableitemcount': {'key': 'subprotectableitemcount', 'type': 'int'}, 4199 'prebackupvalidation': {'key': 'prebackupvalidation', 'type': 'PreBackupValidation'}, 4200 } 4201 4202 def __init__(self, **kwargs): 4203 super(AzureVmWorkloadSAPHanaDatabaseProtectableItem, self).__init__(**kwargs) 4204 self.protectable_item_type = 'SAPHanaDatabase' 4205 4206 4207class AzureVmWorkloadSAPHanaDatabaseProtectedItem(AzureVmWorkloadProtectedItem): 4208 """Azure VM workload-specific protected item representing SAP HANA Database. 4209 4210 All required parameters must be populated in order to send to Azure. 4211 4212 :param backup_management_type: Type of backup management for the backed up 4213 item. Possible values include: 'Invalid', 'AzureIaasVM', 'MAB', 'DPM', 4214 'AzureBackupServer', 'AzureSql', 'AzureStorage', 'AzureWorkload', 4215 'DefaultBackup' 4216 :type backup_management_type: str or 4217 ~azure.mgmt.recoveryservicesbackup.models.BackupManagementType 4218 :param workload_type: Type of workload this item represents. Possible 4219 values include: 'Invalid', 'VM', 'FileFolder', 'AzureSqlDb', 'SQLDB', 4220 'Exchange', 'Sharepoint', 'VMwareVM', 'SystemState', 'Client', 4221 'GenericDataSource', 'SQLDataBase', 'AzureFileShare', 'SAPHanaDatabase', 4222 'SAPAseDatabase' 4223 :type workload_type: str or 4224 ~azure.mgmt.recoveryservicesbackup.models.DataSourceType 4225 :param container_name: Unique name of container 4226 :type container_name: str 4227 :param source_resource_id: ARM ID of the resource to be backed up. 4228 :type source_resource_id: str 4229 :param policy_id: ID of the backup policy with which this item is backed 4230 up. 4231 :type policy_id: str 4232 :param last_recovery_point: Timestamp when the last (latest) backup copy 4233 was created for this backup item. 4234 :type last_recovery_point: datetime 4235 :param backup_set_name: Name of the backup set the backup item belongs to 4236 :type backup_set_name: str 4237 :param create_mode: Create mode to indicate recovery of existing soft 4238 deleted data source or creation of new data source. Possible values 4239 include: 'Invalid', 'Default', 'Recover' 4240 :type create_mode: str or 4241 ~azure.mgmt.recoveryservicesbackup.models.CreateMode 4242 :param deferred_delete_time_in_utc: Time for deferred deletion in UTC 4243 :type deferred_delete_time_in_utc: datetime 4244 :param is_scheduled_for_deferred_delete: Flag to identify whether the DS 4245 is scheduled for deferred delete 4246 :type is_scheduled_for_deferred_delete: bool 4247 :param deferred_delete_time_remaining: Time remaining before the DS marked 4248 for deferred delete is permanently deleted 4249 :type deferred_delete_time_remaining: str 4250 :param is_deferred_delete_schedule_upcoming: Flag to identify whether the 4251 deferred deleted DS is to be purged soon 4252 :type is_deferred_delete_schedule_upcoming: bool 4253 :param is_rehydrate: Flag to identify that deferred deleted DS is to be 4254 moved into Pause state 4255 :type is_rehydrate: bool 4256 :param resource_guard_operation_requests: ResourceGuardOperationRequests 4257 on which LAC check will be performed 4258 :type resource_guard_operation_requests: list[str] 4259 :param protected_item_type: Required. Constant filled by server. 4260 :type protected_item_type: str 4261 :param friendly_name: Friendly name of the DB represented by this backup 4262 item. 4263 :type friendly_name: str 4264 :param server_name: Host/Cluster Name for instance or AG 4265 :type server_name: str 4266 :param parent_name: Parent name of the DB such as Instance or Availability 4267 Group. 4268 :type parent_name: str 4269 :param parent_type: Parent type of protected item, example: for a DB, 4270 standalone server or distributed 4271 :type parent_type: str 4272 :param protection_status: Backup status of this backup item. 4273 :type protection_status: str 4274 :param protection_state: Backup state of this backup item. Possible values 4275 include: 'Invalid', 'IRPending', 'Protected', 'ProtectionError', 4276 'ProtectionStopped', 'ProtectionPaused' 4277 :type protection_state: str or 4278 ~azure.mgmt.recoveryservicesbackup.models.ProtectionState 4279 :param last_backup_status: Last backup operation status. Possible values: 4280 Healthy, Unhealthy. Possible values include: 'Invalid', 'Healthy', 4281 'Unhealthy', 'IRPending' 4282 :type last_backup_status: str or 4283 ~azure.mgmt.recoveryservicesbackup.models.LastBackupStatus 4284 :param last_backup_time: Timestamp of the last backup operation on this 4285 backup item. 4286 :type last_backup_time: datetime 4287 :param last_backup_error_detail: Error details in last backup 4288 :type last_backup_error_detail: 4289 ~azure.mgmt.recoveryservicesbackup.models.ErrorDetail 4290 :param protected_item_data_source_id: Data ID of the protected item. 4291 :type protected_item_data_source_id: str 4292 :param protected_item_health_status: Health status of the backup item, 4293 evaluated based on last heartbeat received. Possible values include: 4294 'Invalid', 'Healthy', 'Unhealthy', 'NotReachable', 'IRPending' 4295 :type protected_item_health_status: str or 4296 ~azure.mgmt.recoveryservicesbackup.models.ProtectedItemHealthStatus 4297 :param extended_info: Additional information for this backup item. 4298 :type extended_info: 4299 ~azure.mgmt.recoveryservicesbackup.models.AzureVmWorkloadProtectedItemExtendedInfo 4300 :param kpis_healths: Health details of different KPIs 4301 :type kpis_healths: dict[str, 4302 ~azure.mgmt.recoveryservicesbackup.models.KPIResourceHealthDetails] 4303 """ 4304 4305 _validation = { 4306 'protected_item_type': {'required': True}, 4307 } 4308 4309 _attribute_map = { 4310 'backup_management_type': {'key': 'backupManagementType', 'type': 'str'}, 4311 'workload_type': {'key': 'workloadType', 'type': 'str'}, 4312 'container_name': {'key': 'containerName', 'type': 'str'}, 4313 'source_resource_id': {'key': 'sourceResourceId', 'type': 'str'}, 4314 'policy_id': {'key': 'policyId', 'type': 'str'}, 4315 'last_recovery_point': {'key': 'lastRecoveryPoint', 'type': 'iso-8601'}, 4316 'backup_set_name': {'key': 'backupSetName', 'type': 'str'}, 4317 'create_mode': {'key': 'createMode', 'type': 'str'}, 4318 'deferred_delete_time_in_utc': {'key': 'deferredDeleteTimeInUTC', 'type': 'iso-8601'}, 4319 'is_scheduled_for_deferred_delete': {'key': 'isScheduledForDeferredDelete', 'type': 'bool'}, 4320 'deferred_delete_time_remaining': {'key': 'deferredDeleteTimeRemaining', 'type': 'str'}, 4321 'is_deferred_delete_schedule_upcoming': {'key': 'isDeferredDeleteScheduleUpcoming', 'type': 'bool'}, 4322 'is_rehydrate': {'key': 'isRehydrate', 'type': 'bool'}, 4323 'resource_guard_operation_requests': {'key': 'resourceGuardOperationRequests', 'type': '[str]'}, 4324 'protected_item_type': {'key': 'protectedItemType', 'type': 'str'}, 4325 'friendly_name': {'key': 'friendlyName', 'type': 'str'}, 4326 'server_name': {'key': 'serverName', 'type': 'str'}, 4327 'parent_name': {'key': 'parentName', 'type': 'str'}, 4328 'parent_type': {'key': 'parentType', 'type': 'str'}, 4329 'protection_status': {'key': 'protectionStatus', 'type': 'str'}, 4330 'protection_state': {'key': 'protectionState', 'type': 'str'}, 4331 'last_backup_status': {'key': 'lastBackupStatus', 'type': 'str'}, 4332 'last_backup_time': {'key': 'lastBackupTime', 'type': 'iso-8601'}, 4333 'last_backup_error_detail': {'key': 'lastBackupErrorDetail', 'type': 'ErrorDetail'}, 4334 'protected_item_data_source_id': {'key': 'protectedItemDataSourceId', 'type': 'str'}, 4335 'protected_item_health_status': {'key': 'protectedItemHealthStatus', 'type': 'str'}, 4336 'extended_info': {'key': 'extendedInfo', 'type': 'AzureVmWorkloadProtectedItemExtendedInfo'}, 4337 'kpis_healths': {'key': 'kpisHealths', 'type': '{KPIResourceHealthDetails}'}, 4338 } 4339 4340 def __init__(self, **kwargs): 4341 super(AzureVmWorkloadSAPHanaDatabaseProtectedItem, self).__init__(**kwargs) 4342 self.protected_item_type = 'AzureVmWorkloadSAPHanaDatabase' 4343 4344 4345class AzureVmWorkloadSAPHanaDatabaseWorkloadItem(AzureVmWorkloadItem): 4346 """Azure VM workload-specific workload item representing SAP HANA Database. 4347 4348 All required parameters must be populated in order to send to Azure. 4349 4350 :param backup_management_type: Type of backup management to backup an 4351 item. 4352 :type backup_management_type: str 4353 :param workload_type: Type of workload for the backup management 4354 :type workload_type: str 4355 :param friendly_name: Friendly name of the backup item. 4356 :type friendly_name: str 4357 :param protection_state: State of the back up item. Possible values 4358 include: 'Invalid', 'NotProtected', 'Protecting', 'Protected', 4359 'ProtectionFailed' 4360 :type protection_state: str or 4361 ~azure.mgmt.recoveryservicesbackup.models.ProtectionStatus 4362 :param workload_item_type: Required. Constant filled by server. 4363 :type workload_item_type: str 4364 :param parent_name: Name for instance or AG 4365 :type parent_name: str 4366 :param server_name: Host/Cluster Name for instance or AG 4367 :type server_name: str 4368 :param is_auto_protectable: Indicates if workload item is auto-protectable 4369 :type is_auto_protectable: bool 4370 :param subinquireditemcount: For instance or AG, indicates number of DB's 4371 present 4372 :type subinquireditemcount: int 4373 :param sub_workload_item_count: For instance or AG, indicates number of 4374 DB's to be protected 4375 :type sub_workload_item_count: int 4376 """ 4377 4378 _validation = { 4379 'workload_item_type': {'required': True}, 4380 } 4381 4382 _attribute_map = { 4383 'backup_management_type': {'key': 'backupManagementType', 'type': 'str'}, 4384 'workload_type': {'key': 'workloadType', 'type': 'str'}, 4385 'friendly_name': {'key': 'friendlyName', 'type': 'str'}, 4386 'protection_state': {'key': 'protectionState', 'type': 'str'}, 4387 'workload_item_type': {'key': 'workloadItemType', 'type': 'str'}, 4388 'parent_name': {'key': 'parentName', 'type': 'str'}, 4389 'server_name': {'key': 'serverName', 'type': 'str'}, 4390 'is_auto_protectable': {'key': 'isAutoProtectable', 'type': 'bool'}, 4391 'subinquireditemcount': {'key': 'subinquireditemcount', 'type': 'int'}, 4392 'sub_workload_item_count': {'key': 'subWorkloadItemCount', 'type': 'int'}, 4393 } 4394 4395 def __init__(self, **kwargs): 4396 super(AzureVmWorkloadSAPHanaDatabaseWorkloadItem, self).__init__(**kwargs) 4397 self.workload_item_type = 'SAPHanaDatabase' 4398 4399 4400class AzureVmWorkloadSAPHanaSystemProtectableItem(AzureVmWorkloadProtectableItem): 4401 """Azure VM workload-specific protectable item representing SAP HANA System. 4402 4403 All required parameters must be populated in order to send to Azure. 4404 4405 :param backup_management_type: Type of backup management to backup an 4406 item. 4407 :type backup_management_type: str 4408 :param workload_type: Type of workload for the backup management 4409 :type workload_type: str 4410 :param friendly_name: Friendly name of the backup item. 4411 :type friendly_name: str 4412 :param protection_state: State of the back up item. Possible values 4413 include: 'Invalid', 'NotProtected', 'Protecting', 'Protected', 4414 'ProtectionFailed' 4415 :type protection_state: str or 4416 ~azure.mgmt.recoveryservicesbackup.models.ProtectionStatus 4417 :param protectable_item_type: Required. Constant filled by server. 4418 :type protectable_item_type: str 4419 :param parent_name: Name for instance or AG 4420 :type parent_name: str 4421 :param parent_unique_name: Parent Unique Name is added to provide the 4422 service formatted URI Name of the Parent 4423 Only Applicable for data bases where the parent would be either Instance 4424 or a SQL AG. 4425 :type parent_unique_name: str 4426 :param server_name: Host/Cluster Name for instance or AG 4427 :type server_name: str 4428 :param is_auto_protectable: Indicates if protectable item is 4429 auto-protectable 4430 :type is_auto_protectable: bool 4431 :param is_auto_protected: Indicates if protectable item is auto-protected 4432 :type is_auto_protected: bool 4433 :param subinquireditemcount: For instance or AG, indicates number of DB's 4434 present 4435 :type subinquireditemcount: int 4436 :param subprotectableitemcount: For instance or AG, indicates number of 4437 DB's to be protected 4438 :type subprotectableitemcount: int 4439 :param prebackupvalidation: Pre-backup validation for protectable objects 4440 :type prebackupvalidation: 4441 ~azure.mgmt.recoveryservicesbackup.models.PreBackupValidation 4442 """ 4443 4444 _validation = { 4445 'protectable_item_type': {'required': True}, 4446 } 4447 4448 _attribute_map = { 4449 'backup_management_type': {'key': 'backupManagementType', 'type': 'str'}, 4450 'workload_type': {'key': 'workloadType', 'type': 'str'}, 4451 'friendly_name': {'key': 'friendlyName', 'type': 'str'}, 4452 'protection_state': {'key': 'protectionState', 'type': 'str'}, 4453 'protectable_item_type': {'key': 'protectableItemType', 'type': 'str'}, 4454 'parent_name': {'key': 'parentName', 'type': 'str'}, 4455 'parent_unique_name': {'key': 'parentUniqueName', 'type': 'str'}, 4456 'server_name': {'key': 'serverName', 'type': 'str'}, 4457 'is_auto_protectable': {'key': 'isAutoProtectable', 'type': 'bool'}, 4458 'is_auto_protected': {'key': 'isAutoProtected', 'type': 'bool'}, 4459 'subinquireditemcount': {'key': 'subinquireditemcount', 'type': 'int'}, 4460 'subprotectableitemcount': {'key': 'subprotectableitemcount', 'type': 'int'}, 4461 'prebackupvalidation': {'key': 'prebackupvalidation', 'type': 'PreBackupValidation'}, 4462 } 4463 4464 def __init__(self, **kwargs): 4465 super(AzureVmWorkloadSAPHanaSystemProtectableItem, self).__init__(**kwargs) 4466 self.protectable_item_type = 'SAPHanaSystem' 4467 4468 4469class AzureVmWorkloadSAPHanaSystemWorkloadItem(AzureVmWorkloadItem): 4470 """Azure VM workload-specific workload item representing SAP HANA System. 4471 4472 All required parameters must be populated in order to send to Azure. 4473 4474 :param backup_management_type: Type of backup management to backup an 4475 item. 4476 :type backup_management_type: str 4477 :param workload_type: Type of workload for the backup management 4478 :type workload_type: str 4479 :param friendly_name: Friendly name of the backup item. 4480 :type friendly_name: str 4481 :param protection_state: State of the back up item. Possible values 4482 include: 'Invalid', 'NotProtected', 'Protecting', 'Protected', 4483 'ProtectionFailed' 4484 :type protection_state: str or 4485 ~azure.mgmt.recoveryservicesbackup.models.ProtectionStatus 4486 :param workload_item_type: Required. Constant filled by server. 4487 :type workload_item_type: str 4488 :param parent_name: Name for instance or AG 4489 :type parent_name: str 4490 :param server_name: Host/Cluster Name for instance or AG 4491 :type server_name: str 4492 :param is_auto_protectable: Indicates if workload item is auto-protectable 4493 :type is_auto_protectable: bool 4494 :param subinquireditemcount: For instance or AG, indicates number of DB's 4495 present 4496 :type subinquireditemcount: int 4497 :param sub_workload_item_count: For instance or AG, indicates number of 4498 DB's to be protected 4499 :type sub_workload_item_count: int 4500 """ 4501 4502 _validation = { 4503 'workload_item_type': {'required': True}, 4504 } 4505 4506 _attribute_map = { 4507 'backup_management_type': {'key': 'backupManagementType', 'type': 'str'}, 4508 'workload_type': {'key': 'workloadType', 'type': 'str'}, 4509 'friendly_name': {'key': 'friendlyName', 'type': 'str'}, 4510 'protection_state': {'key': 'protectionState', 'type': 'str'}, 4511 'workload_item_type': {'key': 'workloadItemType', 'type': 'str'}, 4512 'parent_name': {'key': 'parentName', 'type': 'str'}, 4513 'server_name': {'key': 'serverName', 'type': 'str'}, 4514 'is_auto_protectable': {'key': 'isAutoProtectable', 'type': 'bool'}, 4515 'subinquireditemcount': {'key': 'subinquireditemcount', 'type': 'int'}, 4516 'sub_workload_item_count': {'key': 'subWorkloadItemCount', 'type': 'int'}, 4517 } 4518 4519 def __init__(self, **kwargs): 4520 super(AzureVmWorkloadSAPHanaSystemWorkloadItem, self).__init__(**kwargs) 4521 self.workload_item_type = 'SAPHanaSystem' 4522 4523 4524class AzureVmWorkloadSQLAvailabilityGroupProtectableItem(AzureVmWorkloadProtectableItem): 4525 """Azure VM workload-specific protectable item representing SQL Availability 4526 Group. 4527 4528 All required parameters must be populated in order to send to Azure. 4529 4530 :param backup_management_type: Type of backup management to backup an 4531 item. 4532 :type backup_management_type: str 4533 :param workload_type: Type of workload for the backup management 4534 :type workload_type: str 4535 :param friendly_name: Friendly name of the backup item. 4536 :type friendly_name: str 4537 :param protection_state: State of the back up item. Possible values 4538 include: 'Invalid', 'NotProtected', 'Protecting', 'Protected', 4539 'ProtectionFailed' 4540 :type protection_state: str or 4541 ~azure.mgmt.recoveryservicesbackup.models.ProtectionStatus 4542 :param protectable_item_type: Required. Constant filled by server. 4543 :type protectable_item_type: str 4544 :param parent_name: Name for instance or AG 4545 :type parent_name: str 4546 :param parent_unique_name: Parent Unique Name is added to provide the 4547 service formatted URI Name of the Parent 4548 Only Applicable for data bases where the parent would be either Instance 4549 or a SQL AG. 4550 :type parent_unique_name: str 4551 :param server_name: Host/Cluster Name for instance or AG 4552 :type server_name: str 4553 :param is_auto_protectable: Indicates if protectable item is 4554 auto-protectable 4555 :type is_auto_protectable: bool 4556 :param is_auto_protected: Indicates if protectable item is auto-protected 4557 :type is_auto_protected: bool 4558 :param subinquireditemcount: For instance or AG, indicates number of DB's 4559 present 4560 :type subinquireditemcount: int 4561 :param subprotectableitemcount: For instance or AG, indicates number of 4562 DB's to be protected 4563 :type subprotectableitemcount: int 4564 :param prebackupvalidation: Pre-backup validation for protectable objects 4565 :type prebackupvalidation: 4566 ~azure.mgmt.recoveryservicesbackup.models.PreBackupValidation 4567 """ 4568 4569 _validation = { 4570 'protectable_item_type': {'required': True}, 4571 } 4572 4573 _attribute_map = { 4574 'backup_management_type': {'key': 'backupManagementType', 'type': 'str'}, 4575 'workload_type': {'key': 'workloadType', 'type': 'str'}, 4576 'friendly_name': {'key': 'friendlyName', 'type': 'str'}, 4577 'protection_state': {'key': 'protectionState', 'type': 'str'}, 4578 'protectable_item_type': {'key': 'protectableItemType', 'type': 'str'}, 4579 'parent_name': {'key': 'parentName', 'type': 'str'}, 4580 'parent_unique_name': {'key': 'parentUniqueName', 'type': 'str'}, 4581 'server_name': {'key': 'serverName', 'type': 'str'}, 4582 'is_auto_protectable': {'key': 'isAutoProtectable', 'type': 'bool'}, 4583 'is_auto_protected': {'key': 'isAutoProtected', 'type': 'bool'}, 4584 'subinquireditemcount': {'key': 'subinquireditemcount', 'type': 'int'}, 4585 'subprotectableitemcount': {'key': 'subprotectableitemcount', 'type': 'int'}, 4586 'prebackupvalidation': {'key': 'prebackupvalidation', 'type': 'PreBackupValidation'}, 4587 } 4588 4589 def __init__(self, **kwargs): 4590 super(AzureVmWorkloadSQLAvailabilityGroupProtectableItem, self).__init__(**kwargs) 4591 self.protectable_item_type = 'SQLAvailabilityGroupContainer' 4592 4593 4594class AzureVmWorkloadSQLDatabaseProtectableItem(AzureVmWorkloadProtectableItem): 4595 """Azure VM workload-specific protectable item representing SQL Database. 4596 4597 All required parameters must be populated in order to send to Azure. 4598 4599 :param backup_management_type: Type of backup management to backup an 4600 item. 4601 :type backup_management_type: str 4602 :param workload_type: Type of workload for the backup management 4603 :type workload_type: str 4604 :param friendly_name: Friendly name of the backup item. 4605 :type friendly_name: str 4606 :param protection_state: State of the back up item. Possible values 4607 include: 'Invalid', 'NotProtected', 'Protecting', 'Protected', 4608 'ProtectionFailed' 4609 :type protection_state: str or 4610 ~azure.mgmt.recoveryservicesbackup.models.ProtectionStatus 4611 :param protectable_item_type: Required. Constant filled by server. 4612 :type protectable_item_type: str 4613 :param parent_name: Name for instance or AG 4614 :type parent_name: str 4615 :param parent_unique_name: Parent Unique Name is added to provide the 4616 service formatted URI Name of the Parent 4617 Only Applicable for data bases where the parent would be either Instance 4618 or a SQL AG. 4619 :type parent_unique_name: str 4620 :param server_name: Host/Cluster Name for instance or AG 4621 :type server_name: str 4622 :param is_auto_protectable: Indicates if protectable item is 4623 auto-protectable 4624 :type is_auto_protectable: bool 4625 :param is_auto_protected: Indicates if protectable item is auto-protected 4626 :type is_auto_protected: bool 4627 :param subinquireditemcount: For instance or AG, indicates number of DB's 4628 present 4629 :type subinquireditemcount: int 4630 :param subprotectableitemcount: For instance or AG, indicates number of 4631 DB's to be protected 4632 :type subprotectableitemcount: int 4633 :param prebackupvalidation: Pre-backup validation for protectable objects 4634 :type prebackupvalidation: 4635 ~azure.mgmt.recoveryservicesbackup.models.PreBackupValidation 4636 """ 4637 4638 _validation = { 4639 'protectable_item_type': {'required': True}, 4640 } 4641 4642 _attribute_map = { 4643 'backup_management_type': {'key': 'backupManagementType', 'type': 'str'}, 4644 'workload_type': {'key': 'workloadType', 'type': 'str'}, 4645 'friendly_name': {'key': 'friendlyName', 'type': 'str'}, 4646 'protection_state': {'key': 'protectionState', 'type': 'str'}, 4647 'protectable_item_type': {'key': 'protectableItemType', 'type': 'str'}, 4648 'parent_name': {'key': 'parentName', 'type': 'str'}, 4649 'parent_unique_name': {'key': 'parentUniqueName', 'type': 'str'}, 4650 'server_name': {'key': 'serverName', 'type': 'str'}, 4651 'is_auto_protectable': {'key': 'isAutoProtectable', 'type': 'bool'}, 4652 'is_auto_protected': {'key': 'isAutoProtected', 'type': 'bool'}, 4653 'subinquireditemcount': {'key': 'subinquireditemcount', 'type': 'int'}, 4654 'subprotectableitemcount': {'key': 'subprotectableitemcount', 'type': 'int'}, 4655 'prebackupvalidation': {'key': 'prebackupvalidation', 'type': 'PreBackupValidation'}, 4656 } 4657 4658 def __init__(self, **kwargs): 4659 super(AzureVmWorkloadSQLDatabaseProtectableItem, self).__init__(**kwargs) 4660 self.protectable_item_type = 'SQLDataBase' 4661 4662 4663class AzureVmWorkloadSQLDatabaseProtectedItem(AzureVmWorkloadProtectedItem): 4664 """Azure VM workload-specific protected item representing SQL Database. 4665 4666 All required parameters must be populated in order to send to Azure. 4667 4668 :param backup_management_type: Type of backup management for the backed up 4669 item. Possible values include: 'Invalid', 'AzureIaasVM', 'MAB', 'DPM', 4670 'AzureBackupServer', 'AzureSql', 'AzureStorage', 'AzureWorkload', 4671 'DefaultBackup' 4672 :type backup_management_type: str or 4673 ~azure.mgmt.recoveryservicesbackup.models.BackupManagementType 4674 :param workload_type: Type of workload this item represents. Possible 4675 values include: 'Invalid', 'VM', 'FileFolder', 'AzureSqlDb', 'SQLDB', 4676 'Exchange', 'Sharepoint', 'VMwareVM', 'SystemState', 'Client', 4677 'GenericDataSource', 'SQLDataBase', 'AzureFileShare', 'SAPHanaDatabase', 4678 'SAPAseDatabase' 4679 :type workload_type: str or 4680 ~azure.mgmt.recoveryservicesbackup.models.DataSourceType 4681 :param container_name: Unique name of container 4682 :type container_name: str 4683 :param source_resource_id: ARM ID of the resource to be backed up. 4684 :type source_resource_id: str 4685 :param policy_id: ID of the backup policy with which this item is backed 4686 up. 4687 :type policy_id: str 4688 :param last_recovery_point: Timestamp when the last (latest) backup copy 4689 was created for this backup item. 4690 :type last_recovery_point: datetime 4691 :param backup_set_name: Name of the backup set the backup item belongs to 4692 :type backup_set_name: str 4693 :param create_mode: Create mode to indicate recovery of existing soft 4694 deleted data source or creation of new data source. Possible values 4695 include: 'Invalid', 'Default', 'Recover' 4696 :type create_mode: str or 4697 ~azure.mgmt.recoveryservicesbackup.models.CreateMode 4698 :param deferred_delete_time_in_utc: Time for deferred deletion in UTC 4699 :type deferred_delete_time_in_utc: datetime 4700 :param is_scheduled_for_deferred_delete: Flag to identify whether the DS 4701 is scheduled for deferred delete 4702 :type is_scheduled_for_deferred_delete: bool 4703 :param deferred_delete_time_remaining: Time remaining before the DS marked 4704 for deferred delete is permanently deleted 4705 :type deferred_delete_time_remaining: str 4706 :param is_deferred_delete_schedule_upcoming: Flag to identify whether the 4707 deferred deleted DS is to be purged soon 4708 :type is_deferred_delete_schedule_upcoming: bool 4709 :param is_rehydrate: Flag to identify that deferred deleted DS is to be 4710 moved into Pause state 4711 :type is_rehydrate: bool 4712 :param resource_guard_operation_requests: ResourceGuardOperationRequests 4713 on which LAC check will be performed 4714 :type resource_guard_operation_requests: list[str] 4715 :param protected_item_type: Required. Constant filled by server. 4716 :type protected_item_type: str 4717 :param friendly_name: Friendly name of the DB represented by this backup 4718 item. 4719 :type friendly_name: str 4720 :param server_name: Host/Cluster Name for instance or AG 4721 :type server_name: str 4722 :param parent_name: Parent name of the DB such as Instance or Availability 4723 Group. 4724 :type parent_name: str 4725 :param parent_type: Parent type of protected item, example: for a DB, 4726 standalone server or distributed 4727 :type parent_type: str 4728 :param protection_status: Backup status of this backup item. 4729 :type protection_status: str 4730 :param protection_state: Backup state of this backup item. Possible values 4731 include: 'Invalid', 'IRPending', 'Protected', 'ProtectionError', 4732 'ProtectionStopped', 'ProtectionPaused' 4733 :type protection_state: str or 4734 ~azure.mgmt.recoveryservicesbackup.models.ProtectionState 4735 :param last_backup_status: Last backup operation status. Possible values: 4736 Healthy, Unhealthy. Possible values include: 'Invalid', 'Healthy', 4737 'Unhealthy', 'IRPending' 4738 :type last_backup_status: str or 4739 ~azure.mgmt.recoveryservicesbackup.models.LastBackupStatus 4740 :param last_backup_time: Timestamp of the last backup operation on this 4741 backup item. 4742 :type last_backup_time: datetime 4743 :param last_backup_error_detail: Error details in last backup 4744 :type last_backup_error_detail: 4745 ~azure.mgmt.recoveryservicesbackup.models.ErrorDetail 4746 :param protected_item_data_source_id: Data ID of the protected item. 4747 :type protected_item_data_source_id: str 4748 :param protected_item_health_status: Health status of the backup item, 4749 evaluated based on last heartbeat received. Possible values include: 4750 'Invalid', 'Healthy', 'Unhealthy', 'NotReachable', 'IRPending' 4751 :type protected_item_health_status: str or 4752 ~azure.mgmt.recoveryservicesbackup.models.ProtectedItemHealthStatus 4753 :param extended_info: Additional information for this backup item. 4754 :type extended_info: 4755 ~azure.mgmt.recoveryservicesbackup.models.AzureVmWorkloadProtectedItemExtendedInfo 4756 :param kpis_healths: Health details of different KPIs 4757 :type kpis_healths: dict[str, 4758 ~azure.mgmt.recoveryservicesbackup.models.KPIResourceHealthDetails] 4759 """ 4760 4761 _validation = { 4762 'protected_item_type': {'required': True}, 4763 } 4764 4765 _attribute_map = { 4766 'backup_management_type': {'key': 'backupManagementType', 'type': 'str'}, 4767 'workload_type': {'key': 'workloadType', 'type': 'str'}, 4768 'container_name': {'key': 'containerName', 'type': 'str'}, 4769 'source_resource_id': {'key': 'sourceResourceId', 'type': 'str'}, 4770 'policy_id': {'key': 'policyId', 'type': 'str'}, 4771 'last_recovery_point': {'key': 'lastRecoveryPoint', 'type': 'iso-8601'}, 4772 'backup_set_name': {'key': 'backupSetName', 'type': 'str'}, 4773 'create_mode': {'key': 'createMode', 'type': 'str'}, 4774 'deferred_delete_time_in_utc': {'key': 'deferredDeleteTimeInUTC', 'type': 'iso-8601'}, 4775 'is_scheduled_for_deferred_delete': {'key': 'isScheduledForDeferredDelete', 'type': 'bool'}, 4776 'deferred_delete_time_remaining': {'key': 'deferredDeleteTimeRemaining', 'type': 'str'}, 4777 'is_deferred_delete_schedule_upcoming': {'key': 'isDeferredDeleteScheduleUpcoming', 'type': 'bool'}, 4778 'is_rehydrate': {'key': 'isRehydrate', 'type': 'bool'}, 4779 'resource_guard_operation_requests': {'key': 'resourceGuardOperationRequests', 'type': '[str]'}, 4780 'protected_item_type': {'key': 'protectedItemType', 'type': 'str'}, 4781 'friendly_name': {'key': 'friendlyName', 'type': 'str'}, 4782 'server_name': {'key': 'serverName', 'type': 'str'}, 4783 'parent_name': {'key': 'parentName', 'type': 'str'}, 4784 'parent_type': {'key': 'parentType', 'type': 'str'}, 4785 'protection_status': {'key': 'protectionStatus', 'type': 'str'}, 4786 'protection_state': {'key': 'protectionState', 'type': 'str'}, 4787 'last_backup_status': {'key': 'lastBackupStatus', 'type': 'str'}, 4788 'last_backup_time': {'key': 'lastBackupTime', 'type': 'iso-8601'}, 4789 'last_backup_error_detail': {'key': 'lastBackupErrorDetail', 'type': 'ErrorDetail'}, 4790 'protected_item_data_source_id': {'key': 'protectedItemDataSourceId', 'type': 'str'}, 4791 'protected_item_health_status': {'key': 'protectedItemHealthStatus', 'type': 'str'}, 4792 'extended_info': {'key': 'extendedInfo', 'type': 'AzureVmWorkloadProtectedItemExtendedInfo'}, 4793 'kpis_healths': {'key': 'kpisHealths', 'type': '{KPIResourceHealthDetails}'}, 4794 } 4795 4796 def __init__(self, **kwargs): 4797 super(AzureVmWorkloadSQLDatabaseProtectedItem, self).__init__(**kwargs) 4798 self.protected_item_type = 'AzureVmWorkloadSQLDatabase' 4799 4800 4801class AzureVmWorkloadSQLDatabaseWorkloadItem(AzureVmWorkloadItem): 4802 """Azure VM workload-specific workload item representing SQL Database. 4803 4804 All required parameters must be populated in order to send to Azure. 4805 4806 :param backup_management_type: Type of backup management to backup an 4807 item. 4808 :type backup_management_type: str 4809 :param workload_type: Type of workload for the backup management 4810 :type workload_type: str 4811 :param friendly_name: Friendly name of the backup item. 4812 :type friendly_name: str 4813 :param protection_state: State of the back up item. Possible values 4814 include: 'Invalid', 'NotProtected', 'Protecting', 'Protected', 4815 'ProtectionFailed' 4816 :type protection_state: str or 4817 ~azure.mgmt.recoveryservicesbackup.models.ProtectionStatus 4818 :param workload_item_type: Required. Constant filled by server. 4819 :type workload_item_type: str 4820 :param parent_name: Name for instance or AG 4821 :type parent_name: str 4822 :param server_name: Host/Cluster Name for instance or AG 4823 :type server_name: str 4824 :param is_auto_protectable: Indicates if workload item is auto-protectable 4825 :type is_auto_protectable: bool 4826 :param subinquireditemcount: For instance or AG, indicates number of DB's 4827 present 4828 :type subinquireditemcount: int 4829 :param sub_workload_item_count: For instance or AG, indicates number of 4830 DB's to be protected 4831 :type sub_workload_item_count: int 4832 """ 4833 4834 _validation = { 4835 'workload_item_type': {'required': True}, 4836 } 4837 4838 _attribute_map = { 4839 'backup_management_type': {'key': 'backupManagementType', 'type': 'str'}, 4840 'workload_type': {'key': 'workloadType', 'type': 'str'}, 4841 'friendly_name': {'key': 'friendlyName', 'type': 'str'}, 4842 'protection_state': {'key': 'protectionState', 'type': 'str'}, 4843 'workload_item_type': {'key': 'workloadItemType', 'type': 'str'}, 4844 'parent_name': {'key': 'parentName', 'type': 'str'}, 4845 'server_name': {'key': 'serverName', 'type': 'str'}, 4846 'is_auto_protectable': {'key': 'isAutoProtectable', 'type': 'bool'}, 4847 'subinquireditemcount': {'key': 'subinquireditemcount', 'type': 'int'}, 4848 'sub_workload_item_count': {'key': 'subWorkloadItemCount', 'type': 'int'}, 4849 } 4850 4851 def __init__(self, **kwargs): 4852 super(AzureVmWorkloadSQLDatabaseWorkloadItem, self).__init__(**kwargs) 4853 self.workload_item_type = 'SQLDataBase' 4854 4855 4856class AzureVmWorkloadSQLInstanceProtectableItem(AzureVmWorkloadProtectableItem): 4857 """Azure VM workload-specific protectable item representing SQL Instance. 4858 4859 All required parameters must be populated in order to send to Azure. 4860 4861 :param backup_management_type: Type of backup management to backup an 4862 item. 4863 :type backup_management_type: str 4864 :param workload_type: Type of workload for the backup management 4865 :type workload_type: str 4866 :param friendly_name: Friendly name of the backup item. 4867 :type friendly_name: str 4868 :param protection_state: State of the back up item. Possible values 4869 include: 'Invalid', 'NotProtected', 'Protecting', 'Protected', 4870 'ProtectionFailed' 4871 :type protection_state: str or 4872 ~azure.mgmt.recoveryservicesbackup.models.ProtectionStatus 4873 :param protectable_item_type: Required. Constant filled by server. 4874 :type protectable_item_type: str 4875 :param parent_name: Name for instance or AG 4876 :type parent_name: str 4877 :param parent_unique_name: Parent Unique Name is added to provide the 4878 service formatted URI Name of the Parent 4879 Only Applicable for data bases where the parent would be either Instance 4880 or a SQL AG. 4881 :type parent_unique_name: str 4882 :param server_name: Host/Cluster Name for instance or AG 4883 :type server_name: str 4884 :param is_auto_protectable: Indicates if protectable item is 4885 auto-protectable 4886 :type is_auto_protectable: bool 4887 :param is_auto_protected: Indicates if protectable item is auto-protected 4888 :type is_auto_protected: bool 4889 :param subinquireditemcount: For instance or AG, indicates number of DB's 4890 present 4891 :type subinquireditemcount: int 4892 :param subprotectableitemcount: For instance or AG, indicates number of 4893 DB's to be protected 4894 :type subprotectableitemcount: int 4895 :param prebackupvalidation: Pre-backup validation for protectable objects 4896 :type prebackupvalidation: 4897 ~azure.mgmt.recoveryservicesbackup.models.PreBackupValidation 4898 """ 4899 4900 _validation = { 4901 'protectable_item_type': {'required': True}, 4902 } 4903 4904 _attribute_map = { 4905 'backup_management_type': {'key': 'backupManagementType', 'type': 'str'}, 4906 'workload_type': {'key': 'workloadType', 'type': 'str'}, 4907 'friendly_name': {'key': 'friendlyName', 'type': 'str'}, 4908 'protection_state': {'key': 'protectionState', 'type': 'str'}, 4909 'protectable_item_type': {'key': 'protectableItemType', 'type': 'str'}, 4910 'parent_name': {'key': 'parentName', 'type': 'str'}, 4911 'parent_unique_name': {'key': 'parentUniqueName', 'type': 'str'}, 4912 'server_name': {'key': 'serverName', 'type': 'str'}, 4913 'is_auto_protectable': {'key': 'isAutoProtectable', 'type': 'bool'}, 4914 'is_auto_protected': {'key': 'isAutoProtected', 'type': 'bool'}, 4915 'subinquireditemcount': {'key': 'subinquireditemcount', 'type': 'int'}, 4916 'subprotectableitemcount': {'key': 'subprotectableitemcount', 'type': 'int'}, 4917 'prebackupvalidation': {'key': 'prebackupvalidation', 'type': 'PreBackupValidation'}, 4918 } 4919 4920 def __init__(self, **kwargs): 4921 super(AzureVmWorkloadSQLInstanceProtectableItem, self).__init__(**kwargs) 4922 self.protectable_item_type = 'SQLInstance' 4923 4924 4925class AzureVmWorkloadSQLInstanceWorkloadItem(AzureVmWorkloadItem): 4926 """Azure VM workload-specific workload item representing SQL Instance. 4927 4928 All required parameters must be populated in order to send to Azure. 4929 4930 :param backup_management_type: Type of backup management to backup an 4931 item. 4932 :type backup_management_type: str 4933 :param workload_type: Type of workload for the backup management 4934 :type workload_type: str 4935 :param friendly_name: Friendly name of the backup item. 4936 :type friendly_name: str 4937 :param protection_state: State of the back up item. Possible values 4938 include: 'Invalid', 'NotProtected', 'Protecting', 'Protected', 4939 'ProtectionFailed' 4940 :type protection_state: str or 4941 ~azure.mgmt.recoveryservicesbackup.models.ProtectionStatus 4942 :param workload_item_type: Required. Constant filled by server. 4943 :type workload_item_type: str 4944 :param parent_name: Name for instance or AG 4945 :type parent_name: str 4946 :param server_name: Host/Cluster Name for instance or AG 4947 :type server_name: str 4948 :param is_auto_protectable: Indicates if workload item is auto-protectable 4949 :type is_auto_protectable: bool 4950 :param subinquireditemcount: For instance or AG, indicates number of DB's 4951 present 4952 :type subinquireditemcount: int 4953 :param sub_workload_item_count: For instance or AG, indicates number of 4954 DB's to be protected 4955 :type sub_workload_item_count: int 4956 :param data_directory_paths: Data Directory Paths for default directories 4957 :type data_directory_paths: 4958 list[~azure.mgmt.recoveryservicesbackup.models.SQLDataDirectory] 4959 """ 4960 4961 _validation = { 4962 'workload_item_type': {'required': True}, 4963 } 4964 4965 _attribute_map = { 4966 'backup_management_type': {'key': 'backupManagementType', 'type': 'str'}, 4967 'workload_type': {'key': 'workloadType', 'type': 'str'}, 4968 'friendly_name': {'key': 'friendlyName', 'type': 'str'}, 4969 'protection_state': {'key': 'protectionState', 'type': 'str'}, 4970 'workload_item_type': {'key': 'workloadItemType', 'type': 'str'}, 4971 'parent_name': {'key': 'parentName', 'type': 'str'}, 4972 'server_name': {'key': 'serverName', 'type': 'str'}, 4973 'is_auto_protectable': {'key': 'isAutoProtectable', 'type': 'bool'}, 4974 'subinquireditemcount': {'key': 'subinquireditemcount', 'type': 'int'}, 4975 'sub_workload_item_count': {'key': 'subWorkloadItemCount', 'type': 'int'}, 4976 'data_directory_paths': {'key': 'dataDirectoryPaths', 'type': '[SQLDataDirectory]'}, 4977 } 4978 4979 def __init__(self, **kwargs): 4980 super(AzureVmWorkloadSQLInstanceWorkloadItem, self).__init__(**kwargs) 4981 self.data_directory_paths = kwargs.get('data_directory_paths', None) 4982 self.workload_item_type = 'SQLInstance' 4983 4984 4985class AzureWorkloadAutoProtectionIntent(AzureRecoveryServiceVaultProtectionIntent): 4986 """Azure Recovery Services Vault specific protection intent item. 4987 4988 You probably want to use the sub-classes and not this class directly. Known 4989 sub-classes are: AzureWorkloadSQLAutoProtectionIntent 4990 4991 All required parameters must be populated in order to send to Azure. 4992 4993 :param backup_management_type: Type of backup management for the backed up 4994 item. Possible values include: 'Invalid', 'AzureIaasVM', 'MAB', 'DPM', 4995 'AzureBackupServer', 'AzureSql', 'AzureStorage', 'AzureWorkload', 4996 'DefaultBackup' 4997 :type backup_management_type: str or 4998 ~azure.mgmt.recoveryservicesbackup.models.BackupManagementType 4999 :param source_resource_id: ARM ID of the resource to be backed up. 5000 :type source_resource_id: str 5001 :param item_id: ID of the item which is getting protected, In case of 5002 Azure Vm , it is ProtectedItemId 5003 :type item_id: str 5004 :param policy_id: ID of the backup policy with which this item is backed 5005 up. 5006 :type policy_id: str 5007 :param protection_state: Backup state of this backup item. Possible values 5008 include: 'Invalid', 'NotProtected', 'Protecting', 'Protected', 5009 'ProtectionFailed' 5010 :type protection_state: str or 5011 ~azure.mgmt.recoveryservicesbackup.models.ProtectionStatus 5012 :param protection_intent_item_type: Required. Constant filled by server. 5013 :type protection_intent_item_type: str 5014 """ 5015 5016 _validation = { 5017 'protection_intent_item_type': {'required': True}, 5018 } 5019 5020 _attribute_map = { 5021 'backup_management_type': {'key': 'backupManagementType', 'type': 'str'}, 5022 'source_resource_id': {'key': 'sourceResourceId', 'type': 'str'}, 5023 'item_id': {'key': 'itemId', 'type': 'str'}, 5024 'policy_id': {'key': 'policyId', 'type': 'str'}, 5025 'protection_state': {'key': 'protectionState', 'type': 'str'}, 5026 'protection_intent_item_type': {'key': 'protectionIntentItemType', 'type': 'str'}, 5027 } 5028 5029 _subtype_map = { 5030 'protection_intent_item_type': {'AzureWorkloadSQLAutoProtectionIntent': 'AzureWorkloadSQLAutoProtectionIntent'} 5031 } 5032 5033 def __init__(self, **kwargs): 5034 super(AzureWorkloadAutoProtectionIntent, self).__init__(**kwargs) 5035 self.protection_intent_item_type = 'AzureWorkloadAutoProtectionIntent' 5036 5037 5038class AzureWorkloadBackupRequest(BackupRequest): 5039 """AzureWorkload workload-specific backup request. 5040 5041 All required parameters must be populated in order to send to Azure. 5042 5043 :param object_type: Required. Constant filled by server. 5044 :type object_type: str 5045 :param backup_type: Type of backup, viz. Full, Differential, Log or 5046 CopyOnlyFull. Possible values include: 'Invalid', 'Full', 'Differential', 5047 'Log', 'CopyOnlyFull', 'Incremental' 5048 :type backup_type: str or 5049 ~azure.mgmt.recoveryservicesbackup.models.BackupType 5050 :param enable_compression: Bool for Compression setting 5051 :type enable_compression: bool 5052 :param recovery_point_expiry_time_in_utc: Backup copy will expire after 5053 the time specified (UTC). 5054 :type recovery_point_expiry_time_in_utc: datetime 5055 """ 5056 5057 _validation = { 5058 'object_type': {'required': True}, 5059 } 5060 5061 _attribute_map = { 5062 'object_type': {'key': 'objectType', 'type': 'str'}, 5063 'backup_type': {'key': 'backupType', 'type': 'str'}, 5064 'enable_compression': {'key': 'enableCompression', 'type': 'bool'}, 5065 'recovery_point_expiry_time_in_utc': {'key': 'recoveryPointExpiryTimeInUTC', 'type': 'iso-8601'}, 5066 } 5067 5068 def __init__(self, **kwargs): 5069 super(AzureWorkloadBackupRequest, self).__init__(**kwargs) 5070 self.backup_type = kwargs.get('backup_type', None) 5071 self.enable_compression = kwargs.get('enable_compression', None) 5072 self.recovery_point_expiry_time_in_utc = kwargs.get('recovery_point_expiry_time_in_utc', None) 5073 self.object_type = 'AzureWorkloadBackupRequest' 5074 5075 5076class AzureWorkloadContainerExtendedInfo(Model): 5077 """Extended information of the container. 5078 5079 :param host_server_name: Host Os Name in case of Stand Alone and Cluster 5080 Name in case of distributed container. 5081 :type host_server_name: str 5082 :param inquiry_info: Inquiry Status for the container. 5083 :type inquiry_info: ~azure.mgmt.recoveryservicesbackup.models.InquiryInfo 5084 :param nodes_list: List of the nodes in case of distributed container. 5085 :type nodes_list: 5086 list[~azure.mgmt.recoveryservicesbackup.models.DistributedNodesInfo] 5087 """ 5088 5089 _attribute_map = { 5090 'host_server_name': {'key': 'hostServerName', 'type': 'str'}, 5091 'inquiry_info': {'key': 'inquiryInfo', 'type': 'InquiryInfo'}, 5092 'nodes_list': {'key': 'nodesList', 'type': '[DistributedNodesInfo]'}, 5093 } 5094 5095 def __init__(self, **kwargs): 5096 super(AzureWorkloadContainerExtendedInfo, self).__init__(**kwargs) 5097 self.host_server_name = kwargs.get('host_server_name', None) 5098 self.inquiry_info = kwargs.get('inquiry_info', None) 5099 self.nodes_list = kwargs.get('nodes_list', None) 5100 5101 5102class AzureWorkloadErrorInfo(Model): 5103 """Azure storage specific error information. 5104 5105 :param error_code: Error code. 5106 :type error_code: int 5107 :param error_string: Localized error string. 5108 :type error_string: str 5109 :param error_title: Title: Typically, the entity that the error pertains 5110 to. 5111 :type error_title: str 5112 :param recommendations: List of localized recommendations for above error 5113 code. 5114 :type recommendations: list[str] 5115 :param additional_details: Additional details for above error code. 5116 :type additional_details: str 5117 """ 5118 5119 _attribute_map = { 5120 'error_code': {'key': 'errorCode', 'type': 'int'}, 5121 'error_string': {'key': 'errorString', 'type': 'str'}, 5122 'error_title': {'key': 'errorTitle', 'type': 'str'}, 5123 'recommendations': {'key': 'recommendations', 'type': '[str]'}, 5124 'additional_details': {'key': 'additionalDetails', 'type': 'str'}, 5125 } 5126 5127 def __init__(self, **kwargs): 5128 super(AzureWorkloadErrorInfo, self).__init__(**kwargs) 5129 self.error_code = kwargs.get('error_code', None) 5130 self.error_string = kwargs.get('error_string', None) 5131 self.error_title = kwargs.get('error_title', None) 5132 self.recommendations = kwargs.get('recommendations', None) 5133 self.additional_details = kwargs.get('additional_details', None) 5134 5135 5136class AzureWorkloadJob(Job): 5137 """Azure storage specific job. 5138 5139 All required parameters must be populated in order to send to Azure. 5140 5141 :param entity_friendly_name: Friendly name of the entity on which the 5142 current job is executing. 5143 :type entity_friendly_name: str 5144 :param backup_management_type: Backup management type to execute the 5145 current job. Possible values include: 'Invalid', 'AzureIaasVM', 'MAB', 5146 'DPM', 'AzureBackupServer', 'AzureSql', 'AzureStorage', 'AzureWorkload', 5147 'DefaultBackup' 5148 :type backup_management_type: str or 5149 ~azure.mgmt.recoveryservicesbackup.models.BackupManagementType 5150 :param operation: The operation name. 5151 :type operation: str 5152 :param status: Job status. 5153 :type status: str 5154 :param start_time: The start time. 5155 :type start_time: datetime 5156 :param end_time: The end time. 5157 :type end_time: datetime 5158 :param activity_id: ActivityId of job. 5159 :type activity_id: str 5160 :param job_type: Required. Constant filled by server. 5161 :type job_type: str 5162 :param workload_type: Workload type of the job 5163 :type workload_type: str 5164 :param duration: Time elapsed during the execution of this job. 5165 :type duration: timedelta 5166 :param actions_info: Gets or sets the state/actions applicable on this job 5167 like cancel/retry. 5168 :type actions_info: list[str or 5169 ~azure.mgmt.recoveryservicesbackup.models.JobSupportedAction] 5170 :param error_details: Error details on execution of this job. 5171 :type error_details: 5172 list[~azure.mgmt.recoveryservicesbackup.models.AzureWorkloadErrorInfo] 5173 :param extended_info: Additional information about the job. 5174 :type extended_info: 5175 ~azure.mgmt.recoveryservicesbackup.models.AzureWorkloadJobExtendedInfo 5176 """ 5177 5178 _validation = { 5179 'job_type': {'required': True}, 5180 } 5181 5182 _attribute_map = { 5183 'entity_friendly_name': {'key': 'entityFriendlyName', 'type': 'str'}, 5184 'backup_management_type': {'key': 'backupManagementType', 'type': 'str'}, 5185 'operation': {'key': 'operation', 'type': 'str'}, 5186 'status': {'key': 'status', 'type': 'str'}, 5187 'start_time': {'key': 'startTime', 'type': 'iso-8601'}, 5188 'end_time': {'key': 'endTime', 'type': 'iso-8601'}, 5189 'activity_id': {'key': 'activityId', 'type': 'str'}, 5190 'job_type': {'key': 'jobType', 'type': 'str'}, 5191 'workload_type': {'key': 'workloadType', 'type': 'str'}, 5192 'duration': {'key': 'duration', 'type': 'duration'}, 5193 'actions_info': {'key': 'actionsInfo', 'type': '[JobSupportedAction]'}, 5194 'error_details': {'key': 'errorDetails', 'type': '[AzureWorkloadErrorInfo]'}, 5195 'extended_info': {'key': 'extendedInfo', 'type': 'AzureWorkloadJobExtendedInfo'}, 5196 } 5197 5198 def __init__(self, **kwargs): 5199 super(AzureWorkloadJob, self).__init__(**kwargs) 5200 self.workload_type = kwargs.get('workload_type', None) 5201 self.duration = kwargs.get('duration', None) 5202 self.actions_info = kwargs.get('actions_info', None) 5203 self.error_details = kwargs.get('error_details', None) 5204 self.extended_info = kwargs.get('extended_info', None) 5205 self.job_type = 'AzureWorkloadJob' 5206 5207 5208class AzureWorkloadJobExtendedInfo(Model): 5209 """Azure VM workload-specific additional information for job. 5210 5211 :param tasks_list: List of tasks for this job 5212 :type tasks_list: 5213 list[~azure.mgmt.recoveryservicesbackup.models.AzureWorkloadJobTaskDetails] 5214 :param property_bag: Job properties. 5215 :type property_bag: dict[str, str] 5216 :param dynamic_error_message: Non localized error message on job 5217 execution. 5218 :type dynamic_error_message: str 5219 """ 5220 5221 _attribute_map = { 5222 'tasks_list': {'key': 'tasksList', 'type': '[AzureWorkloadJobTaskDetails]'}, 5223 'property_bag': {'key': 'propertyBag', 'type': '{str}'}, 5224 'dynamic_error_message': {'key': 'dynamicErrorMessage', 'type': 'str'}, 5225 } 5226 5227 def __init__(self, **kwargs): 5228 super(AzureWorkloadJobExtendedInfo, self).__init__(**kwargs) 5229 self.tasks_list = kwargs.get('tasks_list', None) 5230 self.property_bag = kwargs.get('property_bag', None) 5231 self.dynamic_error_message = kwargs.get('dynamic_error_message', None) 5232 5233 5234class AzureWorkloadJobTaskDetails(Model): 5235 """Azure VM workload specific job task details. 5236 5237 :param task_id: The task display name. 5238 :type task_id: str 5239 :param status: The status. 5240 :type status: str 5241 """ 5242 5243 _attribute_map = { 5244 'task_id': {'key': 'taskId', 'type': 'str'}, 5245 'status': {'key': 'status', 'type': 'str'}, 5246 } 5247 5248 def __init__(self, **kwargs): 5249 super(AzureWorkloadJobTaskDetails, self).__init__(**kwargs) 5250 self.task_id = kwargs.get('task_id', None) 5251 self.status = kwargs.get('status', None) 5252 5253 5254class AzureWorkloadRecoveryPoint(RecoveryPoint): 5255 """Workload specific recovery point, specifically encapsulates full/diff 5256 recovery point. 5257 5258 You probably want to use the sub-classes and not this class directly. Known 5259 sub-classes are: AzureWorkloadPointInTimeRecoveryPoint, 5260 AzureWorkloadSAPHanaRecoveryPoint, AzureWorkloadSQLRecoveryPoint 5261 5262 Variables are only populated by the server, and will be ignored when 5263 sending a request. 5264 5265 All required parameters must be populated in order to send to Azure. 5266 5267 :param object_type: Required. Constant filled by server. 5268 :type object_type: str 5269 :ivar recovery_point_time_in_utc: UTC time at which recovery point was 5270 created 5271 :vartype recovery_point_time_in_utc: datetime 5272 :ivar type: Type of restore point. Possible values include: 'Invalid', 5273 'Full', 'Log', 'Differential', 'Incremental' 5274 :vartype type: str or 5275 ~azure.mgmt.recoveryservicesbackup.models.RestorePointType 5276 :param recovery_point_tier_details: Recovery point tier information. 5277 :type recovery_point_tier_details: 5278 list[~azure.mgmt.recoveryservicesbackup.models.RecoveryPointTierInformation] 5279 :param recovery_point_move_readiness_info: Eligibility of RP to be moved 5280 to another tier 5281 :type recovery_point_move_readiness_info: dict[str, 5282 ~azure.mgmt.recoveryservicesbackup.models.RecoveryPointMoveReadinessInfo] 5283 """ 5284 5285 _validation = { 5286 'object_type': {'required': True}, 5287 'recovery_point_time_in_utc': {'readonly': True}, 5288 'type': {'readonly': True}, 5289 } 5290 5291 _attribute_map = { 5292 'object_type': {'key': 'objectType', 'type': 'str'}, 5293 'recovery_point_time_in_utc': {'key': 'recoveryPointTimeInUTC', 'type': 'iso-8601'}, 5294 'type': {'key': 'type', 'type': 'str'}, 5295 'recovery_point_tier_details': {'key': 'recoveryPointTierDetails', 'type': '[RecoveryPointTierInformation]'}, 5296 'recovery_point_move_readiness_info': {'key': 'recoveryPointMoveReadinessInfo', 'type': '{RecoveryPointMoveReadinessInfo}'}, 5297 } 5298 5299 _subtype_map = { 5300 'object_type': {'AzureWorkloadPointInTimeRecoveryPoint': 'AzureWorkloadPointInTimeRecoveryPoint', 'AzureWorkloadSAPHanaRecoveryPoint': 'AzureWorkloadSAPHanaRecoveryPoint', 'AzureWorkloadSQLRecoveryPoint': 'AzureWorkloadSQLRecoveryPoint'} 5301 } 5302 5303 def __init__(self, **kwargs): 5304 super(AzureWorkloadRecoveryPoint, self).__init__(**kwargs) 5305 self.recovery_point_time_in_utc = None 5306 self.type = None 5307 self.recovery_point_tier_details = kwargs.get('recovery_point_tier_details', None) 5308 self.recovery_point_move_readiness_info = kwargs.get('recovery_point_move_readiness_info', None) 5309 self.object_type = 'AzureWorkloadRecoveryPoint' 5310 5311 5312class AzureWorkloadPointInTimeRecoveryPoint(AzureWorkloadRecoveryPoint): 5313 """Recovery point specific to PointInTime. 5314 5315 You probably want to use the sub-classes and not this class directly. Known 5316 sub-classes are: AzureWorkloadSAPHanaPointInTimeRecoveryPoint 5317 5318 Variables are only populated by the server, and will be ignored when 5319 sending a request. 5320 5321 All required parameters must be populated in order to send to Azure. 5322 5323 :param object_type: Required. Constant filled by server. 5324 :type object_type: str 5325 :ivar recovery_point_time_in_utc: UTC time at which recovery point was 5326 created 5327 :vartype recovery_point_time_in_utc: datetime 5328 :ivar type: Type of restore point. Possible values include: 'Invalid', 5329 'Full', 'Log', 'Differential', 'Incremental' 5330 :vartype type: str or 5331 ~azure.mgmt.recoveryservicesbackup.models.RestorePointType 5332 :param recovery_point_tier_details: Recovery point tier information. 5333 :type recovery_point_tier_details: 5334 list[~azure.mgmt.recoveryservicesbackup.models.RecoveryPointTierInformation] 5335 :param recovery_point_move_readiness_info: Eligibility of RP to be moved 5336 to another tier 5337 :type recovery_point_move_readiness_info: dict[str, 5338 ~azure.mgmt.recoveryservicesbackup.models.RecoveryPointMoveReadinessInfo] 5339 :param time_ranges: List of log ranges 5340 :type time_ranges: 5341 list[~azure.mgmt.recoveryservicesbackup.models.PointInTimeRange] 5342 """ 5343 5344 _validation = { 5345 'object_type': {'required': True}, 5346 'recovery_point_time_in_utc': {'readonly': True}, 5347 'type': {'readonly': True}, 5348 } 5349 5350 _attribute_map = { 5351 'object_type': {'key': 'objectType', 'type': 'str'}, 5352 'recovery_point_time_in_utc': {'key': 'recoveryPointTimeInUTC', 'type': 'iso-8601'}, 5353 'type': {'key': 'type', 'type': 'str'}, 5354 'recovery_point_tier_details': {'key': 'recoveryPointTierDetails', 'type': '[RecoveryPointTierInformation]'}, 5355 'recovery_point_move_readiness_info': {'key': 'recoveryPointMoveReadinessInfo', 'type': '{RecoveryPointMoveReadinessInfo}'}, 5356 'time_ranges': {'key': 'timeRanges', 'type': '[PointInTimeRange]'}, 5357 } 5358 5359 _subtype_map = { 5360 'object_type': {'AzureWorkloadSAPHanaPointInTimeRecoveryPoint': 'AzureWorkloadSAPHanaPointInTimeRecoveryPoint'} 5361 } 5362 5363 def __init__(self, **kwargs): 5364 super(AzureWorkloadPointInTimeRecoveryPoint, self).__init__(**kwargs) 5365 self.time_ranges = kwargs.get('time_ranges', None) 5366 self.object_type = 'AzureWorkloadPointInTimeRecoveryPoint' 5367 5368 5369class AzureWorkloadRestoreRequest(RestoreRequest): 5370 """AzureWorkload-specific restore. 5371 5372 You probably want to use the sub-classes and not this class directly. Known 5373 sub-classes are: AzureWorkloadPointInTimeRestoreRequest, 5374 AzureWorkloadSAPHanaRestoreRequest, AzureWorkloadSQLRestoreRequest 5375 5376 All required parameters must be populated in order to send to Azure. 5377 5378 :param object_type: Required. Constant filled by server. 5379 :type object_type: str 5380 :param recovery_type: Type of this recovery. Possible values include: 5381 'Invalid', 'OriginalLocation', 'AlternateLocation', 'RestoreDisks', 5382 'Offline' 5383 :type recovery_type: str or 5384 ~azure.mgmt.recoveryservicesbackup.models.RecoveryType 5385 :param source_resource_id: Fully qualified ARM ID of the VM on which 5386 workload that was running is being recovered. 5387 :type source_resource_id: str 5388 :param property_bag: Workload specific property bag. 5389 :type property_bag: dict[str, str] 5390 :param target_info: Details of target database 5391 :type target_info: 5392 ~azure.mgmt.recoveryservicesbackup.models.TargetRestoreInfo 5393 :param recovery_mode: Defines whether the current recovery mode is file 5394 restore or database restore. Possible values include: 'Invalid', 5395 'FileRecovery', 'WorkloadRecovery' 5396 :type recovery_mode: str or 5397 ~azure.mgmt.recoveryservicesbackup.models.RecoveryMode 5398 :param target_virtual_machine_id: This is the complete ARM Id of the 5399 target VM 5400 For e.g. 5401 /subscriptions/{subId}/resourcegroups/{rg}/provider/Microsoft.Compute/virtualmachines/{vm} 5402 :type target_virtual_machine_id: str 5403 """ 5404 5405 _validation = { 5406 'object_type': {'required': True}, 5407 } 5408 5409 _attribute_map = { 5410 'object_type': {'key': 'objectType', 'type': 'str'}, 5411 'recovery_type': {'key': 'recoveryType', 'type': 'str'}, 5412 'source_resource_id': {'key': 'sourceResourceId', 'type': 'str'}, 5413 'property_bag': {'key': 'propertyBag', 'type': '{str}'}, 5414 'target_info': {'key': 'targetInfo', 'type': 'TargetRestoreInfo'}, 5415 'recovery_mode': {'key': 'recoveryMode', 'type': 'str'}, 5416 'target_virtual_machine_id': {'key': 'targetVirtualMachineId', 'type': 'str'}, 5417 } 5418 5419 _subtype_map = { 5420 'object_type': {'AzureWorkloadPointInTimeRestoreRequest': 'AzureWorkloadPointInTimeRestoreRequest', 'AzureWorkloadSAPHanaRestoreRequest': 'AzureWorkloadSAPHanaRestoreRequest', 'AzureWorkloadSQLRestoreRequest': 'AzureWorkloadSQLRestoreRequest'} 5421 } 5422 5423 def __init__(self, **kwargs): 5424 super(AzureWorkloadRestoreRequest, self).__init__(**kwargs) 5425 self.recovery_type = kwargs.get('recovery_type', None) 5426 self.source_resource_id = kwargs.get('source_resource_id', None) 5427 self.property_bag = kwargs.get('property_bag', None) 5428 self.target_info = kwargs.get('target_info', None) 5429 self.recovery_mode = kwargs.get('recovery_mode', None) 5430 self.target_virtual_machine_id = kwargs.get('target_virtual_machine_id', None) 5431 self.object_type = 'AzureWorkloadRestoreRequest' 5432 5433 5434class AzureWorkloadPointInTimeRestoreRequest(AzureWorkloadRestoreRequest): 5435 """AzureWorkload SAP Hana -specific restore. Specifically for PointInTime/Log 5436 restore. 5437 5438 All required parameters must be populated in order to send to Azure. 5439 5440 :param object_type: Required. Constant filled by server. 5441 :type object_type: str 5442 :param recovery_type: Type of this recovery. Possible values include: 5443 'Invalid', 'OriginalLocation', 'AlternateLocation', 'RestoreDisks', 5444 'Offline' 5445 :type recovery_type: str or 5446 ~azure.mgmt.recoveryservicesbackup.models.RecoveryType 5447 :param source_resource_id: Fully qualified ARM ID of the VM on which 5448 workload that was running is being recovered. 5449 :type source_resource_id: str 5450 :param property_bag: Workload specific property bag. 5451 :type property_bag: dict[str, str] 5452 :param target_info: Details of target database 5453 :type target_info: 5454 ~azure.mgmt.recoveryservicesbackup.models.TargetRestoreInfo 5455 :param recovery_mode: Defines whether the current recovery mode is file 5456 restore or database restore. Possible values include: 'Invalid', 5457 'FileRecovery', 'WorkloadRecovery' 5458 :type recovery_mode: str or 5459 ~azure.mgmt.recoveryservicesbackup.models.RecoveryMode 5460 :param target_virtual_machine_id: This is the complete ARM Id of the 5461 target VM 5462 For e.g. 5463 /subscriptions/{subId}/resourcegroups/{rg}/provider/Microsoft.Compute/virtualmachines/{vm} 5464 :type target_virtual_machine_id: str 5465 :param point_in_time: PointInTime value 5466 :type point_in_time: datetime 5467 """ 5468 5469 _validation = { 5470 'object_type': {'required': True}, 5471 } 5472 5473 _attribute_map = { 5474 'object_type': {'key': 'objectType', 'type': 'str'}, 5475 'recovery_type': {'key': 'recoveryType', 'type': 'str'}, 5476 'source_resource_id': {'key': 'sourceResourceId', 'type': 'str'}, 5477 'property_bag': {'key': 'propertyBag', 'type': '{str}'}, 5478 'target_info': {'key': 'targetInfo', 'type': 'TargetRestoreInfo'}, 5479 'recovery_mode': {'key': 'recoveryMode', 'type': 'str'}, 5480 'target_virtual_machine_id': {'key': 'targetVirtualMachineId', 'type': 'str'}, 5481 'point_in_time': {'key': 'pointInTime', 'type': 'iso-8601'}, 5482 } 5483 5484 def __init__(self, **kwargs): 5485 super(AzureWorkloadPointInTimeRestoreRequest, self).__init__(**kwargs) 5486 self.point_in_time = kwargs.get('point_in_time', None) 5487 self.object_type = 'AzureWorkloadPointInTimeRestoreRequest' 5488 5489 5490class AzureWorkloadSAPHanaPointInTimeRecoveryPoint(AzureWorkloadPointInTimeRecoveryPoint): 5491 """Recovery point specific to PointInTime in SAPHana. 5492 5493 Variables are only populated by the server, and will be ignored when 5494 sending a request. 5495 5496 All required parameters must be populated in order to send to Azure. 5497 5498 :param object_type: Required. Constant filled by server. 5499 :type object_type: str 5500 :ivar recovery_point_time_in_utc: UTC time at which recovery point was 5501 created 5502 :vartype recovery_point_time_in_utc: datetime 5503 :ivar type: Type of restore point. Possible values include: 'Invalid', 5504 'Full', 'Log', 'Differential', 'Incremental' 5505 :vartype type: str or 5506 ~azure.mgmt.recoveryservicesbackup.models.RestorePointType 5507 :param recovery_point_tier_details: Recovery point tier information. 5508 :type recovery_point_tier_details: 5509 list[~azure.mgmt.recoveryservicesbackup.models.RecoveryPointTierInformation] 5510 :param recovery_point_move_readiness_info: Eligibility of RP to be moved 5511 to another tier 5512 :type recovery_point_move_readiness_info: dict[str, 5513 ~azure.mgmt.recoveryservicesbackup.models.RecoveryPointMoveReadinessInfo] 5514 :param time_ranges: List of log ranges 5515 :type time_ranges: 5516 list[~azure.mgmt.recoveryservicesbackup.models.PointInTimeRange] 5517 """ 5518 5519 _validation = { 5520 'object_type': {'required': True}, 5521 'recovery_point_time_in_utc': {'readonly': True}, 5522 'type': {'readonly': True}, 5523 } 5524 5525 _attribute_map = { 5526 'object_type': {'key': 'objectType', 'type': 'str'}, 5527 'recovery_point_time_in_utc': {'key': 'recoveryPointTimeInUTC', 'type': 'iso-8601'}, 5528 'type': {'key': 'type', 'type': 'str'}, 5529 'recovery_point_tier_details': {'key': 'recoveryPointTierDetails', 'type': '[RecoveryPointTierInformation]'}, 5530 'recovery_point_move_readiness_info': {'key': 'recoveryPointMoveReadinessInfo', 'type': '{RecoveryPointMoveReadinessInfo}'}, 5531 'time_ranges': {'key': 'timeRanges', 'type': '[PointInTimeRange]'}, 5532 } 5533 5534 def __init__(self, **kwargs): 5535 super(AzureWorkloadSAPHanaPointInTimeRecoveryPoint, self).__init__(**kwargs) 5536 self.object_type = 'AzureWorkloadSAPHanaPointInTimeRecoveryPoint' 5537 5538 5539class AzureWorkloadSAPHanaRestoreRequest(AzureWorkloadRestoreRequest): 5540 """AzureWorkload SAP Hana-specific restore. 5541 5542 You probably want to use the sub-classes and not this class directly. Known 5543 sub-classes are: AzureWorkloadSAPHanaPointInTimeRestoreRequest, 5544 AzureWorkloadSAPHanaRestoreWithRehydrateRequest 5545 5546 All required parameters must be populated in order to send to Azure. 5547 5548 :param object_type: Required. Constant filled by server. 5549 :type object_type: str 5550 :param recovery_type: Type of this recovery. Possible values include: 5551 'Invalid', 'OriginalLocation', 'AlternateLocation', 'RestoreDisks', 5552 'Offline' 5553 :type recovery_type: str or 5554 ~azure.mgmt.recoveryservicesbackup.models.RecoveryType 5555 :param source_resource_id: Fully qualified ARM ID of the VM on which 5556 workload that was running is being recovered. 5557 :type source_resource_id: str 5558 :param property_bag: Workload specific property bag. 5559 :type property_bag: dict[str, str] 5560 :param target_info: Details of target database 5561 :type target_info: 5562 ~azure.mgmt.recoveryservicesbackup.models.TargetRestoreInfo 5563 :param recovery_mode: Defines whether the current recovery mode is file 5564 restore or database restore. Possible values include: 'Invalid', 5565 'FileRecovery', 'WorkloadRecovery' 5566 :type recovery_mode: str or 5567 ~azure.mgmt.recoveryservicesbackup.models.RecoveryMode 5568 :param target_virtual_machine_id: This is the complete ARM Id of the 5569 target VM 5570 For e.g. 5571 /subscriptions/{subId}/resourcegroups/{rg}/provider/Microsoft.Compute/virtualmachines/{vm} 5572 :type target_virtual_machine_id: str 5573 """ 5574 5575 _validation = { 5576 'object_type': {'required': True}, 5577 } 5578 5579 _attribute_map = { 5580 'object_type': {'key': 'objectType', 'type': 'str'}, 5581 'recovery_type': {'key': 'recoveryType', 'type': 'str'}, 5582 'source_resource_id': {'key': 'sourceResourceId', 'type': 'str'}, 5583 'property_bag': {'key': 'propertyBag', 'type': '{str}'}, 5584 'target_info': {'key': 'targetInfo', 'type': 'TargetRestoreInfo'}, 5585 'recovery_mode': {'key': 'recoveryMode', 'type': 'str'}, 5586 'target_virtual_machine_id': {'key': 'targetVirtualMachineId', 'type': 'str'}, 5587 } 5588 5589 _subtype_map = { 5590 'object_type': {'AzureWorkloadSAPHanaPointInTimeRestoreRequest': 'AzureWorkloadSAPHanaPointInTimeRestoreRequest', 'AzureWorkloadSAPHanaRestoreWithRehydrateRequest': 'AzureWorkloadSAPHanaRestoreWithRehydrateRequest'} 5591 } 5592 5593 def __init__(self, **kwargs): 5594 super(AzureWorkloadSAPHanaRestoreRequest, self).__init__(**kwargs) 5595 self.object_type = 'AzureWorkloadSAPHanaRestoreRequest' 5596 5597 5598class AzureWorkloadSAPHanaPointInTimeRestoreRequest(AzureWorkloadSAPHanaRestoreRequest): 5599 """AzureWorkload SAP Hana -specific restore. Specifically for PointInTime/Log 5600 restore. 5601 5602 You probably want to use the sub-classes and not this class directly. Known 5603 sub-classes are: AzureWorkloadSAPHanaPointInTimeRestoreWithRehydrateRequest 5604 5605 All required parameters must be populated in order to send to Azure. 5606 5607 :param object_type: Required. Constant filled by server. 5608 :type object_type: str 5609 :param recovery_type: Type of this recovery. Possible values include: 5610 'Invalid', 'OriginalLocation', 'AlternateLocation', 'RestoreDisks', 5611 'Offline' 5612 :type recovery_type: str or 5613 ~azure.mgmt.recoveryservicesbackup.models.RecoveryType 5614 :param source_resource_id: Fully qualified ARM ID of the VM on which 5615 workload that was running is being recovered. 5616 :type source_resource_id: str 5617 :param property_bag: Workload specific property bag. 5618 :type property_bag: dict[str, str] 5619 :param target_info: Details of target database 5620 :type target_info: 5621 ~azure.mgmt.recoveryservicesbackup.models.TargetRestoreInfo 5622 :param recovery_mode: Defines whether the current recovery mode is file 5623 restore or database restore. Possible values include: 'Invalid', 5624 'FileRecovery', 'WorkloadRecovery' 5625 :type recovery_mode: str or 5626 ~azure.mgmt.recoveryservicesbackup.models.RecoveryMode 5627 :param target_virtual_machine_id: This is the complete ARM Id of the 5628 target VM 5629 For e.g. 5630 /subscriptions/{subId}/resourcegroups/{rg}/provider/Microsoft.Compute/virtualmachines/{vm} 5631 :type target_virtual_machine_id: str 5632 :param point_in_time: PointInTime value 5633 :type point_in_time: datetime 5634 """ 5635 5636 _validation = { 5637 'object_type': {'required': True}, 5638 } 5639 5640 _attribute_map = { 5641 'object_type': {'key': 'objectType', 'type': 'str'}, 5642 'recovery_type': {'key': 'recoveryType', 'type': 'str'}, 5643 'source_resource_id': {'key': 'sourceResourceId', 'type': 'str'}, 5644 'property_bag': {'key': 'propertyBag', 'type': '{str}'}, 5645 'target_info': {'key': 'targetInfo', 'type': 'TargetRestoreInfo'}, 5646 'recovery_mode': {'key': 'recoveryMode', 'type': 'str'}, 5647 'target_virtual_machine_id': {'key': 'targetVirtualMachineId', 'type': 'str'}, 5648 'point_in_time': {'key': 'pointInTime', 'type': 'iso-8601'}, 5649 } 5650 5651 _subtype_map = { 5652 'object_type': {'AzureWorkloadSAPHanaPointInTimeRestoreWithRehydrateRequest': 'AzureWorkloadSAPHanaPointInTimeRestoreWithRehydrateRequest'} 5653 } 5654 5655 def __init__(self, **kwargs): 5656 super(AzureWorkloadSAPHanaPointInTimeRestoreRequest, self).__init__(**kwargs) 5657 self.point_in_time = kwargs.get('point_in_time', None) 5658 self.object_type = 'AzureWorkloadSAPHanaPointInTimeRestoreRequest' 5659 5660 5661class AzureWorkloadSAPHanaPointInTimeRestoreWithRehydrateRequest(AzureWorkloadSAPHanaPointInTimeRestoreRequest): 5662 """AzureWorkload SAP Hana-specific restore with integrated rehydration of 5663 recovery point. 5664 5665 All required parameters must be populated in order to send to Azure. 5666 5667 :param object_type: Required. Constant filled by server. 5668 :type object_type: str 5669 :param recovery_type: Type of this recovery. Possible values include: 5670 'Invalid', 'OriginalLocation', 'AlternateLocation', 'RestoreDisks', 5671 'Offline' 5672 :type recovery_type: str or 5673 ~azure.mgmt.recoveryservicesbackup.models.RecoveryType 5674 :param source_resource_id: Fully qualified ARM ID of the VM on which 5675 workload that was running is being recovered. 5676 :type source_resource_id: str 5677 :param property_bag: Workload specific property bag. 5678 :type property_bag: dict[str, str] 5679 :param target_info: Details of target database 5680 :type target_info: 5681 ~azure.mgmt.recoveryservicesbackup.models.TargetRestoreInfo 5682 :param recovery_mode: Defines whether the current recovery mode is file 5683 restore or database restore. Possible values include: 'Invalid', 5684 'FileRecovery', 'WorkloadRecovery' 5685 :type recovery_mode: str or 5686 ~azure.mgmt.recoveryservicesbackup.models.RecoveryMode 5687 :param target_virtual_machine_id: This is the complete ARM Id of the 5688 target VM 5689 For e.g. 5690 /subscriptions/{subId}/resourcegroups/{rg}/provider/Microsoft.Compute/virtualmachines/{vm} 5691 :type target_virtual_machine_id: str 5692 :param point_in_time: PointInTime value 5693 :type point_in_time: datetime 5694 :param recovery_point_rehydration_info: RP Rehydration Info 5695 :type recovery_point_rehydration_info: 5696 ~azure.mgmt.recoveryservicesbackup.models.RecoveryPointRehydrationInfo 5697 """ 5698 5699 _validation = { 5700 'object_type': {'required': True}, 5701 } 5702 5703 _attribute_map = { 5704 'object_type': {'key': 'objectType', 'type': 'str'}, 5705 'recovery_type': {'key': 'recoveryType', 'type': 'str'}, 5706 'source_resource_id': {'key': 'sourceResourceId', 'type': 'str'}, 5707 'property_bag': {'key': 'propertyBag', 'type': '{str}'}, 5708 'target_info': {'key': 'targetInfo', 'type': 'TargetRestoreInfo'}, 5709 'recovery_mode': {'key': 'recoveryMode', 'type': 'str'}, 5710 'target_virtual_machine_id': {'key': 'targetVirtualMachineId', 'type': 'str'}, 5711 'point_in_time': {'key': 'pointInTime', 'type': 'iso-8601'}, 5712 'recovery_point_rehydration_info': {'key': 'recoveryPointRehydrationInfo', 'type': 'RecoveryPointRehydrationInfo'}, 5713 } 5714 5715 def __init__(self, **kwargs): 5716 super(AzureWorkloadSAPHanaPointInTimeRestoreWithRehydrateRequest, self).__init__(**kwargs) 5717 self.recovery_point_rehydration_info = kwargs.get('recovery_point_rehydration_info', None) 5718 self.object_type = 'AzureWorkloadSAPHanaPointInTimeRestoreWithRehydrateRequest' 5719 5720 5721class AzureWorkloadSAPHanaRecoveryPoint(AzureWorkloadRecoveryPoint): 5722 """SAPHana specific recoverypoint, specifically encapsulates full/diff 5723 recoverypoints. 5724 5725 Variables are only populated by the server, and will be ignored when 5726 sending a request. 5727 5728 All required parameters must be populated in order to send to Azure. 5729 5730 :param object_type: Required. Constant filled by server. 5731 :type object_type: str 5732 :ivar recovery_point_time_in_utc: UTC time at which recovery point was 5733 created 5734 :vartype recovery_point_time_in_utc: datetime 5735 :ivar type: Type of restore point. Possible values include: 'Invalid', 5736 'Full', 'Log', 'Differential', 'Incremental' 5737 :vartype type: str or 5738 ~azure.mgmt.recoveryservicesbackup.models.RestorePointType 5739 :param recovery_point_tier_details: Recovery point tier information. 5740 :type recovery_point_tier_details: 5741 list[~azure.mgmt.recoveryservicesbackup.models.RecoveryPointTierInformation] 5742 :param recovery_point_move_readiness_info: Eligibility of RP to be moved 5743 to another tier 5744 :type recovery_point_move_readiness_info: dict[str, 5745 ~azure.mgmt.recoveryservicesbackup.models.RecoveryPointMoveReadinessInfo] 5746 """ 5747 5748 _validation = { 5749 'object_type': {'required': True}, 5750 'recovery_point_time_in_utc': {'readonly': True}, 5751 'type': {'readonly': True}, 5752 } 5753 5754 _attribute_map = { 5755 'object_type': {'key': 'objectType', 'type': 'str'}, 5756 'recovery_point_time_in_utc': {'key': 'recoveryPointTimeInUTC', 'type': 'iso-8601'}, 5757 'type': {'key': 'type', 'type': 'str'}, 5758 'recovery_point_tier_details': {'key': 'recoveryPointTierDetails', 'type': '[RecoveryPointTierInformation]'}, 5759 'recovery_point_move_readiness_info': {'key': 'recoveryPointMoveReadinessInfo', 'type': '{RecoveryPointMoveReadinessInfo}'}, 5760 } 5761 5762 def __init__(self, **kwargs): 5763 super(AzureWorkloadSAPHanaRecoveryPoint, self).__init__(**kwargs) 5764 self.object_type = 'AzureWorkloadSAPHanaRecoveryPoint' 5765 5766 5767class AzureWorkloadSAPHanaRestoreWithRehydrateRequest(AzureWorkloadSAPHanaRestoreRequest): 5768 """AzureWorkload SAP Hana-specific restore with integrated rehydration of 5769 recovery point. 5770 5771 All required parameters must be populated in order to send to Azure. 5772 5773 :param object_type: Required. Constant filled by server. 5774 :type object_type: str 5775 :param recovery_type: Type of this recovery. Possible values include: 5776 'Invalid', 'OriginalLocation', 'AlternateLocation', 'RestoreDisks', 5777 'Offline' 5778 :type recovery_type: str or 5779 ~azure.mgmt.recoveryservicesbackup.models.RecoveryType 5780 :param source_resource_id: Fully qualified ARM ID of the VM on which 5781 workload that was running is being recovered. 5782 :type source_resource_id: str 5783 :param property_bag: Workload specific property bag. 5784 :type property_bag: dict[str, str] 5785 :param target_info: Details of target database 5786 :type target_info: 5787 ~azure.mgmt.recoveryservicesbackup.models.TargetRestoreInfo 5788 :param recovery_mode: Defines whether the current recovery mode is file 5789 restore or database restore. Possible values include: 'Invalid', 5790 'FileRecovery', 'WorkloadRecovery' 5791 :type recovery_mode: str or 5792 ~azure.mgmt.recoveryservicesbackup.models.RecoveryMode 5793 :param target_virtual_machine_id: This is the complete ARM Id of the 5794 target VM 5795 For e.g. 5796 /subscriptions/{subId}/resourcegroups/{rg}/provider/Microsoft.Compute/virtualmachines/{vm} 5797 :type target_virtual_machine_id: str 5798 :param recovery_point_rehydration_info: RP Rehydration Info 5799 :type recovery_point_rehydration_info: 5800 ~azure.mgmt.recoveryservicesbackup.models.RecoveryPointRehydrationInfo 5801 """ 5802 5803 _validation = { 5804 'object_type': {'required': True}, 5805 } 5806 5807 _attribute_map = { 5808 'object_type': {'key': 'objectType', 'type': 'str'}, 5809 'recovery_type': {'key': 'recoveryType', 'type': 'str'}, 5810 'source_resource_id': {'key': 'sourceResourceId', 'type': 'str'}, 5811 'property_bag': {'key': 'propertyBag', 'type': '{str}'}, 5812 'target_info': {'key': 'targetInfo', 'type': 'TargetRestoreInfo'}, 5813 'recovery_mode': {'key': 'recoveryMode', 'type': 'str'}, 5814 'target_virtual_machine_id': {'key': 'targetVirtualMachineId', 'type': 'str'}, 5815 'recovery_point_rehydration_info': {'key': 'recoveryPointRehydrationInfo', 'type': 'RecoveryPointRehydrationInfo'}, 5816 } 5817 5818 def __init__(self, **kwargs): 5819 super(AzureWorkloadSAPHanaRestoreWithRehydrateRequest, self).__init__(**kwargs) 5820 self.recovery_point_rehydration_info = kwargs.get('recovery_point_rehydration_info', None) 5821 self.object_type = 'AzureWorkloadSAPHanaRestoreWithRehydrateRequest' 5822 5823 5824class AzureWorkloadSQLAutoProtectionIntent(AzureWorkloadAutoProtectionIntent): 5825 """Azure Workload SQL Auto Protection intent item. 5826 5827 All required parameters must be populated in order to send to Azure. 5828 5829 :param backup_management_type: Type of backup management for the backed up 5830 item. Possible values include: 'Invalid', 'AzureIaasVM', 'MAB', 'DPM', 5831 'AzureBackupServer', 'AzureSql', 'AzureStorage', 'AzureWorkload', 5832 'DefaultBackup' 5833 :type backup_management_type: str or 5834 ~azure.mgmt.recoveryservicesbackup.models.BackupManagementType 5835 :param source_resource_id: ARM ID of the resource to be backed up. 5836 :type source_resource_id: str 5837 :param item_id: ID of the item which is getting protected, In case of 5838 Azure Vm , it is ProtectedItemId 5839 :type item_id: str 5840 :param policy_id: ID of the backup policy with which this item is backed 5841 up. 5842 :type policy_id: str 5843 :param protection_state: Backup state of this backup item. Possible values 5844 include: 'Invalid', 'NotProtected', 'Protecting', 'Protected', 5845 'ProtectionFailed' 5846 :type protection_state: str or 5847 ~azure.mgmt.recoveryservicesbackup.models.ProtectionStatus 5848 :param protection_intent_item_type: Required. Constant filled by server. 5849 :type protection_intent_item_type: str 5850 :param workload_item_type: Workload item type of the item for which intent 5851 is to be set. Possible values include: 'Invalid', 'SQLInstance', 5852 'SQLDataBase', 'SAPHanaSystem', 'SAPHanaDatabase', 'SAPAseSystem', 5853 'SAPAseDatabase' 5854 :type workload_item_type: str or 5855 ~azure.mgmt.recoveryservicesbackup.models.WorkloadItemType 5856 """ 5857 5858 _validation = { 5859 'protection_intent_item_type': {'required': True}, 5860 } 5861 5862 _attribute_map = { 5863 'backup_management_type': {'key': 'backupManagementType', 'type': 'str'}, 5864 'source_resource_id': {'key': 'sourceResourceId', 'type': 'str'}, 5865 'item_id': {'key': 'itemId', 'type': 'str'}, 5866 'policy_id': {'key': 'policyId', 'type': 'str'}, 5867 'protection_state': {'key': 'protectionState', 'type': 'str'}, 5868 'protection_intent_item_type': {'key': 'protectionIntentItemType', 'type': 'str'}, 5869 'workload_item_type': {'key': 'workloadItemType', 'type': 'str'}, 5870 } 5871 5872 def __init__(self, **kwargs): 5873 super(AzureWorkloadSQLAutoProtectionIntent, self).__init__(**kwargs) 5874 self.workload_item_type = kwargs.get('workload_item_type', None) 5875 self.protection_intent_item_type = 'AzureWorkloadSQLAutoProtectionIntent' 5876 5877 5878class AzureWorkloadSQLRecoveryPoint(AzureWorkloadRecoveryPoint): 5879 """SQL specific recoverypoint, specifically encapsulates full/diff 5880 recoverypoint along with extended info. 5881 5882 You probably want to use the sub-classes and not this class directly. Known 5883 sub-classes are: AzureWorkloadSQLPointInTimeRecoveryPoint 5884 5885 Variables are only populated by the server, and will be ignored when 5886 sending a request. 5887 5888 All required parameters must be populated in order to send to Azure. 5889 5890 :param object_type: Required. Constant filled by server. 5891 :type object_type: str 5892 :ivar recovery_point_time_in_utc: UTC time at which recovery point was 5893 created 5894 :vartype recovery_point_time_in_utc: datetime 5895 :ivar type: Type of restore point. Possible values include: 'Invalid', 5896 'Full', 'Log', 'Differential', 'Incremental' 5897 :vartype type: str or 5898 ~azure.mgmt.recoveryservicesbackup.models.RestorePointType 5899 :param recovery_point_tier_details: Recovery point tier information. 5900 :type recovery_point_tier_details: 5901 list[~azure.mgmt.recoveryservicesbackup.models.RecoveryPointTierInformation] 5902 :param recovery_point_move_readiness_info: Eligibility of RP to be moved 5903 to another tier 5904 :type recovery_point_move_readiness_info: dict[str, 5905 ~azure.mgmt.recoveryservicesbackup.models.RecoveryPointMoveReadinessInfo] 5906 :param extended_info: Extended Info that provides data directory details. 5907 Will be populated in two cases: 5908 When a specific recovery point is accessed using GetRecoveryPoint 5909 Or when ListRecoveryPoints is called for Log RP only with ExtendedInfo 5910 query filter 5911 :type extended_info: 5912 ~azure.mgmt.recoveryservicesbackup.models.AzureWorkloadSQLRecoveryPointExtendedInfo 5913 """ 5914 5915 _validation = { 5916 'object_type': {'required': True}, 5917 'recovery_point_time_in_utc': {'readonly': True}, 5918 'type': {'readonly': True}, 5919 } 5920 5921 _attribute_map = { 5922 'object_type': {'key': 'objectType', 'type': 'str'}, 5923 'recovery_point_time_in_utc': {'key': 'recoveryPointTimeInUTC', 'type': 'iso-8601'}, 5924 'type': {'key': 'type', 'type': 'str'}, 5925 'recovery_point_tier_details': {'key': 'recoveryPointTierDetails', 'type': '[RecoveryPointTierInformation]'}, 5926 'recovery_point_move_readiness_info': {'key': 'recoveryPointMoveReadinessInfo', 'type': '{RecoveryPointMoveReadinessInfo}'}, 5927 'extended_info': {'key': 'extendedInfo', 'type': 'AzureWorkloadSQLRecoveryPointExtendedInfo'}, 5928 } 5929 5930 _subtype_map = { 5931 'object_type': {'AzureWorkloadSQLPointInTimeRecoveryPoint': 'AzureWorkloadSQLPointInTimeRecoveryPoint'} 5932 } 5933 5934 def __init__(self, **kwargs): 5935 super(AzureWorkloadSQLRecoveryPoint, self).__init__(**kwargs) 5936 self.extended_info = kwargs.get('extended_info', None) 5937 self.object_type = 'AzureWorkloadSQLRecoveryPoint' 5938 5939 5940class AzureWorkloadSQLPointInTimeRecoveryPoint(AzureWorkloadSQLRecoveryPoint): 5941 """Recovery point specific to PointInTime. 5942 5943 Variables are only populated by the server, and will be ignored when 5944 sending a request. 5945 5946 All required parameters must be populated in order to send to Azure. 5947 5948 :param object_type: Required. Constant filled by server. 5949 :type object_type: str 5950 :ivar recovery_point_time_in_utc: UTC time at which recovery point was 5951 created 5952 :vartype recovery_point_time_in_utc: datetime 5953 :ivar type: Type of restore point. Possible values include: 'Invalid', 5954 'Full', 'Log', 'Differential', 'Incremental' 5955 :vartype type: str or 5956 ~azure.mgmt.recoveryservicesbackup.models.RestorePointType 5957 :param recovery_point_tier_details: Recovery point tier information. 5958 :type recovery_point_tier_details: 5959 list[~azure.mgmt.recoveryservicesbackup.models.RecoveryPointTierInformation] 5960 :param recovery_point_move_readiness_info: Eligibility of RP to be moved 5961 to another tier 5962 :type recovery_point_move_readiness_info: dict[str, 5963 ~azure.mgmt.recoveryservicesbackup.models.RecoveryPointMoveReadinessInfo] 5964 :param extended_info: Extended Info that provides data directory details. 5965 Will be populated in two cases: 5966 When a specific recovery point is accessed using GetRecoveryPoint 5967 Or when ListRecoveryPoints is called for Log RP only with ExtendedInfo 5968 query filter 5969 :type extended_info: 5970 ~azure.mgmt.recoveryservicesbackup.models.AzureWorkloadSQLRecoveryPointExtendedInfo 5971 :param time_ranges: List of log ranges 5972 :type time_ranges: 5973 list[~azure.mgmt.recoveryservicesbackup.models.PointInTimeRange] 5974 """ 5975 5976 _validation = { 5977 'object_type': {'required': True}, 5978 'recovery_point_time_in_utc': {'readonly': True}, 5979 'type': {'readonly': True}, 5980 } 5981 5982 _attribute_map = { 5983 'object_type': {'key': 'objectType', 'type': 'str'}, 5984 'recovery_point_time_in_utc': {'key': 'recoveryPointTimeInUTC', 'type': 'iso-8601'}, 5985 'type': {'key': 'type', 'type': 'str'}, 5986 'recovery_point_tier_details': {'key': 'recoveryPointTierDetails', 'type': '[RecoveryPointTierInformation]'}, 5987 'recovery_point_move_readiness_info': {'key': 'recoveryPointMoveReadinessInfo', 'type': '{RecoveryPointMoveReadinessInfo}'}, 5988 'extended_info': {'key': 'extendedInfo', 'type': 'AzureWorkloadSQLRecoveryPointExtendedInfo'}, 5989 'time_ranges': {'key': 'timeRanges', 'type': '[PointInTimeRange]'}, 5990 } 5991 5992 def __init__(self, **kwargs): 5993 super(AzureWorkloadSQLPointInTimeRecoveryPoint, self).__init__(**kwargs) 5994 self.time_ranges = kwargs.get('time_ranges', None) 5995 self.object_type = 'AzureWorkloadSQLPointInTimeRecoveryPoint' 5996 5997 5998class AzureWorkloadSQLRestoreRequest(AzureWorkloadRestoreRequest): 5999 """AzureWorkload SQL -specific restore. Specifically for full/diff restore. 6000 6001 You probably want to use the sub-classes and not this class directly. Known 6002 sub-classes are: AzureWorkloadSQLPointInTimeRestoreRequest, 6003 AzureWorkloadSQLRestoreWithRehydrateRequest 6004 6005 All required parameters must be populated in order to send to Azure. 6006 6007 :param object_type: Required. Constant filled by server. 6008 :type object_type: str 6009 :param recovery_type: Type of this recovery. Possible values include: 6010 'Invalid', 'OriginalLocation', 'AlternateLocation', 'RestoreDisks', 6011 'Offline' 6012 :type recovery_type: str or 6013 ~azure.mgmt.recoveryservicesbackup.models.RecoveryType 6014 :param source_resource_id: Fully qualified ARM ID of the VM on which 6015 workload that was running is being recovered. 6016 :type source_resource_id: str 6017 :param property_bag: Workload specific property bag. 6018 :type property_bag: dict[str, str] 6019 :param target_info: Details of target database 6020 :type target_info: 6021 ~azure.mgmt.recoveryservicesbackup.models.TargetRestoreInfo 6022 :param recovery_mode: Defines whether the current recovery mode is file 6023 restore or database restore. Possible values include: 'Invalid', 6024 'FileRecovery', 'WorkloadRecovery' 6025 :type recovery_mode: str or 6026 ~azure.mgmt.recoveryservicesbackup.models.RecoveryMode 6027 :param target_virtual_machine_id: This is the complete ARM Id of the 6028 target VM 6029 For e.g. 6030 /subscriptions/{subId}/resourcegroups/{rg}/provider/Microsoft.Compute/virtualmachines/{vm} 6031 :type target_virtual_machine_id: str 6032 :param should_use_alternate_target_location: Default option set to true. 6033 If this is set to false, alternate data directory must be provided 6034 :type should_use_alternate_target_location: bool 6035 :param is_non_recoverable: SQL specific property where user can chose to 6036 set no-recovery when restore operation is tried 6037 :type is_non_recoverable: bool 6038 :param alternate_directory_paths: Data directory details 6039 :type alternate_directory_paths: 6040 list[~azure.mgmt.recoveryservicesbackup.models.SQLDataDirectoryMapping] 6041 """ 6042 6043 _validation = { 6044 'object_type': {'required': True}, 6045 } 6046 6047 _attribute_map = { 6048 'object_type': {'key': 'objectType', 'type': 'str'}, 6049 'recovery_type': {'key': 'recoveryType', 'type': 'str'}, 6050 'source_resource_id': {'key': 'sourceResourceId', 'type': 'str'}, 6051 'property_bag': {'key': 'propertyBag', 'type': '{str}'}, 6052 'target_info': {'key': 'targetInfo', 'type': 'TargetRestoreInfo'}, 6053 'recovery_mode': {'key': 'recoveryMode', 'type': 'str'}, 6054 'target_virtual_machine_id': {'key': 'targetVirtualMachineId', 'type': 'str'}, 6055 'should_use_alternate_target_location': {'key': 'shouldUseAlternateTargetLocation', 'type': 'bool'}, 6056 'is_non_recoverable': {'key': 'isNonRecoverable', 'type': 'bool'}, 6057 'alternate_directory_paths': {'key': 'alternateDirectoryPaths', 'type': '[SQLDataDirectoryMapping]'}, 6058 } 6059 6060 _subtype_map = { 6061 'object_type': {'AzureWorkloadSQLPointInTimeRestoreRequest': 'AzureWorkloadSQLPointInTimeRestoreRequest', 'AzureWorkloadSQLRestoreWithRehydrateRequest': 'AzureWorkloadSQLRestoreWithRehydrateRequest'} 6062 } 6063 6064 def __init__(self, **kwargs): 6065 super(AzureWorkloadSQLRestoreRequest, self).__init__(**kwargs) 6066 self.should_use_alternate_target_location = kwargs.get('should_use_alternate_target_location', None) 6067 self.is_non_recoverable = kwargs.get('is_non_recoverable', None) 6068 self.alternate_directory_paths = kwargs.get('alternate_directory_paths', None) 6069 self.object_type = 'AzureWorkloadSQLRestoreRequest' 6070 6071 6072class AzureWorkloadSQLPointInTimeRestoreRequest(AzureWorkloadSQLRestoreRequest): 6073 """AzureWorkload SQL -specific restore. Specifically for PointInTime/Log 6074 restore. 6075 6076 You probably want to use the sub-classes and not this class directly. Known 6077 sub-classes are: AzureWorkloadSQLPointInTimeRestoreWithRehydrateRequest 6078 6079 All required parameters must be populated in order to send to Azure. 6080 6081 :param object_type: Required. Constant filled by server. 6082 :type object_type: str 6083 :param recovery_type: Type of this recovery. Possible values include: 6084 'Invalid', 'OriginalLocation', 'AlternateLocation', 'RestoreDisks', 6085 'Offline' 6086 :type recovery_type: str or 6087 ~azure.mgmt.recoveryservicesbackup.models.RecoveryType 6088 :param source_resource_id: Fully qualified ARM ID of the VM on which 6089 workload that was running is being recovered. 6090 :type source_resource_id: str 6091 :param property_bag: Workload specific property bag. 6092 :type property_bag: dict[str, str] 6093 :param target_info: Details of target database 6094 :type target_info: 6095 ~azure.mgmt.recoveryservicesbackup.models.TargetRestoreInfo 6096 :param recovery_mode: Defines whether the current recovery mode is file 6097 restore or database restore. Possible values include: 'Invalid', 6098 'FileRecovery', 'WorkloadRecovery' 6099 :type recovery_mode: str or 6100 ~azure.mgmt.recoveryservicesbackup.models.RecoveryMode 6101 :param target_virtual_machine_id: This is the complete ARM Id of the 6102 target VM 6103 For e.g. 6104 /subscriptions/{subId}/resourcegroups/{rg}/provider/Microsoft.Compute/virtualmachines/{vm} 6105 :type target_virtual_machine_id: str 6106 :param should_use_alternate_target_location: Default option set to true. 6107 If this is set to false, alternate data directory must be provided 6108 :type should_use_alternate_target_location: bool 6109 :param is_non_recoverable: SQL specific property where user can chose to 6110 set no-recovery when restore operation is tried 6111 :type is_non_recoverable: bool 6112 :param alternate_directory_paths: Data directory details 6113 :type alternate_directory_paths: 6114 list[~azure.mgmt.recoveryservicesbackup.models.SQLDataDirectoryMapping] 6115 :param point_in_time: PointInTime value 6116 :type point_in_time: datetime 6117 """ 6118 6119 _validation = { 6120 'object_type': {'required': True}, 6121 } 6122 6123 _attribute_map = { 6124 'object_type': {'key': 'objectType', 'type': 'str'}, 6125 'recovery_type': {'key': 'recoveryType', 'type': 'str'}, 6126 'source_resource_id': {'key': 'sourceResourceId', 'type': 'str'}, 6127 'property_bag': {'key': 'propertyBag', 'type': '{str}'}, 6128 'target_info': {'key': 'targetInfo', 'type': 'TargetRestoreInfo'}, 6129 'recovery_mode': {'key': 'recoveryMode', 'type': 'str'}, 6130 'target_virtual_machine_id': {'key': 'targetVirtualMachineId', 'type': 'str'}, 6131 'should_use_alternate_target_location': {'key': 'shouldUseAlternateTargetLocation', 'type': 'bool'}, 6132 'is_non_recoverable': {'key': 'isNonRecoverable', 'type': 'bool'}, 6133 'alternate_directory_paths': {'key': 'alternateDirectoryPaths', 'type': '[SQLDataDirectoryMapping]'}, 6134 'point_in_time': {'key': 'pointInTime', 'type': 'iso-8601'}, 6135 } 6136 6137 _subtype_map = { 6138 'object_type': {'AzureWorkloadSQLPointInTimeRestoreWithRehydrateRequest': 'AzureWorkloadSQLPointInTimeRestoreWithRehydrateRequest'} 6139 } 6140 6141 def __init__(self, **kwargs): 6142 super(AzureWorkloadSQLPointInTimeRestoreRequest, self).__init__(**kwargs) 6143 self.point_in_time = kwargs.get('point_in_time', None) 6144 self.object_type = 'AzureWorkloadSQLPointInTimeRestoreRequest' 6145 6146 6147class AzureWorkloadSQLPointInTimeRestoreWithRehydrateRequest(AzureWorkloadSQLPointInTimeRestoreRequest): 6148 """AzureWorkload SQL-specific restore with integrated rehydration of recovery 6149 point. 6150 6151 All required parameters must be populated in order to send to Azure. 6152 6153 :param object_type: Required. Constant filled by server. 6154 :type object_type: str 6155 :param recovery_type: Type of this recovery. Possible values include: 6156 'Invalid', 'OriginalLocation', 'AlternateLocation', 'RestoreDisks', 6157 'Offline' 6158 :type recovery_type: str or 6159 ~azure.mgmt.recoveryservicesbackup.models.RecoveryType 6160 :param source_resource_id: Fully qualified ARM ID of the VM on which 6161 workload that was running is being recovered. 6162 :type source_resource_id: str 6163 :param property_bag: Workload specific property bag. 6164 :type property_bag: dict[str, str] 6165 :param target_info: Details of target database 6166 :type target_info: 6167 ~azure.mgmt.recoveryservicesbackup.models.TargetRestoreInfo 6168 :param recovery_mode: Defines whether the current recovery mode is file 6169 restore or database restore. Possible values include: 'Invalid', 6170 'FileRecovery', 'WorkloadRecovery' 6171 :type recovery_mode: str or 6172 ~azure.mgmt.recoveryservicesbackup.models.RecoveryMode 6173 :param target_virtual_machine_id: This is the complete ARM Id of the 6174 target VM 6175 For e.g. 6176 /subscriptions/{subId}/resourcegroups/{rg}/provider/Microsoft.Compute/virtualmachines/{vm} 6177 :type target_virtual_machine_id: str 6178 :param should_use_alternate_target_location: Default option set to true. 6179 If this is set to false, alternate data directory must be provided 6180 :type should_use_alternate_target_location: bool 6181 :param is_non_recoverable: SQL specific property where user can chose to 6182 set no-recovery when restore operation is tried 6183 :type is_non_recoverable: bool 6184 :param alternate_directory_paths: Data directory details 6185 :type alternate_directory_paths: 6186 list[~azure.mgmt.recoveryservicesbackup.models.SQLDataDirectoryMapping] 6187 :param point_in_time: PointInTime value 6188 :type point_in_time: datetime 6189 :param recovery_point_rehydration_info: RP Rehydration Info 6190 :type recovery_point_rehydration_info: 6191 ~azure.mgmt.recoveryservicesbackup.models.RecoveryPointRehydrationInfo 6192 """ 6193 6194 _validation = { 6195 'object_type': {'required': True}, 6196 } 6197 6198 _attribute_map = { 6199 'object_type': {'key': 'objectType', 'type': 'str'}, 6200 'recovery_type': {'key': 'recoveryType', 'type': 'str'}, 6201 'source_resource_id': {'key': 'sourceResourceId', 'type': 'str'}, 6202 'property_bag': {'key': 'propertyBag', 'type': '{str}'}, 6203 'target_info': {'key': 'targetInfo', 'type': 'TargetRestoreInfo'}, 6204 'recovery_mode': {'key': 'recoveryMode', 'type': 'str'}, 6205 'target_virtual_machine_id': {'key': 'targetVirtualMachineId', 'type': 'str'}, 6206 'should_use_alternate_target_location': {'key': 'shouldUseAlternateTargetLocation', 'type': 'bool'}, 6207 'is_non_recoverable': {'key': 'isNonRecoverable', 'type': 'bool'}, 6208 'alternate_directory_paths': {'key': 'alternateDirectoryPaths', 'type': '[SQLDataDirectoryMapping]'}, 6209 'point_in_time': {'key': 'pointInTime', 'type': 'iso-8601'}, 6210 'recovery_point_rehydration_info': {'key': 'recoveryPointRehydrationInfo', 'type': 'RecoveryPointRehydrationInfo'}, 6211 } 6212 6213 def __init__(self, **kwargs): 6214 super(AzureWorkloadSQLPointInTimeRestoreWithRehydrateRequest, self).__init__(**kwargs) 6215 self.recovery_point_rehydration_info = kwargs.get('recovery_point_rehydration_info', None) 6216 self.object_type = 'AzureWorkloadSQLPointInTimeRestoreWithRehydrateRequest' 6217 6218 6219class AzureWorkloadSQLRecoveryPointExtendedInfo(Model): 6220 """Extended info class details. 6221 6222 Variables are only populated by the server, and will be ignored when 6223 sending a request. 6224 6225 :ivar data_directory_time_in_utc: UTC time at which data directory info 6226 was captured 6227 :vartype data_directory_time_in_utc: datetime 6228 :ivar data_directory_paths: List of data directory paths during restore 6229 operation. 6230 :vartype data_directory_paths: 6231 list[~azure.mgmt.recoveryservicesbackup.models.SQLDataDirectory] 6232 """ 6233 6234 _validation = { 6235 'data_directory_time_in_utc': {'readonly': True}, 6236 'data_directory_paths': {'readonly': True}, 6237 } 6238 6239 _attribute_map = { 6240 'data_directory_time_in_utc': {'key': 'dataDirectoryTimeInUTC', 'type': 'iso-8601'}, 6241 'data_directory_paths': {'key': 'dataDirectoryPaths', 'type': '[SQLDataDirectory]'}, 6242 } 6243 6244 def __init__(self, **kwargs): 6245 super(AzureWorkloadSQLRecoveryPointExtendedInfo, self).__init__(**kwargs) 6246 self.data_directory_time_in_utc = None 6247 self.data_directory_paths = None 6248 6249 6250class AzureWorkloadSQLRestoreWithRehydrateRequest(AzureWorkloadSQLRestoreRequest): 6251 """AzureWorkload SQL-specific restore with integrated rehydration of recovery 6252 point. 6253 6254 All required parameters must be populated in order to send to Azure. 6255 6256 :param object_type: Required. Constant filled by server. 6257 :type object_type: str 6258 :param recovery_type: Type of this recovery. Possible values include: 6259 'Invalid', 'OriginalLocation', 'AlternateLocation', 'RestoreDisks', 6260 'Offline' 6261 :type recovery_type: str or 6262 ~azure.mgmt.recoveryservicesbackup.models.RecoveryType 6263 :param source_resource_id: Fully qualified ARM ID of the VM on which 6264 workload that was running is being recovered. 6265 :type source_resource_id: str 6266 :param property_bag: Workload specific property bag. 6267 :type property_bag: dict[str, str] 6268 :param target_info: Details of target database 6269 :type target_info: 6270 ~azure.mgmt.recoveryservicesbackup.models.TargetRestoreInfo 6271 :param recovery_mode: Defines whether the current recovery mode is file 6272 restore or database restore. Possible values include: 'Invalid', 6273 'FileRecovery', 'WorkloadRecovery' 6274 :type recovery_mode: str or 6275 ~azure.mgmt.recoveryservicesbackup.models.RecoveryMode 6276 :param target_virtual_machine_id: This is the complete ARM Id of the 6277 target VM 6278 For e.g. 6279 /subscriptions/{subId}/resourcegroups/{rg}/provider/Microsoft.Compute/virtualmachines/{vm} 6280 :type target_virtual_machine_id: str 6281 :param should_use_alternate_target_location: Default option set to true. 6282 If this is set to false, alternate data directory must be provided 6283 :type should_use_alternate_target_location: bool 6284 :param is_non_recoverable: SQL specific property where user can chose to 6285 set no-recovery when restore operation is tried 6286 :type is_non_recoverable: bool 6287 :param alternate_directory_paths: Data directory details 6288 :type alternate_directory_paths: 6289 list[~azure.mgmt.recoveryservicesbackup.models.SQLDataDirectoryMapping] 6290 :param recovery_point_rehydration_info: RP Rehydration Info 6291 :type recovery_point_rehydration_info: 6292 ~azure.mgmt.recoveryservicesbackup.models.RecoveryPointRehydrationInfo 6293 """ 6294 6295 _validation = { 6296 'object_type': {'required': True}, 6297 } 6298 6299 _attribute_map = { 6300 'object_type': {'key': 'objectType', 'type': 'str'}, 6301 'recovery_type': {'key': 'recoveryType', 'type': 'str'}, 6302 'source_resource_id': {'key': 'sourceResourceId', 'type': 'str'}, 6303 'property_bag': {'key': 'propertyBag', 'type': '{str}'}, 6304 'target_info': {'key': 'targetInfo', 'type': 'TargetRestoreInfo'}, 6305 'recovery_mode': {'key': 'recoveryMode', 'type': 'str'}, 6306 'target_virtual_machine_id': {'key': 'targetVirtualMachineId', 'type': 'str'}, 6307 'should_use_alternate_target_location': {'key': 'shouldUseAlternateTargetLocation', 'type': 'bool'}, 6308 'is_non_recoverable': {'key': 'isNonRecoverable', 'type': 'bool'}, 6309 'alternate_directory_paths': {'key': 'alternateDirectoryPaths', 'type': '[SQLDataDirectoryMapping]'}, 6310 'recovery_point_rehydration_info': {'key': 'recoveryPointRehydrationInfo', 'type': 'RecoveryPointRehydrationInfo'}, 6311 } 6312 6313 def __init__(self, **kwargs): 6314 super(AzureWorkloadSQLRestoreWithRehydrateRequest, self).__init__(**kwargs) 6315 self.recovery_point_rehydration_info = kwargs.get('recovery_point_rehydration_info', None) 6316 self.object_type = 'AzureWorkloadSQLRestoreWithRehydrateRequest' 6317 6318 6319class BackupEngineBaseResource(Resource): 6320 """The base backup engine class. All workload specific backup engines derive 6321 from this class. 6322 6323 Variables are only populated by the server, and will be ignored when 6324 sending a request. 6325 6326 :ivar id: Resource Id represents the complete path to the resource. 6327 :vartype id: str 6328 :ivar name: Resource name associated with the resource. 6329 :vartype name: str 6330 :ivar type: Resource type represents the complete path of the form 6331 Namespace/ResourceType/ResourceType/... 6332 :vartype type: str 6333 :param location: Resource location. 6334 :type location: str 6335 :param tags: Resource tags. 6336 :type tags: dict[str, str] 6337 :param e_tag: Optional ETag. 6338 :type e_tag: str 6339 :param properties: BackupEngineBaseResource properties 6340 :type properties: 6341 ~azure.mgmt.recoveryservicesbackup.models.BackupEngineBase 6342 """ 6343 6344 _validation = { 6345 'id': {'readonly': True}, 6346 'name': {'readonly': True}, 6347 'type': {'readonly': True}, 6348 } 6349 6350 _attribute_map = { 6351 'id': {'key': 'id', 'type': 'str'}, 6352 'name': {'key': 'name', 'type': 'str'}, 6353 'type': {'key': 'type', 'type': 'str'}, 6354 'location': {'key': 'location', 'type': 'str'}, 6355 'tags': {'key': 'tags', 'type': '{str}'}, 6356 'e_tag': {'key': 'eTag', 'type': 'str'}, 6357 'properties': {'key': 'properties', 'type': 'BackupEngineBase'}, 6358 } 6359 6360 def __init__(self, **kwargs): 6361 super(BackupEngineBaseResource, self).__init__(**kwargs) 6362 self.properties = kwargs.get('properties', None) 6363 6364 6365class BackupEngineExtendedInfo(Model): 6366 """Additional information on backup engine. 6367 6368 :param database_name: Database name of backup engine. 6369 :type database_name: str 6370 :param protected_items_count: Number of protected items in the backup 6371 engine. 6372 :type protected_items_count: int 6373 :param protected_servers_count: Number of protected servers in the backup 6374 engine. 6375 :type protected_servers_count: int 6376 :param disk_count: Number of disks in the backup engine. 6377 :type disk_count: int 6378 :param used_disk_space: Disk space used in the backup engine. 6379 :type used_disk_space: float 6380 :param available_disk_space: Disk space currently available in the backup 6381 engine. 6382 :type available_disk_space: float 6383 :param refreshed_at: Last refresh time in the backup engine. 6384 :type refreshed_at: datetime 6385 :param azure_protected_instances: Protected instances in the backup 6386 engine. 6387 :type azure_protected_instances: int 6388 """ 6389 6390 _attribute_map = { 6391 'database_name': {'key': 'databaseName', 'type': 'str'}, 6392 'protected_items_count': {'key': 'protectedItemsCount', 'type': 'int'}, 6393 'protected_servers_count': {'key': 'protectedServersCount', 'type': 'int'}, 6394 'disk_count': {'key': 'diskCount', 'type': 'int'}, 6395 'used_disk_space': {'key': 'usedDiskSpace', 'type': 'float'}, 6396 'available_disk_space': {'key': 'availableDiskSpace', 'type': 'float'}, 6397 'refreshed_at': {'key': 'refreshedAt', 'type': 'iso-8601'}, 6398 'azure_protected_instances': {'key': 'azureProtectedInstances', 'type': 'int'}, 6399 } 6400 6401 def __init__(self, **kwargs): 6402 super(BackupEngineExtendedInfo, self).__init__(**kwargs) 6403 self.database_name = kwargs.get('database_name', None) 6404 self.protected_items_count = kwargs.get('protected_items_count', None) 6405 self.protected_servers_count = kwargs.get('protected_servers_count', None) 6406 self.disk_count = kwargs.get('disk_count', None) 6407 self.used_disk_space = kwargs.get('used_disk_space', None) 6408 self.available_disk_space = kwargs.get('available_disk_space', None) 6409 self.refreshed_at = kwargs.get('refreshed_at', None) 6410 self.azure_protected_instances = kwargs.get('azure_protected_instances', None) 6411 6412 6413class BackupManagementUsage(Model): 6414 """Backup management usages of a vault. 6415 6416 :param unit: Unit of the usage. Possible values include: 'Count', 'Bytes', 6417 'Seconds', 'Percent', 'CountPerSecond', 'BytesPerSecond' 6418 :type unit: str or ~azure.mgmt.recoveryservicesbackup.models.UsagesUnit 6419 :param quota_period: Quota period of usage. 6420 :type quota_period: str 6421 :param next_reset_time: Next reset time of usage. 6422 :type next_reset_time: datetime 6423 :param current_value: Current value of usage. 6424 :type current_value: long 6425 :param limit: Limit of usage. 6426 :type limit: long 6427 :param name: Name of usage. 6428 :type name: ~azure.mgmt.recoveryservicesbackup.models.NameInfo 6429 """ 6430 6431 _attribute_map = { 6432 'unit': {'key': 'unit', 'type': 'str'}, 6433 'quota_period': {'key': 'quotaPeriod', 'type': 'str'}, 6434 'next_reset_time': {'key': 'nextResetTime', 'type': 'iso-8601'}, 6435 'current_value': {'key': 'currentValue', 'type': 'long'}, 6436 'limit': {'key': 'limit', 'type': 'long'}, 6437 'name': {'key': 'name', 'type': 'NameInfo'}, 6438 } 6439 6440 def __init__(self, **kwargs): 6441 super(BackupManagementUsage, self).__init__(**kwargs) 6442 self.unit = kwargs.get('unit', None) 6443 self.quota_period = kwargs.get('quota_period', None) 6444 self.next_reset_time = kwargs.get('next_reset_time', None) 6445 self.current_value = kwargs.get('current_value', None) 6446 self.limit = kwargs.get('limit', None) 6447 self.name = kwargs.get('name', None) 6448 6449 6450class BackupRequestResource(Resource): 6451 """Base class for backup request. Workload-specific backup requests are 6452 derived from this class. 6453 6454 Variables are only populated by the server, and will be ignored when 6455 sending a request. 6456 6457 :ivar id: Resource Id represents the complete path to the resource. 6458 :vartype id: str 6459 :ivar name: Resource name associated with the resource. 6460 :vartype name: str 6461 :ivar type: Resource type represents the complete path of the form 6462 Namespace/ResourceType/ResourceType/... 6463 :vartype type: str 6464 :param location: Resource location. 6465 :type location: str 6466 :param tags: Resource tags. 6467 :type tags: dict[str, str] 6468 :param e_tag: Optional ETag. 6469 :type e_tag: str 6470 :param properties: BackupRequestResource properties 6471 :type properties: ~azure.mgmt.recoveryservicesbackup.models.BackupRequest 6472 """ 6473 6474 _validation = { 6475 'id': {'readonly': True}, 6476 'name': {'readonly': True}, 6477 'type': {'readonly': True}, 6478 } 6479 6480 _attribute_map = { 6481 'id': {'key': 'id', 'type': 'str'}, 6482 'name': {'key': 'name', 'type': 'str'}, 6483 'type': {'key': 'type', 'type': 'str'}, 6484 'location': {'key': 'location', 'type': 'str'}, 6485 'tags': {'key': 'tags', 'type': '{str}'}, 6486 'e_tag': {'key': 'eTag', 'type': 'str'}, 6487 'properties': {'key': 'properties', 'type': 'BackupRequest'}, 6488 } 6489 6490 def __init__(self, **kwargs): 6491 super(BackupRequestResource, self).__init__(**kwargs) 6492 self.properties = kwargs.get('properties', None) 6493 6494 6495class BackupResourceConfig(Model): 6496 """The resource storage details. 6497 6498 :param storage_model_type: Storage type. Possible values include: 6499 'Invalid', 'GeoRedundant', 'LocallyRedundant', 'ZoneRedundant', 6500 'ReadAccessGeoZoneRedundant' 6501 :type storage_model_type: str or 6502 ~azure.mgmt.recoveryservicesbackup.models.StorageType 6503 :param storage_type: Storage type. Possible values include: 'Invalid', 6504 'GeoRedundant', 'LocallyRedundant', 'ZoneRedundant', 6505 'ReadAccessGeoZoneRedundant' 6506 :type storage_type: str or 6507 ~azure.mgmt.recoveryservicesbackup.models.StorageType 6508 :param storage_type_state: Locked or Unlocked. Once a machine is 6509 registered against a resource, the storageTypeState is always Locked. 6510 Possible values include: 'Invalid', 'Locked', 'Unlocked' 6511 :type storage_type_state: str or 6512 ~azure.mgmt.recoveryservicesbackup.models.StorageTypeState 6513 :param cross_region_restore_flag: Opt in details of Cross Region Restore 6514 feature. 6515 :type cross_region_restore_flag: bool 6516 """ 6517 6518 _attribute_map = { 6519 'storage_model_type': {'key': 'storageModelType', 'type': 'str'}, 6520 'storage_type': {'key': 'storageType', 'type': 'str'}, 6521 'storage_type_state': {'key': 'storageTypeState', 'type': 'str'}, 6522 'cross_region_restore_flag': {'key': 'crossRegionRestoreFlag', 'type': 'bool'}, 6523 } 6524 6525 def __init__(self, **kwargs): 6526 super(BackupResourceConfig, self).__init__(**kwargs) 6527 self.storage_model_type = kwargs.get('storage_model_type', None) 6528 self.storage_type = kwargs.get('storage_type', None) 6529 self.storage_type_state = kwargs.get('storage_type_state', None) 6530 self.cross_region_restore_flag = kwargs.get('cross_region_restore_flag', None) 6531 6532 6533class BackupResourceConfigResource(Resource): 6534 """The resource storage details. 6535 6536 Variables are only populated by the server, and will be ignored when 6537 sending a request. 6538 6539 :ivar id: Resource Id represents the complete path to the resource. 6540 :vartype id: str 6541 :ivar name: Resource name associated with the resource. 6542 :vartype name: str 6543 :ivar type: Resource type represents the complete path of the form 6544 Namespace/ResourceType/ResourceType/... 6545 :vartype type: str 6546 :param location: Resource location. 6547 :type location: str 6548 :param tags: Resource tags. 6549 :type tags: dict[str, str] 6550 :param e_tag: Optional ETag. 6551 :type e_tag: str 6552 :param properties: BackupResourceConfigResource properties 6553 :type properties: 6554 ~azure.mgmt.recoveryservicesbackup.models.BackupResourceConfig 6555 """ 6556 6557 _validation = { 6558 'id': {'readonly': True}, 6559 'name': {'readonly': True}, 6560 'type': {'readonly': True}, 6561 } 6562 6563 _attribute_map = { 6564 'id': {'key': 'id', 'type': 'str'}, 6565 'name': {'key': 'name', 'type': 'str'}, 6566 'type': {'key': 'type', 'type': 'str'}, 6567 'location': {'key': 'location', 'type': 'str'}, 6568 'tags': {'key': 'tags', 'type': '{str}'}, 6569 'e_tag': {'key': 'eTag', 'type': 'str'}, 6570 'properties': {'key': 'properties', 'type': 'BackupResourceConfig'}, 6571 } 6572 6573 def __init__(self, **kwargs): 6574 super(BackupResourceConfigResource, self).__init__(**kwargs) 6575 self.properties = kwargs.get('properties', None) 6576 6577 6578class BackupResourceEncryptionConfig(Model): 6579 """BackupResourceEncryptionConfig. 6580 6581 :param encryption_at_rest_type: Encryption At Rest Type. Possible values 6582 include: 'Invalid', 'MicrosoftManaged', 'CustomerManaged' 6583 :type encryption_at_rest_type: str or 6584 ~azure.mgmt.recoveryservicesbackup.models.EncryptionAtRestType 6585 :param key_uri: Key Vault Key URI 6586 :type key_uri: str 6587 :param subscription_id: Key Vault Subscription Id 6588 :type subscription_id: str 6589 :param last_update_status: Possible values include: 'Invalid', 6590 'NotEnabled', 'PartiallySucceeded', 'PartiallyFailed', 'Failed', 6591 'Succeeded', 'Initialized', 'FirstInitialization' 6592 :type last_update_status: str or 6593 ~azure.mgmt.recoveryservicesbackup.models.LastUpdateStatus 6594 :param infrastructure_encryption_state: Possible values include: 6595 'Invalid', 'Disabled', 'Enabled' 6596 :type infrastructure_encryption_state: str or 6597 ~azure.mgmt.recoveryservicesbackup.models.InfrastructureEncryptionState 6598 """ 6599 6600 _attribute_map = { 6601 'encryption_at_rest_type': {'key': 'encryptionAtRestType', 'type': 'str'}, 6602 'key_uri': {'key': 'keyUri', 'type': 'str'}, 6603 'subscription_id': {'key': 'subscriptionId', 'type': 'str'}, 6604 'last_update_status': {'key': 'lastUpdateStatus', 'type': 'str'}, 6605 'infrastructure_encryption_state': {'key': 'infrastructureEncryptionState', 'type': 'str'}, 6606 } 6607 6608 def __init__(self, **kwargs): 6609 super(BackupResourceEncryptionConfig, self).__init__(**kwargs) 6610 self.encryption_at_rest_type = kwargs.get('encryption_at_rest_type', None) 6611 self.key_uri = kwargs.get('key_uri', None) 6612 self.subscription_id = kwargs.get('subscription_id', None) 6613 self.last_update_status = kwargs.get('last_update_status', None) 6614 self.infrastructure_encryption_state = kwargs.get('infrastructure_encryption_state', None) 6615 6616 6617class BackupResourceEncryptionConfigExtended(BackupResourceEncryptionConfig): 6618 """BackupResourceEncryptionConfigExtended. 6619 6620 :param encryption_at_rest_type: Encryption At Rest Type. Possible values 6621 include: 'Invalid', 'MicrosoftManaged', 'CustomerManaged' 6622 :type encryption_at_rest_type: str or 6623 ~azure.mgmt.recoveryservicesbackup.models.EncryptionAtRestType 6624 :param key_uri: Key Vault Key URI 6625 :type key_uri: str 6626 :param subscription_id: Key Vault Subscription Id 6627 :type subscription_id: str 6628 :param last_update_status: Possible values include: 'Invalid', 6629 'NotEnabled', 'PartiallySucceeded', 'PartiallyFailed', 'Failed', 6630 'Succeeded', 'Initialized', 'FirstInitialization' 6631 :type last_update_status: str or 6632 ~azure.mgmt.recoveryservicesbackup.models.LastUpdateStatus 6633 :param infrastructure_encryption_state: Possible values include: 6634 'Invalid', 'Disabled', 'Enabled' 6635 :type infrastructure_encryption_state: str or 6636 ~azure.mgmt.recoveryservicesbackup.models.InfrastructureEncryptionState 6637 :param user_assigned_identity: User Assigned Identity Id 6638 :type user_assigned_identity: str 6639 :param use_system_assigned_identity: bool to indicate whether to use 6640 system Assigned Identity or not 6641 :type use_system_assigned_identity: bool 6642 """ 6643 6644 _attribute_map = { 6645 'encryption_at_rest_type': {'key': 'encryptionAtRestType', 'type': 'str'}, 6646 'key_uri': {'key': 'keyUri', 'type': 'str'}, 6647 'subscription_id': {'key': 'subscriptionId', 'type': 'str'}, 6648 'last_update_status': {'key': 'lastUpdateStatus', 'type': 'str'}, 6649 'infrastructure_encryption_state': {'key': 'infrastructureEncryptionState', 'type': 'str'}, 6650 'user_assigned_identity': {'key': 'userAssignedIdentity', 'type': 'str'}, 6651 'use_system_assigned_identity': {'key': 'useSystemAssignedIdentity', 'type': 'bool'}, 6652 } 6653 6654 def __init__(self, **kwargs): 6655 super(BackupResourceEncryptionConfigExtended, self).__init__(**kwargs) 6656 self.user_assigned_identity = kwargs.get('user_assigned_identity', None) 6657 self.use_system_assigned_identity = kwargs.get('use_system_assigned_identity', None) 6658 6659 6660class BackupResourceEncryptionConfigExtendedResource(Resource): 6661 """BackupResourceEncryptionConfigExtendedResource. 6662 6663 Variables are only populated by the server, and will be ignored when 6664 sending a request. 6665 6666 :ivar id: Resource Id represents the complete path to the resource. 6667 :vartype id: str 6668 :ivar name: Resource name associated with the resource. 6669 :vartype name: str 6670 :ivar type: Resource type represents the complete path of the form 6671 Namespace/ResourceType/ResourceType/... 6672 :vartype type: str 6673 :param location: Resource location. 6674 :type location: str 6675 :param tags: Resource tags. 6676 :type tags: dict[str, str] 6677 :param e_tag: Optional ETag. 6678 :type e_tag: str 6679 :param properties: BackupResourceEncryptionConfigExtendedResource 6680 properties 6681 :type properties: 6682 ~azure.mgmt.recoveryservicesbackup.models.BackupResourceEncryptionConfigExtended 6683 """ 6684 6685 _validation = { 6686 'id': {'readonly': True}, 6687 'name': {'readonly': True}, 6688 'type': {'readonly': True}, 6689 } 6690 6691 _attribute_map = { 6692 'id': {'key': 'id', 'type': 'str'}, 6693 'name': {'key': 'name', 'type': 'str'}, 6694 'type': {'key': 'type', 'type': 'str'}, 6695 'location': {'key': 'location', 'type': 'str'}, 6696 'tags': {'key': 'tags', 'type': '{str}'}, 6697 'e_tag': {'key': 'eTag', 'type': 'str'}, 6698 'properties': {'key': 'properties', 'type': 'BackupResourceEncryptionConfigExtended'}, 6699 } 6700 6701 def __init__(self, **kwargs): 6702 super(BackupResourceEncryptionConfigExtendedResource, self).__init__(**kwargs) 6703 self.properties = kwargs.get('properties', None) 6704 6705 6706class BackupResourceEncryptionConfigResource(Resource): 6707 """BackupResourceEncryptionConfigResource. 6708 6709 Variables are only populated by the server, and will be ignored when 6710 sending a request. 6711 6712 :ivar id: Resource Id represents the complete path to the resource. 6713 :vartype id: str 6714 :ivar name: Resource name associated with the resource. 6715 :vartype name: str 6716 :ivar type: Resource type represents the complete path of the form 6717 Namespace/ResourceType/ResourceType/... 6718 :vartype type: str 6719 :param location: Resource location. 6720 :type location: str 6721 :param tags: Resource tags. 6722 :type tags: dict[str, str] 6723 :param e_tag: Optional ETag. 6724 :type e_tag: str 6725 :param properties: BackupResourceEncryptionConfigResource properties 6726 :type properties: 6727 ~azure.mgmt.recoveryservicesbackup.models.BackupResourceEncryptionConfig 6728 """ 6729 6730 _validation = { 6731 'id': {'readonly': True}, 6732 'name': {'readonly': True}, 6733 'type': {'readonly': True}, 6734 } 6735 6736 _attribute_map = { 6737 'id': {'key': 'id', 'type': 'str'}, 6738 'name': {'key': 'name', 'type': 'str'}, 6739 'type': {'key': 'type', 'type': 'str'}, 6740 'location': {'key': 'location', 'type': 'str'}, 6741 'tags': {'key': 'tags', 'type': '{str}'}, 6742 'e_tag': {'key': 'eTag', 'type': 'str'}, 6743 'properties': {'key': 'properties', 'type': 'BackupResourceEncryptionConfig'}, 6744 } 6745 6746 def __init__(self, **kwargs): 6747 super(BackupResourceEncryptionConfigResource, self).__init__(**kwargs) 6748 self.properties = kwargs.get('properties', None) 6749 6750 6751class BackupResourceVaultConfig(Model): 6752 """Backup resource vault config details. 6753 6754 :param storage_model_type: Storage type. Possible values include: 6755 'Invalid', 'GeoRedundant', 'LocallyRedundant', 'ZoneRedundant', 6756 'ReadAccessGeoZoneRedundant' 6757 :type storage_model_type: str or 6758 ~azure.mgmt.recoveryservicesbackup.models.StorageType 6759 :param storage_type: Storage type. Possible values include: 'Invalid', 6760 'GeoRedundant', 'LocallyRedundant', 'ZoneRedundant', 6761 'ReadAccessGeoZoneRedundant' 6762 :type storage_type: str or 6763 ~azure.mgmt.recoveryservicesbackup.models.StorageType 6764 :param storage_type_state: Locked or Unlocked. Once a machine is 6765 registered against a resource, the storageTypeState is always Locked. 6766 Possible values include: 'Invalid', 'Locked', 'Unlocked' 6767 :type storage_type_state: str or 6768 ~azure.mgmt.recoveryservicesbackup.models.StorageTypeState 6769 :param enhanced_security_state: Enabled or Disabled. Possible values 6770 include: 'Invalid', 'Enabled', 'Disabled' 6771 :type enhanced_security_state: str or 6772 ~azure.mgmt.recoveryservicesbackup.models.EnhancedSecurityState 6773 :param soft_delete_feature_state: Soft Delete feature state. Possible 6774 values include: 'Invalid', 'Enabled', 'Disabled' 6775 :type soft_delete_feature_state: str or 6776 ~azure.mgmt.recoveryservicesbackup.models.SoftDeleteFeatureState 6777 :param resource_guard_operation_requests: ResourceGuard Operation Requests 6778 :type resource_guard_operation_requests: list[str] 6779 """ 6780 6781 _attribute_map = { 6782 'storage_model_type': {'key': 'storageModelType', 'type': 'str'}, 6783 'storage_type': {'key': 'storageType', 'type': 'str'}, 6784 'storage_type_state': {'key': 'storageTypeState', 'type': 'str'}, 6785 'enhanced_security_state': {'key': 'enhancedSecurityState', 'type': 'str'}, 6786 'soft_delete_feature_state': {'key': 'softDeleteFeatureState', 'type': 'str'}, 6787 'resource_guard_operation_requests': {'key': 'resourceGuardOperationRequests', 'type': '[str]'}, 6788 } 6789 6790 def __init__(self, **kwargs): 6791 super(BackupResourceVaultConfig, self).__init__(**kwargs) 6792 self.storage_model_type = kwargs.get('storage_model_type', None) 6793 self.storage_type = kwargs.get('storage_type', None) 6794 self.storage_type_state = kwargs.get('storage_type_state', None) 6795 self.enhanced_security_state = kwargs.get('enhanced_security_state', None) 6796 self.soft_delete_feature_state = kwargs.get('soft_delete_feature_state', None) 6797 self.resource_guard_operation_requests = kwargs.get('resource_guard_operation_requests', None) 6798 6799 6800class BackupResourceVaultConfigResource(Resource): 6801 """Backup resource vault config details. 6802 6803 Variables are only populated by the server, and will be ignored when 6804 sending a request. 6805 6806 :ivar id: Resource Id represents the complete path to the resource. 6807 :vartype id: str 6808 :ivar name: Resource name associated with the resource. 6809 :vartype name: str 6810 :ivar type: Resource type represents the complete path of the form 6811 Namespace/ResourceType/ResourceType/... 6812 :vartype type: str 6813 :param location: Resource location. 6814 :type location: str 6815 :param tags: Resource tags. 6816 :type tags: dict[str, str] 6817 :param e_tag: Optional ETag. 6818 :type e_tag: str 6819 :param properties: BackupResourceVaultConfigResource properties 6820 :type properties: 6821 ~azure.mgmt.recoveryservicesbackup.models.BackupResourceVaultConfig 6822 """ 6823 6824 _validation = { 6825 'id': {'readonly': True}, 6826 'name': {'readonly': True}, 6827 'type': {'readonly': True}, 6828 } 6829 6830 _attribute_map = { 6831 'id': {'key': 'id', 'type': 'str'}, 6832 'name': {'key': 'name', 'type': 'str'}, 6833 'type': {'key': 'type', 'type': 'str'}, 6834 'location': {'key': 'location', 'type': 'str'}, 6835 'tags': {'key': 'tags', 'type': '{str}'}, 6836 'e_tag': {'key': 'eTag', 'type': 'str'}, 6837 'properties': {'key': 'properties', 'type': 'BackupResourceVaultConfig'}, 6838 } 6839 6840 def __init__(self, **kwargs): 6841 super(BackupResourceVaultConfigResource, self).__init__(**kwargs) 6842 self.properties = kwargs.get('properties', None) 6843 6844 6845class BackupStatusRequest(Model): 6846 """BackupStatus request. 6847 6848 :param resource_type: Container Type - VM, SQLPaaS, DPM, AzureFileShare. 6849 Possible values include: 'Invalid', 'VM', 'FileFolder', 'AzureSqlDb', 6850 'SQLDB', 'Exchange', 'Sharepoint', 'VMwareVM', 'SystemState', 'Client', 6851 'GenericDataSource', 'SQLDataBase', 'AzureFileShare', 'SAPHanaDatabase', 6852 'SAPAseDatabase' 6853 :type resource_type: str or 6854 ~azure.mgmt.recoveryservicesbackup.models.DataSourceType 6855 :param resource_id: Entire ARM resource id of the resource 6856 :type resource_id: str 6857 :param po_logical_name: Protectable Item Logical Name 6858 :type po_logical_name: str 6859 """ 6860 6861 _attribute_map = { 6862 'resource_type': {'key': 'resourceType', 'type': 'str'}, 6863 'resource_id': {'key': 'resourceId', 'type': 'str'}, 6864 'po_logical_name': {'key': 'poLogicalName', 'type': 'str'}, 6865 } 6866 6867 def __init__(self, **kwargs): 6868 super(BackupStatusRequest, self).__init__(**kwargs) 6869 self.resource_type = kwargs.get('resource_type', None) 6870 self.resource_id = kwargs.get('resource_id', None) 6871 self.po_logical_name = kwargs.get('po_logical_name', None) 6872 6873 6874class BackupStatusResponse(Model): 6875 """BackupStatus response. 6876 6877 :param protection_status: Specifies whether the container is registered or 6878 not. Possible values include: 'Invalid', 'NotProtected', 'Protecting', 6879 'Protected', 'ProtectionFailed' 6880 :type protection_status: str or 6881 ~azure.mgmt.recoveryservicesbackup.models.ProtectionStatus 6882 :param vault_id: Specifies the arm resource id of the vault 6883 :type vault_id: str 6884 :param fabric_name: Specifies the fabric name - Azure or AD. Possible 6885 values include: 'Invalid', 'Azure' 6886 :type fabric_name: str or 6887 ~azure.mgmt.recoveryservicesbackup.models.FabricName 6888 :param container_name: Specifies the product specific container name. E.g. 6889 iaasvmcontainer;iaasvmcontainer;csname;vmname. 6890 :type container_name: str 6891 :param protected_item_name: Specifies the product specific ds name. E.g. 6892 vm;iaasvmcontainer;csname;vmname. 6893 :type protected_item_name: str 6894 :param error_code: ErrorCode in case of intent failed 6895 :type error_code: str 6896 :param error_message: ErrorMessage in case of intent failed. 6897 :type error_message: str 6898 :param policy_name: Specifies the policy name which is used for protection 6899 :type policy_name: str 6900 :param registration_status: Container registration status 6901 :type registration_status: str 6902 """ 6903 6904 _attribute_map = { 6905 'protection_status': {'key': 'protectionStatus', 'type': 'str'}, 6906 'vault_id': {'key': 'vaultId', 'type': 'str'}, 6907 'fabric_name': {'key': 'fabricName', 'type': 'str'}, 6908 'container_name': {'key': 'containerName', 'type': 'str'}, 6909 'protected_item_name': {'key': 'protectedItemName', 'type': 'str'}, 6910 'error_code': {'key': 'errorCode', 'type': 'str'}, 6911 'error_message': {'key': 'errorMessage', 'type': 'str'}, 6912 'policy_name': {'key': 'policyName', 'type': 'str'}, 6913 'registration_status': {'key': 'registrationStatus', 'type': 'str'}, 6914 } 6915 6916 def __init__(self, **kwargs): 6917 super(BackupStatusResponse, self).__init__(**kwargs) 6918 self.protection_status = kwargs.get('protection_status', None) 6919 self.vault_id = kwargs.get('vault_id', None) 6920 self.fabric_name = kwargs.get('fabric_name', None) 6921 self.container_name = kwargs.get('container_name', None) 6922 self.protected_item_name = kwargs.get('protected_item_name', None) 6923 self.error_code = kwargs.get('error_code', None) 6924 self.error_message = kwargs.get('error_message', None) 6925 self.policy_name = kwargs.get('policy_name', None) 6926 self.registration_status = kwargs.get('registration_status', None) 6927 6928 6929class BEKDetails(Model): 6930 """BEK is bitlocker encryption key. 6931 6932 :param secret_url: Secret is BEK. 6933 :type secret_url: str 6934 :param secret_vault_id: ID of the Key Vault where this Secret is stored. 6935 :type secret_vault_id: str 6936 :param secret_data: BEK data. 6937 :type secret_data: str 6938 """ 6939 6940 _attribute_map = { 6941 'secret_url': {'key': 'secretUrl', 'type': 'str'}, 6942 'secret_vault_id': {'key': 'secretVaultId', 'type': 'str'}, 6943 'secret_data': {'key': 'secretData', 'type': 'str'}, 6944 } 6945 6946 def __init__(self, **kwargs): 6947 super(BEKDetails, self).__init__(**kwargs) 6948 self.secret_url = kwargs.get('secret_url', None) 6949 self.secret_vault_id = kwargs.get('secret_vault_id', None) 6950 self.secret_data = kwargs.get('secret_data', None) 6951 6952 6953class BMSAADPropertiesQueryObject(Model): 6954 """Filters to list backup items. 6955 6956 :param backup_management_type: Backup management type for the backed up 6957 item. Possible values include: 'Invalid', 'AzureIaasVM', 'MAB', 'DPM', 6958 'AzureBackupServer', 'AzureSql', 'AzureStorage', 'AzureWorkload', 6959 'DefaultBackup' 6960 :type backup_management_type: str or 6961 ~azure.mgmt.recoveryservicesbackup.models.BackupManagementType 6962 """ 6963 6964 _attribute_map = { 6965 'backup_management_type': {'key': 'backupManagementType', 'type': 'str'}, 6966 } 6967 6968 def __init__(self, **kwargs): 6969 super(BMSAADPropertiesQueryObject, self).__init__(**kwargs) 6970 self.backup_management_type = kwargs.get('backup_management_type', None) 6971 6972 6973class BMSBackupEngineQueryObject(Model): 6974 """Query parameters to fetch list of backup engines. 6975 6976 :param expand: attribute to add extended info 6977 :type expand: str 6978 """ 6979 6980 _attribute_map = { 6981 'expand': {'key': 'expand', 'type': 'str'}, 6982 } 6983 6984 def __init__(self, **kwargs): 6985 super(BMSBackupEngineQueryObject, self).__init__(**kwargs) 6986 self.expand = kwargs.get('expand', None) 6987 6988 6989class BMSBackupEnginesQueryObject(Model): 6990 """Query parameters to fetch list of backup engines. 6991 6992 :param backup_management_type: Backup management type for the backup 6993 engine. Possible values include: 'Invalid', 'AzureIaasVM', 'MAB', 'DPM', 6994 'AzureBackupServer', 'AzureSql', 'AzureStorage', 'AzureWorkload', 6995 'DefaultBackup' 6996 :type backup_management_type: str or 6997 ~azure.mgmt.recoveryservicesbackup.models.BackupManagementType 6998 :param friendly_name: Friendly name of the backup engine. 6999 :type friendly_name: str 7000 :param expand: Attribute to add extended info. 7001 :type expand: str 7002 """ 7003 7004 _attribute_map = { 7005 'backup_management_type': {'key': 'backupManagementType', 'type': 'str'}, 7006 'friendly_name': {'key': 'friendlyName', 'type': 'str'}, 7007 'expand': {'key': 'expand', 'type': 'str'}, 7008 } 7009 7010 def __init__(self, **kwargs): 7011 super(BMSBackupEnginesQueryObject, self).__init__(**kwargs) 7012 self.backup_management_type = kwargs.get('backup_management_type', None) 7013 self.friendly_name = kwargs.get('friendly_name', None) 7014 self.expand = kwargs.get('expand', None) 7015 7016 7017class BMSBackupSummariesQueryObject(Model): 7018 """Query parameters to fetch backup summaries. 7019 7020 :param type: Backup management type for this container. Possible values 7021 include: 'Invalid', 'BackupProtectedItemCountSummary', 7022 'BackupProtectionContainerCountSummary' 7023 :type type: str or ~azure.mgmt.recoveryservicesbackup.models.Type 7024 """ 7025 7026 _attribute_map = { 7027 'type': {'key': 'type', 'type': 'str'}, 7028 } 7029 7030 def __init__(self, **kwargs): 7031 super(BMSBackupSummariesQueryObject, self).__init__(**kwargs) 7032 self.type = kwargs.get('type', None) 7033 7034 7035class BMSContainerQueryObject(Model): 7036 """The query filters that can be used with the list containers API. 7037 7038 All required parameters must be populated in order to send to Azure. 7039 7040 :param backup_management_type: Required. Backup management type for this 7041 container. Possible values include: 'Invalid', 'AzureIaasVM', 'MAB', 7042 'DPM', 'AzureBackupServer', 'AzureSql', 'AzureStorage', 'AzureWorkload', 7043 'DefaultBackup' 7044 :type backup_management_type: str or 7045 ~azure.mgmt.recoveryservicesbackup.models.BackupManagementType 7046 :param container_type: Type of container for filter. Possible values 7047 include: 'Invalid', 'Unknown', 'IaasVMContainer', 7048 'IaasVMServiceContainer', 'DPMContainer', 'AzureBackupServerContainer', 7049 'MABContainer', 'Cluster', 'AzureSqlContainer', 'Windows', 'VCenter', 7050 'VMAppContainer', 'SQLAGWorkLoadContainer', 'StorageContainer', 7051 'GenericContainer' 7052 :type container_type: str or 7053 ~azure.mgmt.recoveryservicesbackup.models.ContainerType 7054 :param backup_engine_name: Backup engine name 7055 :type backup_engine_name: str 7056 :param fabric_name: Fabric name for filter 7057 :type fabric_name: str 7058 :param status: Status of registration of this container with the Recovery 7059 Services Vault. 7060 :type status: str 7061 :param friendly_name: Friendly name of this container. 7062 :type friendly_name: str 7063 """ 7064 7065 _validation = { 7066 'backup_management_type': {'required': True}, 7067 } 7068 7069 _attribute_map = { 7070 'backup_management_type': {'key': 'backupManagementType', 'type': 'str'}, 7071 'container_type': {'key': 'containerType', 'type': 'str'}, 7072 'backup_engine_name': {'key': 'backupEngineName', 'type': 'str'}, 7073 'fabric_name': {'key': 'fabricName', 'type': 'str'}, 7074 'status': {'key': 'status', 'type': 'str'}, 7075 'friendly_name': {'key': 'friendlyName', 'type': 'str'}, 7076 } 7077 7078 def __init__(self, **kwargs): 7079 super(BMSContainerQueryObject, self).__init__(**kwargs) 7080 self.backup_management_type = kwargs.get('backup_management_type', None) 7081 self.container_type = kwargs.get('container_type', None) 7082 self.backup_engine_name = kwargs.get('backup_engine_name', None) 7083 self.fabric_name = kwargs.get('fabric_name', None) 7084 self.status = kwargs.get('status', None) 7085 self.friendly_name = kwargs.get('friendly_name', None) 7086 7087 7088class BMSContainersInquiryQueryObject(Model): 7089 """The query filters that can be used with the inquire container API. 7090 7091 :param backup_management_type: Backup management type for this container. 7092 Possible values include: 'Invalid', 'AzureIaasVM', 'MAB', 'DPM', 7093 'AzureBackupServer', 'AzureSql', 'AzureStorage', 'AzureWorkload', 7094 'DefaultBackup' 7095 :type backup_management_type: str or 7096 ~azure.mgmt.recoveryservicesbackup.models.BackupManagementType 7097 :param workload_type: Workload type for this container. Possible values 7098 include: 'Invalid', 'VM', 'FileFolder', 'AzureSqlDb', 'SQLDB', 'Exchange', 7099 'Sharepoint', 'VMwareVM', 'SystemState', 'Client', 'GenericDataSource', 7100 'SQLDataBase', 'AzureFileShare', 'SAPHanaDatabase', 'SAPAseDatabase' 7101 :type workload_type: str or 7102 ~azure.mgmt.recoveryservicesbackup.models.WorkloadType 7103 """ 7104 7105 _attribute_map = { 7106 'backup_management_type': {'key': 'backupManagementType', 'type': 'str'}, 7107 'workload_type': {'key': 'workloadType', 'type': 'str'}, 7108 } 7109 7110 def __init__(self, **kwargs): 7111 super(BMSContainersInquiryQueryObject, self).__init__(**kwargs) 7112 self.backup_management_type = kwargs.get('backup_management_type', None) 7113 self.workload_type = kwargs.get('workload_type', None) 7114 7115 7116class BMSPOQueryObject(Model): 7117 """Filters to list items that can be backed up. 7118 7119 :param backup_management_type: Backup management type. Possible values 7120 include: 'Invalid', 'AzureIaasVM', 'MAB', 'DPM', 'AzureBackupServer', 7121 'AzureSql', 'AzureStorage', 'AzureWorkload', 'DefaultBackup' 7122 :type backup_management_type: str or 7123 ~azure.mgmt.recoveryservicesbackup.models.BackupManagementType 7124 :param workload_type: Workload type. Possible values include: 'Invalid', 7125 'VM', 'FileFolder', 'AzureSqlDb', 'SQLDB', 'Exchange', 'Sharepoint', 7126 'VMwareVM', 'SystemState', 'Client', 'GenericDataSource', 'SQLDataBase', 7127 'AzureFileShare', 'SAPHanaDatabase', 'SAPAseDatabase' 7128 :type workload_type: str or 7129 ~azure.mgmt.recoveryservicesbackup.models.WorkloadType 7130 :param container_name: Full name of the container whose Protectable 7131 Objects should be returned. 7132 :type container_name: str 7133 :param status: Backup status query parameter. 7134 :type status: str 7135 :param friendly_name: Friendly name. 7136 :type friendly_name: str 7137 """ 7138 7139 _attribute_map = { 7140 'backup_management_type': {'key': 'backupManagementType', 'type': 'str'}, 7141 'workload_type': {'key': 'workloadType', 'type': 'str'}, 7142 'container_name': {'key': 'containerName', 'type': 'str'}, 7143 'status': {'key': 'status', 'type': 'str'}, 7144 'friendly_name': {'key': 'friendlyName', 'type': 'str'}, 7145 } 7146 7147 def __init__(self, **kwargs): 7148 super(BMSPOQueryObject, self).__init__(**kwargs) 7149 self.backup_management_type = kwargs.get('backup_management_type', None) 7150 self.workload_type = kwargs.get('workload_type', None) 7151 self.container_name = kwargs.get('container_name', None) 7152 self.status = kwargs.get('status', None) 7153 self.friendly_name = kwargs.get('friendly_name', None) 7154 7155 7156class BMSRefreshContainersQueryObject(Model): 7157 """The query filters that can be used with the refresh container API. 7158 7159 :param backup_management_type: Backup management type for this container. 7160 Possible values include: 'Invalid', 'AzureIaasVM', 'MAB', 'DPM', 7161 'AzureBackupServer', 'AzureSql', 'AzureStorage', 'AzureWorkload', 7162 'DefaultBackup' 7163 :type backup_management_type: str or 7164 ~azure.mgmt.recoveryservicesbackup.models.BackupManagementType 7165 """ 7166 7167 _attribute_map = { 7168 'backup_management_type': {'key': 'backupManagementType', 'type': 'str'}, 7169 } 7170 7171 def __init__(self, **kwargs): 7172 super(BMSRefreshContainersQueryObject, self).__init__(**kwargs) 7173 self.backup_management_type = kwargs.get('backup_management_type', None) 7174 7175 7176class BMSRPQueryObject(Model): 7177 """Filters to list backup copies. 7178 7179 :param start_date: Backup copies created after this time. 7180 :type start_date: datetime 7181 :param end_date: Backup copies created before this time. 7182 :type end_date: datetime 7183 :param restore_point_query_type: RestorePoint type. Possible values 7184 include: 'Invalid', 'Full', 'Log', 'Differential', 'FullAndDifferential', 7185 'All', 'Incremental' 7186 :type restore_point_query_type: str or 7187 ~azure.mgmt.recoveryservicesbackup.models.RestorePointQueryType 7188 :param extended_info: In Get Recovery Point, it tells whether extended 7189 information about recovery point is asked. 7190 :type extended_info: bool 7191 :param move_ready_rp_only: Whether the RP can be moved to another tier 7192 :type move_ready_rp_only: bool 7193 """ 7194 7195 _attribute_map = { 7196 'start_date': {'key': 'startDate', 'type': 'iso-8601'}, 7197 'end_date': {'key': 'endDate', 'type': 'iso-8601'}, 7198 'restore_point_query_type': {'key': 'restorePointQueryType', 'type': 'str'}, 7199 'extended_info': {'key': 'extendedInfo', 'type': 'bool'}, 7200 'move_ready_rp_only': {'key': 'moveReadyRPOnly', 'type': 'bool'}, 7201 } 7202 7203 def __init__(self, **kwargs): 7204 super(BMSRPQueryObject, self).__init__(**kwargs) 7205 self.start_date = kwargs.get('start_date', None) 7206 self.end_date = kwargs.get('end_date', None) 7207 self.restore_point_query_type = kwargs.get('restore_point_query_type', None) 7208 self.extended_info = kwargs.get('extended_info', None) 7209 self.move_ready_rp_only = kwargs.get('move_ready_rp_only', None) 7210 7211 7212class BMSWorkloadItemQueryObject(Model): 7213 """Filters to list items that can be backed up. 7214 7215 :param backup_management_type: Backup management type. Possible values 7216 include: 'Invalid', 'AzureIaasVM', 'MAB', 'DPM', 'AzureBackupServer', 7217 'AzureSql', 'AzureStorage', 'AzureWorkload', 'DefaultBackup' 7218 :type backup_management_type: str or 7219 ~azure.mgmt.recoveryservicesbackup.models.BackupManagementType 7220 :param workload_item_type: Workload Item type. Possible values include: 7221 'Invalid', 'SQLInstance', 'SQLDataBase', 'SAPHanaSystem', 7222 'SAPHanaDatabase', 'SAPAseSystem', 'SAPAseDatabase' 7223 :type workload_item_type: str or 7224 ~azure.mgmt.recoveryservicesbackup.models.WorkloadItemType 7225 :param workload_type: Workload type. Possible values include: 'Invalid', 7226 'VM', 'FileFolder', 'AzureSqlDb', 'SQLDB', 'Exchange', 'Sharepoint', 7227 'VMwareVM', 'SystemState', 'Client', 'GenericDataSource', 'SQLDataBase', 7228 'AzureFileShare', 'SAPHanaDatabase', 'SAPAseDatabase' 7229 :type workload_type: str or 7230 ~azure.mgmt.recoveryservicesbackup.models.WorkloadType 7231 :param protection_status: Backup status query parameter. Possible values 7232 include: 'Invalid', 'NotProtected', 'Protecting', 'Protected', 7233 'ProtectionFailed' 7234 :type protection_status: str or 7235 ~azure.mgmt.recoveryservicesbackup.models.ProtectionStatus 7236 """ 7237 7238 _attribute_map = { 7239 'backup_management_type': {'key': 'backupManagementType', 'type': 'str'}, 7240 'workload_item_type': {'key': 'workloadItemType', 'type': 'str'}, 7241 'workload_type': {'key': 'workloadType', 'type': 'str'}, 7242 'protection_status': {'key': 'protectionStatus', 'type': 'str'}, 7243 } 7244 7245 def __init__(self, **kwargs): 7246 super(BMSWorkloadItemQueryObject, self).__init__(**kwargs) 7247 self.backup_management_type = kwargs.get('backup_management_type', None) 7248 self.workload_item_type = kwargs.get('workload_item_type', None) 7249 self.workload_type = kwargs.get('workload_type', None) 7250 self.protection_status = kwargs.get('protection_status', None) 7251 7252 7253class ClientDiscoveryDisplay(Model): 7254 """Localized display information of an operation. 7255 7256 :param provider: Name of the provider for display purposes 7257 :type provider: str 7258 :param resource: ResourceType for which this Operation can be performed. 7259 :type resource: str 7260 :param operation: Operations Name itself. 7261 :type operation: str 7262 :param description: Description of the operation having details of what 7263 operation is about. 7264 :type description: str 7265 """ 7266 7267 _attribute_map = { 7268 'provider': {'key': 'provider', 'type': 'str'}, 7269 'resource': {'key': 'resource', 'type': 'str'}, 7270 'operation': {'key': 'operation', 'type': 'str'}, 7271 'description': {'key': 'description', 'type': 'str'}, 7272 } 7273 7274 def __init__(self, **kwargs): 7275 super(ClientDiscoveryDisplay, self).__init__(**kwargs) 7276 self.provider = kwargs.get('provider', None) 7277 self.resource = kwargs.get('resource', None) 7278 self.operation = kwargs.get('operation', None) 7279 self.description = kwargs.get('description', None) 7280 7281 7282class ClientDiscoveryForLogSpecification(Model): 7283 """Class to represent shoebox log specification in json client discovery. 7284 7285 :param name: Name for shoebox log specification. 7286 :type name: str 7287 :param display_name: Localized display name 7288 :type display_name: str 7289 :param blob_duration: blob duration of shoebox log specification 7290 :type blob_duration: str 7291 """ 7292 7293 _attribute_map = { 7294 'name': {'key': 'name', 'type': 'str'}, 7295 'display_name': {'key': 'displayName', 'type': 'str'}, 7296 'blob_duration': {'key': 'blobDuration', 'type': 'str'}, 7297 } 7298 7299 def __init__(self, **kwargs): 7300 super(ClientDiscoveryForLogSpecification, self).__init__(**kwargs) 7301 self.name = kwargs.get('name', None) 7302 self.display_name = kwargs.get('display_name', None) 7303 self.blob_duration = kwargs.get('blob_duration', None) 7304 7305 7306class ClientDiscoveryForProperties(Model): 7307 """Class to represent shoebox properties in json client discovery. 7308 7309 :param service_specification: Operation properties. 7310 :type service_specification: 7311 ~azure.mgmt.recoveryservicesbackup.models.ClientDiscoveryForServiceSpecification 7312 """ 7313 7314 _attribute_map = { 7315 'service_specification': {'key': 'serviceSpecification', 'type': 'ClientDiscoveryForServiceSpecification'}, 7316 } 7317 7318 def __init__(self, **kwargs): 7319 super(ClientDiscoveryForProperties, self).__init__(**kwargs) 7320 self.service_specification = kwargs.get('service_specification', None) 7321 7322 7323class ClientDiscoveryForServiceSpecification(Model): 7324 """Class to represent shoebox service specification in json client discovery. 7325 7326 :param log_specifications: List of log specifications of this operation. 7327 :type log_specifications: 7328 list[~azure.mgmt.recoveryservicesbackup.models.ClientDiscoveryForLogSpecification] 7329 """ 7330 7331 _attribute_map = { 7332 'log_specifications': {'key': 'logSpecifications', 'type': '[ClientDiscoveryForLogSpecification]'}, 7333 } 7334 7335 def __init__(self, **kwargs): 7336 super(ClientDiscoveryForServiceSpecification, self).__init__(**kwargs) 7337 self.log_specifications = kwargs.get('log_specifications', None) 7338 7339 7340class ClientDiscoveryValueForSingleApi(Model): 7341 """Available operation details. 7342 7343 :param name: Name of the Operation. 7344 :type name: str 7345 :param display: Contains the localized display information for this 7346 particular operation 7347 :type display: 7348 ~azure.mgmt.recoveryservicesbackup.models.ClientDiscoveryDisplay 7349 :param origin: The intended executor of the operation;governs the display 7350 of the operation in the RBAC UX and the audit logs UX 7351 :type origin: str 7352 :param properties: ShoeBox properties for the given operation. 7353 :type properties: 7354 ~azure.mgmt.recoveryservicesbackup.models.ClientDiscoveryForProperties 7355 """ 7356 7357 _attribute_map = { 7358 'name': {'key': 'name', 'type': 'str'}, 7359 'display': {'key': 'display', 'type': 'ClientDiscoveryDisplay'}, 7360 'origin': {'key': 'origin', 'type': 'str'}, 7361 'properties': {'key': 'properties', 'type': 'ClientDiscoveryForProperties'}, 7362 } 7363 7364 def __init__(self, **kwargs): 7365 super(ClientDiscoveryValueForSingleApi, self).__init__(**kwargs) 7366 self.name = kwargs.get('name', None) 7367 self.display = kwargs.get('display', None) 7368 self.origin = kwargs.get('origin', None) 7369 self.properties = kwargs.get('properties', None) 7370 7371 7372class ClientScriptForConnect(Model): 7373 """Client script details for file / folder restore. 7374 7375 :param script_content: File content of the client script for file / folder 7376 restore. 7377 :type script_content: str 7378 :param script_extension: File extension of the client script for file / 7379 folder restore - .ps1 , .sh , etc. 7380 :type script_extension: str 7381 :param os_type: OS type - Windows, Linux etc. for which this file / folder 7382 restore client script works. 7383 :type os_type: str 7384 :param url: URL of Executable from where to source the content. If this is 7385 not null then ScriptContent should not be used 7386 :type url: str 7387 :param script_name_suffix: Mandatory suffix that should be added to the 7388 name of script that is given for download to user. 7389 If its null or empty then , ignore it. 7390 :type script_name_suffix: str 7391 """ 7392 7393 _attribute_map = { 7394 'script_content': {'key': 'scriptContent', 'type': 'str'}, 7395 'script_extension': {'key': 'scriptExtension', 'type': 'str'}, 7396 'os_type': {'key': 'osType', 'type': 'str'}, 7397 'url': {'key': 'url', 'type': 'str'}, 7398 'script_name_suffix': {'key': 'scriptNameSuffix', 'type': 'str'}, 7399 } 7400 7401 def __init__(self, **kwargs): 7402 super(ClientScriptForConnect, self).__init__(**kwargs) 7403 self.script_content = kwargs.get('script_content', None) 7404 self.script_extension = kwargs.get('script_extension', None) 7405 self.os_type = kwargs.get('os_type', None) 7406 self.url = kwargs.get('url', None) 7407 self.script_name_suffix = kwargs.get('script_name_suffix', None) 7408 7409 7410class CloudError(Model): 7411 """An error response from the Container Instance service. 7412 7413 :param error: The error object. 7414 :type error: ~azure.mgmt.recoveryservicesbackup.models.CloudErrorBody 7415 """ 7416 7417 _attribute_map = { 7418 'error': {'key': 'error', 'type': 'CloudErrorBody'}, 7419 } 7420 7421 def __init__(self, **kwargs): 7422 super(CloudError, self).__init__(**kwargs) 7423 self.error = kwargs.get('error', None) 7424 7425 7426class CloudErrorException(HttpOperationError): 7427 """Server responsed with exception of type: 'CloudError'. 7428 7429 :param deserialize: A deserializer 7430 :param response: Server response to be deserialized. 7431 """ 7432 7433 def __init__(self, deserialize, response, *args): 7434 7435 super(CloudErrorException, self).__init__(deserialize, response, 'CloudError', *args) 7436 7437 7438class CloudErrorBody(Model): 7439 """An error response from the Container Instance service. 7440 7441 Variables are only populated by the server, and will be ignored when 7442 sending a request. 7443 7444 :ivar code: An identifier for the error. Codes are invariant and are 7445 intended to be consumed programmatically. 7446 :vartype code: str 7447 :ivar message: A message describing the error, intended to be suitable for 7448 display in a user interface. 7449 :vartype message: str 7450 :ivar target: The target of the particular error. For example, the name of 7451 the property in error. 7452 :vartype target: str 7453 :ivar details: A list of additional details about the error. 7454 :vartype details: 7455 list[~azure.mgmt.recoveryservicesbackup.models.CloudErrorBody] 7456 :ivar additional_info: The error additional info. 7457 :vartype additional_info: 7458 list[~azure.mgmt.recoveryservicesbackup.models.ErrorAdditionalInfo] 7459 """ 7460 7461 _validation = { 7462 'code': {'readonly': True}, 7463 'message': {'readonly': True}, 7464 'target': {'readonly': True}, 7465 'details': {'readonly': True}, 7466 'additional_info': {'readonly': True}, 7467 } 7468 7469 _attribute_map = { 7470 'code': {'key': 'code', 'type': 'str'}, 7471 'message': {'key': 'message', 'type': 'str'}, 7472 'target': {'key': 'target', 'type': 'str'}, 7473 'details': {'key': 'details', 'type': '[CloudErrorBody]'}, 7474 'additional_info': {'key': 'additionalInfo', 'type': '[ErrorAdditionalInfo]'}, 7475 } 7476 7477 def __init__(self, **kwargs): 7478 super(CloudErrorBody, self).__init__(**kwargs) 7479 self.code = None 7480 self.message = None 7481 self.target = None 7482 self.details = None 7483 self.additional_info = None 7484 7485 7486class ContainerIdentityInfo(Model): 7487 """Container identity information. 7488 7489 :param unique_name: Unique name of the container 7490 :type unique_name: str 7491 :param aad_tenant_id: Protection container identity - AAD Tenant 7492 :type aad_tenant_id: str 7493 :param service_principal_client_id: Protection container identity - AAD 7494 Service Principal 7495 :type service_principal_client_id: str 7496 :param audience: Protection container identity - Audience 7497 :type audience: str 7498 """ 7499 7500 _attribute_map = { 7501 'unique_name': {'key': 'uniqueName', 'type': 'str'}, 7502 'aad_tenant_id': {'key': 'aadTenantId', 'type': 'str'}, 7503 'service_principal_client_id': {'key': 'servicePrincipalClientId', 'type': 'str'}, 7504 'audience': {'key': 'audience', 'type': 'str'}, 7505 } 7506 7507 def __init__(self, **kwargs): 7508 super(ContainerIdentityInfo, self).__init__(**kwargs) 7509 self.unique_name = kwargs.get('unique_name', None) 7510 self.aad_tenant_id = kwargs.get('aad_tenant_id', None) 7511 self.service_principal_client_id = kwargs.get('service_principal_client_id', None) 7512 self.audience = kwargs.get('audience', None) 7513 7514 7515class CrossRegionRestoreRequest(Model): 7516 """CrossRegionRestoreRequest. 7517 7518 :param cross_region_restore_access_details: Access details for cross 7519 region restore 7520 :type cross_region_restore_access_details: 7521 ~azure.mgmt.recoveryservicesbackup.models.CrrAccessToken 7522 :param restore_request: Request object for triggering restore 7523 :type restore_request: 7524 ~azure.mgmt.recoveryservicesbackup.models.RestoreRequest 7525 """ 7526 7527 _attribute_map = { 7528 'cross_region_restore_access_details': {'key': 'crossRegionRestoreAccessDetails', 'type': 'CrrAccessToken'}, 7529 'restore_request': {'key': 'restoreRequest', 'type': 'RestoreRequest'}, 7530 } 7531 7532 def __init__(self, **kwargs): 7533 super(CrossRegionRestoreRequest, self).__init__(**kwargs) 7534 self.cross_region_restore_access_details = kwargs.get('cross_region_restore_access_details', None) 7535 self.restore_request = kwargs.get('restore_request', None) 7536 7537 7538class CrossRegionRestoreRequestResource(Resource): 7539 """CrossRegionRestoreRequestResource. 7540 7541 Variables are only populated by the server, and will be ignored when 7542 sending a request. 7543 7544 :ivar id: Resource Id represents the complete path to the resource. 7545 :vartype id: str 7546 :ivar name: Resource name associated with the resource. 7547 :vartype name: str 7548 :ivar type: Resource type represents the complete path of the form 7549 Namespace/ResourceType/ResourceType/... 7550 :vartype type: str 7551 :param location: Resource location. 7552 :type location: str 7553 :param tags: Resource tags. 7554 :type tags: dict[str, str] 7555 :param e_tag: Optional ETag. 7556 :type e_tag: str 7557 :param properties: CrossRegionRestoreRequestResource properties 7558 :type properties: 7559 ~azure.mgmt.recoveryservicesbackup.models.CrossRegionRestoreRequest 7560 """ 7561 7562 _validation = { 7563 'id': {'readonly': True}, 7564 'name': {'readonly': True}, 7565 'type': {'readonly': True}, 7566 } 7567 7568 _attribute_map = { 7569 'id': {'key': 'id', 'type': 'str'}, 7570 'name': {'key': 'name', 'type': 'str'}, 7571 'type': {'key': 'type', 'type': 'str'}, 7572 'location': {'key': 'location', 'type': 'str'}, 7573 'tags': {'key': 'tags', 'type': '{str}'}, 7574 'e_tag': {'key': 'eTag', 'type': 'str'}, 7575 'properties': {'key': 'properties', 'type': 'CrossRegionRestoreRequest'}, 7576 } 7577 7578 def __init__(self, **kwargs): 7579 super(CrossRegionRestoreRequestResource, self).__init__(**kwargs) 7580 self.properties = kwargs.get('properties', None) 7581 7582 7583class CrrAccessToken(Model): 7584 """CrrAccessToken. 7585 7586 You probably want to use the sub-classes and not this class directly. Known 7587 sub-classes are: WorkloadCrrAccessToken 7588 7589 All required parameters must be populated in order to send to Azure. 7590 7591 :param access_token_string: Access token used for authentication 7592 :type access_token_string: str 7593 :param subscription_id: Subscription Id of the source vault 7594 :type subscription_id: str 7595 :param resource_group_name: Resource Group name of the source vault 7596 :type resource_group_name: str 7597 :param resource_name: Resource Name of the source vault 7598 :type resource_name: str 7599 :param resource_id: Resource Id of the source vault 7600 :type resource_id: str 7601 :param protection_container_id: Protected item container id 7602 :type protection_container_id: long 7603 :param recovery_point_id: Recovery Point Id 7604 :type recovery_point_id: str 7605 :param recovery_point_time: Recovery Point Time 7606 :type recovery_point_time: str 7607 :param container_name: Container Unique name 7608 :type container_name: str 7609 :param container_type: Container Type 7610 :type container_type: str 7611 :param backup_management_type: Backup Management Type 7612 :type backup_management_type: str 7613 :param datasource_type: Datasource Type 7614 :type datasource_type: str 7615 :param datasource_name: Datasource Friendly Name 7616 :type datasource_name: str 7617 :param datasource_id: Datasource Id 7618 :type datasource_id: str 7619 :param datasource_container_name: Datasource Container Unique Name 7620 :type datasource_container_name: str 7621 :param coordinator_service_stamp_id: CoordinatorServiceStampId to be used 7622 by BCM in restore call 7623 :type coordinator_service_stamp_id: str 7624 :param coordinator_service_stamp_uri: CoordinatorServiceStampUri to be 7625 used by BCM in restore call 7626 :type coordinator_service_stamp_uri: str 7627 :param protection_service_stamp_id: ProtectionServiceStampId to be used by 7628 BCM in restore call 7629 :type protection_service_stamp_id: str 7630 :param protection_service_stamp_uri: ProtectionServiceStampUri to be used 7631 by BCM in restore call 7632 :type protection_service_stamp_uri: str 7633 :param token_extended_information: Extended Information about the token 7634 like FileSpec etc. 7635 :type token_extended_information: str 7636 :param rp_tier_information: Recovery point Tier Information 7637 :type rp_tier_information: dict[str, str] 7638 :param rp_original_sa_option: Recovery point information: Original SA 7639 option 7640 :type rp_original_sa_option: bool 7641 :param rp_is_managed_virtual_machine: Recovery point information: Managed 7642 virtual machine 7643 :type rp_is_managed_virtual_machine: bool 7644 :param rp_vm_size_description: Recovery point information: VM size 7645 description 7646 :type rp_vm_size_description: str 7647 :param b_ms_active_region: Active region name of BMS Stamp 7648 :type b_ms_active_region: str 7649 :param object_type: Required. Constant filled by server. 7650 :type object_type: str 7651 """ 7652 7653 _validation = { 7654 'object_type': {'required': True}, 7655 } 7656 7657 _attribute_map = { 7658 'access_token_string': {'key': 'accessTokenString', 'type': 'str'}, 7659 'subscription_id': {'key': 'subscriptionId', 'type': 'str'}, 7660 'resource_group_name': {'key': 'resourceGroupName', 'type': 'str'}, 7661 'resource_name': {'key': 'resourceName', 'type': 'str'}, 7662 'resource_id': {'key': 'resourceId', 'type': 'str'}, 7663 'protection_container_id': {'key': 'protectionContainerId', 'type': 'long'}, 7664 'recovery_point_id': {'key': 'recoveryPointId', 'type': 'str'}, 7665 'recovery_point_time': {'key': 'recoveryPointTime', 'type': 'str'}, 7666 'container_name': {'key': 'containerName', 'type': 'str'}, 7667 'container_type': {'key': 'containerType', 'type': 'str'}, 7668 'backup_management_type': {'key': 'backupManagementType', 'type': 'str'}, 7669 'datasource_type': {'key': 'datasourceType', 'type': 'str'}, 7670 'datasource_name': {'key': 'datasourceName', 'type': 'str'}, 7671 'datasource_id': {'key': 'datasourceId', 'type': 'str'}, 7672 'datasource_container_name': {'key': 'datasourceContainerName', 'type': 'str'}, 7673 'coordinator_service_stamp_id': {'key': 'coordinatorServiceStampId', 'type': 'str'}, 7674 'coordinator_service_stamp_uri': {'key': 'coordinatorServiceStampUri', 'type': 'str'}, 7675 'protection_service_stamp_id': {'key': 'protectionServiceStampId', 'type': 'str'}, 7676 'protection_service_stamp_uri': {'key': 'protectionServiceStampUri', 'type': 'str'}, 7677 'token_extended_information': {'key': 'tokenExtendedInformation', 'type': 'str'}, 7678 'rp_tier_information': {'key': 'rpTierInformation', 'type': '{str}'}, 7679 'rp_original_sa_option': {'key': 'rpOriginalSAOption', 'type': 'bool'}, 7680 'rp_is_managed_virtual_machine': {'key': 'rpIsManagedVirtualMachine', 'type': 'bool'}, 7681 'rp_vm_size_description': {'key': 'rpVMSizeDescription', 'type': 'str'}, 7682 'b_ms_active_region': {'key': 'bMSActiveRegion', 'type': 'str'}, 7683 'object_type': {'key': 'objectType', 'type': 'str'}, 7684 } 7685 7686 _subtype_map = { 7687 'object_type': {'WorkloadCrrAccessToken': 'WorkloadCrrAccessToken'} 7688 } 7689 7690 def __init__(self, **kwargs): 7691 super(CrrAccessToken, self).__init__(**kwargs) 7692 self.access_token_string = kwargs.get('access_token_string', None) 7693 self.subscription_id = kwargs.get('subscription_id', None) 7694 self.resource_group_name = kwargs.get('resource_group_name', None) 7695 self.resource_name = kwargs.get('resource_name', None) 7696 self.resource_id = kwargs.get('resource_id', None) 7697 self.protection_container_id = kwargs.get('protection_container_id', None) 7698 self.recovery_point_id = kwargs.get('recovery_point_id', None) 7699 self.recovery_point_time = kwargs.get('recovery_point_time', None) 7700 self.container_name = kwargs.get('container_name', None) 7701 self.container_type = kwargs.get('container_type', None) 7702 self.backup_management_type = kwargs.get('backup_management_type', None) 7703 self.datasource_type = kwargs.get('datasource_type', None) 7704 self.datasource_name = kwargs.get('datasource_name', None) 7705 self.datasource_id = kwargs.get('datasource_id', None) 7706 self.datasource_container_name = kwargs.get('datasource_container_name', None) 7707 self.coordinator_service_stamp_id = kwargs.get('coordinator_service_stamp_id', None) 7708 self.coordinator_service_stamp_uri = kwargs.get('coordinator_service_stamp_uri', None) 7709 self.protection_service_stamp_id = kwargs.get('protection_service_stamp_id', None) 7710 self.protection_service_stamp_uri = kwargs.get('protection_service_stamp_uri', None) 7711 self.token_extended_information = kwargs.get('token_extended_information', None) 7712 self.rp_tier_information = kwargs.get('rp_tier_information', None) 7713 self.rp_original_sa_option = kwargs.get('rp_original_sa_option', None) 7714 self.rp_is_managed_virtual_machine = kwargs.get('rp_is_managed_virtual_machine', None) 7715 self.rp_vm_size_description = kwargs.get('rp_vm_size_description', None) 7716 self.b_ms_active_region = kwargs.get('b_ms_active_region', None) 7717 self.object_type = None 7718 7719 7720class CrrAccessTokenResource(Resource): 7721 """CrrAccessTokenResource. 7722 7723 Variables are only populated by the server, and will be ignored when 7724 sending a request. 7725 7726 :ivar id: Resource Id represents the complete path to the resource. 7727 :vartype id: str 7728 :ivar name: Resource name associated with the resource. 7729 :vartype name: str 7730 :ivar type: Resource type represents the complete path of the form 7731 Namespace/ResourceType/ResourceType/... 7732 :vartype type: str 7733 :param location: Resource location. 7734 :type location: str 7735 :param tags: Resource tags. 7736 :type tags: dict[str, str] 7737 :param e_tag: Optional ETag. 7738 :type e_tag: str 7739 :param properties: CrrAccessTokenResource properties 7740 :type properties: ~azure.mgmt.recoveryservicesbackup.models.CrrAccessToken 7741 """ 7742 7743 _validation = { 7744 'id': {'readonly': True}, 7745 'name': {'readonly': True}, 7746 'type': {'readonly': True}, 7747 } 7748 7749 _attribute_map = { 7750 'id': {'key': 'id', 'type': 'str'}, 7751 'name': {'key': 'name', 'type': 'str'}, 7752 'type': {'key': 'type', 'type': 'str'}, 7753 'location': {'key': 'location', 'type': 'str'}, 7754 'tags': {'key': 'tags', 'type': '{str}'}, 7755 'e_tag': {'key': 'eTag', 'type': 'str'}, 7756 'properties': {'key': 'properties', 'type': 'CrrAccessToken'}, 7757 } 7758 7759 def __init__(self, **kwargs): 7760 super(CrrAccessTokenResource, self).__init__(**kwargs) 7761 self.properties = kwargs.get('properties', None) 7762 7763 7764class CrrJobRequest(Model): 7765 """Request object for fetching CRR jobs. 7766 7767 :param resource_id: Entire ARM resource id of the resource 7768 :type resource_id: str 7769 :param job_name: Job Name of the job to be fetched 7770 :type job_name: str 7771 """ 7772 7773 _attribute_map = { 7774 'resource_id': {'key': 'resourceId', 'type': 'str'}, 7775 'job_name': {'key': 'jobName', 'type': 'str'}, 7776 } 7777 7778 def __init__(self, **kwargs): 7779 super(CrrJobRequest, self).__init__(**kwargs) 7780 self.resource_id = kwargs.get('resource_id', None) 7781 self.job_name = kwargs.get('job_name', None) 7782 7783 7784class CrrJobRequestResource(Resource): 7785 """Request object for fetching CRR jobs. 7786 7787 Variables are only populated by the server, and will be ignored when 7788 sending a request. 7789 7790 :ivar id: Resource Id represents the complete path to the resource. 7791 :vartype id: str 7792 :ivar name: Resource name associated with the resource. 7793 :vartype name: str 7794 :ivar type: Resource type represents the complete path of the form 7795 Namespace/ResourceType/ResourceType/... 7796 :vartype type: str 7797 :param location: Resource location. 7798 :type location: str 7799 :param tags: Resource tags. 7800 :type tags: dict[str, str] 7801 :param e_tag: Optional ETag. 7802 :type e_tag: str 7803 :param properties: CrrJobRequestResource properties 7804 :type properties: ~azure.mgmt.recoveryservicesbackup.models.CrrJobRequest 7805 """ 7806 7807 _validation = { 7808 'id': {'readonly': True}, 7809 'name': {'readonly': True}, 7810 'type': {'readonly': True}, 7811 } 7812 7813 _attribute_map = { 7814 'id': {'key': 'id', 'type': 'str'}, 7815 'name': {'key': 'name', 'type': 'str'}, 7816 'type': {'key': 'type', 'type': 'str'}, 7817 'location': {'key': 'location', 'type': 'str'}, 7818 'tags': {'key': 'tags', 'type': '{str}'}, 7819 'e_tag': {'key': 'eTag', 'type': 'str'}, 7820 'properties': {'key': 'properties', 'type': 'CrrJobRequest'}, 7821 } 7822 7823 def __init__(self, **kwargs): 7824 super(CrrJobRequestResource, self).__init__(**kwargs) 7825 self.properties = kwargs.get('properties', None) 7826 7827 7828class DailyRetentionFormat(Model): 7829 """Daily retention format. 7830 7831 :param days_of_the_month: List of days of the month. 7832 :type days_of_the_month: 7833 list[~azure.mgmt.recoveryservicesbackup.models.Day] 7834 """ 7835 7836 _attribute_map = { 7837 'days_of_the_month': {'key': 'daysOfTheMonth', 'type': '[Day]'}, 7838 } 7839 7840 def __init__(self, **kwargs): 7841 super(DailyRetentionFormat, self).__init__(**kwargs) 7842 self.days_of_the_month = kwargs.get('days_of_the_month', None) 7843 7844 7845class DailyRetentionSchedule(Model): 7846 """Daily retention schedule. 7847 7848 :param retention_times: Retention times of retention policy. 7849 :type retention_times: list[datetime] 7850 :param retention_duration: Retention duration of retention Policy. 7851 :type retention_duration: 7852 ~azure.mgmt.recoveryservicesbackup.models.RetentionDuration 7853 """ 7854 7855 _attribute_map = { 7856 'retention_times': {'key': 'retentionTimes', 'type': '[iso-8601]'}, 7857 'retention_duration': {'key': 'retentionDuration', 'type': 'RetentionDuration'}, 7858 } 7859 7860 def __init__(self, **kwargs): 7861 super(DailyRetentionSchedule, self).__init__(**kwargs) 7862 self.retention_times = kwargs.get('retention_times', None) 7863 self.retention_duration = kwargs.get('retention_duration', None) 7864 7865 7866class Day(Model): 7867 """Day of the week. 7868 7869 :param date_property: Date of the month 7870 :type date_property: int 7871 :param is_last: Whether Date is last date of month 7872 :type is_last: bool 7873 """ 7874 7875 _attribute_map = { 7876 'date_property': {'key': 'date', 'type': 'int'}, 7877 'is_last': {'key': 'isLast', 'type': 'bool'}, 7878 } 7879 7880 def __init__(self, **kwargs): 7881 super(Day, self).__init__(**kwargs) 7882 self.date_property = kwargs.get('date_property', None) 7883 self.is_last = kwargs.get('is_last', None) 7884 7885 7886class DiskExclusionProperties(Model): 7887 """DiskExclusionProperties. 7888 7889 :param disk_lun_list: List of Disks' Logical Unit Numbers (LUN) to be used 7890 for VM Protection. 7891 :type disk_lun_list: list[int] 7892 :param is_inclusion_list: Flag to indicate whether DiskLunList is to be 7893 included/ excluded from backup. 7894 :type is_inclusion_list: bool 7895 """ 7896 7897 _attribute_map = { 7898 'disk_lun_list': {'key': 'diskLunList', 'type': '[int]'}, 7899 'is_inclusion_list': {'key': 'isInclusionList', 'type': 'bool'}, 7900 } 7901 7902 def __init__(self, **kwargs): 7903 super(DiskExclusionProperties, self).__init__(**kwargs) 7904 self.disk_lun_list = kwargs.get('disk_lun_list', None) 7905 self.is_inclusion_list = kwargs.get('is_inclusion_list', None) 7906 7907 7908class DiskInformation(Model): 7909 """Disk information. 7910 7911 :param lun: 7912 :type lun: int 7913 :param name: 7914 :type name: str 7915 """ 7916 7917 _attribute_map = { 7918 'lun': {'key': 'lun', 'type': 'int'}, 7919 'name': {'key': 'name', 'type': 'str'}, 7920 } 7921 7922 def __init__(self, **kwargs): 7923 super(DiskInformation, self).__init__(**kwargs) 7924 self.lun = kwargs.get('lun', None) 7925 self.name = kwargs.get('name', None) 7926 7927 7928class DistributedNodesInfo(Model): 7929 """This is used to represent the various nodes of the distributed container. 7930 7931 :param node_name: Name of the node under a distributed container. 7932 :type node_name: str 7933 :param status: Status of this Node. 7934 Failed | Succeeded 7935 :type status: str 7936 :param error_detail: Error Details if the Status is non-success. 7937 :type error_detail: ~azure.mgmt.recoveryservicesbackup.models.ErrorDetail 7938 """ 7939 7940 _attribute_map = { 7941 'node_name': {'key': 'nodeName', 'type': 'str'}, 7942 'status': {'key': 'status', 'type': 'str'}, 7943 'error_detail': {'key': 'errorDetail', 'type': 'ErrorDetail'}, 7944 } 7945 7946 def __init__(self, **kwargs): 7947 super(DistributedNodesInfo, self).__init__(**kwargs) 7948 self.node_name = kwargs.get('node_name', None) 7949 self.status = kwargs.get('status', None) 7950 self.error_detail = kwargs.get('error_detail', None) 7951 7952 7953class DpmBackupEngine(BackupEngineBase): 7954 """Data Protection Manager (DPM) specific backup engine. 7955 7956 All required parameters must be populated in order to send to Azure. 7957 7958 :param friendly_name: Friendly name of the backup engine. 7959 :type friendly_name: str 7960 :param backup_management_type: Type of backup management for the backup 7961 engine. Possible values include: 'Invalid', 'AzureIaasVM', 'MAB', 'DPM', 7962 'AzureBackupServer', 'AzureSql', 'AzureStorage', 'AzureWorkload', 7963 'DefaultBackup' 7964 :type backup_management_type: str or 7965 ~azure.mgmt.recoveryservicesbackup.models.BackupManagementType 7966 :param registration_status: Registration status of the backup engine with 7967 the Recovery Services Vault. 7968 :type registration_status: str 7969 :param backup_engine_state: Status of the backup engine with the Recovery 7970 Services Vault. = {Active/Deleting/DeleteFailed} 7971 :type backup_engine_state: str 7972 :param health_status: Backup status of the backup engine. 7973 :type health_status: str 7974 :param can_re_register: Flag indicating if the backup engine be 7975 registered, once already registered. 7976 :type can_re_register: bool 7977 :param backup_engine_id: ID of the backup engine. 7978 :type backup_engine_id: str 7979 :param dpm_version: Backup engine version 7980 :type dpm_version: str 7981 :param azure_backup_agent_version: Backup agent version 7982 :type azure_backup_agent_version: str 7983 :param is_azure_backup_agent_upgrade_available: To check if backup agent 7984 upgrade available 7985 :type is_azure_backup_agent_upgrade_available: bool 7986 :param is_dpm_upgrade_available: To check if backup engine upgrade 7987 available 7988 :type is_dpm_upgrade_available: bool 7989 :param extended_info: Extended info of the backupengine 7990 :type extended_info: 7991 ~azure.mgmt.recoveryservicesbackup.models.BackupEngineExtendedInfo 7992 :param backup_engine_type: Required. Constant filled by server. 7993 :type backup_engine_type: str 7994 """ 7995 7996 _validation = { 7997 'backup_engine_type': {'required': True}, 7998 } 7999 8000 _attribute_map = { 8001 'friendly_name': {'key': 'friendlyName', 'type': 'str'}, 8002 'backup_management_type': {'key': 'backupManagementType', 'type': 'str'}, 8003 'registration_status': {'key': 'registrationStatus', 'type': 'str'}, 8004 'backup_engine_state': {'key': 'backupEngineState', 'type': 'str'}, 8005 'health_status': {'key': 'healthStatus', 'type': 'str'}, 8006 'can_re_register': {'key': 'canReRegister', 'type': 'bool'}, 8007 'backup_engine_id': {'key': 'backupEngineId', 'type': 'str'}, 8008 'dpm_version': {'key': 'dpmVersion', 'type': 'str'}, 8009 'azure_backup_agent_version': {'key': 'azureBackupAgentVersion', 'type': 'str'}, 8010 'is_azure_backup_agent_upgrade_available': {'key': 'isAzureBackupAgentUpgradeAvailable', 'type': 'bool'}, 8011 'is_dpm_upgrade_available': {'key': 'isDpmUpgradeAvailable', 'type': 'bool'}, 8012 'extended_info': {'key': 'extendedInfo', 'type': 'BackupEngineExtendedInfo'}, 8013 'backup_engine_type': {'key': 'backupEngineType', 'type': 'str'}, 8014 } 8015 8016 def __init__(self, **kwargs): 8017 super(DpmBackupEngine, self).__init__(**kwargs) 8018 self.backup_engine_type = 'DpmBackupEngine' 8019 8020 8021class DPMContainerExtendedInfo(Model): 8022 """Additional information of the DPMContainer. 8023 8024 :param last_refreshed_at: Last refresh time of the DPMContainer. 8025 :type last_refreshed_at: datetime 8026 """ 8027 8028 _attribute_map = { 8029 'last_refreshed_at': {'key': 'lastRefreshedAt', 'type': 'iso-8601'}, 8030 } 8031 8032 def __init__(self, **kwargs): 8033 super(DPMContainerExtendedInfo, self).__init__(**kwargs) 8034 self.last_refreshed_at = kwargs.get('last_refreshed_at', None) 8035 8036 8037class DpmErrorInfo(Model): 8038 """DPM workload-specific error information. 8039 8040 :param error_string: Localized error string. 8041 :type error_string: str 8042 :param recommendations: List of localized recommendations for above error 8043 code. 8044 :type recommendations: list[str] 8045 """ 8046 8047 _attribute_map = { 8048 'error_string': {'key': 'errorString', 'type': 'str'}, 8049 'recommendations': {'key': 'recommendations', 'type': '[str]'}, 8050 } 8051 8052 def __init__(self, **kwargs): 8053 super(DpmErrorInfo, self).__init__(**kwargs) 8054 self.error_string = kwargs.get('error_string', None) 8055 self.recommendations = kwargs.get('recommendations', None) 8056 8057 8058class DpmJob(Job): 8059 """DPM workload-specific job object. 8060 8061 All required parameters must be populated in order to send to Azure. 8062 8063 :param entity_friendly_name: Friendly name of the entity on which the 8064 current job is executing. 8065 :type entity_friendly_name: str 8066 :param backup_management_type: Backup management type to execute the 8067 current job. Possible values include: 'Invalid', 'AzureIaasVM', 'MAB', 8068 'DPM', 'AzureBackupServer', 'AzureSql', 'AzureStorage', 'AzureWorkload', 8069 'DefaultBackup' 8070 :type backup_management_type: str or 8071 ~azure.mgmt.recoveryservicesbackup.models.BackupManagementType 8072 :param operation: The operation name. 8073 :type operation: str 8074 :param status: Job status. 8075 :type status: str 8076 :param start_time: The start time. 8077 :type start_time: datetime 8078 :param end_time: The end time. 8079 :type end_time: datetime 8080 :param activity_id: ActivityId of job. 8081 :type activity_id: str 8082 :param job_type: Required. Constant filled by server. 8083 :type job_type: str 8084 :param duration: Time elapsed for job. 8085 :type duration: timedelta 8086 :param dpm_server_name: DPM server name managing the backup item or backup 8087 job. 8088 :type dpm_server_name: str 8089 :param container_name: Name of cluster/server protecting current backup 8090 item, if any. 8091 :type container_name: str 8092 :param container_type: Type of container. 8093 :type container_type: str 8094 :param workload_type: Type of backup item. 8095 :type workload_type: str 8096 :param actions_info: The state/actions applicable on this job like 8097 cancel/retry. 8098 :type actions_info: list[str or 8099 ~azure.mgmt.recoveryservicesbackup.models.JobSupportedAction] 8100 :param error_details: The errors. 8101 :type error_details: 8102 list[~azure.mgmt.recoveryservicesbackup.models.DpmErrorInfo] 8103 :param extended_info: Additional information for this job. 8104 :type extended_info: 8105 ~azure.mgmt.recoveryservicesbackup.models.DpmJobExtendedInfo 8106 """ 8107 8108 _validation = { 8109 'job_type': {'required': True}, 8110 } 8111 8112 _attribute_map = { 8113 'entity_friendly_name': {'key': 'entityFriendlyName', 'type': 'str'}, 8114 'backup_management_type': {'key': 'backupManagementType', 'type': 'str'}, 8115 'operation': {'key': 'operation', 'type': 'str'}, 8116 'status': {'key': 'status', 'type': 'str'}, 8117 'start_time': {'key': 'startTime', 'type': 'iso-8601'}, 8118 'end_time': {'key': 'endTime', 'type': 'iso-8601'}, 8119 'activity_id': {'key': 'activityId', 'type': 'str'}, 8120 'job_type': {'key': 'jobType', 'type': 'str'}, 8121 'duration': {'key': 'duration', 'type': 'duration'}, 8122 'dpm_server_name': {'key': 'dpmServerName', 'type': 'str'}, 8123 'container_name': {'key': 'containerName', 'type': 'str'}, 8124 'container_type': {'key': 'containerType', 'type': 'str'}, 8125 'workload_type': {'key': 'workloadType', 'type': 'str'}, 8126 'actions_info': {'key': 'actionsInfo', 'type': '[JobSupportedAction]'}, 8127 'error_details': {'key': 'errorDetails', 'type': '[DpmErrorInfo]'}, 8128 'extended_info': {'key': 'extendedInfo', 'type': 'DpmJobExtendedInfo'}, 8129 } 8130 8131 def __init__(self, **kwargs): 8132 super(DpmJob, self).__init__(**kwargs) 8133 self.duration = kwargs.get('duration', None) 8134 self.dpm_server_name = kwargs.get('dpm_server_name', None) 8135 self.container_name = kwargs.get('container_name', None) 8136 self.container_type = kwargs.get('container_type', None) 8137 self.workload_type = kwargs.get('workload_type', None) 8138 self.actions_info = kwargs.get('actions_info', None) 8139 self.error_details = kwargs.get('error_details', None) 8140 self.extended_info = kwargs.get('extended_info', None) 8141 self.job_type = 'DpmJob' 8142 8143 8144class DpmJobExtendedInfo(Model): 8145 """Additional information on the DPM workload-specific job. 8146 8147 :param tasks_list: List of tasks associated with this job. 8148 :type tasks_list: 8149 list[~azure.mgmt.recoveryservicesbackup.models.DpmJobTaskDetails] 8150 :param property_bag: The job properties. 8151 :type property_bag: dict[str, str] 8152 :param dynamic_error_message: Non localized error message on job 8153 execution. 8154 :type dynamic_error_message: str 8155 """ 8156 8157 _attribute_map = { 8158 'tasks_list': {'key': 'tasksList', 'type': '[DpmJobTaskDetails]'}, 8159 'property_bag': {'key': 'propertyBag', 'type': '{str}'}, 8160 'dynamic_error_message': {'key': 'dynamicErrorMessage', 'type': 'str'}, 8161 } 8162 8163 def __init__(self, **kwargs): 8164 super(DpmJobExtendedInfo, self).__init__(**kwargs) 8165 self.tasks_list = kwargs.get('tasks_list', None) 8166 self.property_bag = kwargs.get('property_bag', None) 8167 self.dynamic_error_message = kwargs.get('dynamic_error_message', None) 8168 8169 8170class DpmJobTaskDetails(Model): 8171 """DPM workload-specific job task details. 8172 8173 :param task_id: The task display name. 8174 :type task_id: str 8175 :param start_time: The start time. 8176 :type start_time: datetime 8177 :param end_time: The end time. 8178 :type end_time: datetime 8179 :param duration: Time elapsed for task. 8180 :type duration: timedelta 8181 :param status: The status. 8182 :type status: str 8183 """ 8184 8185 _attribute_map = { 8186 'task_id': {'key': 'taskId', 'type': 'str'}, 8187 'start_time': {'key': 'startTime', 'type': 'iso-8601'}, 8188 'end_time': {'key': 'endTime', 'type': 'iso-8601'}, 8189 'duration': {'key': 'duration', 'type': 'duration'}, 8190 'status': {'key': 'status', 'type': 'str'}, 8191 } 8192 8193 def __init__(self, **kwargs): 8194 super(DpmJobTaskDetails, self).__init__(**kwargs) 8195 self.task_id = kwargs.get('task_id', None) 8196 self.start_time = kwargs.get('start_time', None) 8197 self.end_time = kwargs.get('end_time', None) 8198 self.duration = kwargs.get('duration', None) 8199 self.status = kwargs.get('status', None) 8200 8201 8202class DPMProtectedItem(ProtectedItem): 8203 """Additional information on Backup engine specific backup item. 8204 8205 All required parameters must be populated in order to send to Azure. 8206 8207 :param backup_management_type: Type of backup management for the backed up 8208 item. Possible values include: 'Invalid', 'AzureIaasVM', 'MAB', 'DPM', 8209 'AzureBackupServer', 'AzureSql', 'AzureStorage', 'AzureWorkload', 8210 'DefaultBackup' 8211 :type backup_management_type: str or 8212 ~azure.mgmt.recoveryservicesbackup.models.BackupManagementType 8213 :param workload_type: Type of workload this item represents. Possible 8214 values include: 'Invalid', 'VM', 'FileFolder', 'AzureSqlDb', 'SQLDB', 8215 'Exchange', 'Sharepoint', 'VMwareVM', 'SystemState', 'Client', 8216 'GenericDataSource', 'SQLDataBase', 'AzureFileShare', 'SAPHanaDatabase', 8217 'SAPAseDatabase' 8218 :type workload_type: str or 8219 ~azure.mgmt.recoveryservicesbackup.models.DataSourceType 8220 :param container_name: Unique name of container 8221 :type container_name: str 8222 :param source_resource_id: ARM ID of the resource to be backed up. 8223 :type source_resource_id: str 8224 :param policy_id: ID of the backup policy with which this item is backed 8225 up. 8226 :type policy_id: str 8227 :param last_recovery_point: Timestamp when the last (latest) backup copy 8228 was created for this backup item. 8229 :type last_recovery_point: datetime 8230 :param backup_set_name: Name of the backup set the backup item belongs to 8231 :type backup_set_name: str 8232 :param create_mode: Create mode to indicate recovery of existing soft 8233 deleted data source or creation of new data source. Possible values 8234 include: 'Invalid', 'Default', 'Recover' 8235 :type create_mode: str or 8236 ~azure.mgmt.recoveryservicesbackup.models.CreateMode 8237 :param deferred_delete_time_in_utc: Time for deferred deletion in UTC 8238 :type deferred_delete_time_in_utc: datetime 8239 :param is_scheduled_for_deferred_delete: Flag to identify whether the DS 8240 is scheduled for deferred delete 8241 :type is_scheduled_for_deferred_delete: bool 8242 :param deferred_delete_time_remaining: Time remaining before the DS marked 8243 for deferred delete is permanently deleted 8244 :type deferred_delete_time_remaining: str 8245 :param is_deferred_delete_schedule_upcoming: Flag to identify whether the 8246 deferred deleted DS is to be purged soon 8247 :type is_deferred_delete_schedule_upcoming: bool 8248 :param is_rehydrate: Flag to identify that deferred deleted DS is to be 8249 moved into Pause state 8250 :type is_rehydrate: bool 8251 :param resource_guard_operation_requests: ResourceGuardOperationRequests 8252 on which LAC check will be performed 8253 :type resource_guard_operation_requests: list[str] 8254 :param protected_item_type: Required. Constant filled by server. 8255 :type protected_item_type: str 8256 :param friendly_name: Friendly name of the managed item 8257 :type friendly_name: str 8258 :param backup_engine_name: Backup Management server protecting this backup 8259 item 8260 :type backup_engine_name: str 8261 :param protection_state: Protection state of the backup engine. Possible 8262 values include: 'Invalid', 'IRPending', 'Protected', 'ProtectionError', 8263 'ProtectionStopped', 'ProtectionPaused' 8264 :type protection_state: str or 8265 ~azure.mgmt.recoveryservicesbackup.models.ProtectedItemState 8266 :param extended_info: Extended info of the backup item. 8267 :type extended_info: 8268 ~azure.mgmt.recoveryservicesbackup.models.DPMProtectedItemExtendedInfo 8269 """ 8270 8271 _validation = { 8272 'protected_item_type': {'required': True}, 8273 } 8274 8275 _attribute_map = { 8276 'backup_management_type': {'key': 'backupManagementType', 'type': 'str'}, 8277 'workload_type': {'key': 'workloadType', 'type': 'str'}, 8278 'container_name': {'key': 'containerName', 'type': 'str'}, 8279 'source_resource_id': {'key': 'sourceResourceId', 'type': 'str'}, 8280 'policy_id': {'key': 'policyId', 'type': 'str'}, 8281 'last_recovery_point': {'key': 'lastRecoveryPoint', 'type': 'iso-8601'}, 8282 'backup_set_name': {'key': 'backupSetName', 'type': 'str'}, 8283 'create_mode': {'key': 'createMode', 'type': 'str'}, 8284 'deferred_delete_time_in_utc': {'key': 'deferredDeleteTimeInUTC', 'type': 'iso-8601'}, 8285 'is_scheduled_for_deferred_delete': {'key': 'isScheduledForDeferredDelete', 'type': 'bool'}, 8286 'deferred_delete_time_remaining': {'key': 'deferredDeleteTimeRemaining', 'type': 'str'}, 8287 'is_deferred_delete_schedule_upcoming': {'key': 'isDeferredDeleteScheduleUpcoming', 'type': 'bool'}, 8288 'is_rehydrate': {'key': 'isRehydrate', 'type': 'bool'}, 8289 'resource_guard_operation_requests': {'key': 'resourceGuardOperationRequests', 'type': '[str]'}, 8290 'protected_item_type': {'key': 'protectedItemType', 'type': 'str'}, 8291 'friendly_name': {'key': 'friendlyName', 'type': 'str'}, 8292 'backup_engine_name': {'key': 'backupEngineName', 'type': 'str'}, 8293 'protection_state': {'key': 'protectionState', 'type': 'str'}, 8294 'extended_info': {'key': 'extendedInfo', 'type': 'DPMProtectedItemExtendedInfo'}, 8295 } 8296 8297 def __init__(self, **kwargs): 8298 super(DPMProtectedItem, self).__init__(**kwargs) 8299 self.friendly_name = kwargs.get('friendly_name', None) 8300 self.backup_engine_name = kwargs.get('backup_engine_name', None) 8301 self.protection_state = kwargs.get('protection_state', None) 8302 self.extended_info = kwargs.get('extended_info', None) 8303 self.protected_item_type = 'DPMProtectedItem' 8304 8305 8306class DPMProtectedItemExtendedInfo(Model): 8307 """Additional information of DPM Protected item. 8308 8309 :param protectable_object_load_path: Attribute to provide information on 8310 various DBs. 8311 :type protectable_object_load_path: dict[str, str] 8312 :param protected: To check if backup item is disk protected. 8313 :type protected: bool 8314 :param is_present_on_cloud: To check if backup item is cloud protected. 8315 :type is_present_on_cloud: bool 8316 :param last_backup_status: Last backup status information on backup item. 8317 :type last_backup_status: str 8318 :param last_refreshed_at: Last refresh time on backup item. 8319 :type last_refreshed_at: datetime 8320 :param oldest_recovery_point: Oldest cloud recovery point time. 8321 :type oldest_recovery_point: datetime 8322 :param recovery_point_count: cloud recovery point count. 8323 :type recovery_point_count: int 8324 :param on_premise_oldest_recovery_point: Oldest disk recovery point time. 8325 :type on_premise_oldest_recovery_point: datetime 8326 :param on_premise_latest_recovery_point: latest disk recovery point time. 8327 :type on_premise_latest_recovery_point: datetime 8328 :param on_premise_recovery_point_count: disk recovery point count. 8329 :type on_premise_recovery_point_count: int 8330 :param is_collocated: To check if backup item is collocated. 8331 :type is_collocated: bool 8332 :param protection_group_name: Protection group name of the backup item. 8333 :type protection_group_name: str 8334 :param disk_storage_used_in_bytes: Used Disk storage in bytes. 8335 :type disk_storage_used_in_bytes: str 8336 :param total_disk_storage_size_in_bytes: total Disk storage in bytes. 8337 :type total_disk_storage_size_in_bytes: str 8338 """ 8339 8340 _attribute_map = { 8341 'protectable_object_load_path': {'key': 'protectableObjectLoadPath', 'type': '{str}'}, 8342 'protected': {'key': 'protected', 'type': 'bool'}, 8343 'is_present_on_cloud': {'key': 'isPresentOnCloud', 'type': 'bool'}, 8344 'last_backup_status': {'key': 'lastBackupStatus', 'type': 'str'}, 8345 'last_refreshed_at': {'key': 'lastRefreshedAt', 'type': 'iso-8601'}, 8346 'oldest_recovery_point': {'key': 'oldestRecoveryPoint', 'type': 'iso-8601'}, 8347 'recovery_point_count': {'key': 'recoveryPointCount', 'type': 'int'}, 8348 'on_premise_oldest_recovery_point': {'key': 'onPremiseOldestRecoveryPoint', 'type': 'iso-8601'}, 8349 'on_premise_latest_recovery_point': {'key': 'onPremiseLatestRecoveryPoint', 'type': 'iso-8601'}, 8350 'on_premise_recovery_point_count': {'key': 'onPremiseRecoveryPointCount', 'type': 'int'}, 8351 'is_collocated': {'key': 'isCollocated', 'type': 'bool'}, 8352 'protection_group_name': {'key': 'protectionGroupName', 'type': 'str'}, 8353 'disk_storage_used_in_bytes': {'key': 'diskStorageUsedInBytes', 'type': 'str'}, 8354 'total_disk_storage_size_in_bytes': {'key': 'totalDiskStorageSizeInBytes', 'type': 'str'}, 8355 } 8356 8357 def __init__(self, **kwargs): 8358 super(DPMProtectedItemExtendedInfo, self).__init__(**kwargs) 8359 self.protectable_object_load_path = kwargs.get('protectable_object_load_path', None) 8360 self.protected = kwargs.get('protected', None) 8361 self.is_present_on_cloud = kwargs.get('is_present_on_cloud', None) 8362 self.last_backup_status = kwargs.get('last_backup_status', None) 8363 self.last_refreshed_at = kwargs.get('last_refreshed_at', None) 8364 self.oldest_recovery_point = kwargs.get('oldest_recovery_point', None) 8365 self.recovery_point_count = kwargs.get('recovery_point_count', None) 8366 self.on_premise_oldest_recovery_point = kwargs.get('on_premise_oldest_recovery_point', None) 8367 self.on_premise_latest_recovery_point = kwargs.get('on_premise_latest_recovery_point', None) 8368 self.on_premise_recovery_point_count = kwargs.get('on_premise_recovery_point_count', None) 8369 self.is_collocated = kwargs.get('is_collocated', None) 8370 self.protection_group_name = kwargs.get('protection_group_name', None) 8371 self.disk_storage_used_in_bytes = kwargs.get('disk_storage_used_in_bytes', None) 8372 self.total_disk_storage_size_in_bytes = kwargs.get('total_disk_storage_size_in_bytes', None) 8373 8374 8375class EncryptionDetails(Model): 8376 """Details needed if the VM was encrypted at the time of backup. 8377 8378 :param encryption_enabled: Identifies whether this backup copy represents 8379 an encrypted VM at the time of backup. 8380 :type encryption_enabled: bool 8381 :param kek_url: Key Url. 8382 :type kek_url: str 8383 :param secret_key_url: Secret Url. 8384 :type secret_key_url: str 8385 :param kek_vault_id: ID of Key Vault where KEK is stored. 8386 :type kek_vault_id: str 8387 :param secret_key_vault_id: ID of Key Vault where Secret is stored. 8388 :type secret_key_vault_id: str 8389 """ 8390 8391 _attribute_map = { 8392 'encryption_enabled': {'key': 'encryptionEnabled', 'type': 'bool'}, 8393 'kek_url': {'key': 'kekUrl', 'type': 'str'}, 8394 'secret_key_url': {'key': 'secretKeyUrl', 'type': 'str'}, 8395 'kek_vault_id': {'key': 'kekVaultId', 'type': 'str'}, 8396 'secret_key_vault_id': {'key': 'secretKeyVaultId', 'type': 'str'}, 8397 } 8398 8399 def __init__(self, **kwargs): 8400 super(EncryptionDetails, self).__init__(**kwargs) 8401 self.encryption_enabled = kwargs.get('encryption_enabled', None) 8402 self.kek_url = kwargs.get('kek_url', None) 8403 self.secret_key_url = kwargs.get('secret_key_url', None) 8404 self.kek_vault_id = kwargs.get('kek_vault_id', None) 8405 self.secret_key_vault_id = kwargs.get('secret_key_vault_id', None) 8406 8407 8408class ErrorAdditionalInfo(Model): 8409 """The resource management error additional info. 8410 8411 Variables are only populated by the server, and will be ignored when 8412 sending a request. 8413 8414 :ivar type: The additional info type. 8415 :vartype type: str 8416 :ivar info: The additional info. 8417 :vartype info: object 8418 """ 8419 8420 _validation = { 8421 'type': {'readonly': True}, 8422 'info': {'readonly': True}, 8423 } 8424 8425 _attribute_map = { 8426 'type': {'key': 'type', 'type': 'str'}, 8427 'info': {'key': 'info', 'type': 'object'}, 8428 } 8429 8430 def __init__(self, **kwargs): 8431 super(ErrorAdditionalInfo, self).__init__(**kwargs) 8432 self.type = None 8433 self.info = None 8434 8435 8436class ErrorDetail(Model): 8437 """Error Detail class which encapsulates Code, Message and Recommendations. 8438 8439 Variables are only populated by the server, and will be ignored when 8440 sending a request. 8441 8442 :ivar code: Error code. 8443 :vartype code: str 8444 :ivar message: Error Message related to the Code. 8445 :vartype message: str 8446 :ivar recommendations: List of recommendation strings. 8447 :vartype recommendations: list[str] 8448 """ 8449 8450 _validation = { 8451 'code': {'readonly': True}, 8452 'message': {'readonly': True}, 8453 'recommendations': {'readonly': True}, 8454 } 8455 8456 _attribute_map = { 8457 'code': {'key': 'code', 'type': 'str'}, 8458 'message': {'key': 'message', 'type': 'str'}, 8459 'recommendations': {'key': 'recommendations', 'type': '[str]'}, 8460 } 8461 8462 def __init__(self, **kwargs): 8463 super(ErrorDetail, self).__init__(**kwargs) 8464 self.code = None 8465 self.message = None 8466 self.recommendations = None 8467 8468 8469class OperationResultInfoBase(Model): 8470 """Base class for operation result info. 8471 8472 You probably want to use the sub-classes and not this class directly. Known 8473 sub-classes are: ExportJobsOperationResultInfo, OperationResultInfo 8474 8475 All required parameters must be populated in order to send to Azure. 8476 8477 :param object_type: Required. Constant filled by server. 8478 :type object_type: str 8479 """ 8480 8481 _validation = { 8482 'object_type': {'required': True}, 8483 } 8484 8485 _attribute_map = { 8486 'object_type': {'key': 'objectType', 'type': 'str'}, 8487 } 8488 8489 _subtype_map = { 8490 'object_type': {'ExportJobsOperationResultInfo': 'ExportJobsOperationResultInfo', 'OperationResultInfo': 'OperationResultInfo'} 8491 } 8492 8493 def __init__(self, **kwargs): 8494 super(OperationResultInfoBase, self).__init__(**kwargs) 8495 self.object_type = None 8496 8497 8498class ExportJobsOperationResultInfo(OperationResultInfoBase): 8499 """This class is used to send blob details after exporting jobs. 8500 8501 All required parameters must be populated in order to send to Azure. 8502 8503 :param object_type: Required. Constant filled by server. 8504 :type object_type: str 8505 :param blob_url: URL of the blob into which the serialized string of list 8506 of jobs is exported. 8507 :type blob_url: str 8508 :param blob_sas_key: SAS key to access the blob. It expires in 15 mins. 8509 :type blob_sas_key: str 8510 :param excel_file_blob_url: URL of the blob into which the ExcelFile is 8511 uploaded. 8512 :type excel_file_blob_url: str 8513 :param excel_file_blob_sas_key: SAS key to access the blob. It expires in 8514 15 mins. 8515 :type excel_file_blob_sas_key: str 8516 """ 8517 8518 _validation = { 8519 'object_type': {'required': True}, 8520 } 8521 8522 _attribute_map = { 8523 'object_type': {'key': 'objectType', 'type': 'str'}, 8524 'blob_url': {'key': 'blobUrl', 'type': 'str'}, 8525 'blob_sas_key': {'key': 'blobSasKey', 'type': 'str'}, 8526 'excel_file_blob_url': {'key': 'excelFileBlobUrl', 'type': 'str'}, 8527 'excel_file_blob_sas_key': {'key': 'excelFileBlobSasKey', 'type': 'str'}, 8528 } 8529 8530 def __init__(self, **kwargs): 8531 super(ExportJobsOperationResultInfo, self).__init__(**kwargs) 8532 self.blob_url = kwargs.get('blob_url', None) 8533 self.blob_sas_key = kwargs.get('blob_sas_key', None) 8534 self.excel_file_blob_url = kwargs.get('excel_file_blob_url', None) 8535 self.excel_file_blob_sas_key = kwargs.get('excel_file_blob_sas_key', None) 8536 self.object_type = 'ExportJobsOperationResultInfo' 8537 8538 8539class ExtendedProperties(Model): 8540 """Extended Properties for Azure IaasVM Backup. 8541 8542 :param disk_exclusion_properties: Extended Properties for Disk Exclusion. 8543 :type disk_exclusion_properties: 8544 ~azure.mgmt.recoveryservicesbackup.models.DiskExclusionProperties 8545 """ 8546 8547 _attribute_map = { 8548 'disk_exclusion_properties': {'key': 'diskExclusionProperties', 'type': 'DiskExclusionProperties'}, 8549 } 8550 8551 def __init__(self, **kwargs): 8552 super(ExtendedProperties, self).__init__(**kwargs) 8553 self.disk_exclusion_properties = kwargs.get('disk_exclusion_properties', None) 8554 8555 8556class GenericContainer(ProtectionContainer): 8557 """Base class for generic container of backup items. 8558 8559 All required parameters must be populated in order to send to Azure. 8560 8561 :param friendly_name: Friendly name of the container. 8562 :type friendly_name: str 8563 :param backup_management_type: Type of backup management for the 8564 container. Possible values include: 'Invalid', 'AzureIaasVM', 'MAB', 8565 'DPM', 'AzureBackupServer', 'AzureSql', 'AzureStorage', 'AzureWorkload', 8566 'DefaultBackup' 8567 :type backup_management_type: str or 8568 ~azure.mgmt.recoveryservicesbackup.models.BackupManagementType 8569 :param registration_status: Status of registration of the container with 8570 the Recovery Services Vault. 8571 :type registration_status: str 8572 :param health_status: Status of health of the container. 8573 :type health_status: str 8574 :param container_type: Required. Constant filled by server. 8575 :type container_type: str 8576 :param fabric_name: Name of the container's fabric 8577 :type fabric_name: str 8578 :param extended_information: Extended information (not returned in List 8579 container API calls) 8580 :type extended_information: 8581 ~azure.mgmt.recoveryservicesbackup.models.GenericContainerExtendedInfo 8582 """ 8583 8584 _validation = { 8585 'container_type': {'required': True}, 8586 } 8587 8588 _attribute_map = { 8589 'friendly_name': {'key': 'friendlyName', 'type': 'str'}, 8590 'backup_management_type': {'key': 'backupManagementType', 'type': 'str'}, 8591 'registration_status': {'key': 'registrationStatus', 'type': 'str'}, 8592 'health_status': {'key': 'healthStatus', 'type': 'str'}, 8593 'container_type': {'key': 'containerType', 'type': 'str'}, 8594 'fabric_name': {'key': 'fabricName', 'type': 'str'}, 8595 'extended_information': {'key': 'extendedInformation', 'type': 'GenericContainerExtendedInfo'}, 8596 } 8597 8598 def __init__(self, **kwargs): 8599 super(GenericContainer, self).__init__(**kwargs) 8600 self.fabric_name = kwargs.get('fabric_name', None) 8601 self.extended_information = kwargs.get('extended_information', None) 8602 self.container_type = 'GenericContainer' 8603 8604 8605class GenericContainerExtendedInfo(Model): 8606 """Container extended information. 8607 8608 :param raw_cert_data: Public key of container cert 8609 :type raw_cert_data: str 8610 :param container_identity_info: Container identity information 8611 :type container_identity_info: 8612 ~azure.mgmt.recoveryservicesbackup.models.ContainerIdentityInfo 8613 :param service_endpoints: Azure Backup Service Endpoints for the container 8614 :type service_endpoints: dict[str, str] 8615 """ 8616 8617 _attribute_map = { 8618 'raw_cert_data': {'key': 'rawCertData', 'type': 'str'}, 8619 'container_identity_info': {'key': 'containerIdentityInfo', 'type': 'ContainerIdentityInfo'}, 8620 'service_endpoints': {'key': 'serviceEndpoints', 'type': '{str}'}, 8621 } 8622 8623 def __init__(self, **kwargs): 8624 super(GenericContainerExtendedInfo, self).__init__(**kwargs) 8625 self.raw_cert_data = kwargs.get('raw_cert_data', None) 8626 self.container_identity_info = kwargs.get('container_identity_info', None) 8627 self.service_endpoints = kwargs.get('service_endpoints', None) 8628 8629 8630class GenericProtectedItem(ProtectedItem): 8631 """Base class for backup items. 8632 8633 All required parameters must be populated in order to send to Azure. 8634 8635 :param backup_management_type: Type of backup management for the backed up 8636 item. Possible values include: 'Invalid', 'AzureIaasVM', 'MAB', 'DPM', 8637 'AzureBackupServer', 'AzureSql', 'AzureStorage', 'AzureWorkload', 8638 'DefaultBackup' 8639 :type backup_management_type: str or 8640 ~azure.mgmt.recoveryservicesbackup.models.BackupManagementType 8641 :param workload_type: Type of workload this item represents. Possible 8642 values include: 'Invalid', 'VM', 'FileFolder', 'AzureSqlDb', 'SQLDB', 8643 'Exchange', 'Sharepoint', 'VMwareVM', 'SystemState', 'Client', 8644 'GenericDataSource', 'SQLDataBase', 'AzureFileShare', 'SAPHanaDatabase', 8645 'SAPAseDatabase' 8646 :type workload_type: str or 8647 ~azure.mgmt.recoveryservicesbackup.models.DataSourceType 8648 :param container_name: Unique name of container 8649 :type container_name: str 8650 :param source_resource_id: ARM ID of the resource to be backed up. 8651 :type source_resource_id: str 8652 :param policy_id: ID of the backup policy with which this item is backed 8653 up. 8654 :type policy_id: str 8655 :param last_recovery_point: Timestamp when the last (latest) backup copy 8656 was created for this backup item. 8657 :type last_recovery_point: datetime 8658 :param backup_set_name: Name of the backup set the backup item belongs to 8659 :type backup_set_name: str 8660 :param create_mode: Create mode to indicate recovery of existing soft 8661 deleted data source or creation of new data source. Possible values 8662 include: 'Invalid', 'Default', 'Recover' 8663 :type create_mode: str or 8664 ~azure.mgmt.recoveryservicesbackup.models.CreateMode 8665 :param deferred_delete_time_in_utc: Time for deferred deletion in UTC 8666 :type deferred_delete_time_in_utc: datetime 8667 :param is_scheduled_for_deferred_delete: Flag to identify whether the DS 8668 is scheduled for deferred delete 8669 :type is_scheduled_for_deferred_delete: bool 8670 :param deferred_delete_time_remaining: Time remaining before the DS marked 8671 for deferred delete is permanently deleted 8672 :type deferred_delete_time_remaining: str 8673 :param is_deferred_delete_schedule_upcoming: Flag to identify whether the 8674 deferred deleted DS is to be purged soon 8675 :type is_deferred_delete_schedule_upcoming: bool 8676 :param is_rehydrate: Flag to identify that deferred deleted DS is to be 8677 moved into Pause state 8678 :type is_rehydrate: bool 8679 :param resource_guard_operation_requests: ResourceGuardOperationRequests 8680 on which LAC check will be performed 8681 :type resource_guard_operation_requests: list[str] 8682 :param protected_item_type: Required. Constant filled by server. 8683 :type protected_item_type: str 8684 :param friendly_name: Friendly name of the container. 8685 :type friendly_name: str 8686 :param policy_state: Indicates consistency of policy object and policy 8687 applied to this backup item. 8688 :type policy_state: str 8689 :param protection_state: Backup state of this backup item. Possible values 8690 include: 'Invalid', 'IRPending', 'Protected', 'ProtectionError', 8691 'ProtectionStopped', 'ProtectionPaused' 8692 :type protection_state: str or 8693 ~azure.mgmt.recoveryservicesbackup.models.ProtectionState 8694 :param protected_item_id: Data Plane Service ID of the protected item. 8695 :type protected_item_id: long 8696 :param source_associations: Loosely coupled (type, value) associations 8697 (example - parent of a protected item) 8698 :type source_associations: dict[str, str] 8699 :param fabric_name: Name of this backup item's fabric. 8700 :type fabric_name: str 8701 """ 8702 8703 _validation = { 8704 'protected_item_type': {'required': True}, 8705 } 8706 8707 _attribute_map = { 8708 'backup_management_type': {'key': 'backupManagementType', 'type': 'str'}, 8709 'workload_type': {'key': 'workloadType', 'type': 'str'}, 8710 'container_name': {'key': 'containerName', 'type': 'str'}, 8711 'source_resource_id': {'key': 'sourceResourceId', 'type': 'str'}, 8712 'policy_id': {'key': 'policyId', 'type': 'str'}, 8713 'last_recovery_point': {'key': 'lastRecoveryPoint', 'type': 'iso-8601'}, 8714 'backup_set_name': {'key': 'backupSetName', 'type': 'str'}, 8715 'create_mode': {'key': 'createMode', 'type': 'str'}, 8716 'deferred_delete_time_in_utc': {'key': 'deferredDeleteTimeInUTC', 'type': 'iso-8601'}, 8717 'is_scheduled_for_deferred_delete': {'key': 'isScheduledForDeferredDelete', 'type': 'bool'}, 8718 'deferred_delete_time_remaining': {'key': 'deferredDeleteTimeRemaining', 'type': 'str'}, 8719 'is_deferred_delete_schedule_upcoming': {'key': 'isDeferredDeleteScheduleUpcoming', 'type': 'bool'}, 8720 'is_rehydrate': {'key': 'isRehydrate', 'type': 'bool'}, 8721 'resource_guard_operation_requests': {'key': 'resourceGuardOperationRequests', 'type': '[str]'}, 8722 'protected_item_type': {'key': 'protectedItemType', 'type': 'str'}, 8723 'friendly_name': {'key': 'friendlyName', 'type': 'str'}, 8724 'policy_state': {'key': 'policyState', 'type': 'str'}, 8725 'protection_state': {'key': 'protectionState', 'type': 'str'}, 8726 'protected_item_id': {'key': 'protectedItemId', 'type': 'long'}, 8727 'source_associations': {'key': 'sourceAssociations', 'type': '{str}'}, 8728 'fabric_name': {'key': 'fabricName', 'type': 'str'}, 8729 } 8730 8731 def __init__(self, **kwargs): 8732 super(GenericProtectedItem, self).__init__(**kwargs) 8733 self.friendly_name = kwargs.get('friendly_name', None) 8734 self.policy_state = kwargs.get('policy_state', None) 8735 self.protection_state = kwargs.get('protection_state', None) 8736 self.protected_item_id = kwargs.get('protected_item_id', None) 8737 self.source_associations = kwargs.get('source_associations', None) 8738 self.fabric_name = kwargs.get('fabric_name', None) 8739 self.protected_item_type = 'GenericProtectedItem' 8740 8741 8742class GenericProtectionPolicy(ProtectionPolicy): 8743 """Azure VM (Mercury) workload-specific backup policy. 8744 8745 All required parameters must be populated in order to send to Azure. 8746 8747 :param protected_items_count: Number of items associated with this policy. 8748 :type protected_items_count: int 8749 :param resource_guard_operation_requests: ResourceGuard Operation Requests 8750 :type resource_guard_operation_requests: list[str] 8751 :param backup_management_type: Required. Constant filled by server. 8752 :type backup_management_type: str 8753 :param sub_protection_policy: List of sub-protection policies which 8754 includes schedule and retention 8755 :type sub_protection_policy: 8756 list[~azure.mgmt.recoveryservicesbackup.models.SubProtectionPolicy] 8757 :param time_zone: TimeZone optional input as string. For example: TimeZone 8758 = "Pacific Standard Time". 8759 :type time_zone: str 8760 :param fabric_name: Name of this policy's fabric. 8761 :type fabric_name: str 8762 """ 8763 8764 _validation = { 8765 'backup_management_type': {'required': True}, 8766 } 8767 8768 _attribute_map = { 8769 'protected_items_count': {'key': 'protectedItemsCount', 'type': 'int'}, 8770 'resource_guard_operation_requests': {'key': 'resourceGuardOperationRequests', 'type': '[str]'}, 8771 'backup_management_type': {'key': 'backupManagementType', 'type': 'str'}, 8772 'sub_protection_policy': {'key': 'subProtectionPolicy', 'type': '[SubProtectionPolicy]'}, 8773 'time_zone': {'key': 'timeZone', 'type': 'str'}, 8774 'fabric_name': {'key': 'fabricName', 'type': 'str'}, 8775 } 8776 8777 def __init__(self, **kwargs): 8778 super(GenericProtectionPolicy, self).__init__(**kwargs) 8779 self.sub_protection_policy = kwargs.get('sub_protection_policy', None) 8780 self.time_zone = kwargs.get('time_zone', None) 8781 self.fabric_name = kwargs.get('fabric_name', None) 8782 self.backup_management_type = 'GenericProtectionPolicy' 8783 8784 8785class GenericRecoveryPoint(RecoveryPoint): 8786 """Generic backup copy. 8787 8788 All required parameters must be populated in order to send to Azure. 8789 8790 :param object_type: Required. Constant filled by server. 8791 :type object_type: str 8792 :param friendly_name: Friendly name of the backup copy. 8793 :type friendly_name: str 8794 :param recovery_point_type: Type of the backup copy. 8795 :type recovery_point_type: str 8796 :param recovery_point_time: Time at which this backup copy was created. 8797 :type recovery_point_time: datetime 8798 :param recovery_point_additional_info: Additional information associated 8799 with this backup copy. 8800 :type recovery_point_additional_info: str 8801 """ 8802 8803 _validation = { 8804 'object_type': {'required': True}, 8805 } 8806 8807 _attribute_map = { 8808 'object_type': {'key': 'objectType', 'type': 'str'}, 8809 'friendly_name': {'key': 'friendlyName', 'type': 'str'}, 8810 'recovery_point_type': {'key': 'recoveryPointType', 'type': 'str'}, 8811 'recovery_point_time': {'key': 'recoveryPointTime', 'type': 'iso-8601'}, 8812 'recovery_point_additional_info': {'key': 'recoveryPointAdditionalInfo', 'type': 'str'}, 8813 } 8814 8815 def __init__(self, **kwargs): 8816 super(GenericRecoveryPoint, self).__init__(**kwargs) 8817 self.friendly_name = kwargs.get('friendly_name', None) 8818 self.recovery_point_type = kwargs.get('recovery_point_type', None) 8819 self.recovery_point_time = kwargs.get('recovery_point_time', None) 8820 self.recovery_point_additional_info = kwargs.get('recovery_point_additional_info', None) 8821 self.object_type = 'GenericRecoveryPoint' 8822 8823 8824class GetProtectedItemQueryObject(Model): 8825 """Filters to list backup items. 8826 8827 :param expand: Specifies if the additional information should be provided 8828 for this item. 8829 :type expand: str 8830 """ 8831 8832 _attribute_map = { 8833 'expand': {'key': 'expand', 'type': 'str'}, 8834 } 8835 8836 def __init__(self, **kwargs): 8837 super(GetProtectedItemQueryObject, self).__init__(**kwargs) 8838 self.expand = kwargs.get('expand', None) 8839 8840 8841class IaasVMBackupRequest(BackupRequest): 8842 """IaaS VM workload-specific backup request. 8843 8844 All required parameters must be populated in order to send to Azure. 8845 8846 :param object_type: Required. Constant filled by server. 8847 :type object_type: str 8848 :param recovery_point_expiry_time_in_utc: Backup copy will expire after 8849 the time specified (UTC). 8850 :type recovery_point_expiry_time_in_utc: datetime 8851 """ 8852 8853 _validation = { 8854 'object_type': {'required': True}, 8855 } 8856 8857 _attribute_map = { 8858 'object_type': {'key': 'objectType', 'type': 'str'}, 8859 'recovery_point_expiry_time_in_utc': {'key': 'recoveryPointExpiryTimeInUTC', 'type': 'iso-8601'}, 8860 } 8861 8862 def __init__(self, **kwargs): 8863 super(IaasVMBackupRequest, self).__init__(**kwargs) 8864 self.recovery_point_expiry_time_in_utc = kwargs.get('recovery_point_expiry_time_in_utc', None) 8865 self.object_type = 'IaasVMBackupRequest' 8866 8867 8868class IaasVMILRRegistrationRequest(ILRRequest): 8869 """Restore files/folders from a backup copy of IaaS VM. 8870 8871 All required parameters must be populated in order to send to Azure. 8872 8873 :param object_type: Required. Constant filled by server. 8874 :type object_type: str 8875 :param recovery_point_id: ID of the IaaS VM backup copy from where the 8876 files/folders have to be restored. 8877 :type recovery_point_id: str 8878 :param virtual_machine_id: Fully qualified ARM ID of the virtual machine 8879 whose the files / folders have to be restored. 8880 :type virtual_machine_id: str 8881 :param initiator_name: iSCSI initiator name. 8882 :type initiator_name: str 8883 :param renew_existing_registration: Whether to renew existing registration 8884 with the iSCSI server. 8885 :type renew_existing_registration: bool 8886 """ 8887 8888 _validation = { 8889 'object_type': {'required': True}, 8890 } 8891 8892 _attribute_map = { 8893 'object_type': {'key': 'objectType', 'type': 'str'}, 8894 'recovery_point_id': {'key': 'recoveryPointId', 'type': 'str'}, 8895 'virtual_machine_id': {'key': 'virtualMachineId', 'type': 'str'}, 8896 'initiator_name': {'key': 'initiatorName', 'type': 'str'}, 8897 'renew_existing_registration': {'key': 'renewExistingRegistration', 'type': 'bool'}, 8898 } 8899 8900 def __init__(self, **kwargs): 8901 super(IaasVMILRRegistrationRequest, self).__init__(**kwargs) 8902 self.recovery_point_id = kwargs.get('recovery_point_id', None) 8903 self.virtual_machine_id = kwargs.get('virtual_machine_id', None) 8904 self.initiator_name = kwargs.get('initiator_name', None) 8905 self.renew_existing_registration = kwargs.get('renew_existing_registration', None) 8906 self.object_type = 'IaasVMILRRegistrationRequest' 8907 8908 8909class IaasVMRecoveryPoint(RecoveryPoint): 8910 """IaaS VM workload specific backup copy. 8911 8912 Variables are only populated by the server, and will be ignored when 8913 sending a request. 8914 8915 All required parameters must be populated in order to send to Azure. 8916 8917 :param object_type: Required. Constant filled by server. 8918 :type object_type: str 8919 :ivar recovery_point_type: Type of the backup copy. 8920 :vartype recovery_point_type: str 8921 :ivar recovery_point_time: Time at which this backup copy was created. 8922 :vartype recovery_point_time: datetime 8923 :ivar recovery_point_additional_info: Additional information associated 8924 with this backup copy. 8925 :vartype recovery_point_additional_info: str 8926 :ivar source_vm_storage_type: Storage type of the VM whose backup copy is 8927 created. 8928 :vartype source_vm_storage_type: str 8929 :ivar is_source_vm_encrypted: Identifies whether the VM was encrypted when 8930 the backup copy is created. 8931 :vartype is_source_vm_encrypted: bool 8932 :param key_and_secret: Required details for recovering an encrypted VM. 8933 Applicable only when IsSourceVMEncrypted is true. 8934 :type key_and_secret: 8935 ~azure.mgmt.recoveryservicesbackup.models.KeyAndSecretDetails 8936 :param is_instant_ilr_session_active: Is the session to recover items from 8937 this backup copy still active. 8938 :type is_instant_ilr_session_active: bool 8939 :param recovery_point_tier_details: Recovery point tier information. 8940 :type recovery_point_tier_details: 8941 list[~azure.mgmt.recoveryservicesbackup.models.RecoveryPointTierInformation] 8942 :param is_managed_virtual_machine: Whether VM is with Managed Disks 8943 :type is_managed_virtual_machine: bool 8944 :param virtual_machine_size: Virtual Machine Size 8945 :type virtual_machine_size: str 8946 :param original_storage_account_option: Original Storage Account Option 8947 :type original_storage_account_option: bool 8948 :param os_type: OS type 8949 :type os_type: str 8950 :param recovery_point_disk_configuration: Disk configuration 8951 :type recovery_point_disk_configuration: 8952 ~azure.mgmt.recoveryservicesbackup.models.RecoveryPointDiskConfiguration 8953 :param zones: Identifies the zone of the VM at the time of backup. 8954 Applicable only for zone-pinned Vms 8955 :type zones: list[str] 8956 :param recovery_point_move_readiness_info: Eligibility of RP to be moved 8957 to another tier 8958 :type recovery_point_move_readiness_info: dict[str, 8959 ~azure.mgmt.recoveryservicesbackup.models.RecoveryPointMoveReadinessInfo] 8960 """ 8961 8962 _validation = { 8963 'object_type': {'required': True}, 8964 'recovery_point_type': {'readonly': True}, 8965 'recovery_point_time': {'readonly': True}, 8966 'recovery_point_additional_info': {'readonly': True}, 8967 'source_vm_storage_type': {'readonly': True}, 8968 'is_source_vm_encrypted': {'readonly': True}, 8969 } 8970 8971 _attribute_map = { 8972 'object_type': {'key': 'objectType', 'type': 'str'}, 8973 'recovery_point_type': {'key': 'recoveryPointType', 'type': 'str'}, 8974 'recovery_point_time': {'key': 'recoveryPointTime', 'type': 'iso-8601'}, 8975 'recovery_point_additional_info': {'key': 'recoveryPointAdditionalInfo', 'type': 'str'}, 8976 'source_vm_storage_type': {'key': 'sourceVMStorageType', 'type': 'str'}, 8977 'is_source_vm_encrypted': {'key': 'isSourceVMEncrypted', 'type': 'bool'}, 8978 'key_and_secret': {'key': 'keyAndSecret', 'type': 'KeyAndSecretDetails'}, 8979 'is_instant_ilr_session_active': {'key': 'isInstantIlrSessionActive', 'type': 'bool'}, 8980 'recovery_point_tier_details': {'key': 'recoveryPointTierDetails', 'type': '[RecoveryPointTierInformation]'}, 8981 'is_managed_virtual_machine': {'key': 'isManagedVirtualMachine', 'type': 'bool'}, 8982 'virtual_machine_size': {'key': 'virtualMachineSize', 'type': 'str'}, 8983 'original_storage_account_option': {'key': 'originalStorageAccountOption', 'type': 'bool'}, 8984 'os_type': {'key': 'osType', 'type': 'str'}, 8985 'recovery_point_disk_configuration': {'key': 'recoveryPointDiskConfiguration', 'type': 'RecoveryPointDiskConfiguration'}, 8986 'zones': {'key': 'zones', 'type': '[str]'}, 8987 'recovery_point_move_readiness_info': {'key': 'recoveryPointMoveReadinessInfo', 'type': '{RecoveryPointMoveReadinessInfo}'}, 8988 } 8989 8990 def __init__(self, **kwargs): 8991 super(IaasVMRecoveryPoint, self).__init__(**kwargs) 8992 self.recovery_point_type = None 8993 self.recovery_point_time = None 8994 self.recovery_point_additional_info = None 8995 self.source_vm_storage_type = None 8996 self.is_source_vm_encrypted = None 8997 self.key_and_secret = kwargs.get('key_and_secret', None) 8998 self.is_instant_ilr_session_active = kwargs.get('is_instant_ilr_session_active', None) 8999 self.recovery_point_tier_details = kwargs.get('recovery_point_tier_details', None) 9000 self.is_managed_virtual_machine = kwargs.get('is_managed_virtual_machine', None) 9001 self.virtual_machine_size = kwargs.get('virtual_machine_size', None) 9002 self.original_storage_account_option = kwargs.get('original_storage_account_option', None) 9003 self.os_type = kwargs.get('os_type', None) 9004 self.recovery_point_disk_configuration = kwargs.get('recovery_point_disk_configuration', None) 9005 self.zones = kwargs.get('zones', None) 9006 self.recovery_point_move_readiness_info = kwargs.get('recovery_point_move_readiness_info', None) 9007 self.object_type = 'IaasVMRecoveryPoint' 9008 9009 9010class IaasVMRestoreRequest(RestoreRequest): 9011 """IaaS VM workload-specific restore. 9012 9013 You probably want to use the sub-classes and not this class directly. Known 9014 sub-classes are: IaasVMRestoreWithRehydrationRequest 9015 9016 All required parameters must be populated in order to send to Azure. 9017 9018 :param object_type: Required. Constant filled by server. 9019 :type object_type: str 9020 :param recovery_point_id: ID of the backup copy to be recovered. 9021 :type recovery_point_id: str 9022 :param recovery_type: Type of this recovery. Possible values include: 9023 'Invalid', 'OriginalLocation', 'AlternateLocation', 'RestoreDisks', 9024 'Offline' 9025 :type recovery_type: str or 9026 ~azure.mgmt.recoveryservicesbackup.models.RecoveryType 9027 :param source_resource_id: Fully qualified ARM ID of the VM which is being 9028 recovered. 9029 :type source_resource_id: str 9030 :param target_virtual_machine_id: This is the complete ARM Id of the VM 9031 that will be created. 9032 For e.g. 9033 /subscriptions/{subId}/resourcegroups/{rg}/provider/Microsoft.Compute/virtualmachines/{vm} 9034 :type target_virtual_machine_id: str 9035 :param target_resource_group_id: This is the ARM Id of the resource group 9036 that you want to create for this Virtual machine and other artifacts. 9037 For e.g. /subscriptions/{subId}/resourcegroups/{rg} 9038 :type target_resource_group_id: str 9039 :param storage_account_id: Fully qualified ARM ID of the storage account 9040 to which the VM has to be restored. 9041 :type storage_account_id: str 9042 :param virtual_network_id: This is the virtual network Id of the vnet that 9043 will be attached to the virtual machine. 9044 User will be validated for join action permissions in the linked access. 9045 :type virtual_network_id: str 9046 :param subnet_id: Subnet ID, is the subnet ID associated with the to be 9047 restored VM. For Classic VMs it would be 9048 {VnetID}/Subnet/{SubnetName} and, for the Azure Resource Manager VMs it 9049 would be ARM resource ID used to represent 9050 the subnet. 9051 :type subnet_id: str 9052 :param target_domain_name_id: Fully qualified ARM ID of the domain name to 9053 be associated to the VM being restored. This applies only to Classic 9054 Virtual Machines. 9055 :type target_domain_name_id: str 9056 :param region: Region in which the virtual machine is restored. 9057 :type region: str 9058 :param affinity_group: Affinity group associated to VM to be restored. 9059 Used only for Classic Compute Virtual Machines. 9060 :type affinity_group: str 9061 :param create_new_cloud_service: Should a new cloud service be created 9062 while restoring the VM. If this is false, VM will be restored to the same 9063 cloud service as it was at the time of backup. 9064 :type create_new_cloud_service: bool 9065 :param original_storage_account_option: Original Storage Account Option 9066 :type original_storage_account_option: bool 9067 :param encryption_details: Details needed if the VM was encrypted at the 9068 time of backup. 9069 :type encryption_details: 9070 ~azure.mgmt.recoveryservicesbackup.models.EncryptionDetails 9071 :param restore_disk_lun_list: List of Disk LUNs for partial restore 9072 :type restore_disk_lun_list: list[int] 9073 :param restore_with_managed_disks: Flag to denote of an Unmanaged disk VM 9074 should be restored with Managed disks. 9075 :type restore_with_managed_disks: bool 9076 :param disk_encryption_set_id: DiskEncryptionSet's ID - needed if the VM 9077 needs to be encrypted at rest during restore with customer managed key. 9078 :type disk_encryption_set_id: str 9079 :param zones: Target zone where the VM and its disks should be restored. 9080 :type zones: list[str] 9081 :param identity_info: Managed Identity information required to access 9082 customer storage account. 9083 :type identity_info: 9084 ~azure.mgmt.recoveryservicesbackup.models.IdentityInfo 9085 :param identity_based_restore_details: IaaS VM workload specific restore 9086 details for restores using managed identity. 9087 :type identity_based_restore_details: 9088 ~azure.mgmt.recoveryservicesbackup.models.IdentityBasedRestoreDetails 9089 """ 9090 9091 _validation = { 9092 'object_type': {'required': True}, 9093 } 9094 9095 _attribute_map = { 9096 'object_type': {'key': 'objectType', 'type': 'str'}, 9097 'recovery_point_id': {'key': 'recoveryPointId', 'type': 'str'}, 9098 'recovery_type': {'key': 'recoveryType', 'type': 'str'}, 9099 'source_resource_id': {'key': 'sourceResourceId', 'type': 'str'}, 9100 'target_virtual_machine_id': {'key': 'targetVirtualMachineId', 'type': 'str'}, 9101 'target_resource_group_id': {'key': 'targetResourceGroupId', 'type': 'str'}, 9102 'storage_account_id': {'key': 'storageAccountId', 'type': 'str'}, 9103 'virtual_network_id': {'key': 'virtualNetworkId', 'type': 'str'}, 9104 'subnet_id': {'key': 'subnetId', 'type': 'str'}, 9105 'target_domain_name_id': {'key': 'targetDomainNameId', 'type': 'str'}, 9106 'region': {'key': 'region', 'type': 'str'}, 9107 'affinity_group': {'key': 'affinityGroup', 'type': 'str'}, 9108 'create_new_cloud_service': {'key': 'createNewCloudService', 'type': 'bool'}, 9109 'original_storage_account_option': {'key': 'originalStorageAccountOption', 'type': 'bool'}, 9110 'encryption_details': {'key': 'encryptionDetails', 'type': 'EncryptionDetails'}, 9111 'restore_disk_lun_list': {'key': 'restoreDiskLunList', 'type': '[int]'}, 9112 'restore_with_managed_disks': {'key': 'restoreWithManagedDisks', 'type': 'bool'}, 9113 'disk_encryption_set_id': {'key': 'diskEncryptionSetId', 'type': 'str'}, 9114 'zones': {'key': 'zones', 'type': '[str]'}, 9115 'identity_info': {'key': 'identityInfo', 'type': 'IdentityInfo'}, 9116 'identity_based_restore_details': {'key': 'identityBasedRestoreDetails', 'type': 'IdentityBasedRestoreDetails'}, 9117 } 9118 9119 _subtype_map = { 9120 'object_type': {'IaasVMRestoreWithRehydrationRequest': 'IaasVMRestoreWithRehydrationRequest'} 9121 } 9122 9123 def __init__(self, **kwargs): 9124 super(IaasVMRestoreRequest, self).__init__(**kwargs) 9125 self.recovery_point_id = kwargs.get('recovery_point_id', None) 9126 self.recovery_type = kwargs.get('recovery_type', None) 9127 self.source_resource_id = kwargs.get('source_resource_id', None) 9128 self.target_virtual_machine_id = kwargs.get('target_virtual_machine_id', None) 9129 self.target_resource_group_id = kwargs.get('target_resource_group_id', None) 9130 self.storage_account_id = kwargs.get('storage_account_id', None) 9131 self.virtual_network_id = kwargs.get('virtual_network_id', None) 9132 self.subnet_id = kwargs.get('subnet_id', None) 9133 self.target_domain_name_id = kwargs.get('target_domain_name_id', None) 9134 self.region = kwargs.get('region', None) 9135 self.affinity_group = kwargs.get('affinity_group', None) 9136 self.create_new_cloud_service = kwargs.get('create_new_cloud_service', None) 9137 self.original_storage_account_option = kwargs.get('original_storage_account_option', None) 9138 self.encryption_details = kwargs.get('encryption_details', None) 9139 self.restore_disk_lun_list = kwargs.get('restore_disk_lun_list', None) 9140 self.restore_with_managed_disks = kwargs.get('restore_with_managed_disks', None) 9141 self.disk_encryption_set_id = kwargs.get('disk_encryption_set_id', None) 9142 self.zones = kwargs.get('zones', None) 9143 self.identity_info = kwargs.get('identity_info', None) 9144 self.identity_based_restore_details = kwargs.get('identity_based_restore_details', None) 9145 self.object_type = 'IaasVMRestoreRequest' 9146 9147 9148class IaasVMRestoreWithRehydrationRequest(IaasVMRestoreRequest): 9149 """IaaS VM workload-specific restore with integrated rehydration of recovery 9150 point. 9151 9152 All required parameters must be populated in order to send to Azure. 9153 9154 :param object_type: Required. Constant filled by server. 9155 :type object_type: str 9156 :param recovery_point_id: ID of the backup copy to be recovered. 9157 :type recovery_point_id: str 9158 :param recovery_type: Type of this recovery. Possible values include: 9159 'Invalid', 'OriginalLocation', 'AlternateLocation', 'RestoreDisks', 9160 'Offline' 9161 :type recovery_type: str or 9162 ~azure.mgmt.recoveryservicesbackup.models.RecoveryType 9163 :param source_resource_id: Fully qualified ARM ID of the VM which is being 9164 recovered. 9165 :type source_resource_id: str 9166 :param target_virtual_machine_id: This is the complete ARM Id of the VM 9167 that will be created. 9168 For e.g. 9169 /subscriptions/{subId}/resourcegroups/{rg}/provider/Microsoft.Compute/virtualmachines/{vm} 9170 :type target_virtual_machine_id: str 9171 :param target_resource_group_id: This is the ARM Id of the resource group 9172 that you want to create for this Virtual machine and other artifacts. 9173 For e.g. /subscriptions/{subId}/resourcegroups/{rg} 9174 :type target_resource_group_id: str 9175 :param storage_account_id: Fully qualified ARM ID of the storage account 9176 to which the VM has to be restored. 9177 :type storage_account_id: str 9178 :param virtual_network_id: This is the virtual network Id of the vnet that 9179 will be attached to the virtual machine. 9180 User will be validated for join action permissions in the linked access. 9181 :type virtual_network_id: str 9182 :param subnet_id: Subnet ID, is the subnet ID associated with the to be 9183 restored VM. For Classic VMs it would be 9184 {VnetID}/Subnet/{SubnetName} and, for the Azure Resource Manager VMs it 9185 would be ARM resource ID used to represent 9186 the subnet. 9187 :type subnet_id: str 9188 :param target_domain_name_id: Fully qualified ARM ID of the domain name to 9189 be associated to the VM being restored. This applies only to Classic 9190 Virtual Machines. 9191 :type target_domain_name_id: str 9192 :param region: Region in which the virtual machine is restored. 9193 :type region: str 9194 :param affinity_group: Affinity group associated to VM to be restored. 9195 Used only for Classic Compute Virtual Machines. 9196 :type affinity_group: str 9197 :param create_new_cloud_service: Should a new cloud service be created 9198 while restoring the VM. If this is false, VM will be restored to the same 9199 cloud service as it was at the time of backup. 9200 :type create_new_cloud_service: bool 9201 :param original_storage_account_option: Original Storage Account Option 9202 :type original_storage_account_option: bool 9203 :param encryption_details: Details needed if the VM was encrypted at the 9204 time of backup. 9205 :type encryption_details: 9206 ~azure.mgmt.recoveryservicesbackup.models.EncryptionDetails 9207 :param restore_disk_lun_list: List of Disk LUNs for partial restore 9208 :type restore_disk_lun_list: list[int] 9209 :param restore_with_managed_disks: Flag to denote of an Unmanaged disk VM 9210 should be restored with Managed disks. 9211 :type restore_with_managed_disks: bool 9212 :param disk_encryption_set_id: DiskEncryptionSet's ID - needed if the VM 9213 needs to be encrypted at rest during restore with customer managed key. 9214 :type disk_encryption_set_id: str 9215 :param zones: Target zone where the VM and its disks should be restored. 9216 :type zones: list[str] 9217 :param identity_info: Managed Identity information required to access 9218 customer storage account. 9219 :type identity_info: 9220 ~azure.mgmt.recoveryservicesbackup.models.IdentityInfo 9221 :param identity_based_restore_details: IaaS VM workload specific restore 9222 details for restores using managed identity. 9223 :type identity_based_restore_details: 9224 ~azure.mgmt.recoveryservicesbackup.models.IdentityBasedRestoreDetails 9225 :param recovery_point_rehydration_info: RP Rehydration Info 9226 :type recovery_point_rehydration_info: 9227 ~azure.mgmt.recoveryservicesbackup.models.RecoveryPointRehydrationInfo 9228 """ 9229 9230 _validation = { 9231 'object_type': {'required': True}, 9232 } 9233 9234 _attribute_map = { 9235 'object_type': {'key': 'objectType', 'type': 'str'}, 9236 'recovery_point_id': {'key': 'recoveryPointId', 'type': 'str'}, 9237 'recovery_type': {'key': 'recoveryType', 'type': 'str'}, 9238 'source_resource_id': {'key': 'sourceResourceId', 'type': 'str'}, 9239 'target_virtual_machine_id': {'key': 'targetVirtualMachineId', 'type': 'str'}, 9240 'target_resource_group_id': {'key': 'targetResourceGroupId', 'type': 'str'}, 9241 'storage_account_id': {'key': 'storageAccountId', 'type': 'str'}, 9242 'virtual_network_id': {'key': 'virtualNetworkId', 'type': 'str'}, 9243 'subnet_id': {'key': 'subnetId', 'type': 'str'}, 9244 'target_domain_name_id': {'key': 'targetDomainNameId', 'type': 'str'}, 9245 'region': {'key': 'region', 'type': 'str'}, 9246 'affinity_group': {'key': 'affinityGroup', 'type': 'str'}, 9247 'create_new_cloud_service': {'key': 'createNewCloudService', 'type': 'bool'}, 9248 'original_storage_account_option': {'key': 'originalStorageAccountOption', 'type': 'bool'}, 9249 'encryption_details': {'key': 'encryptionDetails', 'type': 'EncryptionDetails'}, 9250 'restore_disk_lun_list': {'key': 'restoreDiskLunList', 'type': '[int]'}, 9251 'restore_with_managed_disks': {'key': 'restoreWithManagedDisks', 'type': 'bool'}, 9252 'disk_encryption_set_id': {'key': 'diskEncryptionSetId', 'type': 'str'}, 9253 'zones': {'key': 'zones', 'type': '[str]'}, 9254 'identity_info': {'key': 'identityInfo', 'type': 'IdentityInfo'}, 9255 'identity_based_restore_details': {'key': 'identityBasedRestoreDetails', 'type': 'IdentityBasedRestoreDetails'}, 9256 'recovery_point_rehydration_info': {'key': 'recoveryPointRehydrationInfo', 'type': 'RecoveryPointRehydrationInfo'}, 9257 } 9258 9259 def __init__(self, **kwargs): 9260 super(IaasVMRestoreWithRehydrationRequest, self).__init__(**kwargs) 9261 self.recovery_point_rehydration_info = kwargs.get('recovery_point_rehydration_info', None) 9262 self.object_type = 'IaasVMRestoreWithRehydrationRequest' 9263 9264 9265class IdentityBasedRestoreDetails(Model): 9266 """IaaS VM workload specific restore details for restores using managed 9267 identity. 9268 9269 :param object_type: Gets the class type. 9270 :type object_type: str 9271 :param target_storage_account_id: Fully qualified ARM ID of the target 9272 storage account. 9273 :type target_storage_account_id: str 9274 """ 9275 9276 _attribute_map = { 9277 'object_type': {'key': 'objectType', 'type': 'str'}, 9278 'target_storage_account_id': {'key': 'targetStorageAccountId', 'type': 'str'}, 9279 } 9280 9281 def __init__(self, **kwargs): 9282 super(IdentityBasedRestoreDetails, self).__init__(**kwargs) 9283 self.object_type = kwargs.get('object_type', None) 9284 self.target_storage_account_id = kwargs.get('target_storage_account_id', None) 9285 9286 9287class IdentityInfo(Model): 9288 """Encapsulates Managed Identity related information. 9289 9290 :param is_system_assigned_identity: To differentiate if the managed 9291 identity is system assigned or user assigned 9292 :type is_system_assigned_identity: bool 9293 :param managed_identity_resource_id: Managed Identity Resource Id 9294 Optional: Might not be required in the case of system assigned managed 9295 identity 9296 :type managed_identity_resource_id: str 9297 """ 9298 9299 _attribute_map = { 9300 'is_system_assigned_identity': {'key': 'isSystemAssignedIdentity', 'type': 'bool'}, 9301 'managed_identity_resource_id': {'key': 'managedIdentityResourceId', 'type': 'str'}, 9302 } 9303 9304 def __init__(self, **kwargs): 9305 super(IdentityInfo, self).__init__(**kwargs) 9306 self.is_system_assigned_identity = kwargs.get('is_system_assigned_identity', None) 9307 self.managed_identity_resource_id = kwargs.get('managed_identity_resource_id', None) 9308 9309 9310class ILRRequestResource(Resource): 9311 """Parameters to Provision ILR API. 9312 9313 Variables are only populated by the server, and will be ignored when 9314 sending a request. 9315 9316 :ivar id: Resource Id represents the complete path to the resource. 9317 :vartype id: str 9318 :ivar name: Resource name associated with the resource. 9319 :vartype name: str 9320 :ivar type: Resource type represents the complete path of the form 9321 Namespace/ResourceType/ResourceType/... 9322 :vartype type: str 9323 :param location: Resource location. 9324 :type location: str 9325 :param tags: Resource tags. 9326 :type tags: dict[str, str] 9327 :param e_tag: Optional ETag. 9328 :type e_tag: str 9329 :param properties: ILRRequestResource properties 9330 :type properties: ~azure.mgmt.recoveryservicesbackup.models.ILRRequest 9331 """ 9332 9333 _validation = { 9334 'id': {'readonly': True}, 9335 'name': {'readonly': True}, 9336 'type': {'readonly': True}, 9337 } 9338 9339 _attribute_map = { 9340 'id': {'key': 'id', 'type': 'str'}, 9341 'name': {'key': 'name', 'type': 'str'}, 9342 'type': {'key': 'type', 'type': 'str'}, 9343 'location': {'key': 'location', 'type': 'str'}, 9344 'tags': {'key': 'tags', 'type': '{str}'}, 9345 'e_tag': {'key': 'eTag', 'type': 'str'}, 9346 'properties': {'key': 'properties', 'type': 'ILRRequest'}, 9347 } 9348 9349 def __init__(self, **kwargs): 9350 super(ILRRequestResource, self).__init__(**kwargs) 9351 self.properties = kwargs.get('properties', None) 9352 9353 9354class InquiryInfo(Model): 9355 """Details about inquired protectable items under a given container. 9356 9357 :param status: Inquiry Status for this container such as 9358 InProgress | Failed | Succeeded 9359 :type status: str 9360 :param error_detail: Error Details if the Status is non-success. 9361 :type error_detail: ~azure.mgmt.recoveryservicesbackup.models.ErrorDetail 9362 :param inquiry_details: Inquiry Details which will have workload specific 9363 details. 9364 For e.g. - For SQL and oracle this will contain different details. 9365 :type inquiry_details: 9366 list[~azure.mgmt.recoveryservicesbackup.models.WorkloadInquiryDetails] 9367 """ 9368 9369 _attribute_map = { 9370 'status': {'key': 'status', 'type': 'str'}, 9371 'error_detail': {'key': 'errorDetail', 'type': 'ErrorDetail'}, 9372 'inquiry_details': {'key': 'inquiryDetails', 'type': '[WorkloadInquiryDetails]'}, 9373 } 9374 9375 def __init__(self, **kwargs): 9376 super(InquiryInfo, self).__init__(**kwargs) 9377 self.status = kwargs.get('status', None) 9378 self.error_detail = kwargs.get('error_detail', None) 9379 self.inquiry_details = kwargs.get('inquiry_details', None) 9380 9381 9382class InquiryValidation(Model): 9383 """Validation for inquired protectable items under a given container. 9384 9385 Variables are only populated by the server, and will be ignored when 9386 sending a request. 9387 9388 :param status: Status for the Inquiry Validation. 9389 :type status: str 9390 :param error_detail: Error Detail in case the status is non-success. 9391 :type error_detail: ~azure.mgmt.recoveryservicesbackup.models.ErrorDetail 9392 :ivar additional_detail: Error Additional Detail in case the status is 9393 non-success. 9394 :vartype additional_detail: str 9395 """ 9396 9397 _validation = { 9398 'additional_detail': {'readonly': True}, 9399 } 9400 9401 _attribute_map = { 9402 'status': {'key': 'status', 'type': 'str'}, 9403 'error_detail': {'key': 'errorDetail', 'type': 'ErrorDetail'}, 9404 'additional_detail': {'key': 'additionalDetail', 'type': 'str'}, 9405 } 9406 9407 def __init__(self, **kwargs): 9408 super(InquiryValidation, self).__init__(**kwargs) 9409 self.status = kwargs.get('status', None) 9410 self.error_detail = kwargs.get('error_detail', None) 9411 self.additional_detail = None 9412 9413 9414class InstantItemRecoveryTarget(Model): 9415 """Target details for file / folder restore. 9416 9417 :param client_scripts: List of client scripts. 9418 :type client_scripts: 9419 list[~azure.mgmt.recoveryservicesbackup.models.ClientScriptForConnect] 9420 """ 9421 9422 _attribute_map = { 9423 'client_scripts': {'key': 'clientScripts', 'type': '[ClientScriptForConnect]'}, 9424 } 9425 9426 def __init__(self, **kwargs): 9427 super(InstantItemRecoveryTarget, self).__init__(**kwargs) 9428 self.client_scripts = kwargs.get('client_scripts', None) 9429 9430 9431class InstantRPAdditionalDetails(Model): 9432 """InstantRPAdditionalDetails. 9433 9434 :param azure_backup_rg_name_prefix: 9435 :type azure_backup_rg_name_prefix: str 9436 :param azure_backup_rg_name_suffix: 9437 :type azure_backup_rg_name_suffix: str 9438 """ 9439 9440 _attribute_map = { 9441 'azure_backup_rg_name_prefix': {'key': 'azureBackupRGNamePrefix', 'type': 'str'}, 9442 'azure_backup_rg_name_suffix': {'key': 'azureBackupRGNameSuffix', 'type': 'str'}, 9443 } 9444 9445 def __init__(self, **kwargs): 9446 super(InstantRPAdditionalDetails, self).__init__(**kwargs) 9447 self.azure_backup_rg_name_prefix = kwargs.get('azure_backup_rg_name_prefix', None) 9448 self.azure_backup_rg_name_suffix = kwargs.get('azure_backup_rg_name_suffix', None) 9449 9450 9451class JobQueryObject(Model): 9452 """Filters to list the jobs. 9453 9454 :param status: Status of the job. Possible values include: 'Invalid', 9455 'InProgress', 'Completed', 'Failed', 'CompletedWithWarnings', 'Cancelled', 9456 'Cancelling' 9457 :type status: str or ~azure.mgmt.recoveryservicesbackup.models.JobStatus 9458 :param backup_management_type: Type of backup management for the job. 9459 Possible values include: 'Invalid', 'AzureIaasVM', 'MAB', 'DPM', 9460 'AzureBackupServer', 'AzureSql', 'AzureStorage', 'AzureWorkload', 9461 'DefaultBackup' 9462 :type backup_management_type: str or 9463 ~azure.mgmt.recoveryservicesbackup.models.BackupManagementType 9464 :param operation: Type of operation. Possible values include: 'Invalid', 9465 'Register', 'UnRegister', 'ConfigureBackup', 'Backup', 'Restore', 9466 'DisableBackup', 'DeleteBackupData', 'CrossRegionRestore', 'Undelete', 9467 'UpdateCustomerManagedKey' 9468 :type operation: str or 9469 ~azure.mgmt.recoveryservicesbackup.models.JobOperationType 9470 :param job_id: JobID represents the job uniquely. 9471 :type job_id: str 9472 :param start_time: Job has started at this time. Value is in UTC. 9473 :type start_time: datetime 9474 :param end_time: Job has ended at this time. Value is in UTC. 9475 :type end_time: datetime 9476 """ 9477 9478 _attribute_map = { 9479 'status': {'key': 'status', 'type': 'str'}, 9480 'backup_management_type': {'key': 'backupManagementType', 'type': 'str'}, 9481 'operation': {'key': 'operation', 'type': 'str'}, 9482 'job_id': {'key': 'jobId', 'type': 'str'}, 9483 'start_time': {'key': 'startTime', 'type': 'iso-8601'}, 9484 'end_time': {'key': 'endTime', 'type': 'iso-8601'}, 9485 } 9486 9487 def __init__(self, **kwargs): 9488 super(JobQueryObject, self).__init__(**kwargs) 9489 self.status = kwargs.get('status', None) 9490 self.backup_management_type = kwargs.get('backup_management_type', None) 9491 self.operation = kwargs.get('operation', None) 9492 self.job_id = kwargs.get('job_id', None) 9493 self.start_time = kwargs.get('start_time', None) 9494 self.end_time = kwargs.get('end_time', None) 9495 9496 9497class JobResource(Resource): 9498 """Defines workload agnostic properties for a job. 9499 9500 Variables are only populated by the server, and will be ignored when 9501 sending a request. 9502 9503 :ivar id: Resource Id represents the complete path to the resource. 9504 :vartype id: str 9505 :ivar name: Resource name associated with the resource. 9506 :vartype name: str 9507 :ivar type: Resource type represents the complete path of the form 9508 Namespace/ResourceType/ResourceType/... 9509 :vartype type: str 9510 :param location: Resource location. 9511 :type location: str 9512 :param tags: Resource tags. 9513 :type tags: dict[str, str] 9514 :param e_tag: Optional ETag. 9515 :type e_tag: str 9516 :param properties: JobResource properties 9517 :type properties: ~azure.mgmt.recoveryservicesbackup.models.Job 9518 """ 9519 9520 _validation = { 9521 'id': {'readonly': True}, 9522 'name': {'readonly': True}, 9523 'type': {'readonly': True}, 9524 } 9525 9526 _attribute_map = { 9527 'id': {'key': 'id', 'type': 'str'}, 9528 'name': {'key': 'name', 'type': 'str'}, 9529 'type': {'key': 'type', 'type': 'str'}, 9530 'location': {'key': 'location', 'type': 'str'}, 9531 'tags': {'key': 'tags', 'type': '{str}'}, 9532 'e_tag': {'key': 'eTag', 'type': 'str'}, 9533 'properties': {'key': 'properties', 'type': 'Job'}, 9534 } 9535 9536 def __init__(self, **kwargs): 9537 super(JobResource, self).__init__(**kwargs) 9538 self.properties = kwargs.get('properties', None) 9539 9540 9541class KEKDetails(Model): 9542 """KEK is encryption key for BEK. 9543 9544 :param key_url: Key is KEK. 9545 :type key_url: str 9546 :param key_vault_id: Key Vault ID where this Key is stored. 9547 :type key_vault_id: str 9548 :param key_backup_data: KEK data. 9549 :type key_backup_data: str 9550 """ 9551 9552 _attribute_map = { 9553 'key_url': {'key': 'keyUrl', 'type': 'str'}, 9554 'key_vault_id': {'key': 'keyVaultId', 'type': 'str'}, 9555 'key_backup_data': {'key': 'keyBackupData', 'type': 'str'}, 9556 } 9557 9558 def __init__(self, **kwargs): 9559 super(KEKDetails, self).__init__(**kwargs) 9560 self.key_url = kwargs.get('key_url', None) 9561 self.key_vault_id = kwargs.get('key_vault_id', None) 9562 self.key_backup_data = kwargs.get('key_backup_data', None) 9563 9564 9565class KeyAndSecretDetails(Model): 9566 """BEK is bitlocker key. 9567 KEK is encryption key for BEK 9568 If the VM was encrypted then we will store following details : 9569 1. Secret(BEK) - Url + Backup Data + vaultId. 9570 2. Key(KEK) - Url + Backup Data + vaultId. 9571 3. EncryptionMechanism 9572 BEK and KEK can potentially have different vault ids. 9573 9574 :param kek_details: KEK is encryption key for BEK. 9575 :type kek_details: ~azure.mgmt.recoveryservicesbackup.models.KEKDetails 9576 :param bek_details: BEK is bitlocker encryption key. 9577 :type bek_details: ~azure.mgmt.recoveryservicesbackup.models.BEKDetails 9578 :param encryption_mechanism: Encryption mechanism: None/ SinglePass/ 9579 DoublePass 9580 :type encryption_mechanism: str 9581 """ 9582 9583 _attribute_map = { 9584 'kek_details': {'key': 'kekDetails', 'type': 'KEKDetails'}, 9585 'bek_details': {'key': 'bekDetails', 'type': 'BEKDetails'}, 9586 'encryption_mechanism': {'key': 'encryptionMechanism', 'type': 'str'}, 9587 } 9588 9589 def __init__(self, **kwargs): 9590 super(KeyAndSecretDetails, self).__init__(**kwargs) 9591 self.kek_details = kwargs.get('kek_details', None) 9592 self.bek_details = kwargs.get('bek_details', None) 9593 self.encryption_mechanism = kwargs.get('encryption_mechanism', None) 9594 9595 9596class KPIResourceHealthDetails(Model): 9597 """KPI Resource Health Details. 9598 9599 :param resource_health_status: Resource Health Status. Possible values 9600 include: 'Healthy', 'TransientDegraded', 'PersistentDegraded', 9601 'TransientUnhealthy', 'PersistentUnhealthy', 'Invalid' 9602 :type resource_health_status: str or 9603 ~azure.mgmt.recoveryservicesbackup.models.ResourceHealthStatus 9604 :param resource_health_details: Resource Health Status 9605 :type resource_health_details: 9606 list[~azure.mgmt.recoveryservicesbackup.models.ResourceHealthDetails] 9607 """ 9608 9609 _attribute_map = { 9610 'resource_health_status': {'key': 'resourceHealthStatus', 'type': 'str'}, 9611 'resource_health_details': {'key': 'resourceHealthDetails', 'type': '[ResourceHealthDetails]'}, 9612 } 9613 9614 def __init__(self, **kwargs): 9615 super(KPIResourceHealthDetails, self).__init__(**kwargs) 9616 self.resource_health_status = kwargs.get('resource_health_status', None) 9617 self.resource_health_details = kwargs.get('resource_health_details', None) 9618 9619 9620class ListRecoveryPointsRecommendedForMoveRequest(Model): 9621 """ListRecoveryPointsRecommendedForMoveRequest Request. 9622 9623 :param object_type: Gets the class type. 9624 :type object_type: str 9625 :param excluded_rp_list: List of Recovery Points excluded from Move 9626 :type excluded_rp_list: list[str] 9627 """ 9628 9629 _attribute_map = { 9630 'object_type': {'key': 'objectType', 'type': 'str'}, 9631 'excluded_rp_list': {'key': 'excludedRPList', 'type': '[str]'}, 9632 } 9633 9634 def __init__(self, **kwargs): 9635 super(ListRecoveryPointsRecommendedForMoveRequest, self).__init__(**kwargs) 9636 self.object_type = kwargs.get('object_type', None) 9637 self.excluded_rp_list = kwargs.get('excluded_rp_list', None) 9638 9639 9640class SchedulePolicy(Model): 9641 """Base class for backup schedule. 9642 9643 You probably want to use the sub-classes and not this class directly. Known 9644 sub-classes are: LogSchedulePolicy, LongTermSchedulePolicy, 9645 SimpleSchedulePolicy 9646 9647 All required parameters must be populated in order to send to Azure. 9648 9649 :param schedule_policy_type: Required. Constant filled by server. 9650 :type schedule_policy_type: str 9651 """ 9652 9653 _validation = { 9654 'schedule_policy_type': {'required': True}, 9655 } 9656 9657 _attribute_map = { 9658 'schedule_policy_type': {'key': 'schedulePolicyType', 'type': 'str'}, 9659 } 9660 9661 _subtype_map = { 9662 'schedule_policy_type': {'LogSchedulePolicy': 'LogSchedulePolicy', 'LongTermSchedulePolicy': 'LongTermSchedulePolicy', 'SimpleSchedulePolicy': 'SimpleSchedulePolicy'} 9663 } 9664 9665 def __init__(self, **kwargs): 9666 super(SchedulePolicy, self).__init__(**kwargs) 9667 self.schedule_policy_type = None 9668 9669 9670class LogSchedulePolicy(SchedulePolicy): 9671 """Log policy schedule. 9672 9673 All required parameters must be populated in order to send to Azure. 9674 9675 :param schedule_policy_type: Required. Constant filled by server. 9676 :type schedule_policy_type: str 9677 :param schedule_frequency_in_mins: Frequency of the log schedule operation 9678 of this policy in minutes. 9679 :type schedule_frequency_in_mins: int 9680 """ 9681 9682 _validation = { 9683 'schedule_policy_type': {'required': True}, 9684 } 9685 9686 _attribute_map = { 9687 'schedule_policy_type': {'key': 'schedulePolicyType', 'type': 'str'}, 9688 'schedule_frequency_in_mins': {'key': 'scheduleFrequencyInMins', 'type': 'int'}, 9689 } 9690 9691 def __init__(self, **kwargs): 9692 super(LogSchedulePolicy, self).__init__(**kwargs) 9693 self.schedule_frequency_in_mins = kwargs.get('schedule_frequency_in_mins', None) 9694 self.schedule_policy_type = 'LogSchedulePolicy' 9695 9696 9697class RetentionPolicy(Model): 9698 """Base class for retention policy. 9699 9700 You probably want to use the sub-classes and not this class directly. Known 9701 sub-classes are: LongTermRetentionPolicy, SimpleRetentionPolicy 9702 9703 All required parameters must be populated in order to send to Azure. 9704 9705 :param retention_policy_type: Required. Constant filled by server. 9706 :type retention_policy_type: str 9707 """ 9708 9709 _validation = { 9710 'retention_policy_type': {'required': True}, 9711 } 9712 9713 _attribute_map = { 9714 'retention_policy_type': {'key': 'retentionPolicyType', 'type': 'str'}, 9715 } 9716 9717 _subtype_map = { 9718 'retention_policy_type': {'LongTermRetentionPolicy': 'LongTermRetentionPolicy', 'SimpleRetentionPolicy': 'SimpleRetentionPolicy'} 9719 } 9720 9721 def __init__(self, **kwargs): 9722 super(RetentionPolicy, self).__init__(**kwargs) 9723 self.retention_policy_type = None 9724 9725 9726class LongTermRetentionPolicy(RetentionPolicy): 9727 """Long term retention policy. 9728 9729 All required parameters must be populated in order to send to Azure. 9730 9731 :param retention_policy_type: Required. Constant filled by server. 9732 :type retention_policy_type: str 9733 :param daily_schedule: Daily retention schedule of the protection policy. 9734 :type daily_schedule: 9735 ~azure.mgmt.recoveryservicesbackup.models.DailyRetentionSchedule 9736 :param weekly_schedule: Weekly retention schedule of the protection 9737 policy. 9738 :type weekly_schedule: 9739 ~azure.mgmt.recoveryservicesbackup.models.WeeklyRetentionSchedule 9740 :param monthly_schedule: Monthly retention schedule of the protection 9741 policy. 9742 :type monthly_schedule: 9743 ~azure.mgmt.recoveryservicesbackup.models.MonthlyRetentionSchedule 9744 :param yearly_schedule: Yearly retention schedule of the protection 9745 policy. 9746 :type yearly_schedule: 9747 ~azure.mgmt.recoveryservicesbackup.models.YearlyRetentionSchedule 9748 """ 9749 9750 _validation = { 9751 'retention_policy_type': {'required': True}, 9752 } 9753 9754 _attribute_map = { 9755 'retention_policy_type': {'key': 'retentionPolicyType', 'type': 'str'}, 9756 'daily_schedule': {'key': 'dailySchedule', 'type': 'DailyRetentionSchedule'}, 9757 'weekly_schedule': {'key': 'weeklySchedule', 'type': 'WeeklyRetentionSchedule'}, 9758 'monthly_schedule': {'key': 'monthlySchedule', 'type': 'MonthlyRetentionSchedule'}, 9759 'yearly_schedule': {'key': 'yearlySchedule', 'type': 'YearlyRetentionSchedule'}, 9760 } 9761 9762 def __init__(self, **kwargs): 9763 super(LongTermRetentionPolicy, self).__init__(**kwargs) 9764 self.daily_schedule = kwargs.get('daily_schedule', None) 9765 self.weekly_schedule = kwargs.get('weekly_schedule', None) 9766 self.monthly_schedule = kwargs.get('monthly_schedule', None) 9767 self.yearly_schedule = kwargs.get('yearly_schedule', None) 9768 self.retention_policy_type = 'LongTermRetentionPolicy' 9769 9770 9771class LongTermSchedulePolicy(SchedulePolicy): 9772 """Long term policy schedule. 9773 9774 All required parameters must be populated in order to send to Azure. 9775 9776 :param schedule_policy_type: Required. Constant filled by server. 9777 :type schedule_policy_type: str 9778 """ 9779 9780 _validation = { 9781 'schedule_policy_type': {'required': True}, 9782 } 9783 9784 _attribute_map = { 9785 'schedule_policy_type': {'key': 'schedulePolicyType', 'type': 'str'}, 9786 } 9787 9788 def __init__(self, **kwargs): 9789 super(LongTermSchedulePolicy, self).__init__(**kwargs) 9790 self.schedule_policy_type = 'LongTermSchedulePolicy' 9791 9792 9793class MabContainer(ProtectionContainer): 9794 """Container with items backed up using MAB backup engine. 9795 9796 All required parameters must be populated in order to send to Azure. 9797 9798 :param friendly_name: Friendly name of the container. 9799 :type friendly_name: str 9800 :param backup_management_type: Type of backup management for the 9801 container. Possible values include: 'Invalid', 'AzureIaasVM', 'MAB', 9802 'DPM', 'AzureBackupServer', 'AzureSql', 'AzureStorage', 'AzureWorkload', 9803 'DefaultBackup' 9804 :type backup_management_type: str or 9805 ~azure.mgmt.recoveryservicesbackup.models.BackupManagementType 9806 :param registration_status: Status of registration of the container with 9807 the Recovery Services Vault. 9808 :type registration_status: str 9809 :param health_status: Status of health of the container. 9810 :type health_status: str 9811 :param container_type: Required. Constant filled by server. 9812 :type container_type: str 9813 :param can_re_register: Can the container be registered one more time. 9814 :type can_re_register: bool 9815 :param container_id: ContainerID represents the container. 9816 :type container_id: long 9817 :param protected_item_count: Number of items backed up in this container. 9818 :type protected_item_count: long 9819 :param agent_version: Agent version of this container. 9820 :type agent_version: str 9821 :param extended_info: Additional information for this container 9822 :type extended_info: 9823 ~azure.mgmt.recoveryservicesbackup.models.MabContainerExtendedInfo 9824 :param mab_container_health_details: Health details on this mab container. 9825 :type mab_container_health_details: 9826 list[~azure.mgmt.recoveryservicesbackup.models.MABContainerHealthDetails] 9827 :param container_health_state: Health state of mab container. 9828 :type container_health_state: str 9829 """ 9830 9831 _validation = { 9832 'container_type': {'required': True}, 9833 } 9834 9835 _attribute_map = { 9836 'friendly_name': {'key': 'friendlyName', 'type': 'str'}, 9837 'backup_management_type': {'key': 'backupManagementType', 'type': 'str'}, 9838 'registration_status': {'key': 'registrationStatus', 'type': 'str'}, 9839 'health_status': {'key': 'healthStatus', 'type': 'str'}, 9840 'container_type': {'key': 'containerType', 'type': 'str'}, 9841 'can_re_register': {'key': 'canReRegister', 'type': 'bool'}, 9842 'container_id': {'key': 'containerId', 'type': 'long'}, 9843 'protected_item_count': {'key': 'protectedItemCount', 'type': 'long'}, 9844 'agent_version': {'key': 'agentVersion', 'type': 'str'}, 9845 'extended_info': {'key': 'extendedInfo', 'type': 'MabContainerExtendedInfo'}, 9846 'mab_container_health_details': {'key': 'mabContainerHealthDetails', 'type': '[MABContainerHealthDetails]'}, 9847 'container_health_state': {'key': 'containerHealthState', 'type': 'str'}, 9848 } 9849 9850 def __init__(self, **kwargs): 9851 super(MabContainer, self).__init__(**kwargs) 9852 self.can_re_register = kwargs.get('can_re_register', None) 9853 self.container_id = kwargs.get('container_id', None) 9854 self.protected_item_count = kwargs.get('protected_item_count', None) 9855 self.agent_version = kwargs.get('agent_version', None) 9856 self.extended_info = kwargs.get('extended_info', None) 9857 self.mab_container_health_details = kwargs.get('mab_container_health_details', None) 9858 self.container_health_state = kwargs.get('container_health_state', None) 9859 self.container_type = 'Windows' 9860 9861 9862class MabContainerExtendedInfo(Model): 9863 """Additional information of the container. 9864 9865 :param last_refreshed_at: Time stamp when this container was refreshed. 9866 :type last_refreshed_at: datetime 9867 :param backup_item_type: Type of backup items associated with this 9868 container. Possible values include: 'Invalid', 'VM', 'FileFolder', 9869 'AzureSqlDb', 'SQLDB', 'Exchange', 'Sharepoint', 'VMwareVM', 9870 'SystemState', 'Client', 'GenericDataSource', 'SQLDataBase', 9871 'AzureFileShare', 'SAPHanaDatabase', 'SAPAseDatabase' 9872 :type backup_item_type: str or 9873 ~azure.mgmt.recoveryservicesbackup.models.BackupItemType 9874 :param backup_items: List of backup items associated with this container. 9875 :type backup_items: list[str] 9876 :param policy_name: Backup policy associated with this container. 9877 :type policy_name: str 9878 :param last_backup_status: Latest backup status of this container. 9879 :type last_backup_status: str 9880 """ 9881 9882 _attribute_map = { 9883 'last_refreshed_at': {'key': 'lastRefreshedAt', 'type': 'iso-8601'}, 9884 'backup_item_type': {'key': 'backupItemType', 'type': 'str'}, 9885 'backup_items': {'key': 'backupItems', 'type': '[str]'}, 9886 'policy_name': {'key': 'policyName', 'type': 'str'}, 9887 'last_backup_status': {'key': 'lastBackupStatus', 'type': 'str'}, 9888 } 9889 9890 def __init__(self, **kwargs): 9891 super(MabContainerExtendedInfo, self).__init__(**kwargs) 9892 self.last_refreshed_at = kwargs.get('last_refreshed_at', None) 9893 self.backup_item_type = kwargs.get('backup_item_type', None) 9894 self.backup_items = kwargs.get('backup_items', None) 9895 self.policy_name = kwargs.get('policy_name', None) 9896 self.last_backup_status = kwargs.get('last_backup_status', None) 9897 9898 9899class MABContainerHealthDetails(Model): 9900 """MAB workload-specific Health Details. 9901 9902 :param code: Health Code 9903 :type code: int 9904 :param title: Health Title 9905 :type title: str 9906 :param message: Health Message 9907 :type message: str 9908 :param recommendations: Health Recommended Actions 9909 :type recommendations: list[str] 9910 """ 9911 9912 _attribute_map = { 9913 'code': {'key': 'code', 'type': 'int'}, 9914 'title': {'key': 'title', 'type': 'str'}, 9915 'message': {'key': 'message', 'type': 'str'}, 9916 'recommendations': {'key': 'recommendations', 'type': '[str]'}, 9917 } 9918 9919 def __init__(self, **kwargs): 9920 super(MABContainerHealthDetails, self).__init__(**kwargs) 9921 self.code = kwargs.get('code', None) 9922 self.title = kwargs.get('title', None) 9923 self.message = kwargs.get('message', None) 9924 self.recommendations = kwargs.get('recommendations', None) 9925 9926 9927class MabErrorInfo(Model): 9928 """MAB workload-specific error information. 9929 9930 Variables are only populated by the server, and will be ignored when 9931 sending a request. 9932 9933 :ivar error_string: Localized error string. 9934 :vartype error_string: str 9935 :ivar recommendations: List of localized recommendations. 9936 :vartype recommendations: list[str] 9937 """ 9938 9939 _validation = { 9940 'error_string': {'readonly': True}, 9941 'recommendations': {'readonly': True}, 9942 } 9943 9944 _attribute_map = { 9945 'error_string': {'key': 'errorString', 'type': 'str'}, 9946 'recommendations': {'key': 'recommendations', 'type': '[str]'}, 9947 } 9948 9949 def __init__(self, **kwargs): 9950 super(MabErrorInfo, self).__init__(**kwargs) 9951 self.error_string = None 9952 self.recommendations = None 9953 9954 9955class MabFileFolderProtectedItem(ProtectedItem): 9956 """MAB workload-specific backup item. 9957 9958 All required parameters must be populated in order to send to Azure. 9959 9960 :param backup_management_type: Type of backup management for the backed up 9961 item. Possible values include: 'Invalid', 'AzureIaasVM', 'MAB', 'DPM', 9962 'AzureBackupServer', 'AzureSql', 'AzureStorage', 'AzureWorkload', 9963 'DefaultBackup' 9964 :type backup_management_type: str or 9965 ~azure.mgmt.recoveryservicesbackup.models.BackupManagementType 9966 :param workload_type: Type of workload this item represents. Possible 9967 values include: 'Invalid', 'VM', 'FileFolder', 'AzureSqlDb', 'SQLDB', 9968 'Exchange', 'Sharepoint', 'VMwareVM', 'SystemState', 'Client', 9969 'GenericDataSource', 'SQLDataBase', 'AzureFileShare', 'SAPHanaDatabase', 9970 'SAPAseDatabase' 9971 :type workload_type: str or 9972 ~azure.mgmt.recoveryservicesbackup.models.DataSourceType 9973 :param container_name: Unique name of container 9974 :type container_name: str 9975 :param source_resource_id: ARM ID of the resource to be backed up. 9976 :type source_resource_id: str 9977 :param policy_id: ID of the backup policy with which this item is backed 9978 up. 9979 :type policy_id: str 9980 :param last_recovery_point: Timestamp when the last (latest) backup copy 9981 was created for this backup item. 9982 :type last_recovery_point: datetime 9983 :param backup_set_name: Name of the backup set the backup item belongs to 9984 :type backup_set_name: str 9985 :param create_mode: Create mode to indicate recovery of existing soft 9986 deleted data source or creation of new data source. Possible values 9987 include: 'Invalid', 'Default', 'Recover' 9988 :type create_mode: str or 9989 ~azure.mgmt.recoveryservicesbackup.models.CreateMode 9990 :param deferred_delete_time_in_utc: Time for deferred deletion in UTC 9991 :type deferred_delete_time_in_utc: datetime 9992 :param is_scheduled_for_deferred_delete: Flag to identify whether the DS 9993 is scheduled for deferred delete 9994 :type is_scheduled_for_deferred_delete: bool 9995 :param deferred_delete_time_remaining: Time remaining before the DS marked 9996 for deferred delete is permanently deleted 9997 :type deferred_delete_time_remaining: str 9998 :param is_deferred_delete_schedule_upcoming: Flag to identify whether the 9999 deferred deleted DS is to be purged soon 10000 :type is_deferred_delete_schedule_upcoming: bool 10001 :param is_rehydrate: Flag to identify that deferred deleted DS is to be 10002 moved into Pause state 10003 :type is_rehydrate: bool 10004 :param resource_guard_operation_requests: ResourceGuardOperationRequests 10005 on which LAC check will be performed 10006 :type resource_guard_operation_requests: list[str] 10007 :param protected_item_type: Required. Constant filled by server. 10008 :type protected_item_type: str 10009 :param friendly_name: Friendly name of this backup item. 10010 :type friendly_name: str 10011 :param computer_name: Name of the computer associated with this backup 10012 item. 10013 :type computer_name: str 10014 :param last_backup_status: Status of last backup operation. 10015 :type last_backup_status: str 10016 :param last_backup_time: Timestamp of the last backup operation on this 10017 backup item. 10018 :type last_backup_time: datetime 10019 :param protection_state: Protected, ProtectionStopped, IRPending or 10020 ProtectionError 10021 :type protection_state: str 10022 :param deferred_delete_sync_time_in_utc: Sync time for deferred deletion 10023 in UTC 10024 :type deferred_delete_sync_time_in_utc: long 10025 :param extended_info: Additional information with this backup item. 10026 :type extended_info: 10027 ~azure.mgmt.recoveryservicesbackup.models.MabFileFolderProtectedItemExtendedInfo 10028 """ 10029 10030 _validation = { 10031 'protected_item_type': {'required': True}, 10032 } 10033 10034 _attribute_map = { 10035 'backup_management_type': {'key': 'backupManagementType', 'type': 'str'}, 10036 'workload_type': {'key': 'workloadType', 'type': 'str'}, 10037 'container_name': {'key': 'containerName', 'type': 'str'}, 10038 'source_resource_id': {'key': 'sourceResourceId', 'type': 'str'}, 10039 'policy_id': {'key': 'policyId', 'type': 'str'}, 10040 'last_recovery_point': {'key': 'lastRecoveryPoint', 'type': 'iso-8601'}, 10041 'backup_set_name': {'key': 'backupSetName', 'type': 'str'}, 10042 'create_mode': {'key': 'createMode', 'type': 'str'}, 10043 'deferred_delete_time_in_utc': {'key': 'deferredDeleteTimeInUTC', 'type': 'iso-8601'}, 10044 'is_scheduled_for_deferred_delete': {'key': 'isScheduledForDeferredDelete', 'type': 'bool'}, 10045 'deferred_delete_time_remaining': {'key': 'deferredDeleteTimeRemaining', 'type': 'str'}, 10046 'is_deferred_delete_schedule_upcoming': {'key': 'isDeferredDeleteScheduleUpcoming', 'type': 'bool'}, 10047 'is_rehydrate': {'key': 'isRehydrate', 'type': 'bool'}, 10048 'resource_guard_operation_requests': {'key': 'resourceGuardOperationRequests', 'type': '[str]'}, 10049 'protected_item_type': {'key': 'protectedItemType', 'type': 'str'}, 10050 'friendly_name': {'key': 'friendlyName', 'type': 'str'}, 10051 'computer_name': {'key': 'computerName', 'type': 'str'}, 10052 'last_backup_status': {'key': 'lastBackupStatus', 'type': 'str'}, 10053 'last_backup_time': {'key': 'lastBackupTime', 'type': 'iso-8601'}, 10054 'protection_state': {'key': 'protectionState', 'type': 'str'}, 10055 'deferred_delete_sync_time_in_utc': {'key': 'deferredDeleteSyncTimeInUTC', 'type': 'long'}, 10056 'extended_info': {'key': 'extendedInfo', 'type': 'MabFileFolderProtectedItemExtendedInfo'}, 10057 } 10058 10059 def __init__(self, **kwargs): 10060 super(MabFileFolderProtectedItem, self).__init__(**kwargs) 10061 self.friendly_name = kwargs.get('friendly_name', None) 10062 self.computer_name = kwargs.get('computer_name', None) 10063 self.last_backup_status = kwargs.get('last_backup_status', None) 10064 self.last_backup_time = kwargs.get('last_backup_time', None) 10065 self.protection_state = kwargs.get('protection_state', None) 10066 self.deferred_delete_sync_time_in_utc = kwargs.get('deferred_delete_sync_time_in_utc', None) 10067 self.extended_info = kwargs.get('extended_info', None) 10068 self.protected_item_type = 'MabFileFolderProtectedItem' 10069 10070 10071class MabFileFolderProtectedItemExtendedInfo(Model): 10072 """Additional information on the backed up item. 10073 10074 :param last_refreshed_at: Last time when the agent data synced to service. 10075 :type last_refreshed_at: datetime 10076 :param oldest_recovery_point: The oldest backup copy available. 10077 :type oldest_recovery_point: datetime 10078 :param recovery_point_count: Number of backup copies associated with the 10079 backup item. 10080 :type recovery_point_count: int 10081 """ 10082 10083 _attribute_map = { 10084 'last_refreshed_at': {'key': 'lastRefreshedAt', 'type': 'iso-8601'}, 10085 'oldest_recovery_point': {'key': 'oldestRecoveryPoint', 'type': 'iso-8601'}, 10086 'recovery_point_count': {'key': 'recoveryPointCount', 'type': 'int'}, 10087 } 10088 10089 def __init__(self, **kwargs): 10090 super(MabFileFolderProtectedItemExtendedInfo, self).__init__(**kwargs) 10091 self.last_refreshed_at = kwargs.get('last_refreshed_at', None) 10092 self.oldest_recovery_point = kwargs.get('oldest_recovery_point', None) 10093 self.recovery_point_count = kwargs.get('recovery_point_count', None) 10094 10095 10096class MabJob(Job): 10097 """MAB workload-specific job. 10098 10099 All required parameters must be populated in order to send to Azure. 10100 10101 :param entity_friendly_name: Friendly name of the entity on which the 10102 current job is executing. 10103 :type entity_friendly_name: str 10104 :param backup_management_type: Backup management type to execute the 10105 current job. Possible values include: 'Invalid', 'AzureIaasVM', 'MAB', 10106 'DPM', 'AzureBackupServer', 'AzureSql', 'AzureStorage', 'AzureWorkload', 10107 'DefaultBackup' 10108 :type backup_management_type: str or 10109 ~azure.mgmt.recoveryservicesbackup.models.BackupManagementType 10110 :param operation: The operation name. 10111 :type operation: str 10112 :param status: Job status. 10113 :type status: str 10114 :param start_time: The start time. 10115 :type start_time: datetime 10116 :param end_time: The end time. 10117 :type end_time: datetime 10118 :param activity_id: ActivityId of job. 10119 :type activity_id: str 10120 :param job_type: Required. Constant filled by server. 10121 :type job_type: str 10122 :param duration: Time taken by job to run. 10123 :type duration: timedelta 10124 :param actions_info: The state/actions applicable on jobs like 10125 cancel/retry. 10126 :type actions_info: list[str or 10127 ~azure.mgmt.recoveryservicesbackup.models.JobSupportedAction] 10128 :param mab_server_name: Name of server protecting the DS. 10129 :type mab_server_name: str 10130 :param mab_server_type: Server type of MAB container. Possible values 10131 include: 'Invalid', 'Unknown', 'IaasVMContainer', 10132 'IaasVMServiceContainer', 'DPMContainer', 'AzureBackupServerContainer', 10133 'MABContainer', 'Cluster', 'AzureSqlContainer', 'Windows', 'VCenter', 10134 'VMAppContainer', 'SQLAGWorkLoadContainer', 'StorageContainer', 10135 'GenericContainer' 10136 :type mab_server_type: str or 10137 ~azure.mgmt.recoveryservicesbackup.models.MabServerType 10138 :param workload_type: Workload type of backup item. Possible values 10139 include: 'Invalid', 'VM', 'FileFolder', 'AzureSqlDb', 'SQLDB', 'Exchange', 10140 'Sharepoint', 'VMwareVM', 'SystemState', 'Client', 'GenericDataSource', 10141 'SQLDataBase', 'AzureFileShare', 'SAPHanaDatabase', 'SAPAseDatabase' 10142 :type workload_type: str or 10143 ~azure.mgmt.recoveryservicesbackup.models.WorkloadType 10144 :param error_details: The errors. 10145 :type error_details: 10146 list[~azure.mgmt.recoveryservicesbackup.models.MabErrorInfo] 10147 :param extended_info: Additional information on the job. 10148 :type extended_info: 10149 ~azure.mgmt.recoveryservicesbackup.models.MabJobExtendedInfo 10150 """ 10151 10152 _validation = { 10153 'job_type': {'required': True}, 10154 } 10155 10156 _attribute_map = { 10157 'entity_friendly_name': {'key': 'entityFriendlyName', 'type': 'str'}, 10158 'backup_management_type': {'key': 'backupManagementType', 'type': 'str'}, 10159 'operation': {'key': 'operation', 'type': 'str'}, 10160 'status': {'key': 'status', 'type': 'str'}, 10161 'start_time': {'key': 'startTime', 'type': 'iso-8601'}, 10162 'end_time': {'key': 'endTime', 'type': 'iso-8601'}, 10163 'activity_id': {'key': 'activityId', 'type': 'str'}, 10164 'job_type': {'key': 'jobType', 'type': 'str'}, 10165 'duration': {'key': 'duration', 'type': 'duration'}, 10166 'actions_info': {'key': 'actionsInfo', 'type': '[JobSupportedAction]'}, 10167 'mab_server_name': {'key': 'mabServerName', 'type': 'str'}, 10168 'mab_server_type': {'key': 'mabServerType', 'type': 'str'}, 10169 'workload_type': {'key': 'workloadType', 'type': 'str'}, 10170 'error_details': {'key': 'errorDetails', 'type': '[MabErrorInfo]'}, 10171 'extended_info': {'key': 'extendedInfo', 'type': 'MabJobExtendedInfo'}, 10172 } 10173 10174 def __init__(self, **kwargs): 10175 super(MabJob, self).__init__(**kwargs) 10176 self.duration = kwargs.get('duration', None) 10177 self.actions_info = kwargs.get('actions_info', None) 10178 self.mab_server_name = kwargs.get('mab_server_name', None) 10179 self.mab_server_type = kwargs.get('mab_server_type', None) 10180 self.workload_type = kwargs.get('workload_type', None) 10181 self.error_details = kwargs.get('error_details', None) 10182 self.extended_info = kwargs.get('extended_info', None) 10183 self.job_type = 'MabJob' 10184 10185 10186class MabJobExtendedInfo(Model): 10187 """Additional information for the MAB workload-specific job. 10188 10189 :param tasks_list: List of tasks for this job. 10190 :type tasks_list: 10191 list[~azure.mgmt.recoveryservicesbackup.models.MabJobTaskDetails] 10192 :param property_bag: The job properties. 10193 :type property_bag: dict[str, str] 10194 :param dynamic_error_message: Non localized error message specific to this 10195 job. 10196 :type dynamic_error_message: str 10197 """ 10198 10199 _attribute_map = { 10200 'tasks_list': {'key': 'tasksList', 'type': '[MabJobTaskDetails]'}, 10201 'property_bag': {'key': 'propertyBag', 'type': '{str}'}, 10202 'dynamic_error_message': {'key': 'dynamicErrorMessage', 'type': 'str'}, 10203 } 10204 10205 def __init__(self, **kwargs): 10206 super(MabJobExtendedInfo, self).__init__(**kwargs) 10207 self.tasks_list = kwargs.get('tasks_list', None) 10208 self.property_bag = kwargs.get('property_bag', None) 10209 self.dynamic_error_message = kwargs.get('dynamic_error_message', None) 10210 10211 10212class MabJobTaskDetails(Model): 10213 """MAB workload-specific job task details. 10214 10215 :param task_id: The task display name. 10216 :type task_id: str 10217 :param start_time: The start time. 10218 :type start_time: datetime 10219 :param end_time: The end time. 10220 :type end_time: datetime 10221 :param duration: Time elapsed for task. 10222 :type duration: timedelta 10223 :param status: The status. 10224 :type status: str 10225 """ 10226 10227 _attribute_map = { 10228 'task_id': {'key': 'taskId', 'type': 'str'}, 10229 'start_time': {'key': 'startTime', 'type': 'iso-8601'}, 10230 'end_time': {'key': 'endTime', 'type': 'iso-8601'}, 10231 'duration': {'key': 'duration', 'type': 'duration'}, 10232 'status': {'key': 'status', 'type': 'str'}, 10233 } 10234 10235 def __init__(self, **kwargs): 10236 super(MabJobTaskDetails, self).__init__(**kwargs) 10237 self.task_id = kwargs.get('task_id', None) 10238 self.start_time = kwargs.get('start_time', None) 10239 self.end_time = kwargs.get('end_time', None) 10240 self.duration = kwargs.get('duration', None) 10241 self.status = kwargs.get('status', None) 10242 10243 10244class MabProtectionPolicy(ProtectionPolicy): 10245 """Mab container-specific backup policy. 10246 10247 All required parameters must be populated in order to send to Azure. 10248 10249 :param protected_items_count: Number of items associated with this policy. 10250 :type protected_items_count: int 10251 :param resource_guard_operation_requests: ResourceGuard Operation Requests 10252 :type resource_guard_operation_requests: list[str] 10253 :param backup_management_type: Required. Constant filled by server. 10254 :type backup_management_type: str 10255 :param schedule_policy: Backup schedule of backup policy. 10256 :type schedule_policy: 10257 ~azure.mgmt.recoveryservicesbackup.models.SchedulePolicy 10258 :param retention_policy: Retention policy details. 10259 :type retention_policy: 10260 ~azure.mgmt.recoveryservicesbackup.models.RetentionPolicy 10261 """ 10262 10263 _validation = { 10264 'backup_management_type': {'required': True}, 10265 } 10266 10267 _attribute_map = { 10268 'protected_items_count': {'key': 'protectedItemsCount', 'type': 'int'}, 10269 'resource_guard_operation_requests': {'key': 'resourceGuardOperationRequests', 'type': '[str]'}, 10270 'backup_management_type': {'key': 'backupManagementType', 'type': 'str'}, 10271 'schedule_policy': {'key': 'schedulePolicy', 'type': 'SchedulePolicy'}, 10272 'retention_policy': {'key': 'retentionPolicy', 'type': 'RetentionPolicy'}, 10273 } 10274 10275 def __init__(self, **kwargs): 10276 super(MabProtectionPolicy, self).__init__(**kwargs) 10277 self.schedule_policy = kwargs.get('schedule_policy', None) 10278 self.retention_policy = kwargs.get('retention_policy', None) 10279 self.backup_management_type = 'MAB' 10280 10281 10282class MonthlyRetentionSchedule(Model): 10283 """Monthly retention schedule. 10284 10285 :param retention_schedule_format_type: Retention schedule format type for 10286 monthly retention policy. Possible values include: 'Invalid', 'Daily', 10287 'Weekly' 10288 :type retention_schedule_format_type: str or 10289 ~azure.mgmt.recoveryservicesbackup.models.RetentionScheduleFormat 10290 :param retention_schedule_daily: Daily retention format for monthly 10291 retention policy. 10292 :type retention_schedule_daily: 10293 ~azure.mgmt.recoveryservicesbackup.models.DailyRetentionFormat 10294 :param retention_schedule_weekly: Weekly retention format for monthly 10295 retention policy. 10296 :type retention_schedule_weekly: 10297 ~azure.mgmt.recoveryservicesbackup.models.WeeklyRetentionFormat 10298 :param retention_times: Retention times of retention policy. 10299 :type retention_times: list[datetime] 10300 :param retention_duration: Retention duration of retention Policy. 10301 :type retention_duration: 10302 ~azure.mgmt.recoveryservicesbackup.models.RetentionDuration 10303 """ 10304 10305 _attribute_map = { 10306 'retention_schedule_format_type': {'key': 'retentionScheduleFormatType', 'type': 'str'}, 10307 'retention_schedule_daily': {'key': 'retentionScheduleDaily', 'type': 'DailyRetentionFormat'}, 10308 'retention_schedule_weekly': {'key': 'retentionScheduleWeekly', 'type': 'WeeklyRetentionFormat'}, 10309 'retention_times': {'key': 'retentionTimes', 'type': '[iso-8601]'}, 10310 'retention_duration': {'key': 'retentionDuration', 'type': 'RetentionDuration'}, 10311 } 10312 10313 def __init__(self, **kwargs): 10314 super(MonthlyRetentionSchedule, self).__init__(**kwargs) 10315 self.retention_schedule_format_type = kwargs.get('retention_schedule_format_type', None) 10316 self.retention_schedule_daily = kwargs.get('retention_schedule_daily', None) 10317 self.retention_schedule_weekly = kwargs.get('retention_schedule_weekly', None) 10318 self.retention_times = kwargs.get('retention_times', None) 10319 self.retention_duration = kwargs.get('retention_duration', None) 10320 10321 10322class MoveRPAcrossTiersRequest(Model): 10323 """MoveRPAcrossTiersRequest. 10324 10325 :param object_type: Gets the class type. 10326 :type object_type: str 10327 :param source_tier_type: Source tier from where RP needs to be moved. 10328 Possible values include: 'Invalid', 'InstantRP', 'HardenedRP', 10329 'ArchivedRP' 10330 :type source_tier_type: str or 10331 ~azure.mgmt.recoveryservicesbackup.models.RecoveryPointTierType 10332 :param target_tier_type: Target tier where RP needs to be moved. Possible 10333 values include: 'Invalid', 'InstantRP', 'HardenedRP', 'ArchivedRP' 10334 :type target_tier_type: str or 10335 ~azure.mgmt.recoveryservicesbackup.models.RecoveryPointTierType 10336 """ 10337 10338 _attribute_map = { 10339 'object_type': {'key': 'objectType', 'type': 'str'}, 10340 'source_tier_type': {'key': 'sourceTierType', 'type': 'RecoveryPointTierType'}, 10341 'target_tier_type': {'key': 'targetTierType', 'type': 'RecoveryPointTierType'}, 10342 } 10343 10344 def __init__(self, **kwargs): 10345 super(MoveRPAcrossTiersRequest, self).__init__(**kwargs) 10346 self.object_type = kwargs.get('object_type', None) 10347 self.source_tier_type = kwargs.get('source_tier_type', None) 10348 self.target_tier_type = kwargs.get('target_tier_type', None) 10349 10350 10351class NameInfo(Model): 10352 """The name of usage. 10353 10354 :param value: Value of usage. 10355 :type value: str 10356 :param localized_value: Localized value of usage. 10357 :type localized_value: str 10358 """ 10359 10360 _attribute_map = { 10361 'value': {'key': 'value', 'type': 'str'}, 10362 'localized_value': {'key': 'localizedValue', 'type': 'str'}, 10363 } 10364 10365 def __init__(self, **kwargs): 10366 super(NameInfo, self).__init__(**kwargs) 10367 self.value = kwargs.get('value', None) 10368 self.localized_value = kwargs.get('localized_value', None) 10369 10370 10371class NewErrorResponse(Model): 10372 """The resource management error response. 10373 10374 :param error: The error object. 10375 :type error: 10376 ~azure.mgmt.recoveryservicesbackup.models.NewErrorResponseError 10377 """ 10378 10379 _attribute_map = { 10380 'error': {'key': 'error', 'type': 'NewErrorResponseError'}, 10381 } 10382 10383 def __init__(self, **kwargs): 10384 super(NewErrorResponse, self).__init__(**kwargs) 10385 self.error = kwargs.get('error', None) 10386 10387 10388class NewErrorResponseException(HttpOperationError): 10389 """Server responsed with exception of type: 'NewErrorResponse'. 10390 10391 :param deserialize: A deserializer 10392 :param response: Server response to be deserialized. 10393 """ 10394 10395 def __init__(self, deserialize, response, *args): 10396 10397 super(NewErrorResponseException, self).__init__(deserialize, response, 'NewErrorResponse', *args) 10398 10399 10400class NewErrorResponseError(Model): 10401 """The error object. 10402 10403 Variables are only populated by the server, and will be ignored when 10404 sending a request. 10405 10406 :ivar code: The error code. 10407 :vartype code: str 10408 :ivar message: The error message. 10409 :vartype message: str 10410 :ivar target: The error target. 10411 :vartype target: str 10412 :ivar details: The error details. 10413 :vartype details: 10414 list[~azure.mgmt.recoveryservicesbackup.models.NewErrorResponse] 10415 :ivar additional_info: The error additional info. 10416 :vartype additional_info: 10417 list[~azure.mgmt.recoveryservicesbackup.models.ErrorAdditionalInfo] 10418 """ 10419 10420 _validation = { 10421 'code': {'readonly': True}, 10422 'message': {'readonly': True}, 10423 'target': {'readonly': True}, 10424 'details': {'readonly': True}, 10425 'additional_info': {'readonly': True}, 10426 } 10427 10428 _attribute_map = { 10429 'code': {'key': 'code', 'type': 'str'}, 10430 'message': {'key': 'message', 'type': 'str'}, 10431 'target': {'key': 'target', 'type': 'str'}, 10432 'details': {'key': 'details', 'type': '[NewErrorResponse]'}, 10433 'additional_info': {'key': 'additionalInfo', 'type': '[ErrorAdditionalInfo]'}, 10434 } 10435 10436 def __init__(self, **kwargs): 10437 super(NewErrorResponseError, self).__init__(**kwargs) 10438 self.code = None 10439 self.message = None 10440 self.target = None 10441 self.details = None 10442 self.additional_info = None 10443 10444 10445class OperationResultInfo(OperationResultInfoBase): 10446 """Operation result info. 10447 10448 All required parameters must be populated in order to send to Azure. 10449 10450 :param object_type: Required. Constant filled by server. 10451 :type object_type: str 10452 :param job_list: List of jobs created by this operation. 10453 :type job_list: list[str] 10454 """ 10455 10456 _validation = { 10457 'object_type': {'required': True}, 10458 } 10459 10460 _attribute_map = { 10461 'object_type': {'key': 'objectType', 'type': 'str'}, 10462 'job_list': {'key': 'jobList', 'type': '[str]'}, 10463 } 10464 10465 def __init__(self, **kwargs): 10466 super(OperationResultInfo, self).__init__(**kwargs) 10467 self.job_list = kwargs.get('job_list', None) 10468 self.object_type = 'OperationResultInfo' 10469 10470 10471class OperationWorkerResponse(Model): 10472 """This is the base class for operation result responses. 10473 10474 :param status_code: HTTP Status Code of the operation. Possible values 10475 include: 'Continue', 'SwitchingProtocols', 'OK', 'Created', 'Accepted', 10476 'NonAuthoritativeInformation', 'NoContent', 'ResetContent', 10477 'PartialContent', 'MultipleChoices', 'Ambiguous', 'MovedPermanently', 10478 'Moved', 'Found', 'Redirect', 'SeeOther', 'RedirectMethod', 'NotModified', 10479 'UseProxy', 'Unused', 'TemporaryRedirect', 'RedirectKeepVerb', 10480 'BadRequest', 'Unauthorized', 'PaymentRequired', 'Forbidden', 'NotFound', 10481 'MethodNotAllowed', 'NotAcceptable', 'ProxyAuthenticationRequired', 10482 'RequestTimeout', 'Conflict', 'Gone', 'LengthRequired', 10483 'PreconditionFailed', 'RequestEntityTooLarge', 'RequestUriTooLong', 10484 'UnsupportedMediaType', 'RequestedRangeNotSatisfiable', 10485 'ExpectationFailed', 'UpgradeRequired', 'InternalServerError', 10486 'NotImplemented', 'BadGateway', 'ServiceUnavailable', 'GatewayTimeout', 10487 'HttpVersionNotSupported' 10488 :type status_code: str or 10489 ~azure.mgmt.recoveryservicesbackup.models.HttpStatusCode 10490 :param headers: HTTP headers associated with this operation. 10491 :type headers: dict[str, list[str]] 10492 """ 10493 10494 _attribute_map = { 10495 'status_code': {'key': 'statusCode', 'type': 'HttpStatusCode'}, 10496 'headers': {'key': 'headers', 'type': '{[str]}'}, 10497 } 10498 10499 def __init__(self, **kwargs): 10500 super(OperationWorkerResponse, self).__init__(**kwargs) 10501 self.status_code = kwargs.get('status_code', None) 10502 self.headers = kwargs.get('headers', None) 10503 10504 10505class OperationResultInfoBaseResource(OperationWorkerResponse): 10506 """Base class for operation result info. 10507 10508 :param status_code: HTTP Status Code of the operation. Possible values 10509 include: 'Continue', 'SwitchingProtocols', 'OK', 'Created', 'Accepted', 10510 'NonAuthoritativeInformation', 'NoContent', 'ResetContent', 10511 'PartialContent', 'MultipleChoices', 'Ambiguous', 'MovedPermanently', 10512 'Moved', 'Found', 'Redirect', 'SeeOther', 'RedirectMethod', 'NotModified', 10513 'UseProxy', 'Unused', 'TemporaryRedirect', 'RedirectKeepVerb', 10514 'BadRequest', 'Unauthorized', 'PaymentRequired', 'Forbidden', 'NotFound', 10515 'MethodNotAllowed', 'NotAcceptable', 'ProxyAuthenticationRequired', 10516 'RequestTimeout', 'Conflict', 'Gone', 'LengthRequired', 10517 'PreconditionFailed', 'RequestEntityTooLarge', 'RequestUriTooLong', 10518 'UnsupportedMediaType', 'RequestedRangeNotSatisfiable', 10519 'ExpectationFailed', 'UpgradeRequired', 'InternalServerError', 10520 'NotImplemented', 'BadGateway', 'ServiceUnavailable', 'GatewayTimeout', 10521 'HttpVersionNotSupported' 10522 :type status_code: str or 10523 ~azure.mgmt.recoveryservicesbackup.models.HttpStatusCode 10524 :param headers: HTTP headers associated with this operation. 10525 :type headers: dict[str, list[str]] 10526 :param operation: OperationResultInfoBaseResource operation 10527 :type operation: 10528 ~azure.mgmt.recoveryservicesbackup.models.OperationResultInfoBase 10529 """ 10530 10531 _attribute_map = { 10532 'status_code': {'key': 'statusCode', 'type': 'HttpStatusCode'}, 10533 'headers': {'key': 'headers', 'type': '{[str]}'}, 10534 'operation': {'key': 'operation', 'type': 'OperationResultInfoBase'}, 10535 } 10536 10537 def __init__(self, **kwargs): 10538 super(OperationResultInfoBaseResource, self).__init__(**kwargs) 10539 self.operation = kwargs.get('operation', None) 10540 10541 10542class OperationStatus(Model): 10543 """Operation status. 10544 10545 :param id: ID of the operation. 10546 :type id: str 10547 :param name: Name of the operation. 10548 :type name: str 10549 :param status: Operation status. Possible values include: 'Invalid', 10550 'InProgress', 'Succeeded', 'Failed', 'Canceled' 10551 :type status: str or 10552 ~azure.mgmt.recoveryservicesbackup.models.OperationStatusValues 10553 :param start_time: Operation start time. Format: ISO-8601. 10554 :type start_time: datetime 10555 :param end_time: Operation end time. Format: ISO-8601. 10556 :type end_time: datetime 10557 :param error: Error information related to this operation. 10558 :type error: 10559 ~azure.mgmt.recoveryservicesbackup.models.OperationStatusError 10560 :param properties: Additional information associated with this operation. 10561 :type properties: 10562 ~azure.mgmt.recoveryservicesbackup.models.OperationStatusExtendedInfo 10563 """ 10564 10565 _attribute_map = { 10566 'id': {'key': 'id', 'type': 'str'}, 10567 'name': {'key': 'name', 'type': 'str'}, 10568 'status': {'key': 'status', 'type': 'str'}, 10569 'start_time': {'key': 'startTime', 'type': 'iso-8601'}, 10570 'end_time': {'key': 'endTime', 'type': 'iso-8601'}, 10571 'error': {'key': 'error', 'type': 'OperationStatusError'}, 10572 'properties': {'key': 'properties', 'type': 'OperationStatusExtendedInfo'}, 10573 } 10574 10575 def __init__(self, **kwargs): 10576 super(OperationStatus, self).__init__(**kwargs) 10577 self.id = kwargs.get('id', None) 10578 self.name = kwargs.get('name', None) 10579 self.status = kwargs.get('status', None) 10580 self.start_time = kwargs.get('start_time', None) 10581 self.end_time = kwargs.get('end_time', None) 10582 self.error = kwargs.get('error', None) 10583 self.properties = kwargs.get('properties', None) 10584 10585 10586class OperationStatusError(Model): 10587 """Error information associated with operation status call. 10588 10589 :param code: Error code of the operation failure. 10590 :type code: str 10591 :param message: Error message displayed if the operation failure. 10592 :type message: str 10593 """ 10594 10595 _attribute_map = { 10596 'code': {'key': 'code', 'type': 'str'}, 10597 'message': {'key': 'message', 'type': 'str'}, 10598 } 10599 10600 def __init__(self, **kwargs): 10601 super(OperationStatusError, self).__init__(**kwargs) 10602 self.code = kwargs.get('code', None) 10603 self.message = kwargs.get('message', None) 10604 10605 10606class OperationStatusExtendedInfo(Model): 10607 """Base class for additional information of operation status. 10608 10609 You probably want to use the sub-classes and not this class directly. Known 10610 sub-classes are: OperationStatusJobExtendedInfo, 10611 OperationStatusJobsExtendedInfo, OperationStatusProvisionILRExtendedInfo, 10612 OperationStatusRecoveryPointExtendedInfo 10613 10614 All required parameters must be populated in order to send to Azure. 10615 10616 :param object_type: Required. Constant filled by server. 10617 :type object_type: str 10618 """ 10619 10620 _validation = { 10621 'object_type': {'required': True}, 10622 } 10623 10624 _attribute_map = { 10625 'object_type': {'key': 'objectType', 'type': 'str'}, 10626 } 10627 10628 _subtype_map = { 10629 'object_type': {'OperationStatusJobExtendedInfo': 'OperationStatusJobExtendedInfo', 'OperationStatusJobsExtendedInfo': 'OperationStatusJobsExtendedInfo', 'OperationStatusProvisionILRExtendedInfo': 'OperationStatusProvisionILRExtendedInfo', 'OperationStatusRecoveryPointExtendedInfo': 'OperationStatusRecoveryPointExtendedInfo'} 10630 } 10631 10632 def __init__(self, **kwargs): 10633 super(OperationStatusExtendedInfo, self).__init__(**kwargs) 10634 self.object_type = None 10635 10636 10637class OperationStatusJobExtendedInfo(OperationStatusExtendedInfo): 10638 """Operation status job extended info. 10639 10640 All required parameters must be populated in order to send to Azure. 10641 10642 :param object_type: Required. Constant filled by server. 10643 :type object_type: str 10644 :param job_id: ID of the job created for this protected item. 10645 :type job_id: str 10646 """ 10647 10648 _validation = { 10649 'object_type': {'required': True}, 10650 } 10651 10652 _attribute_map = { 10653 'object_type': {'key': 'objectType', 'type': 'str'}, 10654 'job_id': {'key': 'jobId', 'type': 'str'}, 10655 } 10656 10657 def __init__(self, **kwargs): 10658 super(OperationStatusJobExtendedInfo, self).__init__(**kwargs) 10659 self.job_id = kwargs.get('job_id', None) 10660 self.object_type = 'OperationStatusJobExtendedInfo' 10661 10662 10663class OperationStatusJobsExtendedInfo(OperationStatusExtendedInfo): 10664 """Operation status extended info for list of jobs. 10665 10666 All required parameters must be populated in order to send to Azure. 10667 10668 :param object_type: Required. Constant filled by server. 10669 :type object_type: str 10670 :param job_ids: IDs of the jobs created for the protected item. 10671 :type job_ids: list[str] 10672 :param failed_jobs_error: Stores all the failed jobs along with the 10673 corresponding error codes. 10674 :type failed_jobs_error: dict[str, str] 10675 """ 10676 10677 _validation = { 10678 'object_type': {'required': True}, 10679 } 10680 10681 _attribute_map = { 10682 'object_type': {'key': 'objectType', 'type': 'str'}, 10683 'job_ids': {'key': 'jobIds', 'type': '[str]'}, 10684 'failed_jobs_error': {'key': 'failedJobsError', 'type': '{str}'}, 10685 } 10686 10687 def __init__(self, **kwargs): 10688 super(OperationStatusJobsExtendedInfo, self).__init__(**kwargs) 10689 self.job_ids = kwargs.get('job_ids', None) 10690 self.failed_jobs_error = kwargs.get('failed_jobs_error', None) 10691 self.object_type = 'OperationStatusJobsExtendedInfo' 10692 10693 10694class OperationStatusProvisionILRExtendedInfo(OperationStatusExtendedInfo): 10695 """Operation status extended info for ILR provision action. 10696 10697 All required parameters must be populated in order to send to Azure. 10698 10699 :param object_type: Required. Constant filled by server. 10700 :type object_type: str 10701 :param recovery_target: Target details for file / folder restore. 10702 :type recovery_target: 10703 ~azure.mgmt.recoveryservicesbackup.models.InstantItemRecoveryTarget 10704 """ 10705 10706 _validation = { 10707 'object_type': {'required': True}, 10708 } 10709 10710 _attribute_map = { 10711 'object_type': {'key': 'objectType', 'type': 'str'}, 10712 'recovery_target': {'key': 'recoveryTarget', 'type': 'InstantItemRecoveryTarget'}, 10713 } 10714 10715 def __init__(self, **kwargs): 10716 super(OperationStatusProvisionILRExtendedInfo, self).__init__(**kwargs) 10717 self.recovery_target = kwargs.get('recovery_target', None) 10718 self.object_type = 'OperationStatusProvisionILRExtendedInfo' 10719 10720 10721class OperationStatusRecoveryPointExtendedInfo(OperationStatusExtendedInfo): 10722 """Operation status extended info for Updated Recovery Point. 10723 10724 All required parameters must be populated in order to send to Azure. 10725 10726 :param object_type: Required. Constant filled by server. 10727 :type object_type: str 10728 :param updated_recovery_point: Recovery Point info with updated source 10729 snapshot URI 10730 :type updated_recovery_point: 10731 ~azure.mgmt.recoveryservicesbackup.models.RecoveryPoint 10732 :param deleted_backup_item_version: In case the share is in soft-deleted 10733 state, populate this field with deleted backup item 10734 :type deleted_backup_item_version: str 10735 """ 10736 10737 _validation = { 10738 'object_type': {'required': True}, 10739 } 10740 10741 _attribute_map = { 10742 'object_type': {'key': 'objectType', 'type': 'str'}, 10743 'updated_recovery_point': {'key': 'updatedRecoveryPoint', 'type': 'RecoveryPoint'}, 10744 'deleted_backup_item_version': {'key': 'deletedBackupItemVersion', 'type': 'str'}, 10745 } 10746 10747 def __init__(self, **kwargs): 10748 super(OperationStatusRecoveryPointExtendedInfo, self).__init__(**kwargs) 10749 self.updated_recovery_point = kwargs.get('updated_recovery_point', None) 10750 self.deleted_backup_item_version = kwargs.get('deleted_backup_item_version', None) 10751 self.object_type = 'OperationStatusRecoveryPointExtendedInfo' 10752 10753 10754class PointInTimeRange(Model): 10755 """Provides details for log ranges. 10756 10757 :param start_time: Start time of the time range for log recovery. 10758 :type start_time: datetime 10759 :param end_time: End time of the time range for log recovery. 10760 :type end_time: datetime 10761 """ 10762 10763 _attribute_map = { 10764 'start_time': {'key': 'startTime', 'type': 'iso-8601'}, 10765 'end_time': {'key': 'endTime', 'type': 'iso-8601'}, 10766 } 10767 10768 def __init__(self, **kwargs): 10769 super(PointInTimeRange, self).__init__(**kwargs) 10770 self.start_time = kwargs.get('start_time', None) 10771 self.end_time = kwargs.get('end_time', None) 10772 10773 10774class PreBackupValidation(Model): 10775 """Pre-backup validation for Azure VM Workload provider. 10776 10777 :param status: Status of protectable item, i.e. 10778 InProgress,Succeeded,Failed. Possible values include: 'Invalid', 10779 'Success', 'Failed' 10780 :type status: str or 10781 ~azure.mgmt.recoveryservicesbackup.models.InquiryStatus 10782 :param code: Error code of protectable item 10783 :type code: str 10784 :param message: Message corresponding to the error code for the 10785 protectable item 10786 :type message: str 10787 """ 10788 10789 _attribute_map = { 10790 'status': {'key': 'status', 'type': 'str'}, 10791 'code': {'key': 'code', 'type': 'str'}, 10792 'message': {'key': 'message', 'type': 'str'}, 10793 } 10794 10795 def __init__(self, **kwargs): 10796 super(PreBackupValidation, self).__init__(**kwargs) 10797 self.status = kwargs.get('status', None) 10798 self.code = kwargs.get('code', None) 10799 self.message = kwargs.get('message', None) 10800 10801 10802class PrepareDataMoveRequest(Model): 10803 """Prepare DataMove Request. 10804 10805 All required parameters must be populated in order to send to Azure. 10806 10807 :param target_resource_id: Required. ARM Id of target vault 10808 :type target_resource_id: str 10809 :param target_region: Required. Target Region 10810 :type target_region: str 10811 :param data_move_level: Required. DataMove Level. Possible values include: 10812 'Invalid', 'Vault', 'Container' 10813 :type data_move_level: str or 10814 ~azure.mgmt.recoveryservicesbackup.models.DataMoveLevel 10815 :param source_container_arm_ids: Source Container ArmIds 10816 This needs to be populated only if DataMoveLevel is set to container 10817 :type source_container_arm_ids: list[str] 10818 :param ignore_moved: Ignore the artifacts which are already moved. 10819 :type ignore_moved: bool 10820 """ 10821 10822 _validation = { 10823 'target_resource_id': {'required': True}, 10824 'target_region': {'required': True}, 10825 'data_move_level': {'required': True}, 10826 } 10827 10828 _attribute_map = { 10829 'target_resource_id': {'key': 'targetResourceId', 'type': 'str'}, 10830 'target_region': {'key': 'targetRegion', 'type': 'str'}, 10831 'data_move_level': {'key': 'dataMoveLevel', 'type': 'str'}, 10832 'source_container_arm_ids': {'key': 'sourceContainerArmIds', 'type': '[str]'}, 10833 'ignore_moved': {'key': 'ignoreMoved', 'type': 'bool'}, 10834 } 10835 10836 def __init__(self, **kwargs): 10837 super(PrepareDataMoveRequest, self).__init__(**kwargs) 10838 self.target_resource_id = kwargs.get('target_resource_id', None) 10839 self.target_region = kwargs.get('target_region', None) 10840 self.data_move_level = kwargs.get('data_move_level', None) 10841 self.source_container_arm_ids = kwargs.get('source_container_arm_ids', None) 10842 self.ignore_moved = kwargs.get('ignore_moved', None) 10843 10844 10845class VaultStorageConfigOperationResultResponse(Model): 10846 """Operation result response for Vault Storage Config. 10847 10848 You probably want to use the sub-classes and not this class directly. Known 10849 sub-classes are: PrepareDataMoveResponse 10850 10851 All required parameters must be populated in order to send to Azure. 10852 10853 :param object_type: Required. Constant filled by server. 10854 :type object_type: str 10855 """ 10856 10857 _validation = { 10858 'object_type': {'required': True}, 10859 } 10860 10861 _attribute_map = { 10862 'object_type': {'key': 'objectType', 'type': 'str'}, 10863 } 10864 10865 _subtype_map = { 10866 'object_type': {'PrepareDataMoveResponse': 'PrepareDataMoveResponse'} 10867 } 10868 10869 def __init__(self, **kwargs): 10870 super(VaultStorageConfigOperationResultResponse, self).__init__(**kwargs) 10871 self.object_type = None 10872 10873 10874class PrepareDataMoveResponse(VaultStorageConfigOperationResultResponse): 10875 """Prepare DataMove Response. 10876 10877 All required parameters must be populated in order to send to Azure. 10878 10879 :param object_type: Required. Constant filled by server. 10880 :type object_type: str 10881 :param correlation_id: Co-relationId for move operation 10882 :type correlation_id: str 10883 :param source_vault_properties: Source Vault Properties 10884 :type source_vault_properties: dict[str, str] 10885 """ 10886 10887 _validation = { 10888 'object_type': {'required': True}, 10889 } 10890 10891 _attribute_map = { 10892 'object_type': {'key': 'objectType', 'type': 'str'}, 10893 'correlation_id': {'key': 'correlationId', 'type': 'str'}, 10894 'source_vault_properties': {'key': 'sourceVaultProperties', 'type': '{str}'}, 10895 } 10896 10897 def __init__(self, **kwargs): 10898 super(PrepareDataMoveResponse, self).__init__(**kwargs) 10899 self.correlation_id = kwargs.get('correlation_id', None) 10900 self.source_vault_properties = kwargs.get('source_vault_properties', None) 10901 self.object_type = 'PrepareDataMoveResponse' 10902 10903 10904class PreValidateEnableBackupRequest(Model): 10905 """Contract to validate if backup can be enabled on the given resource in a 10906 given vault and given configuration. 10907 It will validate followings 10908 1. Vault capacity 10909 2. VM is already protected 10910 3. Any VM related configuration passed in properties. 10911 10912 :param resource_type: ProtectedItem Type- VM, SqlDataBase, AzureFileShare 10913 etc. Possible values include: 'Invalid', 'VM', 'FileFolder', 'AzureSqlDb', 10914 'SQLDB', 'Exchange', 'Sharepoint', 'VMwareVM', 'SystemState', 'Client', 10915 'GenericDataSource', 'SQLDataBase', 'AzureFileShare', 'SAPHanaDatabase', 10916 'SAPAseDatabase' 10917 :type resource_type: str or 10918 ~azure.mgmt.recoveryservicesbackup.models.DataSourceType 10919 :param resource_id: ARM Virtual Machine Id 10920 :type resource_id: str 10921 :param vault_id: ARM id of the Recovery Services Vault 10922 :type vault_id: str 10923 :param properties: Configuration of VM if any needs to be validated like 10924 OS type etc 10925 :type properties: str 10926 """ 10927 10928 _attribute_map = { 10929 'resource_type': {'key': 'resourceType', 'type': 'str'}, 10930 'resource_id': {'key': 'resourceId', 'type': 'str'}, 10931 'vault_id': {'key': 'vaultId', 'type': 'str'}, 10932 'properties': {'key': 'properties', 'type': 'str'}, 10933 } 10934 10935 def __init__(self, **kwargs): 10936 super(PreValidateEnableBackupRequest, self).__init__(**kwargs) 10937 self.resource_type = kwargs.get('resource_type', None) 10938 self.resource_id = kwargs.get('resource_id', None) 10939 self.vault_id = kwargs.get('vault_id', None) 10940 self.properties = kwargs.get('properties', None) 10941 10942 10943class PreValidateEnableBackupResponse(Model): 10944 """Response contract for enable backup validation request. 10945 10946 :param status: Validation Status. Possible values include: 'Invalid', 10947 'Succeeded', 'Failed' 10948 :type status: str or 10949 ~azure.mgmt.recoveryservicesbackup.models.ValidationStatus 10950 :param error_code: Response error code 10951 :type error_code: str 10952 :param error_message: Response error message 10953 :type error_message: str 10954 :param recommendation: Recommended action for user 10955 :type recommendation: str 10956 :param container_name: Specifies the product specific container name. E.g. 10957 iaasvmcontainer;iaasvmcontainer;rgname;vmname. This is required 10958 for portal 10959 :type container_name: str 10960 :param protected_item_name: Specifies the product specific ds name. E.g. 10961 vm;iaasvmcontainer;rgname;vmname. This is required for portal 10962 :type protected_item_name: str 10963 """ 10964 10965 _attribute_map = { 10966 'status': {'key': 'status', 'type': 'str'}, 10967 'error_code': {'key': 'errorCode', 'type': 'str'}, 10968 'error_message': {'key': 'errorMessage', 'type': 'str'}, 10969 'recommendation': {'key': 'recommendation', 'type': 'str'}, 10970 'container_name': {'key': 'containerName', 'type': 'str'}, 10971 'protected_item_name': {'key': 'protectedItemName', 'type': 'str'}, 10972 } 10973 10974 def __init__(self, **kwargs): 10975 super(PreValidateEnableBackupResponse, self).__init__(**kwargs) 10976 self.status = kwargs.get('status', None) 10977 self.error_code = kwargs.get('error_code', None) 10978 self.error_message = kwargs.get('error_message', None) 10979 self.recommendation = kwargs.get('recommendation', None) 10980 self.container_name = kwargs.get('container_name', None) 10981 self.protected_item_name = kwargs.get('protected_item_name', None) 10982 10983 10984class PrivateEndpoint(Model): 10985 """The Private Endpoint network resource that is linked to the Private 10986 Endpoint connection. 10987 10988 :param id: Gets or sets id 10989 :type id: str 10990 """ 10991 10992 _attribute_map = { 10993 'id': {'key': 'id', 'type': 'str'}, 10994 } 10995 10996 def __init__(self, **kwargs): 10997 super(PrivateEndpoint, self).__init__(**kwargs) 10998 self.id = kwargs.get('id', None) 10999 11000 11001class PrivateEndpointConnection(Model): 11002 """Private Endpoint Connection Response Properties. 11003 11004 :param provisioning_state: Gets or sets provisioning state of the private 11005 endpoint connection. Possible values include: 'Succeeded', 'Deleting', 11006 'Failed', 'Pending' 11007 :type provisioning_state: str or 11008 ~azure.mgmt.recoveryservicesbackup.models.ProvisioningState 11009 :param private_endpoint: Gets or sets private endpoint associated with the 11010 private endpoint connection 11011 :type private_endpoint: 11012 ~azure.mgmt.recoveryservicesbackup.models.PrivateEndpoint 11013 :param private_link_service_connection_state: Gets or sets private link 11014 service connection state 11015 :type private_link_service_connection_state: 11016 ~azure.mgmt.recoveryservicesbackup.models.PrivateLinkServiceConnectionState 11017 """ 11018 11019 _attribute_map = { 11020 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, 11021 'private_endpoint': {'key': 'privateEndpoint', 'type': 'PrivateEndpoint'}, 11022 'private_link_service_connection_state': {'key': 'privateLinkServiceConnectionState', 'type': 'PrivateLinkServiceConnectionState'}, 11023 } 11024 11025 def __init__(self, **kwargs): 11026 super(PrivateEndpointConnection, self).__init__(**kwargs) 11027 self.provisioning_state = kwargs.get('provisioning_state', None) 11028 self.private_endpoint = kwargs.get('private_endpoint', None) 11029 self.private_link_service_connection_state = kwargs.get('private_link_service_connection_state', None) 11030 11031 11032class PrivateEndpointConnectionResource(Resource): 11033 """Private Endpoint Connection Response Properties. 11034 11035 Variables are only populated by the server, and will be ignored when 11036 sending a request. 11037 11038 :ivar id: Resource Id represents the complete path to the resource. 11039 :vartype id: str 11040 :ivar name: Resource name associated with the resource. 11041 :vartype name: str 11042 :ivar type: Resource type represents the complete path of the form 11043 Namespace/ResourceType/ResourceType/... 11044 :vartype type: str 11045 :param location: Resource location. 11046 :type location: str 11047 :param tags: Resource tags. 11048 :type tags: dict[str, str] 11049 :param e_tag: Optional ETag. 11050 :type e_tag: str 11051 :param properties: PrivateEndpointConnectionResource properties 11052 :type properties: 11053 ~azure.mgmt.recoveryservicesbackup.models.PrivateEndpointConnection 11054 """ 11055 11056 _validation = { 11057 'id': {'readonly': True}, 11058 'name': {'readonly': True}, 11059 'type': {'readonly': True}, 11060 } 11061 11062 _attribute_map = { 11063 'id': {'key': 'id', 'type': 'str'}, 11064 'name': {'key': 'name', 'type': 'str'}, 11065 'type': {'key': 'type', 'type': 'str'}, 11066 'location': {'key': 'location', 'type': 'str'}, 11067 'tags': {'key': 'tags', 'type': '{str}'}, 11068 'e_tag': {'key': 'eTag', 'type': 'str'}, 11069 'properties': {'key': 'properties', 'type': 'PrivateEndpointConnection'}, 11070 } 11071 11072 def __init__(self, **kwargs): 11073 super(PrivateEndpointConnectionResource, self).__init__(**kwargs) 11074 self.properties = kwargs.get('properties', None) 11075 11076 11077class PrivateLinkServiceConnectionState(Model): 11078 """Private Link Service Connection State. 11079 11080 :param status: Gets or sets the status. Possible values include: 11081 'Pending', 'Approved', 'Rejected', 'Disconnected' 11082 :type status: str or 11083 ~azure.mgmt.recoveryservicesbackup.models.PrivateEndpointConnectionStatus 11084 :param description: Gets or sets description 11085 :type description: str 11086 :param action_required: Gets or sets actions required 11087 :type action_required: str 11088 """ 11089 11090 _attribute_map = { 11091 'status': {'key': 'status', 'type': 'str'}, 11092 'description': {'key': 'description', 'type': 'str'}, 11093 'action_required': {'key': 'actionRequired', 'type': 'str'}, 11094 } 11095 11096 def __init__(self, **kwargs): 11097 super(PrivateLinkServiceConnectionState, self).__init__(**kwargs) 11098 self.status = kwargs.get('status', None) 11099 self.description = kwargs.get('description', None) 11100 self.action_required = kwargs.get('action_required', None) 11101 11102 11103class ProtectableContainerResource(Resource): 11104 """Protectable Container Class. 11105 11106 Variables are only populated by the server, and will be ignored when 11107 sending a request. 11108 11109 :ivar id: Resource Id represents the complete path to the resource. 11110 :vartype id: str 11111 :ivar name: Resource name associated with the resource. 11112 :vartype name: str 11113 :ivar type: Resource type represents the complete path of the form 11114 Namespace/ResourceType/ResourceType/... 11115 :vartype type: str 11116 :param location: Resource location. 11117 :type location: str 11118 :param tags: Resource tags. 11119 :type tags: dict[str, str] 11120 :param e_tag: Optional ETag. 11121 :type e_tag: str 11122 :param properties: ProtectableContainerResource properties 11123 :type properties: 11124 ~azure.mgmt.recoveryservicesbackup.models.ProtectableContainer 11125 """ 11126 11127 _validation = { 11128 'id': {'readonly': True}, 11129 'name': {'readonly': True}, 11130 'type': {'readonly': True}, 11131 } 11132 11133 _attribute_map = { 11134 'id': {'key': 'id', 'type': 'str'}, 11135 'name': {'key': 'name', 'type': 'str'}, 11136 'type': {'key': 'type', 'type': 'str'}, 11137 'location': {'key': 'location', 'type': 'str'}, 11138 'tags': {'key': 'tags', 'type': '{str}'}, 11139 'e_tag': {'key': 'eTag', 'type': 'str'}, 11140 'properties': {'key': 'properties', 'type': 'ProtectableContainer'}, 11141 } 11142 11143 def __init__(self, **kwargs): 11144 super(ProtectableContainerResource, self).__init__(**kwargs) 11145 self.properties = kwargs.get('properties', None) 11146 11147 11148class ProtectedItemQueryObject(Model): 11149 """Filters to list backup items. 11150 11151 :param health_state: Health State for the backed up item. Possible values 11152 include: 'Passed', 'ActionRequired', 'ActionSuggested', 'Invalid' 11153 :type health_state: str or 11154 ~azure.mgmt.recoveryservicesbackup.models.HealthState 11155 :param backup_management_type: Backup management type for the backed up 11156 item. Possible values include: 'Invalid', 'AzureIaasVM', 'MAB', 'DPM', 11157 'AzureBackupServer', 'AzureSql', 'AzureStorage', 'AzureWorkload', 11158 'DefaultBackup' 11159 :type backup_management_type: str or 11160 ~azure.mgmt.recoveryservicesbackup.models.BackupManagementType 11161 :param item_type: Type of workload this item represents. Possible values 11162 include: 'Invalid', 'VM', 'FileFolder', 'AzureSqlDb', 'SQLDB', 'Exchange', 11163 'Sharepoint', 'VMwareVM', 'SystemState', 'Client', 'GenericDataSource', 11164 'SQLDataBase', 'AzureFileShare', 'SAPHanaDatabase', 'SAPAseDatabase' 11165 :type item_type: str or 11166 ~azure.mgmt.recoveryservicesbackup.models.DataSourceType 11167 :param policy_name: Backup policy name associated with the backup item. 11168 :type policy_name: str 11169 :param container_name: Name of the container. 11170 :type container_name: str 11171 :param backup_engine_name: Backup Engine name 11172 :type backup_engine_name: str 11173 :param friendly_name: Friendly name of protected item 11174 :type friendly_name: str 11175 :param fabric_name: Name of the fabric. 11176 :type fabric_name: str 11177 :param backup_set_name: Name of the backup set. 11178 :type backup_set_name: str 11179 """ 11180 11181 _attribute_map = { 11182 'health_state': {'key': 'healthState', 'type': 'str'}, 11183 'backup_management_type': {'key': 'backupManagementType', 'type': 'str'}, 11184 'item_type': {'key': 'itemType', 'type': 'str'}, 11185 'policy_name': {'key': 'policyName', 'type': 'str'}, 11186 'container_name': {'key': 'containerName', 'type': 'str'}, 11187 'backup_engine_name': {'key': 'backupEngineName', 'type': 'str'}, 11188 'friendly_name': {'key': 'friendlyName', 'type': 'str'}, 11189 'fabric_name': {'key': 'fabricName', 'type': 'str'}, 11190 'backup_set_name': {'key': 'backupSetName', 'type': 'str'}, 11191 } 11192 11193 def __init__(self, **kwargs): 11194 super(ProtectedItemQueryObject, self).__init__(**kwargs) 11195 self.health_state = kwargs.get('health_state', None) 11196 self.backup_management_type = kwargs.get('backup_management_type', None) 11197 self.item_type = kwargs.get('item_type', None) 11198 self.policy_name = kwargs.get('policy_name', None) 11199 self.container_name = kwargs.get('container_name', None) 11200 self.backup_engine_name = kwargs.get('backup_engine_name', None) 11201 self.friendly_name = kwargs.get('friendly_name', None) 11202 self.fabric_name = kwargs.get('fabric_name', None) 11203 self.backup_set_name = kwargs.get('backup_set_name', None) 11204 11205 11206class ProtectedItemResource(Resource): 11207 """Base class for backup items. 11208 11209 Variables are only populated by the server, and will be ignored when 11210 sending a request. 11211 11212 :ivar id: Resource Id represents the complete path to the resource. 11213 :vartype id: str 11214 :ivar name: Resource name associated with the resource. 11215 :vartype name: str 11216 :ivar type: Resource type represents the complete path of the form 11217 Namespace/ResourceType/ResourceType/... 11218 :vartype type: str 11219 :param location: Resource location. 11220 :type location: str 11221 :param tags: Resource tags. 11222 :type tags: dict[str, str] 11223 :param e_tag: Optional ETag. 11224 :type e_tag: str 11225 :param properties: ProtectedItemResource properties 11226 :type properties: ~azure.mgmt.recoveryservicesbackup.models.ProtectedItem 11227 """ 11228 11229 _validation = { 11230 'id': {'readonly': True}, 11231 'name': {'readonly': True}, 11232 'type': {'readonly': True}, 11233 } 11234 11235 _attribute_map = { 11236 'id': {'key': 'id', 'type': 'str'}, 11237 'name': {'key': 'name', 'type': 'str'}, 11238 'type': {'key': 'type', 'type': 'str'}, 11239 'location': {'key': 'location', 'type': 'str'}, 11240 'tags': {'key': 'tags', 'type': '{str}'}, 11241 'e_tag': {'key': 'eTag', 'type': 'str'}, 11242 'properties': {'key': 'properties', 'type': 'ProtectedItem'}, 11243 } 11244 11245 def __init__(self, **kwargs): 11246 super(ProtectedItemResource, self).__init__(**kwargs) 11247 self.properties = kwargs.get('properties', None) 11248 11249 11250class ProtectionContainerResource(Resource): 11251 """Base class for container with backup items. Containers with specific 11252 workloads are derived from this class. 11253 11254 Variables are only populated by the server, and will be ignored when 11255 sending a request. 11256 11257 :ivar id: Resource Id represents the complete path to the resource. 11258 :vartype id: str 11259 :ivar name: Resource name associated with the resource. 11260 :vartype name: str 11261 :ivar type: Resource type represents the complete path of the form 11262 Namespace/ResourceType/ResourceType/... 11263 :vartype type: str 11264 :param location: Resource location. 11265 :type location: str 11266 :param tags: Resource tags. 11267 :type tags: dict[str, str] 11268 :param e_tag: Optional ETag. 11269 :type e_tag: str 11270 :param properties: ProtectionContainerResource properties 11271 :type properties: 11272 ~azure.mgmt.recoveryservicesbackup.models.ProtectionContainer 11273 """ 11274 11275 _validation = { 11276 'id': {'readonly': True}, 11277 'name': {'readonly': True}, 11278 'type': {'readonly': True}, 11279 } 11280 11281 _attribute_map = { 11282 'id': {'key': 'id', 'type': 'str'}, 11283 'name': {'key': 'name', 'type': 'str'}, 11284 'type': {'key': 'type', 'type': 'str'}, 11285 'location': {'key': 'location', 'type': 'str'}, 11286 'tags': {'key': 'tags', 'type': '{str}'}, 11287 'e_tag': {'key': 'eTag', 'type': 'str'}, 11288 'properties': {'key': 'properties', 'type': 'ProtectionContainer'}, 11289 } 11290 11291 def __init__(self, **kwargs): 11292 super(ProtectionContainerResource, self).__init__(**kwargs) 11293 self.properties = kwargs.get('properties', None) 11294 11295 11296class ProtectionIntentQueryObject(Model): 11297 """Filters to list protection intent. 11298 11299 :param backup_management_type: Backup management type for the backed up 11300 item. Possible values include: 'Invalid', 'AzureIaasVM', 'MAB', 'DPM', 11301 'AzureBackupServer', 'AzureSql', 'AzureStorage', 'AzureWorkload', 11302 'DefaultBackup' 11303 :type backup_management_type: str or 11304 ~azure.mgmt.recoveryservicesbackup.models.BackupManagementType 11305 :param item_type: Type of workload this item represents. Possible values 11306 include: 'Invalid', 'SQLInstance', 'SQLAvailabilityGroupContainer' 11307 :type item_type: str or 11308 ~azure.mgmt.recoveryservicesbackup.models.IntentItemType 11309 :param parent_name: Parent name of the intent 11310 :type parent_name: str 11311 :param item_name: Item name of the intent 11312 :type item_name: str 11313 """ 11314 11315 _attribute_map = { 11316 'backup_management_type': {'key': 'backupManagementType', 'type': 'str'}, 11317 'item_type': {'key': 'itemType', 'type': 'str'}, 11318 'parent_name': {'key': 'parentName', 'type': 'str'}, 11319 'item_name': {'key': 'itemName', 'type': 'str'}, 11320 } 11321 11322 def __init__(self, **kwargs): 11323 super(ProtectionIntentQueryObject, self).__init__(**kwargs) 11324 self.backup_management_type = kwargs.get('backup_management_type', None) 11325 self.item_type = kwargs.get('item_type', None) 11326 self.parent_name = kwargs.get('parent_name', None) 11327 self.item_name = kwargs.get('item_name', None) 11328 11329 11330class ProtectionIntentResource(Resource): 11331 """Base class for backup ProtectionIntent. 11332 11333 Variables are only populated by the server, and will be ignored when 11334 sending a request. 11335 11336 :ivar id: Resource Id represents the complete path to the resource. 11337 :vartype id: str 11338 :ivar name: Resource name associated with the resource. 11339 :vartype name: str 11340 :ivar type: Resource type represents the complete path of the form 11341 Namespace/ResourceType/ResourceType/... 11342 :vartype type: str 11343 :param location: Resource location. 11344 :type location: str 11345 :param tags: Resource tags. 11346 :type tags: dict[str, str] 11347 :param e_tag: Optional ETag. 11348 :type e_tag: str 11349 :param properties: ProtectionIntentResource properties 11350 :type properties: 11351 ~azure.mgmt.recoveryservicesbackup.models.ProtectionIntent 11352 """ 11353 11354 _validation = { 11355 'id': {'readonly': True}, 11356 'name': {'readonly': True}, 11357 'type': {'readonly': True}, 11358 } 11359 11360 _attribute_map = { 11361 'id': {'key': 'id', 'type': 'str'}, 11362 'name': {'key': 'name', 'type': 'str'}, 11363 'type': {'key': 'type', 'type': 'str'}, 11364 'location': {'key': 'location', 'type': 'str'}, 11365 'tags': {'key': 'tags', 'type': '{str}'}, 11366 'e_tag': {'key': 'eTag', 'type': 'str'}, 11367 'properties': {'key': 'properties', 'type': 'ProtectionIntent'}, 11368 } 11369 11370 def __init__(self, **kwargs): 11371 super(ProtectionIntentResource, self).__init__(**kwargs) 11372 self.properties = kwargs.get('properties', None) 11373 11374 11375class ProtectionPolicyQueryObject(Model): 11376 """Filters the list backup policies API. 11377 11378 :param backup_management_type: Backup management type for the backup 11379 policy. Possible values include: 'Invalid', 'AzureIaasVM', 'MAB', 'DPM', 11380 'AzureBackupServer', 'AzureSql', 'AzureStorage', 'AzureWorkload', 11381 'DefaultBackup' 11382 :type backup_management_type: str or 11383 ~azure.mgmt.recoveryservicesbackup.models.BackupManagementType 11384 :param fabric_name: Fabric name for filter 11385 :type fabric_name: str 11386 :param workload_type: Workload type for the backup policy. Possible values 11387 include: 'Invalid', 'VM', 'FileFolder', 'AzureSqlDb', 'SQLDB', 'Exchange', 11388 'Sharepoint', 'VMwareVM', 'SystemState', 'Client', 'GenericDataSource', 11389 'SQLDataBase', 'AzureFileShare', 'SAPHanaDatabase', 'SAPAseDatabase' 11390 :type workload_type: str or 11391 ~azure.mgmt.recoveryservicesbackup.models.WorkloadType 11392 """ 11393 11394 _attribute_map = { 11395 'backup_management_type': {'key': 'backupManagementType', 'type': 'str'}, 11396 'fabric_name': {'key': 'fabricName', 'type': 'str'}, 11397 'workload_type': {'key': 'workloadType', 'type': 'str'}, 11398 } 11399 11400 def __init__(self, **kwargs): 11401 super(ProtectionPolicyQueryObject, self).__init__(**kwargs) 11402 self.backup_management_type = kwargs.get('backup_management_type', None) 11403 self.fabric_name = kwargs.get('fabric_name', None) 11404 self.workload_type = kwargs.get('workload_type', None) 11405 11406 11407class ProtectionPolicyResource(Resource): 11408 """Base class for backup policy. Workload-specific backup policies are derived 11409 from this class. 11410 11411 Variables are only populated by the server, and will be ignored when 11412 sending a request. 11413 11414 :ivar id: Resource Id represents the complete path to the resource. 11415 :vartype id: str 11416 :ivar name: Resource name associated with the resource. 11417 :vartype name: str 11418 :ivar type: Resource type represents the complete path of the form 11419 Namespace/ResourceType/ResourceType/... 11420 :vartype type: str 11421 :param location: Resource location. 11422 :type location: str 11423 :param tags: Resource tags. 11424 :type tags: dict[str, str] 11425 :param e_tag: Optional ETag. 11426 :type e_tag: str 11427 :param properties: ProtectionPolicyResource properties 11428 :type properties: 11429 ~azure.mgmt.recoveryservicesbackup.models.ProtectionPolicy 11430 """ 11431 11432 _validation = { 11433 'id': {'readonly': True}, 11434 'name': {'readonly': True}, 11435 'type': {'readonly': True}, 11436 } 11437 11438 _attribute_map = { 11439 'id': {'key': 'id', 'type': 'str'}, 11440 'name': {'key': 'name', 'type': 'str'}, 11441 'type': {'key': 'type', 'type': 'str'}, 11442 'location': {'key': 'location', 'type': 'str'}, 11443 'tags': {'key': 'tags', 'type': '{str}'}, 11444 'e_tag': {'key': 'eTag', 'type': 'str'}, 11445 'properties': {'key': 'properties', 'type': 'ProtectionPolicy'}, 11446 } 11447 11448 def __init__(self, **kwargs): 11449 super(ProtectionPolicyResource, self).__init__(**kwargs) 11450 self.properties = kwargs.get('properties', None) 11451 11452 11453class RecoveryPointDiskConfiguration(Model): 11454 """Disk configuration. 11455 11456 :param number_of_disks_included_in_backup: Number of disks included in 11457 backup 11458 :type number_of_disks_included_in_backup: int 11459 :param number_of_disks_attached_to_vm: Number of disks attached to the VM 11460 :type number_of_disks_attached_to_vm: int 11461 :param included_disk_list: Information of disks included in backup 11462 :type included_disk_list: 11463 list[~azure.mgmt.recoveryservicesbackup.models.DiskInformation] 11464 :param excluded_disk_list: Information of disks excluded from backup 11465 :type excluded_disk_list: 11466 list[~azure.mgmt.recoveryservicesbackup.models.DiskInformation] 11467 """ 11468 11469 _attribute_map = { 11470 'number_of_disks_included_in_backup': {'key': 'numberOfDisksIncludedInBackup', 'type': 'int'}, 11471 'number_of_disks_attached_to_vm': {'key': 'numberOfDisksAttachedToVm', 'type': 'int'}, 11472 'included_disk_list': {'key': 'includedDiskList', 'type': '[DiskInformation]'}, 11473 'excluded_disk_list': {'key': 'excludedDiskList', 'type': '[DiskInformation]'}, 11474 } 11475 11476 def __init__(self, **kwargs): 11477 super(RecoveryPointDiskConfiguration, self).__init__(**kwargs) 11478 self.number_of_disks_included_in_backup = kwargs.get('number_of_disks_included_in_backup', None) 11479 self.number_of_disks_attached_to_vm = kwargs.get('number_of_disks_attached_to_vm', None) 11480 self.included_disk_list = kwargs.get('included_disk_list', None) 11481 self.excluded_disk_list = kwargs.get('excluded_disk_list', None) 11482 11483 11484class RecoveryPointMoveReadinessInfo(Model): 11485 """RecoveryPointMoveReadinessInfo. 11486 11487 :param is_ready_for_move: 11488 :type is_ready_for_move: bool 11489 :param additional_info: 11490 :type additional_info: str 11491 """ 11492 11493 _attribute_map = { 11494 'is_ready_for_move': {'key': 'isReadyForMove', 'type': 'bool'}, 11495 'additional_info': {'key': 'additionalInfo', 'type': 'str'}, 11496 } 11497 11498 def __init__(self, **kwargs): 11499 super(RecoveryPointMoveReadinessInfo, self).__init__(**kwargs) 11500 self.is_ready_for_move = kwargs.get('is_ready_for_move', None) 11501 self.additional_info = kwargs.get('additional_info', None) 11502 11503 11504class RecoveryPointRehydrationInfo(Model): 11505 """RP Rehydration Info. 11506 11507 :param rehydration_retention_duration: How long the rehydrated RP should 11508 be kept 11509 Should be ISO8601 Duration format e.g. "P7D" 11510 :type rehydration_retention_duration: str 11511 :param rehydration_priority: Rehydration Priority. Possible values 11512 include: 'Standard', 'High' 11513 :type rehydration_priority: str or 11514 ~azure.mgmt.recoveryservicesbackup.models.RehydrationPriority 11515 """ 11516 11517 _attribute_map = { 11518 'rehydration_retention_duration': {'key': 'rehydrationRetentionDuration', 'type': 'str'}, 11519 'rehydration_priority': {'key': 'rehydrationPriority', 'type': 'str'}, 11520 } 11521 11522 def __init__(self, **kwargs): 11523 super(RecoveryPointRehydrationInfo, self).__init__(**kwargs) 11524 self.rehydration_retention_duration = kwargs.get('rehydration_retention_duration', None) 11525 self.rehydration_priority = kwargs.get('rehydration_priority', None) 11526 11527 11528class RecoveryPointResource(Resource): 11529 """Base class for backup copies. Workload-specific backup copies are derived 11530 from this class. 11531 11532 Variables are only populated by the server, and will be ignored when 11533 sending a request. 11534 11535 :ivar id: Resource Id represents the complete path to the resource. 11536 :vartype id: str 11537 :ivar name: Resource name associated with the resource. 11538 :vartype name: str 11539 :ivar type: Resource type represents the complete path of the form 11540 Namespace/ResourceType/ResourceType/... 11541 :vartype type: str 11542 :param location: Resource location. 11543 :type location: str 11544 :param tags: Resource tags. 11545 :type tags: dict[str, str] 11546 :param e_tag: Optional ETag. 11547 :type e_tag: str 11548 :param properties: RecoveryPointResource properties 11549 :type properties: ~azure.mgmt.recoveryservicesbackup.models.RecoveryPoint 11550 """ 11551 11552 _validation = { 11553 'id': {'readonly': True}, 11554 'name': {'readonly': True}, 11555 'type': {'readonly': True}, 11556 } 11557 11558 _attribute_map = { 11559 'id': {'key': 'id', 'type': 'str'}, 11560 'name': {'key': 'name', 'type': 'str'}, 11561 'type': {'key': 'type', 'type': 'str'}, 11562 'location': {'key': 'location', 'type': 'str'}, 11563 'tags': {'key': 'tags', 'type': '{str}'}, 11564 'e_tag': {'key': 'eTag', 'type': 'str'}, 11565 'properties': {'key': 'properties', 'type': 'RecoveryPoint'}, 11566 } 11567 11568 def __init__(self, **kwargs): 11569 super(RecoveryPointResource, self).__init__(**kwargs) 11570 self.properties = kwargs.get('properties', None) 11571 11572 11573class RecoveryPointTierInformation(Model): 11574 """Recovery point tier information. 11575 11576 :param type: Recovery point tier type. Possible values include: 'Invalid', 11577 'InstantRP', 'HardenedRP', 'ArchivedRP' 11578 :type type: str or 11579 ~azure.mgmt.recoveryservicesbackup.models.RecoveryPointTierType 11580 :param status: Recovery point tier status. Possible values include: 11581 'Invalid', 'Valid', 'Disabled', 'Deleted', 'Rehydrated' 11582 :type status: str or 11583 ~azure.mgmt.recoveryservicesbackup.models.RecoveryPointTierStatus 11584 :param extended_info: Recovery point tier status. 11585 :type extended_info: dict[str, str] 11586 """ 11587 11588 _attribute_map = { 11589 'type': {'key': 'type', 'type': 'RecoveryPointTierType'}, 11590 'status': {'key': 'status', 'type': 'RecoveryPointTierStatus'}, 11591 'extended_info': {'key': 'extendedInfo', 'type': '{str}'}, 11592 } 11593 11594 def __init__(self, **kwargs): 11595 super(RecoveryPointTierInformation, self).__init__(**kwargs) 11596 self.type = kwargs.get('type', None) 11597 self.status = kwargs.get('status', None) 11598 self.extended_info = kwargs.get('extended_info', None) 11599 11600 11601class ResourceGuardOperationDetail(Model): 11602 """ResourceGuardOperationDetail. 11603 11604 :param vault_critical_operation: 11605 :type vault_critical_operation: str 11606 :param default_resource_request: 11607 :type default_resource_request: str 11608 """ 11609 11610 _attribute_map = { 11611 'vault_critical_operation': {'key': 'vaultCriticalOperation', 'type': 'str'}, 11612 'default_resource_request': {'key': 'defaultResourceRequest', 'type': 'str'}, 11613 } 11614 11615 def __init__(self, **kwargs): 11616 super(ResourceGuardOperationDetail, self).__init__(**kwargs) 11617 self.vault_critical_operation = kwargs.get('vault_critical_operation', None) 11618 self.default_resource_request = kwargs.get('default_resource_request', None) 11619 11620 11621class ResourceGuardProxyBase(Model): 11622 """ResourceGuardProxyBase. 11623 11624 :param resource_guard_resource_id: 11625 :type resource_guard_resource_id: str 11626 :param resource_guard_operation_details: 11627 :type resource_guard_operation_details: 11628 list[~azure.mgmt.recoveryservicesbackup.models.ResourceGuardOperationDetail] 11629 :param last_updated_time: 11630 :type last_updated_time: str 11631 :param description: 11632 :type description: str 11633 """ 11634 11635 _attribute_map = { 11636 'resource_guard_resource_id': {'key': 'resourceGuardResourceId', 'type': 'str'}, 11637 'resource_guard_operation_details': {'key': 'resourceGuardOperationDetails', 'type': '[ResourceGuardOperationDetail]'}, 11638 'last_updated_time': {'key': 'lastUpdatedTime', 'type': 'str'}, 11639 'description': {'key': 'description', 'type': 'str'}, 11640 } 11641 11642 def __init__(self, **kwargs): 11643 super(ResourceGuardProxyBase, self).__init__(**kwargs) 11644 self.resource_guard_resource_id = kwargs.get('resource_guard_resource_id', None) 11645 self.resource_guard_operation_details = kwargs.get('resource_guard_operation_details', None) 11646 self.last_updated_time = kwargs.get('last_updated_time', None) 11647 self.description = kwargs.get('description', None) 11648 11649 11650class ResourceGuardProxyBaseResource(Resource): 11651 """ResourceGuardProxyBaseResource. 11652 11653 Variables are only populated by the server, and will be ignored when 11654 sending a request. 11655 11656 :ivar id: Resource Id represents the complete path to the resource. 11657 :vartype id: str 11658 :ivar name: Resource name associated with the resource. 11659 :vartype name: str 11660 :ivar type: Resource type represents the complete path of the form 11661 Namespace/ResourceType/ResourceType/... 11662 :vartype type: str 11663 :param location: Resource location. 11664 :type location: str 11665 :param tags: Resource tags. 11666 :type tags: dict[str, str] 11667 :param e_tag: Optional ETag. 11668 :type e_tag: str 11669 :param properties: ResourceGuardProxyBaseResource properties 11670 :type properties: 11671 ~azure.mgmt.recoveryservicesbackup.models.ResourceGuardProxyBase 11672 """ 11673 11674 _validation = { 11675 'id': {'readonly': True}, 11676 'name': {'readonly': True}, 11677 'type': {'readonly': True}, 11678 } 11679 11680 _attribute_map = { 11681 'id': {'key': 'id', 'type': 'str'}, 11682 'name': {'key': 'name', 'type': 'str'}, 11683 'type': {'key': 'type', 'type': 'str'}, 11684 'location': {'key': 'location', 'type': 'str'}, 11685 'tags': {'key': 'tags', 'type': '{str}'}, 11686 'e_tag': {'key': 'eTag', 'type': 'str'}, 11687 'properties': {'key': 'properties', 'type': 'ResourceGuardProxyBase'}, 11688 } 11689 11690 def __init__(self, **kwargs): 11691 super(ResourceGuardProxyBaseResource, self).__init__(**kwargs) 11692 self.properties = kwargs.get('properties', None) 11693 11694 11695class ResourceList(Model): 11696 """Base for all lists of resources. 11697 11698 :param next_link: The uri to fetch the next page of resources. Call 11699 ListNext() fetches next page of resources. 11700 :type next_link: str 11701 """ 11702 11703 _attribute_map = { 11704 'next_link': {'key': 'nextLink', 'type': 'str'}, 11705 } 11706 11707 def __init__(self, **kwargs): 11708 super(ResourceList, self).__init__(**kwargs) 11709 self.next_link = kwargs.get('next_link', None) 11710 11711 11712class RestoreFileSpecs(Model): 11713 """Restore file specs like file path, type and target folder path info. 11714 11715 :param path: Source File/Folder path 11716 :type path: str 11717 :param file_spec_type: Indicates what the Path variable stands for 11718 :type file_spec_type: str 11719 :param target_folder_path: Destination folder path in target FileShare 11720 :type target_folder_path: str 11721 """ 11722 11723 _attribute_map = { 11724 'path': {'key': 'path', 'type': 'str'}, 11725 'file_spec_type': {'key': 'fileSpecType', 'type': 'str'}, 11726 'target_folder_path': {'key': 'targetFolderPath', 'type': 'str'}, 11727 } 11728 11729 def __init__(self, **kwargs): 11730 super(RestoreFileSpecs, self).__init__(**kwargs) 11731 self.path = kwargs.get('path', None) 11732 self.file_spec_type = kwargs.get('file_spec_type', None) 11733 self.target_folder_path = kwargs.get('target_folder_path', None) 11734 11735 11736class RestoreRequestResource(Resource): 11737 """Base class for restore request. Workload-specific restore requests are 11738 derived from this class. 11739 11740 Variables are only populated by the server, and will be ignored when 11741 sending a request. 11742 11743 :ivar id: Resource Id represents the complete path to the resource. 11744 :vartype id: str 11745 :ivar name: Resource name associated with the resource. 11746 :vartype name: str 11747 :ivar type: Resource type represents the complete path of the form 11748 Namespace/ResourceType/ResourceType/... 11749 :vartype type: str 11750 :param location: Resource location. 11751 :type location: str 11752 :param tags: Resource tags. 11753 :type tags: dict[str, str] 11754 :param e_tag: Optional ETag. 11755 :type e_tag: str 11756 :param properties: RestoreRequestResource properties 11757 :type properties: ~azure.mgmt.recoveryservicesbackup.models.RestoreRequest 11758 """ 11759 11760 _validation = { 11761 'id': {'readonly': True}, 11762 'name': {'readonly': True}, 11763 'type': {'readonly': True}, 11764 } 11765 11766 _attribute_map = { 11767 'id': {'key': 'id', 'type': 'str'}, 11768 'name': {'key': 'name', 'type': 'str'}, 11769 'type': {'key': 'type', 'type': 'str'}, 11770 'location': {'key': 'location', 'type': 'str'}, 11771 'tags': {'key': 'tags', 'type': '{str}'}, 11772 'e_tag': {'key': 'eTag', 'type': 'str'}, 11773 'properties': {'key': 'properties', 'type': 'RestoreRequest'}, 11774 } 11775 11776 def __init__(self, **kwargs): 11777 super(RestoreRequestResource, self).__init__(**kwargs) 11778 self.properties = kwargs.get('properties', None) 11779 11780 11781class RetentionDuration(Model): 11782 """Retention duration. 11783 11784 :param count: Count of duration types. Retention duration is obtained by 11785 the counting the duration type Count times. 11786 For example, when Count = 3 and DurationType = Weeks, retention duration 11787 will be three weeks. 11788 :type count: int 11789 :param duration_type: Retention duration type of retention policy. 11790 Possible values include: 'Invalid', 'Days', 'Weeks', 'Months', 'Years' 11791 :type duration_type: str or 11792 ~azure.mgmt.recoveryservicesbackup.models.RetentionDurationType 11793 """ 11794 11795 _attribute_map = { 11796 'count': {'key': 'count', 'type': 'int'}, 11797 'duration_type': {'key': 'durationType', 'type': 'str'}, 11798 } 11799 11800 def __init__(self, **kwargs): 11801 super(RetentionDuration, self).__init__(**kwargs) 11802 self.count = kwargs.get('count', None) 11803 self.duration_type = kwargs.get('duration_type', None) 11804 11805 11806class SecurityPinBase(Model): 11807 """Base class for get security pin request body. 11808 11809 :param resource_guard_operation_requests: ResourceGuard Operation Requests 11810 :type resource_guard_operation_requests: list[str] 11811 """ 11812 11813 _attribute_map = { 11814 'resource_guard_operation_requests': {'key': 'resourceGuardOperationRequests', 'type': '[str]'}, 11815 } 11816 11817 def __init__(self, **kwargs): 11818 super(SecurityPinBase, self).__init__(**kwargs) 11819 self.resource_guard_operation_requests = kwargs.get('resource_guard_operation_requests', None) 11820 11821 11822class Settings(Model): 11823 """Common settings field for backup management. 11824 11825 :param time_zone: TimeZone optional input as string. For example: TimeZone 11826 = "Pacific Standard Time". 11827 :type time_zone: str 11828 :param issqlcompression: SQL compression flag 11829 :type issqlcompression: bool 11830 :param is_compression: Workload compression flag. This has been added so 11831 that 'isSqlCompression' 11832 will be deprecated once clients upgrade to consider this flag. 11833 :type is_compression: bool 11834 """ 11835 11836 _attribute_map = { 11837 'time_zone': {'key': 'timeZone', 'type': 'str'}, 11838 'issqlcompression': {'key': 'issqlcompression', 'type': 'bool'}, 11839 'is_compression': {'key': 'isCompression', 'type': 'bool'}, 11840 } 11841 11842 def __init__(self, **kwargs): 11843 super(Settings, self).__init__(**kwargs) 11844 self.time_zone = kwargs.get('time_zone', None) 11845 self.issqlcompression = kwargs.get('issqlcompression', None) 11846 self.is_compression = kwargs.get('is_compression', None) 11847 11848 11849class SimpleRetentionPolicy(RetentionPolicy): 11850 """Simple policy retention. 11851 11852 All required parameters must be populated in order to send to Azure. 11853 11854 :param retention_policy_type: Required. Constant filled by server. 11855 :type retention_policy_type: str 11856 :param retention_duration: Retention duration of the protection policy. 11857 :type retention_duration: 11858 ~azure.mgmt.recoveryservicesbackup.models.RetentionDuration 11859 """ 11860 11861 _validation = { 11862 'retention_policy_type': {'required': True}, 11863 } 11864 11865 _attribute_map = { 11866 'retention_policy_type': {'key': 'retentionPolicyType', 'type': 'str'}, 11867 'retention_duration': {'key': 'retentionDuration', 'type': 'RetentionDuration'}, 11868 } 11869 11870 def __init__(self, **kwargs): 11871 super(SimpleRetentionPolicy, self).__init__(**kwargs) 11872 self.retention_duration = kwargs.get('retention_duration', None) 11873 self.retention_policy_type = 'SimpleRetentionPolicy' 11874 11875 11876class SimpleSchedulePolicy(SchedulePolicy): 11877 """Simple policy schedule. 11878 11879 All required parameters must be populated in order to send to Azure. 11880 11881 :param schedule_policy_type: Required. Constant filled by server. 11882 :type schedule_policy_type: str 11883 :param schedule_run_frequency: Frequency of the schedule operation of this 11884 policy. Possible values include: 'Invalid', 'Daily', 'Weekly' 11885 :type schedule_run_frequency: str or 11886 ~azure.mgmt.recoveryservicesbackup.models.ScheduleRunType 11887 :param schedule_run_days: List of days of week this schedule has to be 11888 run. 11889 :type schedule_run_days: list[str or 11890 ~azure.mgmt.recoveryservicesbackup.models.DayOfWeek] 11891 :param schedule_run_times: List of times of day this schedule has to be 11892 run. 11893 :type schedule_run_times: list[datetime] 11894 :param schedule_weekly_frequency: At every number weeks this schedule has 11895 to be run. 11896 :type schedule_weekly_frequency: int 11897 """ 11898 11899 _validation = { 11900 'schedule_policy_type': {'required': True}, 11901 } 11902 11903 _attribute_map = { 11904 'schedule_policy_type': {'key': 'schedulePolicyType', 'type': 'str'}, 11905 'schedule_run_frequency': {'key': 'scheduleRunFrequency', 'type': 'str'}, 11906 'schedule_run_days': {'key': 'scheduleRunDays', 'type': '[DayOfWeek]'}, 11907 'schedule_run_times': {'key': 'scheduleRunTimes', 'type': '[iso-8601]'}, 11908 'schedule_weekly_frequency': {'key': 'scheduleWeeklyFrequency', 'type': 'int'}, 11909 } 11910 11911 def __init__(self, **kwargs): 11912 super(SimpleSchedulePolicy, self).__init__(**kwargs) 11913 self.schedule_run_frequency = kwargs.get('schedule_run_frequency', None) 11914 self.schedule_run_days = kwargs.get('schedule_run_days', None) 11915 self.schedule_run_times = kwargs.get('schedule_run_times', None) 11916 self.schedule_weekly_frequency = kwargs.get('schedule_weekly_frequency', None) 11917 self.schedule_policy_type = 'SimpleSchedulePolicy' 11918 11919 11920class SQLDataDirectory(Model): 11921 """SQLDataDirectory info. 11922 11923 :param type: Type of data directory mapping. Possible values include: 11924 'Invalid', 'Data', 'Log' 11925 :type type: str or 11926 ~azure.mgmt.recoveryservicesbackup.models.SQLDataDirectoryType 11927 :param path: File path 11928 :type path: str 11929 :param logical_name: Logical name of the file 11930 :type logical_name: str 11931 """ 11932 11933 _attribute_map = { 11934 'type': {'key': 'type', 'type': 'str'}, 11935 'path': {'key': 'path', 'type': 'str'}, 11936 'logical_name': {'key': 'logicalName', 'type': 'str'}, 11937 } 11938 11939 def __init__(self, **kwargs): 11940 super(SQLDataDirectory, self).__init__(**kwargs) 11941 self.type = kwargs.get('type', None) 11942 self.path = kwargs.get('path', None) 11943 self.logical_name = kwargs.get('logical_name', None) 11944 11945 11946class SQLDataDirectoryMapping(Model): 11947 """Encapsulates information regarding data directory. 11948 11949 :param mapping_type: Type of data directory mapping. Possible values 11950 include: 'Invalid', 'Data', 'Log' 11951 :type mapping_type: str or 11952 ~azure.mgmt.recoveryservicesbackup.models.SQLDataDirectoryType 11953 :param source_logical_name: Restore source logical name path 11954 :type source_logical_name: str 11955 :param source_path: Restore source path 11956 :type source_path: str 11957 :param target_path: Target path 11958 :type target_path: str 11959 """ 11960 11961 _attribute_map = { 11962 'mapping_type': {'key': 'mappingType', 'type': 'str'}, 11963 'source_logical_name': {'key': 'sourceLogicalName', 'type': 'str'}, 11964 'source_path': {'key': 'sourcePath', 'type': 'str'}, 11965 'target_path': {'key': 'targetPath', 'type': 'str'}, 11966 } 11967 11968 def __init__(self, **kwargs): 11969 super(SQLDataDirectoryMapping, self).__init__(**kwargs) 11970 self.mapping_type = kwargs.get('mapping_type', None) 11971 self.source_logical_name = kwargs.get('source_logical_name', None) 11972 self.source_path = kwargs.get('source_path', None) 11973 self.target_path = kwargs.get('target_path', None) 11974 11975 11976class SubProtectionPolicy(Model): 11977 """Sub-protection policy which includes schedule and retention. 11978 11979 :param policy_type: Type of backup policy type. Possible values include: 11980 'Invalid', 'Full', 'Differential', 'Log', 'CopyOnlyFull', 'Incremental' 11981 :type policy_type: str or 11982 ~azure.mgmt.recoveryservicesbackup.models.PolicyType 11983 :param schedule_policy: Backup schedule specified as part of backup 11984 policy. 11985 :type schedule_policy: 11986 ~azure.mgmt.recoveryservicesbackup.models.SchedulePolicy 11987 :param retention_policy: Retention policy with the details on backup copy 11988 retention ranges. 11989 :type retention_policy: 11990 ~azure.mgmt.recoveryservicesbackup.models.RetentionPolicy 11991 """ 11992 11993 _attribute_map = { 11994 'policy_type': {'key': 'policyType', 'type': 'str'}, 11995 'schedule_policy': {'key': 'schedulePolicy', 'type': 'SchedulePolicy'}, 11996 'retention_policy': {'key': 'retentionPolicy', 'type': 'RetentionPolicy'}, 11997 } 11998 11999 def __init__(self, **kwargs): 12000 super(SubProtectionPolicy, self).__init__(**kwargs) 12001 self.policy_type = kwargs.get('policy_type', None) 12002 self.schedule_policy = kwargs.get('schedule_policy', None) 12003 self.retention_policy = kwargs.get('retention_policy', None) 12004 12005 12006class TargetAFSRestoreInfo(Model): 12007 """Target Azure File Share Info. 12008 12009 :param name: File share name 12010 :type name: str 12011 :param target_resource_id: Target file share resource ARM ID 12012 :type target_resource_id: str 12013 """ 12014 12015 _attribute_map = { 12016 'name': {'key': 'name', 'type': 'str'}, 12017 'target_resource_id': {'key': 'targetResourceId', 'type': 'str'}, 12018 } 12019 12020 def __init__(self, **kwargs): 12021 super(TargetAFSRestoreInfo, self).__init__(**kwargs) 12022 self.name = kwargs.get('name', None) 12023 self.target_resource_id = kwargs.get('target_resource_id', None) 12024 12025 12026class TargetRestoreInfo(Model): 12027 """Details about target workload during restore operation. 12028 12029 :param overwrite_option: Can Overwrite if Target DataBase already exists. 12030 Possible values include: 'Invalid', 'FailOnConflict', 'Overwrite' 12031 :type overwrite_option: str or 12032 ~azure.mgmt.recoveryservicesbackup.models.OverwriteOptions 12033 :param container_id: Resource Id name of the container in which Target 12034 DataBase resides 12035 :type container_id: str 12036 :param database_name: Database name InstanceName/DataBaseName for SQL or 12037 System/DbName for SAP Hana 12038 :type database_name: str 12039 :param target_directory_for_file_restore: Target directory location for 12040 restore as files. 12041 :type target_directory_for_file_restore: str 12042 """ 12043 12044 _attribute_map = { 12045 'overwrite_option': {'key': 'overwriteOption', 'type': 'str'}, 12046 'container_id': {'key': 'containerId', 'type': 'str'}, 12047 'database_name': {'key': 'databaseName', 'type': 'str'}, 12048 'target_directory_for_file_restore': {'key': 'targetDirectoryForFileRestore', 'type': 'str'}, 12049 } 12050 12051 def __init__(self, **kwargs): 12052 super(TargetRestoreInfo, self).__init__(**kwargs) 12053 self.overwrite_option = kwargs.get('overwrite_option', None) 12054 self.container_id = kwargs.get('container_id', None) 12055 self.database_name = kwargs.get('database_name', None) 12056 self.target_directory_for_file_restore = kwargs.get('target_directory_for_file_restore', None) 12057 12058 12059class TokenInformation(Model): 12060 """The token information details. 12061 12062 :param token: Token value. 12063 :type token: str 12064 :param expiry_time_in_utc_ticks: Expiry time of token. 12065 :type expiry_time_in_utc_ticks: long 12066 :param security_pin: Security PIN 12067 :type security_pin: str 12068 """ 12069 12070 _attribute_map = { 12071 'token': {'key': 'token', 'type': 'str'}, 12072 'expiry_time_in_utc_ticks': {'key': 'expiryTimeInUtcTicks', 'type': 'long'}, 12073 'security_pin': {'key': 'securityPIN', 'type': 'str'}, 12074 } 12075 12076 def __init__(self, **kwargs): 12077 super(TokenInformation, self).__init__(**kwargs) 12078 self.token = kwargs.get('token', None) 12079 self.expiry_time_in_utc_ticks = kwargs.get('expiry_time_in_utc_ticks', None) 12080 self.security_pin = kwargs.get('security_pin', None) 12081 12082 12083class TriggerDataMoveRequest(Model): 12084 """Trigger DataMove Request. 12085 12086 All required parameters must be populated in order to send to Azure. 12087 12088 :param source_resource_id: Required. ARM Id of source vault 12089 :type source_resource_id: str 12090 :param source_region: Required. Source Region 12091 :type source_region: str 12092 :param data_move_level: Required. DataMove Level. Possible values include: 12093 'Invalid', 'Vault', 'Container' 12094 :type data_move_level: str or 12095 ~azure.mgmt.recoveryservicesbackup.models.DataMoveLevel 12096 :param correlation_id: Required. Correlation Id 12097 :type correlation_id: str 12098 :param source_container_arm_ids: Source Container ArmIds 12099 :type source_container_arm_ids: list[str] 12100 :param pause_gc: Pause GC 12101 :type pause_gc: bool 12102 """ 12103 12104 _validation = { 12105 'source_resource_id': {'required': True}, 12106 'source_region': {'required': True}, 12107 'data_move_level': {'required': True}, 12108 'correlation_id': {'required': True}, 12109 } 12110 12111 _attribute_map = { 12112 'source_resource_id': {'key': 'sourceResourceId', 'type': 'str'}, 12113 'source_region': {'key': 'sourceRegion', 'type': 'str'}, 12114 'data_move_level': {'key': 'dataMoveLevel', 'type': 'str'}, 12115 'correlation_id': {'key': 'correlationId', 'type': 'str'}, 12116 'source_container_arm_ids': {'key': 'sourceContainerArmIds', 'type': '[str]'}, 12117 'pause_gc': {'key': 'pauseGC', 'type': 'bool'}, 12118 } 12119 12120 def __init__(self, **kwargs): 12121 super(TriggerDataMoveRequest, self).__init__(**kwargs) 12122 self.source_resource_id = kwargs.get('source_resource_id', None) 12123 self.source_region = kwargs.get('source_region', None) 12124 self.data_move_level = kwargs.get('data_move_level', None) 12125 self.correlation_id = kwargs.get('correlation_id', None) 12126 self.source_container_arm_ids = kwargs.get('source_container_arm_ids', None) 12127 self.pause_gc = kwargs.get('pause_gc', None) 12128 12129 12130class UnlockDeleteRequest(Model): 12131 """Request body of unlock delete API. 12132 12133 :param resource_guard_operation_requests: 12134 :type resource_guard_operation_requests: list[str] 12135 :param resource_to_be_deleted: 12136 :type resource_to_be_deleted: str 12137 """ 12138 12139 _attribute_map = { 12140 'resource_guard_operation_requests': {'key': 'resourceGuardOperationRequests', 'type': '[str]'}, 12141 'resource_to_be_deleted': {'key': 'resourceToBeDeleted', 'type': 'str'}, 12142 } 12143 12144 def __init__(self, **kwargs): 12145 super(UnlockDeleteRequest, self).__init__(**kwargs) 12146 self.resource_guard_operation_requests = kwargs.get('resource_guard_operation_requests', None) 12147 self.resource_to_be_deleted = kwargs.get('resource_to_be_deleted', None) 12148 12149 12150class UnlockDeleteResponse(Model): 12151 """Response of Unlock Delete API. 12152 12153 :param unlock_delete_expiry_time: This is the time when unlock delete 12154 privileges will get expired. 12155 :type unlock_delete_expiry_time: str 12156 """ 12157 12158 _attribute_map = { 12159 'unlock_delete_expiry_time': {'key': 'unlockDeleteExpiryTime', 'type': 'str'}, 12160 } 12161 12162 def __init__(self, **kwargs): 12163 super(UnlockDeleteResponse, self).__init__(**kwargs) 12164 self.unlock_delete_expiry_time = kwargs.get('unlock_delete_expiry_time', None) 12165 12166 12167class ValidateOperationRequest(Model): 12168 """Base class for validate operation request. 12169 12170 You probably want to use the sub-classes and not this class directly. Known 12171 sub-classes are: ValidateRestoreOperationRequest 12172 12173 All required parameters must be populated in order to send to Azure. 12174 12175 :param object_type: Required. Constant filled by server. 12176 :type object_type: str 12177 """ 12178 12179 _validation = { 12180 'object_type': {'required': True}, 12181 } 12182 12183 _attribute_map = { 12184 'object_type': {'key': 'objectType', 'type': 'str'}, 12185 } 12186 12187 _subtype_map = { 12188 'object_type': {'ValidateRestoreOperationRequest': 'ValidateRestoreOperationRequest'} 12189 } 12190 12191 def __init__(self, **kwargs): 12192 super(ValidateOperationRequest, self).__init__(**kwargs) 12193 self.object_type = None 12194 12195 12196class ValidateRestoreOperationRequest(ValidateOperationRequest): 12197 """AzureRestoreValidation request. 12198 12199 You probably want to use the sub-classes and not this class directly. Known 12200 sub-classes are: ValidateIaasVMRestoreOperationRequest 12201 12202 All required parameters must be populated in order to send to Azure. 12203 12204 :param object_type: Required. Constant filled by server. 12205 :type object_type: str 12206 :param restore_request: Sets restore request to be validated 12207 :type restore_request: 12208 ~azure.mgmt.recoveryservicesbackup.models.RestoreRequest 12209 """ 12210 12211 _validation = { 12212 'object_type': {'required': True}, 12213 } 12214 12215 _attribute_map = { 12216 'object_type': {'key': 'objectType', 'type': 'str'}, 12217 'restore_request': {'key': 'restoreRequest', 'type': 'RestoreRequest'}, 12218 } 12219 12220 _subtype_map = { 12221 'object_type': {'ValidateIaasVMRestoreOperationRequest': 'ValidateIaasVMRestoreOperationRequest'} 12222 } 12223 12224 def __init__(self, **kwargs): 12225 super(ValidateRestoreOperationRequest, self).__init__(**kwargs) 12226 self.restore_request = kwargs.get('restore_request', None) 12227 self.object_type = 'ValidateRestoreOperationRequest' 12228 12229 12230class ValidateIaasVMRestoreOperationRequest(ValidateRestoreOperationRequest): 12231 """AzureRestoreValidation request. 12232 12233 All required parameters must be populated in order to send to Azure. 12234 12235 :param object_type: Required. Constant filled by server. 12236 :type object_type: str 12237 :param restore_request: Sets restore request to be validated 12238 :type restore_request: 12239 ~azure.mgmt.recoveryservicesbackup.models.RestoreRequest 12240 """ 12241 12242 _validation = { 12243 'object_type': {'required': True}, 12244 } 12245 12246 _attribute_map = { 12247 'object_type': {'key': 'objectType', 'type': 'str'}, 12248 'restore_request': {'key': 'restoreRequest', 'type': 'RestoreRequest'}, 12249 } 12250 12251 def __init__(self, **kwargs): 12252 super(ValidateIaasVMRestoreOperationRequest, self).__init__(**kwargs) 12253 self.object_type = 'ValidateIaasVMRestoreOperationRequest' 12254 12255 12256class ValidateOperationResponse(Model): 12257 """Base class for validate operation response. 12258 12259 :param validation_results: Gets the validation result 12260 :type validation_results: 12261 list[~azure.mgmt.recoveryservicesbackup.models.ErrorDetail] 12262 """ 12263 12264 _attribute_map = { 12265 'validation_results': {'key': 'validationResults', 'type': '[ErrorDetail]'}, 12266 } 12267 12268 def __init__(self, **kwargs): 12269 super(ValidateOperationResponse, self).__init__(**kwargs) 12270 self.validation_results = kwargs.get('validation_results', None) 12271 12272 12273class ValidateOperationsResponse(Model): 12274 """ValidateOperationsResponse. 12275 12276 :param validate_operation_response: 12277 :type validate_operation_response: 12278 ~azure.mgmt.recoveryservicesbackup.models.ValidateOperationResponse 12279 """ 12280 12281 _attribute_map = { 12282 'validate_operation_response': {'key': 'validateOperationResponse', 'type': 'ValidateOperationResponse'}, 12283 } 12284 12285 def __init__(self, **kwargs): 12286 super(ValidateOperationsResponse, self).__init__(**kwargs) 12287 self.validate_operation_response = kwargs.get('validate_operation_response', None) 12288 12289 12290class VaultJob(Job): 12291 """Vault level Job. 12292 12293 All required parameters must be populated in order to send to Azure. 12294 12295 :param entity_friendly_name: Friendly name of the entity on which the 12296 current job is executing. 12297 :type entity_friendly_name: str 12298 :param backup_management_type: Backup management type to execute the 12299 current job. Possible values include: 'Invalid', 'AzureIaasVM', 'MAB', 12300 'DPM', 'AzureBackupServer', 'AzureSql', 'AzureStorage', 'AzureWorkload', 12301 'DefaultBackup' 12302 :type backup_management_type: str or 12303 ~azure.mgmt.recoveryservicesbackup.models.BackupManagementType 12304 :param operation: The operation name. 12305 :type operation: str 12306 :param status: Job status. 12307 :type status: str 12308 :param start_time: The start time. 12309 :type start_time: datetime 12310 :param end_time: The end time. 12311 :type end_time: datetime 12312 :param activity_id: ActivityId of job. 12313 :type activity_id: str 12314 :param job_type: Required. Constant filled by server. 12315 :type job_type: str 12316 :param duration: Time elapsed during the execution of this job. 12317 :type duration: timedelta 12318 :param actions_info: Gets or sets the state/actions applicable on this job 12319 like cancel/retry. 12320 :type actions_info: list[str or 12321 ~azure.mgmt.recoveryservicesbackup.models.JobSupportedAction] 12322 :param error_details: Error details on execution of this job. 12323 :type error_details: 12324 list[~azure.mgmt.recoveryservicesbackup.models.VaultJobErrorInfo] 12325 :param extended_info: Additional information about the job. 12326 :type extended_info: 12327 ~azure.mgmt.recoveryservicesbackup.models.VaultJobExtendedInfo 12328 """ 12329 12330 _validation = { 12331 'job_type': {'required': True}, 12332 } 12333 12334 _attribute_map = { 12335 'entity_friendly_name': {'key': 'entityFriendlyName', 'type': 'str'}, 12336 'backup_management_type': {'key': 'backupManagementType', 'type': 'str'}, 12337 'operation': {'key': 'operation', 'type': 'str'}, 12338 'status': {'key': 'status', 'type': 'str'}, 12339 'start_time': {'key': 'startTime', 'type': 'iso-8601'}, 12340 'end_time': {'key': 'endTime', 'type': 'iso-8601'}, 12341 'activity_id': {'key': 'activityId', 'type': 'str'}, 12342 'job_type': {'key': 'jobType', 'type': 'str'}, 12343 'duration': {'key': 'duration', 'type': 'duration'}, 12344 'actions_info': {'key': 'actionsInfo', 'type': '[JobSupportedAction]'}, 12345 'error_details': {'key': 'errorDetails', 'type': '[VaultJobErrorInfo]'}, 12346 'extended_info': {'key': 'extendedInfo', 'type': 'VaultJobExtendedInfo'}, 12347 } 12348 12349 def __init__(self, **kwargs): 12350 super(VaultJob, self).__init__(**kwargs) 12351 self.duration = kwargs.get('duration', None) 12352 self.actions_info = kwargs.get('actions_info', None) 12353 self.error_details = kwargs.get('error_details', None) 12354 self.extended_info = kwargs.get('extended_info', None) 12355 self.job_type = 'VaultJob' 12356 12357 12358class VaultJobErrorInfo(Model): 12359 """Vault Job specific error information. 12360 12361 :param error_code: Error code. 12362 :type error_code: int 12363 :param error_string: Localized error string. 12364 :type error_string: str 12365 :param recommendations: List of localized recommendations for above error 12366 code. 12367 :type recommendations: list[str] 12368 """ 12369 12370 _attribute_map = { 12371 'error_code': {'key': 'errorCode', 'type': 'int'}, 12372 'error_string': {'key': 'errorString', 'type': 'str'}, 12373 'recommendations': {'key': 'recommendations', 'type': '[str]'}, 12374 } 12375 12376 def __init__(self, **kwargs): 12377 super(VaultJobErrorInfo, self).__init__(**kwargs) 12378 self.error_code = kwargs.get('error_code', None) 12379 self.error_string = kwargs.get('error_string', None) 12380 self.recommendations = kwargs.get('recommendations', None) 12381 12382 12383class VaultJobExtendedInfo(Model): 12384 """Vault Job for CMK - has CMK specific info. 12385 12386 :param property_bag: Job properties. 12387 :type property_bag: dict[str, str] 12388 """ 12389 12390 _attribute_map = { 12391 'property_bag': {'key': 'propertyBag', 'type': '{str}'}, 12392 } 12393 12394 def __init__(self, **kwargs): 12395 super(VaultJobExtendedInfo, self).__init__(**kwargs) 12396 self.property_bag = kwargs.get('property_bag', None) 12397 12398 12399class WeeklyRetentionFormat(Model): 12400 """Weekly retention format. 12401 12402 :param days_of_the_week: List of days of the week. 12403 :type days_of_the_week: list[str or 12404 ~azure.mgmt.recoveryservicesbackup.models.DayOfWeek] 12405 :param weeks_of_the_month: List of weeks of month. 12406 :type weeks_of_the_month: list[str or 12407 ~azure.mgmt.recoveryservicesbackup.models.WeekOfMonth] 12408 """ 12409 12410 _attribute_map = { 12411 'days_of_the_week': {'key': 'daysOfTheWeek', 'type': '[DayOfWeek]'}, 12412 'weeks_of_the_month': {'key': 'weeksOfTheMonth', 'type': '[WeekOfMonth]'}, 12413 } 12414 12415 def __init__(self, **kwargs): 12416 super(WeeklyRetentionFormat, self).__init__(**kwargs) 12417 self.days_of_the_week = kwargs.get('days_of_the_week', None) 12418 self.weeks_of_the_month = kwargs.get('weeks_of_the_month', None) 12419 12420 12421class WeeklyRetentionSchedule(Model): 12422 """Weekly retention schedule. 12423 12424 :param days_of_the_week: List of days of week for weekly retention policy. 12425 :type days_of_the_week: list[str or 12426 ~azure.mgmt.recoveryservicesbackup.models.DayOfWeek] 12427 :param retention_times: Retention times of retention policy. 12428 :type retention_times: list[datetime] 12429 :param retention_duration: Retention duration of retention Policy. 12430 :type retention_duration: 12431 ~azure.mgmt.recoveryservicesbackup.models.RetentionDuration 12432 """ 12433 12434 _attribute_map = { 12435 'days_of_the_week': {'key': 'daysOfTheWeek', 'type': '[DayOfWeek]'}, 12436 'retention_times': {'key': 'retentionTimes', 'type': '[iso-8601]'}, 12437 'retention_duration': {'key': 'retentionDuration', 'type': 'RetentionDuration'}, 12438 } 12439 12440 def __init__(self, **kwargs): 12441 super(WeeklyRetentionSchedule, self).__init__(**kwargs) 12442 self.days_of_the_week = kwargs.get('days_of_the_week', None) 12443 self.retention_times = kwargs.get('retention_times', None) 12444 self.retention_duration = kwargs.get('retention_duration', None) 12445 12446 12447class WorkloadCrrAccessToken(CrrAccessToken): 12448 """WorkloadCrrAccessToken. 12449 12450 All required parameters must be populated in order to send to Azure. 12451 12452 :param access_token_string: Access token used for authentication 12453 :type access_token_string: str 12454 :param subscription_id: Subscription Id of the source vault 12455 :type subscription_id: str 12456 :param resource_group_name: Resource Group name of the source vault 12457 :type resource_group_name: str 12458 :param resource_name: Resource Name of the source vault 12459 :type resource_name: str 12460 :param resource_id: Resource Id of the source vault 12461 :type resource_id: str 12462 :param protection_container_id: Protected item container id 12463 :type protection_container_id: long 12464 :param recovery_point_id: Recovery Point Id 12465 :type recovery_point_id: str 12466 :param recovery_point_time: Recovery Point Time 12467 :type recovery_point_time: str 12468 :param container_name: Container Unique name 12469 :type container_name: str 12470 :param container_type: Container Type 12471 :type container_type: str 12472 :param backup_management_type: Backup Management Type 12473 :type backup_management_type: str 12474 :param datasource_type: Datasource Type 12475 :type datasource_type: str 12476 :param datasource_name: Datasource Friendly Name 12477 :type datasource_name: str 12478 :param datasource_id: Datasource Id 12479 :type datasource_id: str 12480 :param datasource_container_name: Datasource Container Unique Name 12481 :type datasource_container_name: str 12482 :param coordinator_service_stamp_id: CoordinatorServiceStampId to be used 12483 by BCM in restore call 12484 :type coordinator_service_stamp_id: str 12485 :param coordinator_service_stamp_uri: CoordinatorServiceStampUri to be 12486 used by BCM in restore call 12487 :type coordinator_service_stamp_uri: str 12488 :param protection_service_stamp_id: ProtectionServiceStampId to be used by 12489 BCM in restore call 12490 :type protection_service_stamp_id: str 12491 :param protection_service_stamp_uri: ProtectionServiceStampUri to be used 12492 by BCM in restore call 12493 :type protection_service_stamp_uri: str 12494 :param token_extended_information: Extended Information about the token 12495 like FileSpec etc. 12496 :type token_extended_information: str 12497 :param rp_tier_information: Recovery point Tier Information 12498 :type rp_tier_information: dict[str, str] 12499 :param rp_original_sa_option: Recovery point information: Original SA 12500 option 12501 :type rp_original_sa_option: bool 12502 :param rp_is_managed_virtual_machine: Recovery point information: Managed 12503 virtual machine 12504 :type rp_is_managed_virtual_machine: bool 12505 :param rp_vm_size_description: Recovery point information: VM size 12506 description 12507 :type rp_vm_size_description: str 12508 :param b_ms_active_region: Active region name of BMS Stamp 12509 :type b_ms_active_region: str 12510 :param object_type: Required. Constant filled by server. 12511 :type object_type: str 12512 :param protectable_object_unique_name: 12513 :type protectable_object_unique_name: str 12514 :param protectable_object_friendly_name: 12515 :type protectable_object_friendly_name: str 12516 :param protectable_object_workload_type: 12517 :type protectable_object_workload_type: str 12518 :param protectable_object_protection_state: 12519 :type protectable_object_protection_state: str 12520 :param protectable_object_container_host_os_name: 12521 :type protectable_object_container_host_os_name: str 12522 :param protectable_object_parent_logical_container_name: 12523 :type protectable_object_parent_logical_container_name: str 12524 :param container_id: Container Id 12525 :type container_id: str 12526 :param policy_name: Policy Name 12527 :type policy_name: str 12528 :param policy_id: Policy Id 12529 :type policy_id: str 12530 """ 12531 12532 _validation = { 12533 'object_type': {'required': True}, 12534 } 12535 12536 _attribute_map = { 12537 'access_token_string': {'key': 'accessTokenString', 'type': 'str'}, 12538 'subscription_id': {'key': 'subscriptionId', 'type': 'str'}, 12539 'resource_group_name': {'key': 'resourceGroupName', 'type': 'str'}, 12540 'resource_name': {'key': 'resourceName', 'type': 'str'}, 12541 'resource_id': {'key': 'resourceId', 'type': 'str'}, 12542 'protection_container_id': {'key': 'protectionContainerId', 'type': 'long'}, 12543 'recovery_point_id': {'key': 'recoveryPointId', 'type': 'str'}, 12544 'recovery_point_time': {'key': 'recoveryPointTime', 'type': 'str'}, 12545 'container_name': {'key': 'containerName', 'type': 'str'}, 12546 'container_type': {'key': 'containerType', 'type': 'str'}, 12547 'backup_management_type': {'key': 'backupManagementType', 'type': 'str'}, 12548 'datasource_type': {'key': 'datasourceType', 'type': 'str'}, 12549 'datasource_name': {'key': 'datasourceName', 'type': 'str'}, 12550 'datasource_id': {'key': 'datasourceId', 'type': 'str'}, 12551 'datasource_container_name': {'key': 'datasourceContainerName', 'type': 'str'}, 12552 'coordinator_service_stamp_id': {'key': 'coordinatorServiceStampId', 'type': 'str'}, 12553 'coordinator_service_stamp_uri': {'key': 'coordinatorServiceStampUri', 'type': 'str'}, 12554 'protection_service_stamp_id': {'key': 'protectionServiceStampId', 'type': 'str'}, 12555 'protection_service_stamp_uri': {'key': 'protectionServiceStampUri', 'type': 'str'}, 12556 'token_extended_information': {'key': 'tokenExtendedInformation', 'type': 'str'}, 12557 'rp_tier_information': {'key': 'rpTierInformation', 'type': '{str}'}, 12558 'rp_original_sa_option': {'key': 'rpOriginalSAOption', 'type': 'bool'}, 12559 'rp_is_managed_virtual_machine': {'key': 'rpIsManagedVirtualMachine', 'type': 'bool'}, 12560 'rp_vm_size_description': {'key': 'rpVMSizeDescription', 'type': 'str'}, 12561 'b_ms_active_region': {'key': 'bMSActiveRegion', 'type': 'str'}, 12562 'object_type': {'key': 'objectType', 'type': 'str'}, 12563 'protectable_object_unique_name': {'key': 'protectableObjectUniqueName', 'type': 'str'}, 12564 'protectable_object_friendly_name': {'key': 'protectableObjectFriendlyName', 'type': 'str'}, 12565 'protectable_object_workload_type': {'key': 'protectableObjectWorkloadType', 'type': 'str'}, 12566 'protectable_object_protection_state': {'key': 'protectableObjectProtectionState', 'type': 'str'}, 12567 'protectable_object_container_host_os_name': {'key': 'protectableObjectContainerHostOsName', 'type': 'str'}, 12568 'protectable_object_parent_logical_container_name': {'key': 'protectableObjectParentLogicalContainerName', 'type': 'str'}, 12569 'container_id': {'key': 'containerId', 'type': 'str'}, 12570 'policy_name': {'key': 'policyName', 'type': 'str'}, 12571 'policy_id': {'key': 'policyId', 'type': 'str'}, 12572 } 12573 12574 def __init__(self, **kwargs): 12575 super(WorkloadCrrAccessToken, self).__init__(**kwargs) 12576 self.protectable_object_unique_name = kwargs.get('protectable_object_unique_name', None) 12577 self.protectable_object_friendly_name = kwargs.get('protectable_object_friendly_name', None) 12578 self.protectable_object_workload_type = kwargs.get('protectable_object_workload_type', None) 12579 self.protectable_object_protection_state = kwargs.get('protectable_object_protection_state', None) 12580 self.protectable_object_container_host_os_name = kwargs.get('protectable_object_container_host_os_name', None) 12581 self.protectable_object_parent_logical_container_name = kwargs.get('protectable_object_parent_logical_container_name', None) 12582 self.container_id = kwargs.get('container_id', None) 12583 self.policy_name = kwargs.get('policy_name', None) 12584 self.policy_id = kwargs.get('policy_id', None) 12585 self.object_type = 'WorkloadCrrAccessToken' 12586 12587 12588class WorkloadInquiryDetails(Model): 12589 """Details of an inquired protectable item. 12590 12591 :param type: Type of the Workload such as SQL, Oracle etc. 12592 :type type: str 12593 :param item_count: Contains the protectable item Count inside this 12594 Container. 12595 :type item_count: long 12596 :param inquiry_validation: Inquiry validation such as permissions and 12597 other backup validations. 12598 :type inquiry_validation: 12599 ~azure.mgmt.recoveryservicesbackup.models.InquiryValidation 12600 """ 12601 12602 _attribute_map = { 12603 'type': {'key': 'type', 'type': 'str'}, 12604 'item_count': {'key': 'itemCount', 'type': 'long'}, 12605 'inquiry_validation': {'key': 'inquiryValidation', 'type': 'InquiryValidation'}, 12606 } 12607 12608 def __init__(self, **kwargs): 12609 super(WorkloadInquiryDetails, self).__init__(**kwargs) 12610 self.type = kwargs.get('type', None) 12611 self.item_count = kwargs.get('item_count', None) 12612 self.inquiry_validation = kwargs.get('inquiry_validation', None) 12613 12614 12615class WorkloadItemResource(Resource): 12616 """Base class for backup item. Workload-specific backup items are derived from 12617 this class. 12618 12619 Variables are only populated by the server, and will be ignored when 12620 sending a request. 12621 12622 :ivar id: Resource Id represents the complete path to the resource. 12623 :vartype id: str 12624 :ivar name: Resource name associated with the resource. 12625 :vartype name: str 12626 :ivar type: Resource type represents the complete path of the form 12627 Namespace/ResourceType/ResourceType/... 12628 :vartype type: str 12629 :param location: Resource location. 12630 :type location: str 12631 :param tags: Resource tags. 12632 :type tags: dict[str, str] 12633 :param e_tag: Optional ETag. 12634 :type e_tag: str 12635 :param properties: WorkloadItemResource properties 12636 :type properties: ~azure.mgmt.recoveryservicesbackup.models.WorkloadItem 12637 """ 12638 12639 _validation = { 12640 'id': {'readonly': True}, 12641 'name': {'readonly': True}, 12642 'type': {'readonly': True}, 12643 } 12644 12645 _attribute_map = { 12646 'id': {'key': 'id', 'type': 'str'}, 12647 'name': {'key': 'name', 'type': 'str'}, 12648 'type': {'key': 'type', 'type': 'str'}, 12649 'location': {'key': 'location', 'type': 'str'}, 12650 'tags': {'key': 'tags', 'type': '{str}'}, 12651 'e_tag': {'key': 'eTag', 'type': 'str'}, 12652 'properties': {'key': 'properties', 'type': 'WorkloadItem'}, 12653 } 12654 12655 def __init__(self, **kwargs): 12656 super(WorkloadItemResource, self).__init__(**kwargs) 12657 self.properties = kwargs.get('properties', None) 12658 12659 12660class WorkloadProtectableItemResource(Resource): 12661 """Base class for backup item. Workload-specific backup items are derived from 12662 this class. 12663 12664 Variables are only populated by the server, and will be ignored when 12665 sending a request. 12666 12667 :ivar id: Resource Id represents the complete path to the resource. 12668 :vartype id: str 12669 :ivar name: Resource name associated with the resource. 12670 :vartype name: str 12671 :ivar type: Resource type represents the complete path of the form 12672 Namespace/ResourceType/ResourceType/... 12673 :vartype type: str 12674 :param location: Resource location. 12675 :type location: str 12676 :param tags: Resource tags. 12677 :type tags: dict[str, str] 12678 :param e_tag: Optional ETag. 12679 :type e_tag: str 12680 :param properties: WorkloadProtectableItemResource properties 12681 :type properties: 12682 ~azure.mgmt.recoveryservicesbackup.models.WorkloadProtectableItem 12683 """ 12684 12685 _validation = { 12686 'id': {'readonly': True}, 12687 'name': {'readonly': True}, 12688 'type': {'readonly': True}, 12689 } 12690 12691 _attribute_map = { 12692 'id': {'key': 'id', 'type': 'str'}, 12693 'name': {'key': 'name', 'type': 'str'}, 12694 'type': {'key': 'type', 'type': 'str'}, 12695 'location': {'key': 'location', 'type': 'str'}, 12696 'tags': {'key': 'tags', 'type': '{str}'}, 12697 'e_tag': {'key': 'eTag', 'type': 'str'}, 12698 'properties': {'key': 'properties', 'type': 'WorkloadProtectableItem'}, 12699 } 12700 12701 def __init__(self, **kwargs): 12702 super(WorkloadProtectableItemResource, self).__init__(**kwargs) 12703 self.properties = kwargs.get('properties', None) 12704 12705 12706class YearlyRetentionSchedule(Model): 12707 """Yearly retention schedule. 12708 12709 :param retention_schedule_format_type: Retention schedule format for 12710 yearly retention policy. Possible values include: 'Invalid', 'Daily', 12711 'Weekly' 12712 :type retention_schedule_format_type: str or 12713 ~azure.mgmt.recoveryservicesbackup.models.RetentionScheduleFormat 12714 :param months_of_year: List of months of year of yearly retention policy. 12715 :type months_of_year: list[str or 12716 ~azure.mgmt.recoveryservicesbackup.models.MonthOfYear] 12717 :param retention_schedule_daily: Daily retention format for yearly 12718 retention policy. 12719 :type retention_schedule_daily: 12720 ~azure.mgmt.recoveryservicesbackup.models.DailyRetentionFormat 12721 :param retention_schedule_weekly: Weekly retention format for yearly 12722 retention policy. 12723 :type retention_schedule_weekly: 12724 ~azure.mgmt.recoveryservicesbackup.models.WeeklyRetentionFormat 12725 :param retention_times: Retention times of retention policy. 12726 :type retention_times: list[datetime] 12727 :param retention_duration: Retention duration of retention Policy. 12728 :type retention_duration: 12729 ~azure.mgmt.recoveryservicesbackup.models.RetentionDuration 12730 """ 12731 12732 _attribute_map = { 12733 'retention_schedule_format_type': {'key': 'retentionScheduleFormatType', 'type': 'str'}, 12734 'months_of_year': {'key': 'monthsOfYear', 'type': '[MonthOfYear]'}, 12735 'retention_schedule_daily': {'key': 'retentionScheduleDaily', 'type': 'DailyRetentionFormat'}, 12736 'retention_schedule_weekly': {'key': 'retentionScheduleWeekly', 'type': 'WeeklyRetentionFormat'}, 12737 'retention_times': {'key': 'retentionTimes', 'type': '[iso-8601]'}, 12738 'retention_duration': {'key': 'retentionDuration', 'type': 'RetentionDuration'}, 12739 } 12740 12741 def __init__(self, **kwargs): 12742 super(YearlyRetentionSchedule, self).__init__(**kwargs) 12743 self.retention_schedule_format_type = kwargs.get('retention_schedule_format_type', None) 12744 self.months_of_year = kwargs.get('months_of_year', None) 12745 self.retention_schedule_daily = kwargs.get('retention_schedule_daily', None) 12746 self.retention_schedule_weekly = kwargs.get('retention_schedule_weekly', None) 12747 self.retention_times = kwargs.get('retention_times', None) 12748 self.retention_duration = kwargs.get('retention_duration', None) 12749