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 license information. 5# Code generated by Microsoft (R) AutoRest Code Generator. 6# Changes may cause incorrect behavior and will be lost if the code is regenerated. 7# -------------------------------------------------------------------------- 8 9import msrest.serialization 10 11 12class CertificateRequest(msrest.serialization.Model): 13 """Details of the certificate to be uploaded to the vault. 14 15 :param properties: Raw certificate data. 16 :type properties: ~azure.mgmt.recoveryservices.models.RawCertificateData 17 """ 18 19 _attribute_map = { 20 'properties': {'key': 'properties', 'type': 'RawCertificateData'}, 21 } 22 23 def __init__( 24 self, 25 **kwargs 26 ): 27 super(CertificateRequest, self).__init__(**kwargs) 28 self.properties = kwargs.get('properties', None) 29 30 31class CheckNameAvailabilityParameters(msrest.serialization.Model): 32 """Resource Name availability input parameters - Resource type and resource name. 33 34 :param type: Describes the Resource type: Microsoft.RecoveryServices/Vaults. 35 :type type: str 36 :param name: Resource name for which availability needs to be checked. 37 :type name: str 38 """ 39 40 _attribute_map = { 41 'type': {'key': 'type', 'type': 'str'}, 42 'name': {'key': 'name', 'type': 'str'}, 43 } 44 45 def __init__( 46 self, 47 **kwargs 48 ): 49 super(CheckNameAvailabilityParameters, self).__init__(**kwargs) 50 self.type = kwargs.get('type', None) 51 self.name = kwargs.get('name', None) 52 53 54class CheckNameAvailabilityResult(msrest.serialization.Model): 55 """Response for check name availability API. Resource provider will set availability as true | false. 56 57 :param name_available: 58 :type name_available: bool 59 :param reason: 60 :type reason: str 61 :param message: 62 :type message: str 63 """ 64 65 _attribute_map = { 66 'name_available': {'key': 'nameAvailable', 'type': 'bool'}, 67 'reason': {'key': 'reason', 'type': 'str'}, 68 'message': {'key': 'message', 'type': 'str'}, 69 } 70 71 def __init__( 72 self, 73 **kwargs 74 ): 75 super(CheckNameAvailabilityResult, self).__init__(**kwargs) 76 self.name_available = kwargs.get('name_available', None) 77 self.reason = kwargs.get('reason', None) 78 self.message = kwargs.get('message', None) 79 80 81class ClientDiscoveryDisplay(msrest.serialization.Model): 82 """Localized display information of an operation. 83 84 :param provider: Name of the provider for display purposes. 85 :type provider: str 86 :param resource: ResourceType for which this Operation can be performed. 87 :type resource: str 88 :param operation: Operations Name itself. 89 :type operation: str 90 :param description: Description of the operation having details of what operation is about. 91 :type description: str 92 """ 93 94 _attribute_map = { 95 'provider': {'key': 'provider', 'type': 'str'}, 96 'resource': {'key': 'resource', 'type': 'str'}, 97 'operation': {'key': 'operation', 'type': 'str'}, 98 'description': {'key': 'description', 'type': 'str'}, 99 } 100 101 def __init__( 102 self, 103 **kwargs 104 ): 105 super(ClientDiscoveryDisplay, self).__init__(**kwargs) 106 self.provider = kwargs.get('provider', None) 107 self.resource = kwargs.get('resource', None) 108 self.operation = kwargs.get('operation', None) 109 self.description = kwargs.get('description', None) 110 111 112class ClientDiscoveryForLogSpecification(msrest.serialization.Model): 113 """Class to represent shoebox log specification in json client discovery. 114 115 :param name: Name of the log. 116 :type name: str 117 :param display_name: Localized display name. 118 :type display_name: str 119 :param blob_duration: Blobs created in customer storage account per hour. 120 :type blob_duration: str 121 """ 122 123 _attribute_map = { 124 'name': {'key': 'name', 'type': 'str'}, 125 'display_name': {'key': 'displayName', 'type': 'str'}, 126 'blob_duration': {'key': 'blobDuration', 'type': 'str'}, 127 } 128 129 def __init__( 130 self, 131 **kwargs 132 ): 133 super(ClientDiscoveryForLogSpecification, self).__init__(**kwargs) 134 self.name = kwargs.get('name', None) 135 self.display_name = kwargs.get('display_name', None) 136 self.blob_duration = kwargs.get('blob_duration', None) 137 138 139class ClientDiscoveryForProperties(msrest.serialization.Model): 140 """Class to represent shoebox properties in json client discovery. 141 142 :param service_specification: Operation properties. 143 :type service_specification: 144 ~azure.mgmt.recoveryservices.models.ClientDiscoveryForServiceSpecification 145 """ 146 147 _attribute_map = { 148 'service_specification': {'key': 'serviceSpecification', 'type': 'ClientDiscoveryForServiceSpecification'}, 149 } 150 151 def __init__( 152 self, 153 **kwargs 154 ): 155 super(ClientDiscoveryForProperties, self).__init__(**kwargs) 156 self.service_specification = kwargs.get('service_specification', None) 157 158 159class ClientDiscoveryForServiceSpecification(msrest.serialization.Model): 160 """Class to represent shoebox service specification in json client discovery. 161 162 :param log_specifications: List of log specifications of this operation. 163 :type log_specifications: 164 list[~azure.mgmt.recoveryservices.models.ClientDiscoveryForLogSpecification] 165 """ 166 167 _attribute_map = { 168 'log_specifications': {'key': 'logSpecifications', 'type': '[ClientDiscoveryForLogSpecification]'}, 169 } 170 171 def __init__( 172 self, 173 **kwargs 174 ): 175 super(ClientDiscoveryForServiceSpecification, self).__init__(**kwargs) 176 self.log_specifications = kwargs.get('log_specifications', None) 177 178 179class ClientDiscoveryResponse(msrest.serialization.Model): 180 """Operations List response which contains list of available APIs. 181 182 :param value: List of available operations. 183 :type value: list[~azure.mgmt.recoveryservices.models.ClientDiscoveryValueForSingleApi] 184 :param next_link: Link to the next chunk of the response. 185 :type next_link: str 186 """ 187 188 _attribute_map = { 189 'value': {'key': 'value', 'type': '[ClientDiscoveryValueForSingleApi]'}, 190 'next_link': {'key': 'nextLink', 'type': 'str'}, 191 } 192 193 def __init__( 194 self, 195 **kwargs 196 ): 197 super(ClientDiscoveryResponse, self).__init__(**kwargs) 198 self.value = kwargs.get('value', None) 199 self.next_link = kwargs.get('next_link', None) 200 201 202class ClientDiscoveryValueForSingleApi(msrest.serialization.Model): 203 """Available operation details. 204 205 :param name: Name of the Operation. 206 :type name: str 207 :param display: Contains the localized display information for this particular operation. 208 :type display: ~azure.mgmt.recoveryservices.models.ClientDiscoveryDisplay 209 :param origin: The intended executor of the operation;governs the display of the operation in 210 the RBAC UX and the audit logs UX. 211 :type origin: str 212 :param properties: ShoeBox properties for the given operation. 213 :type properties: ~azure.mgmt.recoveryservices.models.ClientDiscoveryForProperties 214 """ 215 216 _attribute_map = { 217 'name': {'key': 'name', 'type': 'str'}, 218 'display': {'key': 'display', 'type': 'ClientDiscoveryDisplay'}, 219 'origin': {'key': 'origin', 'type': 'str'}, 220 'properties': {'key': 'properties', 'type': 'ClientDiscoveryForProperties'}, 221 } 222 223 def __init__( 224 self, 225 **kwargs 226 ): 227 super(ClientDiscoveryValueForSingleApi, self).__init__(**kwargs) 228 self.name = kwargs.get('name', None) 229 self.display = kwargs.get('display', None) 230 self.origin = kwargs.get('origin', None) 231 self.properties = kwargs.get('properties', None) 232 233 234class CmkKekIdentity(msrest.serialization.Model): 235 """The details of the identity used for CMK. 236 237 :param use_system_assigned_identity: Indicate that system assigned identity should be used. 238 Mutually exclusive with 'userAssignedIdentity' field. 239 :type use_system_assigned_identity: bool 240 :param user_assigned_identity: The user assigned identity to be used to grant permissions in 241 case the type of identity used is UserAssigned. 242 :type user_assigned_identity: str 243 """ 244 245 _attribute_map = { 246 'use_system_assigned_identity': {'key': 'useSystemAssignedIdentity', 'type': 'bool'}, 247 'user_assigned_identity': {'key': 'userAssignedIdentity', 'type': 'str'}, 248 } 249 250 def __init__( 251 self, 252 **kwargs 253 ): 254 super(CmkKekIdentity, self).__init__(**kwargs) 255 self.use_system_assigned_identity = kwargs.get('use_system_assigned_identity', None) 256 self.user_assigned_identity = kwargs.get('user_assigned_identity', None) 257 258 259class CmkKeyVaultProperties(msrest.serialization.Model): 260 """The properties of the Key Vault which hosts CMK. 261 262 :param key_uri: The key uri of the Customer Managed Key. 263 :type key_uri: str 264 """ 265 266 _attribute_map = { 267 'key_uri': {'key': 'keyUri', 'type': 'str'}, 268 } 269 270 def __init__( 271 self, 272 **kwargs 273 ): 274 super(CmkKeyVaultProperties, self).__init__(**kwargs) 275 self.key_uri = kwargs.get('key_uri', None) 276 277 278class Error(msrest.serialization.Model): 279 """The resource management error response. 280 281 Variables are only populated by the server, and will be ignored when sending a request. 282 283 :ivar additional_info: The error additional info. 284 :vartype additional_info: list[~azure.mgmt.recoveryservices.models.ErrorAdditionalInfo] 285 :ivar code: The error code. 286 :vartype code: str 287 :ivar details: The error details. 288 :vartype details: list[~azure.mgmt.recoveryservices.models.Error] 289 :ivar message: The error message. 290 :vartype message: str 291 :ivar target: The error target. 292 :vartype target: str 293 """ 294 295 _validation = { 296 'additional_info': {'readonly': True}, 297 'code': {'readonly': True}, 298 'details': {'readonly': True}, 299 'message': {'readonly': True}, 300 'target': {'readonly': True}, 301 } 302 303 _attribute_map = { 304 'additional_info': {'key': 'additionalInfo', 'type': '[ErrorAdditionalInfo]'}, 305 'code': {'key': 'code', 'type': 'str'}, 306 'details': {'key': 'details', 'type': '[Error]'}, 307 'message': {'key': 'message', 'type': 'str'}, 308 'target': {'key': 'target', 'type': 'str'}, 309 } 310 311 def __init__( 312 self, 313 **kwargs 314 ): 315 super(Error, self).__init__(**kwargs) 316 self.additional_info = None 317 self.code = None 318 self.details = None 319 self.message = None 320 self.target = None 321 322 323class ErrorAdditionalInfo(msrest.serialization.Model): 324 """The resource management error additional info. 325 326 Variables are only populated by the server, and will be ignored when sending a request. 327 328 :ivar info: The additional info. 329 :vartype info: any 330 :ivar type: The additional info type. 331 :vartype type: str 332 """ 333 334 _validation = { 335 'info': {'readonly': True}, 336 'type': {'readonly': True}, 337 } 338 339 _attribute_map = { 340 'info': {'key': 'info', 'type': 'object'}, 341 'type': {'key': 'type', 'type': 'str'}, 342 } 343 344 def __init__( 345 self, 346 **kwargs 347 ): 348 super(ErrorAdditionalInfo, self).__init__(**kwargs) 349 self.info = None 350 self.type = None 351 352 353class IdentityData(msrest.serialization.Model): 354 """Identity for the resource. 355 356 Variables are only populated by the server, and will be ignored when sending a request. 357 358 All required parameters must be populated in order to send to Azure. 359 360 :ivar principal_id: The principal ID of resource identity. 361 :vartype principal_id: str 362 :ivar tenant_id: The tenant ID of resource. 363 :vartype tenant_id: str 364 :param type: Required. The type of managed identity used. The type 'SystemAssigned, 365 UserAssigned' includes both an implicitly created identity and a set of user-assigned 366 identities. The type 'None' will remove any identities. Possible values include: 367 "SystemAssigned", "None", "UserAssigned", "SystemAssigned, UserAssigned". 368 :type type: str or ~azure.mgmt.recoveryservices.models.ResourceIdentityType 369 :param user_assigned_identities: The list of user-assigned identities associated with the 370 resource. The user-assigned identity dictionary keys will be ARM resource ids in the form: 371 '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. 372 :type user_assigned_identities: dict[str, ~azure.mgmt.recoveryservices.models.UserIdentity] 373 """ 374 375 _validation = { 376 'principal_id': {'readonly': True}, 377 'tenant_id': {'readonly': True}, 378 'type': {'required': True}, 379 } 380 381 _attribute_map = { 382 'principal_id': {'key': 'principalId', 'type': 'str'}, 383 'tenant_id': {'key': 'tenantId', 'type': 'str'}, 384 'type': {'key': 'type', 'type': 'str'}, 385 'user_assigned_identities': {'key': 'userAssignedIdentities', 'type': '{UserIdentity}'}, 386 } 387 388 def __init__( 389 self, 390 **kwargs 391 ): 392 super(IdentityData, self).__init__(**kwargs) 393 self.principal_id = None 394 self.tenant_id = None 395 self.type = kwargs['type'] 396 self.user_assigned_identities = kwargs.get('user_assigned_identities', None) 397 398 399class JobsSummary(msrest.serialization.Model): 400 """Summary of the replication job data for this vault. 401 402 :param failed_jobs: Count of failed jobs. 403 :type failed_jobs: int 404 :param suspended_jobs: Count of suspended jobs. 405 :type suspended_jobs: int 406 :param in_progress_jobs: Count of in-progress jobs. 407 :type in_progress_jobs: int 408 """ 409 410 _attribute_map = { 411 'failed_jobs': {'key': 'failedJobs', 'type': 'int'}, 412 'suspended_jobs': {'key': 'suspendedJobs', 'type': 'int'}, 413 'in_progress_jobs': {'key': 'inProgressJobs', 'type': 'int'}, 414 } 415 416 def __init__( 417 self, 418 **kwargs 419 ): 420 super(JobsSummary, self).__init__(**kwargs) 421 self.failed_jobs = kwargs.get('failed_jobs', None) 422 self.suspended_jobs = kwargs.get('suspended_jobs', None) 423 self.in_progress_jobs = kwargs.get('in_progress_jobs', None) 424 425 426class MonitoringSummary(msrest.serialization.Model): 427 """Summary of the replication monitoring data for this vault. 428 429 :param un_healthy_vm_count: Count of unhealthy VMs. 430 :type un_healthy_vm_count: int 431 :param un_healthy_provider_count: Count of unhealthy replication providers. 432 :type un_healthy_provider_count: int 433 :param events_count: Count of all critical warnings. 434 :type events_count: int 435 :param deprecated_provider_count: Count of all deprecated recovery service providers. 436 :type deprecated_provider_count: int 437 :param supported_provider_count: Count of all the supported recovery service providers. 438 :type supported_provider_count: int 439 :param unsupported_provider_count: Count of all the unsupported recovery service providers. 440 :type unsupported_provider_count: int 441 """ 442 443 _attribute_map = { 444 'un_healthy_vm_count': {'key': 'unHealthyVmCount', 'type': 'int'}, 445 'un_healthy_provider_count': {'key': 'unHealthyProviderCount', 'type': 'int'}, 446 'events_count': {'key': 'eventsCount', 'type': 'int'}, 447 'deprecated_provider_count': {'key': 'deprecatedProviderCount', 'type': 'int'}, 448 'supported_provider_count': {'key': 'supportedProviderCount', 'type': 'int'}, 449 'unsupported_provider_count': {'key': 'unsupportedProviderCount', 'type': 'int'}, 450 } 451 452 def __init__( 453 self, 454 **kwargs 455 ): 456 super(MonitoringSummary, self).__init__(**kwargs) 457 self.un_healthy_vm_count = kwargs.get('un_healthy_vm_count', None) 458 self.un_healthy_provider_count = kwargs.get('un_healthy_provider_count', None) 459 self.events_count = kwargs.get('events_count', None) 460 self.deprecated_provider_count = kwargs.get('deprecated_provider_count', None) 461 self.supported_provider_count = kwargs.get('supported_provider_count', None) 462 self.unsupported_provider_count = kwargs.get('unsupported_provider_count', None) 463 464 465class NameInfo(msrest.serialization.Model): 466 """The name of usage. 467 468 :param value: Value of usage. 469 :type value: str 470 :param localized_value: Localized value of usage. 471 :type localized_value: str 472 """ 473 474 _attribute_map = { 475 'value': {'key': 'value', 'type': 'str'}, 476 'localized_value': {'key': 'localizedValue', 'type': 'str'}, 477 } 478 479 def __init__( 480 self, 481 **kwargs 482 ): 483 super(NameInfo, self).__init__(**kwargs) 484 self.value = kwargs.get('value', None) 485 self.localized_value = kwargs.get('localized_value', None) 486 487 488class OperationResource(msrest.serialization.Model): 489 """Operation Resource. 490 491 :param end_time: End time of the operation. 492 :type end_time: ~datetime.datetime 493 :param error: Required if status == failed or status == canceled. This is the OData v4 error 494 format, used by the RPC and will go into the v2.2 Azure REST API guidelines. 495 :type error: ~azure.mgmt.recoveryservices.models.Error 496 :param id: It should match what is used to GET the operation result. 497 :type id: str 498 :param name: It must match the last segment of the "id" field, and will typically be a GUID / 499 system generated value. 500 :type name: str 501 :param status: The status of the operation. (InProgress/Success/Failed/Cancelled). 502 :type status: str 503 :param start_time: Start time of the operation. 504 :type start_time: ~datetime.datetime 505 """ 506 507 _attribute_map = { 508 'end_time': {'key': 'endTime', 'type': 'iso-8601'}, 509 'error': {'key': 'error', 'type': 'Error'}, 510 'id': {'key': 'id', 'type': 'str'}, 511 'name': {'key': 'name', 'type': 'str'}, 512 'status': {'key': 'status', 'type': 'str'}, 513 'start_time': {'key': 'startTime', 'type': 'iso-8601'}, 514 } 515 516 def __init__( 517 self, 518 **kwargs 519 ): 520 super(OperationResource, self).__init__(**kwargs) 521 self.end_time = kwargs.get('end_time', None) 522 self.error = kwargs.get('error', None) 523 self.id = kwargs.get('id', None) 524 self.name = kwargs.get('name', None) 525 self.status = kwargs.get('status', None) 526 self.start_time = kwargs.get('start_time', None) 527 528 529class Resource(msrest.serialization.Model): 530 """ARM Resource. 531 532 Variables are only populated by the server, and will be ignored when sending a request. 533 534 :ivar id: Resource Id represents the complete path to the resource. 535 :vartype id: str 536 :ivar name: Resource name associated with the resource. 537 :vartype name: str 538 :ivar type: Resource type represents the complete path of the form 539 Namespace/ResourceType/ResourceType/... 540 :vartype type: str 541 :param etag: Optional ETag. 542 :type etag: str 543 """ 544 545 _validation = { 546 'id': {'readonly': True}, 547 'name': {'readonly': True}, 548 'type': {'readonly': True}, 549 } 550 551 _attribute_map = { 552 'id': {'key': 'id', 'type': 'str'}, 553 'name': {'key': 'name', 'type': 'str'}, 554 'type': {'key': 'type', 'type': 'str'}, 555 'etag': {'key': 'etag', 'type': 'str'}, 556 } 557 558 def __init__( 559 self, 560 **kwargs 561 ): 562 super(Resource, self).__init__(**kwargs) 563 self.id = None 564 self.name = None 565 self.type = None 566 self.etag = kwargs.get('etag', None) 567 568 569class PatchTrackedResource(Resource): 570 """Tracked resource with location. 571 572 Variables are only populated by the server, and will be ignored when sending a request. 573 574 :ivar id: Resource Id represents the complete path to the resource. 575 :vartype id: str 576 :ivar name: Resource name associated with the resource. 577 :vartype name: str 578 :ivar type: Resource type represents the complete path of the form 579 Namespace/ResourceType/ResourceType/... 580 :vartype type: str 581 :param etag: Optional ETag. 582 :type etag: str 583 :param location: Resource location. 584 :type location: str 585 :param tags: A set of tags. Resource tags. 586 :type tags: dict[str, str] 587 """ 588 589 _validation = { 590 'id': {'readonly': True}, 591 'name': {'readonly': True}, 592 'type': {'readonly': True}, 593 } 594 595 _attribute_map = { 596 'id': {'key': 'id', 'type': 'str'}, 597 'name': {'key': 'name', 'type': 'str'}, 598 'type': {'key': 'type', 'type': 'str'}, 599 'etag': {'key': 'etag', 'type': 'str'}, 600 'location': {'key': 'location', 'type': 'str'}, 601 'tags': {'key': 'tags', 'type': '{str}'}, 602 } 603 604 def __init__( 605 self, 606 **kwargs 607 ): 608 super(PatchTrackedResource, self).__init__(**kwargs) 609 self.location = kwargs.get('location', None) 610 self.tags = kwargs.get('tags', None) 611 612 613class PatchVault(PatchTrackedResource): 614 """Patch Resource information, as returned by the resource provider. 615 616 Variables are only populated by the server, and will be ignored when sending a request. 617 618 :ivar id: Resource Id represents the complete path to the resource. 619 :vartype id: str 620 :ivar name: Resource name associated with the resource. 621 :vartype name: str 622 :ivar type: Resource type represents the complete path of the form 623 Namespace/ResourceType/ResourceType/... 624 :vartype type: str 625 :param etag: Optional ETag. 626 :type etag: str 627 :param location: Resource location. 628 :type location: str 629 :param tags: A set of tags. Resource tags. 630 :type tags: dict[str, str] 631 :param properties: Properties of the vault. 632 :type properties: ~azure.mgmt.recoveryservices.models.VaultProperties 633 :param sku: Identifies the unique system identifier for each Azure resource. 634 :type sku: ~azure.mgmt.recoveryservices.models.Sku 635 :param identity: Identity for the resource. 636 :type identity: ~azure.mgmt.recoveryservices.models.IdentityData 637 """ 638 639 _validation = { 640 'id': {'readonly': True}, 641 'name': {'readonly': True}, 642 'type': {'readonly': True}, 643 } 644 645 _attribute_map = { 646 'id': {'key': 'id', 'type': 'str'}, 647 'name': {'key': 'name', 'type': 'str'}, 648 'type': {'key': 'type', 'type': 'str'}, 649 'etag': {'key': 'etag', 'type': 'str'}, 650 'location': {'key': 'location', 'type': 'str'}, 651 'tags': {'key': 'tags', 'type': '{str}'}, 652 'properties': {'key': 'properties', 'type': 'VaultProperties'}, 653 'sku': {'key': 'sku', 'type': 'Sku'}, 654 'identity': {'key': 'identity', 'type': 'IdentityData'}, 655 } 656 657 def __init__( 658 self, 659 **kwargs 660 ): 661 super(PatchVault, self).__init__(**kwargs) 662 self.properties = kwargs.get('properties', None) 663 self.sku = kwargs.get('sku', None) 664 self.identity = kwargs.get('identity', None) 665 666 667class PrivateEndpoint(msrest.serialization.Model): 668 """The Private Endpoint network resource that is linked to the Private Endpoint connection. 669 670 Variables are only populated by the server, and will be ignored when sending a request. 671 672 :ivar id: Gets or sets id. 673 :vartype id: str 674 """ 675 676 _validation = { 677 'id': {'readonly': True}, 678 } 679 680 _attribute_map = { 681 'id': {'key': 'id', 'type': 'str'}, 682 } 683 684 def __init__( 685 self, 686 **kwargs 687 ): 688 super(PrivateEndpoint, self).__init__(**kwargs) 689 self.id = None 690 691 692class PrivateEndpointConnection(msrest.serialization.Model): 693 """Private Endpoint Connection Response Properties. 694 695 Variables are only populated by the server, and will be ignored when sending a request. 696 697 :ivar provisioning_state: Gets or sets provisioning state of the private endpoint connection. 698 Possible values include: "Succeeded", "Deleting", "Failed", "Pending". 699 :vartype provisioning_state: str or ~azure.mgmt.recoveryservices.models.ProvisioningState 700 :ivar private_endpoint: The Private Endpoint network resource that is linked to the Private 701 Endpoint connection. 702 :vartype private_endpoint: ~azure.mgmt.recoveryservices.models.PrivateEndpoint 703 :ivar private_link_service_connection_state: Gets or sets private link service connection 704 state. 705 :vartype private_link_service_connection_state: 706 ~azure.mgmt.recoveryservices.models.PrivateLinkServiceConnectionState 707 """ 708 709 _validation = { 710 'provisioning_state': {'readonly': True}, 711 'private_endpoint': {'readonly': True}, 712 'private_link_service_connection_state': {'readonly': True}, 713 } 714 715 _attribute_map = { 716 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, 717 'private_endpoint': {'key': 'privateEndpoint', 'type': 'PrivateEndpoint'}, 718 'private_link_service_connection_state': {'key': 'privateLinkServiceConnectionState', 'type': 'PrivateLinkServiceConnectionState'}, 719 } 720 721 def __init__( 722 self, 723 **kwargs 724 ): 725 super(PrivateEndpointConnection, self).__init__(**kwargs) 726 self.provisioning_state = None 727 self.private_endpoint = None 728 self.private_link_service_connection_state = None 729 730 731class PrivateEndpointConnectionVaultProperties(msrest.serialization.Model): 732 """Information to be stored in Vault properties as an element of privateEndpointConnections List. 733 734 Variables are only populated by the server, and will be ignored when sending a request. 735 736 :ivar id: Format of id 737 subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.[Service]/{resource}/{resourceName}/privateEndpointConnections/{connectionName}. 738 :vartype id: str 739 :ivar properties: Private Endpoint Connection Response Properties. 740 :vartype properties: ~azure.mgmt.recoveryservices.models.PrivateEndpointConnection 741 """ 742 743 _validation = { 744 'id': {'readonly': True}, 745 'properties': {'readonly': True}, 746 } 747 748 _attribute_map = { 749 'id': {'key': 'id', 'type': 'str'}, 750 'properties': {'key': 'properties', 'type': 'PrivateEndpointConnection'}, 751 } 752 753 def __init__( 754 self, 755 **kwargs 756 ): 757 super(PrivateEndpointConnectionVaultProperties, self).__init__(**kwargs) 758 self.id = None 759 self.properties = None 760 761 762class PrivateLinkResource(msrest.serialization.Model): 763 """Information of the private link resource. 764 765 Variables are only populated by the server, and will be ignored when sending a request. 766 767 :ivar id: Fully qualified identifier of the resource. 768 :vartype id: str 769 :ivar name: Name of the resource. 770 :vartype name: str 771 :ivar type: e.g. Microsoft.RecoveryServices/vaults/privateLinkResources. 772 :vartype type: str 773 :ivar group_id: e.g. f9ad6492-33d4-4690-9999-6bfd52a0d081 (Backup) or 774 f9ad6492-33d4-4690-9999-6bfd52a0d082 (SiteRecovery). 775 :vartype group_id: str 776 :ivar required_members: [backup-ecs1, backup-prot1, backup-prot1b, backup-prot1c, backup-id1]. 777 :vartype required_members: list[str] 778 :ivar required_zone_names: The private link resource Private link DNS zone name. 779 :vartype required_zone_names: list[str] 780 """ 781 782 _validation = { 783 'id': {'readonly': True}, 784 'name': {'readonly': True}, 785 'type': {'readonly': True}, 786 'group_id': {'readonly': True}, 787 'required_members': {'readonly': True}, 788 'required_zone_names': {'readonly': True}, 789 } 790 791 _attribute_map = { 792 'id': {'key': 'id', 'type': 'str'}, 793 'name': {'key': 'name', 'type': 'str'}, 794 'type': {'key': 'type', 'type': 'str'}, 795 'group_id': {'key': 'properties.groupId', 'type': 'str'}, 796 'required_members': {'key': 'properties.requiredMembers', 'type': '[str]'}, 797 'required_zone_names': {'key': 'properties.requiredZoneNames', 'type': '[str]'}, 798 } 799 800 def __init__( 801 self, 802 **kwargs 803 ): 804 super(PrivateLinkResource, self).__init__(**kwargs) 805 self.id = None 806 self.name = None 807 self.type = None 808 self.group_id = None 809 self.required_members = None 810 self.required_zone_names = None 811 812 813class PrivateLinkResources(msrest.serialization.Model): 814 """Class which represent the stamps associated with the vault. 815 816 :param value: A collection of private link resources. 817 :type value: list[~azure.mgmt.recoveryservices.models.PrivateLinkResource] 818 :param next_link: Link to the next chunk of the response. 819 :type next_link: str 820 """ 821 822 _attribute_map = { 823 'value': {'key': 'value', 'type': '[PrivateLinkResource]'}, 824 'next_link': {'key': 'nextLink', 'type': 'str'}, 825 } 826 827 def __init__( 828 self, 829 **kwargs 830 ): 831 super(PrivateLinkResources, self).__init__(**kwargs) 832 self.value = kwargs.get('value', None) 833 self.next_link = kwargs.get('next_link', None) 834 835 836class PrivateLinkServiceConnectionState(msrest.serialization.Model): 837 """Gets or sets private link service connection state. 838 839 Variables are only populated by the server, and will be ignored when sending a request. 840 841 :ivar status: Gets or sets the status. Possible values include: "Pending", "Approved", 842 "Rejected", "Disconnected". 843 :vartype status: str or ~azure.mgmt.recoveryservices.models.PrivateEndpointConnectionStatus 844 :ivar description: Gets or sets description. 845 :vartype description: str 846 :ivar actions_required: Gets or sets actions required. 847 :vartype actions_required: str 848 """ 849 850 _validation = { 851 'status': {'readonly': True}, 852 'description': {'readonly': True}, 853 'actions_required': {'readonly': True}, 854 } 855 856 _attribute_map = { 857 'status': {'key': 'status', 'type': 'str'}, 858 'description': {'key': 'description', 'type': 'str'}, 859 'actions_required': {'key': 'actionsRequired', 'type': 'str'}, 860 } 861 862 def __init__( 863 self, 864 **kwargs 865 ): 866 super(PrivateLinkServiceConnectionState, self).__init__(**kwargs) 867 self.status = None 868 self.description = None 869 self.actions_required = None 870 871 872class RawCertificateData(msrest.serialization.Model): 873 """Raw certificate data. 874 875 :param auth_type: Specifies the authentication type. Possible values include: "Invalid", "ACS", 876 "AAD", "AccessControlService", "AzureActiveDirectory". 877 :type auth_type: str or ~azure.mgmt.recoveryservices.models.AuthType 878 :param certificate: The base64 encoded certificate raw data string. 879 :type certificate: bytearray 880 """ 881 882 _attribute_map = { 883 'auth_type': {'key': 'authType', 'type': 'str'}, 884 'certificate': {'key': 'certificate', 'type': 'bytearray'}, 885 } 886 887 def __init__( 888 self, 889 **kwargs 890 ): 891 super(RawCertificateData, self).__init__(**kwargs) 892 self.auth_type = kwargs.get('auth_type', None) 893 self.certificate = kwargs.get('certificate', None) 894 895 896class ReplicationUsage(msrest.serialization.Model): 897 """Replication usages of a vault. 898 899 :param monitoring_summary: Summary of the replication monitoring data for this vault. 900 :type monitoring_summary: ~azure.mgmt.recoveryservices.models.MonitoringSummary 901 :param jobs_summary: Summary of the replication jobs data for this vault. 902 :type jobs_summary: ~azure.mgmt.recoveryservices.models.JobsSummary 903 :param protected_item_count: Number of replication protected items for this vault. 904 :type protected_item_count: int 905 :param recovery_plan_count: Number of replication recovery plans for this vault. 906 :type recovery_plan_count: int 907 :param registered_servers_count: Number of servers registered to this vault. 908 :type registered_servers_count: int 909 :param recovery_services_provider_auth_type: The authentication type of recovery service 910 providers in the vault. 911 :type recovery_services_provider_auth_type: int 912 """ 913 914 _attribute_map = { 915 'monitoring_summary': {'key': 'monitoringSummary', 'type': 'MonitoringSummary'}, 916 'jobs_summary': {'key': 'jobsSummary', 'type': 'JobsSummary'}, 917 'protected_item_count': {'key': 'protectedItemCount', 'type': 'int'}, 918 'recovery_plan_count': {'key': 'recoveryPlanCount', 'type': 'int'}, 919 'registered_servers_count': {'key': 'registeredServersCount', 'type': 'int'}, 920 'recovery_services_provider_auth_type': {'key': 'recoveryServicesProviderAuthType', 'type': 'int'}, 921 } 922 923 def __init__( 924 self, 925 **kwargs 926 ): 927 super(ReplicationUsage, self).__init__(**kwargs) 928 self.monitoring_summary = kwargs.get('monitoring_summary', None) 929 self.jobs_summary = kwargs.get('jobs_summary', None) 930 self.protected_item_count = kwargs.get('protected_item_count', None) 931 self.recovery_plan_count = kwargs.get('recovery_plan_count', None) 932 self.registered_servers_count = kwargs.get('registered_servers_count', None) 933 self.recovery_services_provider_auth_type = kwargs.get('recovery_services_provider_auth_type', None) 934 935 936class ReplicationUsageList(msrest.serialization.Model): 937 """Replication usages for vault. 938 939 :param value: The list of replication usages for the given vault. 940 :type value: list[~azure.mgmt.recoveryservices.models.ReplicationUsage] 941 """ 942 943 _attribute_map = { 944 'value': {'key': 'value', 'type': '[ReplicationUsage]'}, 945 } 946 947 def __init__( 948 self, 949 **kwargs 950 ): 951 super(ReplicationUsageList, self).__init__(**kwargs) 952 self.value = kwargs.get('value', None) 953 954 955class ResourceCertificateDetails(msrest.serialization.Model): 956 """Certificate details representing the Vault credentials. 957 958 You probably want to use the sub-classes and not this class directly. Known 959 sub-classes are: ResourceCertificateAndAcsDetails, ResourceCertificateAndAadDetails. 960 961 All required parameters must be populated in order to send to Azure. 962 963 :param auth_type: Required. This property will be used as the discriminator for deciding the 964 specific types in the polymorphic chain of types.Constant filled by server. 965 :type auth_type: str 966 :param certificate: The base64 encoded certificate raw data string. 967 :type certificate: bytearray 968 :param friendly_name: Certificate friendly name. 969 :type friendly_name: str 970 :param issuer: Certificate issuer. 971 :type issuer: str 972 :param resource_id: Resource ID of the vault. 973 :type resource_id: long 974 :param subject: Certificate Subject Name. 975 :type subject: str 976 :param thumbprint: Certificate thumbprint. 977 :type thumbprint: str 978 :param valid_from: Certificate Validity start Date time. 979 :type valid_from: ~datetime.datetime 980 :param valid_to: Certificate Validity End Date time. 981 :type valid_to: ~datetime.datetime 982 """ 983 984 _validation = { 985 'auth_type': {'required': True}, 986 } 987 988 _attribute_map = { 989 'auth_type': {'key': 'authType', 'type': 'str'}, 990 'certificate': {'key': 'certificate', 'type': 'bytearray'}, 991 'friendly_name': {'key': 'friendlyName', 'type': 'str'}, 992 'issuer': {'key': 'issuer', 'type': 'str'}, 993 'resource_id': {'key': 'resourceId', 'type': 'long'}, 994 'subject': {'key': 'subject', 'type': 'str'}, 995 'thumbprint': {'key': 'thumbprint', 'type': 'str'}, 996 'valid_from': {'key': 'validFrom', 'type': 'iso-8601'}, 997 'valid_to': {'key': 'validTo', 'type': 'iso-8601'}, 998 } 999 1000 _subtype_map = { 1001 'auth_type': {'AccessControlService': 'ResourceCertificateAndAcsDetails', 'AzureActiveDirectory': 'ResourceCertificateAndAadDetails'} 1002 } 1003 1004 def __init__( 1005 self, 1006 **kwargs 1007 ): 1008 super(ResourceCertificateDetails, self).__init__(**kwargs) 1009 self.auth_type = None # type: Optional[str] 1010 self.certificate = kwargs.get('certificate', None) 1011 self.friendly_name = kwargs.get('friendly_name', None) 1012 self.issuer = kwargs.get('issuer', None) 1013 self.resource_id = kwargs.get('resource_id', None) 1014 self.subject = kwargs.get('subject', None) 1015 self.thumbprint = kwargs.get('thumbprint', None) 1016 self.valid_from = kwargs.get('valid_from', None) 1017 self.valid_to = kwargs.get('valid_to', None) 1018 1019 1020class ResourceCertificateAndAadDetails(ResourceCertificateDetails): 1021 """Certificate details representing the Vault credentials for AAD. 1022 1023 All required parameters must be populated in order to send to Azure. 1024 1025 :param auth_type: Required. This property will be used as the discriminator for deciding the 1026 specific types in the polymorphic chain of types.Constant filled by server. 1027 :type auth_type: str 1028 :param certificate: The base64 encoded certificate raw data string. 1029 :type certificate: bytearray 1030 :param friendly_name: Certificate friendly name. 1031 :type friendly_name: str 1032 :param issuer: Certificate issuer. 1033 :type issuer: str 1034 :param resource_id: Resource ID of the vault. 1035 :type resource_id: long 1036 :param subject: Certificate Subject Name. 1037 :type subject: str 1038 :param thumbprint: Certificate thumbprint. 1039 :type thumbprint: str 1040 :param valid_from: Certificate Validity start Date time. 1041 :type valid_from: ~datetime.datetime 1042 :param valid_to: Certificate Validity End Date time. 1043 :type valid_to: ~datetime.datetime 1044 :param aad_authority: Required. AAD tenant authority. 1045 :type aad_authority: str 1046 :param aad_tenant_id: Required. AAD tenant Id. 1047 :type aad_tenant_id: str 1048 :param service_principal_client_id: Required. AAD service principal clientId. 1049 :type service_principal_client_id: str 1050 :param service_principal_object_id: Required. AAD service principal ObjectId. 1051 :type service_principal_object_id: str 1052 :param azure_management_endpoint_audience: Required. Azure Management Endpoint Audience. 1053 :type azure_management_endpoint_audience: str 1054 :param service_resource_id: Service Resource Id. 1055 :type service_resource_id: str 1056 """ 1057 1058 _validation = { 1059 'auth_type': {'required': True}, 1060 'aad_authority': {'required': True}, 1061 'aad_tenant_id': {'required': True}, 1062 'service_principal_client_id': {'required': True}, 1063 'service_principal_object_id': {'required': True}, 1064 'azure_management_endpoint_audience': {'required': True}, 1065 } 1066 1067 _attribute_map = { 1068 'auth_type': {'key': 'authType', 'type': 'str'}, 1069 'certificate': {'key': 'certificate', 'type': 'bytearray'}, 1070 'friendly_name': {'key': 'friendlyName', 'type': 'str'}, 1071 'issuer': {'key': 'issuer', 'type': 'str'}, 1072 'resource_id': {'key': 'resourceId', 'type': 'long'}, 1073 'subject': {'key': 'subject', 'type': 'str'}, 1074 'thumbprint': {'key': 'thumbprint', 'type': 'str'}, 1075 'valid_from': {'key': 'validFrom', 'type': 'iso-8601'}, 1076 'valid_to': {'key': 'validTo', 'type': 'iso-8601'}, 1077 'aad_authority': {'key': 'aadAuthority', 'type': 'str'}, 1078 'aad_tenant_id': {'key': 'aadTenantId', 'type': 'str'}, 1079 'service_principal_client_id': {'key': 'servicePrincipalClientId', 'type': 'str'}, 1080 'service_principal_object_id': {'key': 'servicePrincipalObjectId', 'type': 'str'}, 1081 'azure_management_endpoint_audience': {'key': 'azureManagementEndpointAudience', 'type': 'str'}, 1082 'service_resource_id': {'key': 'serviceResourceId', 'type': 'str'}, 1083 } 1084 1085 def __init__( 1086 self, 1087 **kwargs 1088 ): 1089 super(ResourceCertificateAndAadDetails, self).__init__(**kwargs) 1090 self.auth_type = 'AzureActiveDirectory' # type: str 1091 self.aad_authority = kwargs['aad_authority'] 1092 self.aad_tenant_id = kwargs['aad_tenant_id'] 1093 self.service_principal_client_id = kwargs['service_principal_client_id'] 1094 self.service_principal_object_id = kwargs['service_principal_object_id'] 1095 self.azure_management_endpoint_audience = kwargs['azure_management_endpoint_audience'] 1096 self.service_resource_id = kwargs.get('service_resource_id', None) 1097 1098 1099class ResourceCertificateAndAcsDetails(ResourceCertificateDetails): 1100 """Certificate details representing the Vault credentials for ACS. 1101 1102 All required parameters must be populated in order to send to Azure. 1103 1104 :param auth_type: Required. This property will be used as the discriminator for deciding the 1105 specific types in the polymorphic chain of types.Constant filled by server. 1106 :type auth_type: str 1107 :param certificate: The base64 encoded certificate raw data string. 1108 :type certificate: bytearray 1109 :param friendly_name: Certificate friendly name. 1110 :type friendly_name: str 1111 :param issuer: Certificate issuer. 1112 :type issuer: str 1113 :param resource_id: Resource ID of the vault. 1114 :type resource_id: long 1115 :param subject: Certificate Subject Name. 1116 :type subject: str 1117 :param thumbprint: Certificate thumbprint. 1118 :type thumbprint: str 1119 :param valid_from: Certificate Validity start Date time. 1120 :type valid_from: ~datetime.datetime 1121 :param valid_to: Certificate Validity End Date time. 1122 :type valid_to: ~datetime.datetime 1123 :param global_acs_namespace: Required. ACS namespace name - tenant for our service. 1124 :type global_acs_namespace: str 1125 :param global_acs_host_name: Required. Acs mgmt host name to connect to. 1126 :type global_acs_host_name: str 1127 :param global_acs_rp_realm: Required. Global ACS namespace RP realm. 1128 :type global_acs_rp_realm: str 1129 """ 1130 1131 _validation = { 1132 'auth_type': {'required': True}, 1133 'global_acs_namespace': {'required': True}, 1134 'global_acs_host_name': {'required': True}, 1135 'global_acs_rp_realm': {'required': True}, 1136 } 1137 1138 _attribute_map = { 1139 'auth_type': {'key': 'authType', 'type': 'str'}, 1140 'certificate': {'key': 'certificate', 'type': 'bytearray'}, 1141 'friendly_name': {'key': 'friendlyName', 'type': 'str'}, 1142 'issuer': {'key': 'issuer', 'type': 'str'}, 1143 'resource_id': {'key': 'resourceId', 'type': 'long'}, 1144 'subject': {'key': 'subject', 'type': 'str'}, 1145 'thumbprint': {'key': 'thumbprint', 'type': 'str'}, 1146 'valid_from': {'key': 'validFrom', 'type': 'iso-8601'}, 1147 'valid_to': {'key': 'validTo', 'type': 'iso-8601'}, 1148 'global_acs_namespace': {'key': 'globalAcsNamespace', 'type': 'str'}, 1149 'global_acs_host_name': {'key': 'globalAcsHostName', 'type': 'str'}, 1150 'global_acs_rp_realm': {'key': 'globalAcsRPRealm', 'type': 'str'}, 1151 } 1152 1153 def __init__( 1154 self, 1155 **kwargs 1156 ): 1157 super(ResourceCertificateAndAcsDetails, self).__init__(**kwargs) 1158 self.auth_type = 'AccessControlService' # type: str 1159 self.global_acs_namespace = kwargs['global_acs_namespace'] 1160 self.global_acs_host_name = kwargs['global_acs_host_name'] 1161 self.global_acs_rp_realm = kwargs['global_acs_rp_realm'] 1162 1163 1164class Sku(msrest.serialization.Model): 1165 """Identifies the unique system identifier for each Azure resource. 1166 1167 All required parameters must be populated in order to send to Azure. 1168 1169 :param name: Required. The Sku name. Possible values include: "Standard", "RS0". 1170 :type name: str or ~azure.mgmt.recoveryservices.models.SkuName 1171 :param tier: The Sku tier. 1172 :type tier: str 1173 """ 1174 1175 _validation = { 1176 'name': {'required': True}, 1177 } 1178 1179 _attribute_map = { 1180 'name': {'key': 'name', 'type': 'str'}, 1181 'tier': {'key': 'tier', 'type': 'str'}, 1182 } 1183 1184 def __init__( 1185 self, 1186 **kwargs 1187 ): 1188 super(Sku, self).__init__(**kwargs) 1189 self.name = kwargs['name'] 1190 self.tier = kwargs.get('tier', None) 1191 1192 1193class SystemData(msrest.serialization.Model): 1194 """Metadata pertaining to creation and last modification of the resource. 1195 1196 :param created_by: The identity that created the resource. 1197 :type created_by: str 1198 :param created_by_type: The type of identity that created the resource. Possible values 1199 include: "User", "Application", "ManagedIdentity", "Key". 1200 :type created_by_type: str or ~azure.mgmt.recoveryservices.models.CreatedByType 1201 :param created_at: The timestamp of resource creation (UTC). 1202 :type created_at: ~datetime.datetime 1203 :param last_modified_by: The identity that last modified the resource. 1204 :type last_modified_by: str 1205 :param last_modified_by_type: The type of identity that last modified the resource. Possible 1206 values include: "User", "Application", "ManagedIdentity", "Key". 1207 :type last_modified_by_type: str or ~azure.mgmt.recoveryservices.models.CreatedByType 1208 :param last_modified_at: The type of identity that last modified the resource. 1209 :type last_modified_at: ~datetime.datetime 1210 """ 1211 1212 _attribute_map = { 1213 'created_by': {'key': 'createdBy', 'type': 'str'}, 1214 'created_by_type': {'key': 'createdByType', 'type': 'str'}, 1215 'created_at': {'key': 'createdAt', 'type': 'iso-8601'}, 1216 'last_modified_by': {'key': 'lastModifiedBy', 'type': 'str'}, 1217 'last_modified_by_type': {'key': 'lastModifiedByType', 'type': 'str'}, 1218 'last_modified_at': {'key': 'lastModifiedAt', 'type': 'iso-8601'}, 1219 } 1220 1221 def __init__( 1222 self, 1223 **kwargs 1224 ): 1225 super(SystemData, self).__init__(**kwargs) 1226 self.created_by = kwargs.get('created_by', None) 1227 self.created_by_type = kwargs.get('created_by_type', None) 1228 self.created_at = kwargs.get('created_at', None) 1229 self.last_modified_by = kwargs.get('last_modified_by', None) 1230 self.last_modified_by_type = kwargs.get('last_modified_by_type', None) 1231 self.last_modified_at = kwargs.get('last_modified_at', None) 1232 1233 1234class TrackedResource(Resource): 1235 """Tracked resource with location. 1236 1237 Variables are only populated by the server, and will be ignored when sending a request. 1238 1239 All required parameters must be populated in order to send to Azure. 1240 1241 :ivar id: Resource Id represents the complete path to the resource. 1242 :vartype id: str 1243 :ivar name: Resource name associated with the resource. 1244 :vartype name: str 1245 :ivar type: Resource type represents the complete path of the form 1246 Namespace/ResourceType/ResourceType/... 1247 :vartype type: str 1248 :param etag: Optional ETag. 1249 :type etag: str 1250 :param location: Required. Resource location. 1251 :type location: str 1252 :param tags: A set of tags. Resource tags. 1253 :type tags: dict[str, str] 1254 """ 1255 1256 _validation = { 1257 'id': {'readonly': True}, 1258 'name': {'readonly': True}, 1259 'type': {'readonly': True}, 1260 'location': {'required': True}, 1261 } 1262 1263 _attribute_map = { 1264 'id': {'key': 'id', 'type': 'str'}, 1265 'name': {'key': 'name', 'type': 'str'}, 1266 'type': {'key': 'type', 'type': 'str'}, 1267 'etag': {'key': 'etag', 'type': 'str'}, 1268 'location': {'key': 'location', 'type': 'str'}, 1269 'tags': {'key': 'tags', 'type': '{str}'}, 1270 } 1271 1272 def __init__( 1273 self, 1274 **kwargs 1275 ): 1276 super(TrackedResource, self).__init__(**kwargs) 1277 self.location = kwargs['location'] 1278 self.tags = kwargs.get('tags', None) 1279 1280 1281class UpgradeDetails(msrest.serialization.Model): 1282 """Details for upgrading vault. 1283 1284 Variables are only populated by the server, and will be ignored when sending a request. 1285 1286 :ivar operation_id: ID of the vault upgrade operation. 1287 :vartype operation_id: str 1288 :ivar start_time_utc: UTC time at which the upgrade operation has started. 1289 :vartype start_time_utc: ~datetime.datetime 1290 :ivar last_updated_time_utc: UTC time at which the upgrade operation status was last updated. 1291 :vartype last_updated_time_utc: ~datetime.datetime 1292 :ivar end_time_utc: UTC time at which the upgrade operation has ended. 1293 :vartype end_time_utc: ~datetime.datetime 1294 :ivar status: Status of the vault upgrade operation. Possible values include: "Unknown", 1295 "InProgress", "Upgraded", "Failed". 1296 :vartype status: str or ~azure.mgmt.recoveryservices.models.VaultUpgradeState 1297 :ivar message: Message to the user containing information about the upgrade operation. 1298 :vartype message: str 1299 :ivar trigger_type: The way the vault upgrade was triggered. Possible values include: 1300 "UserTriggered", "ForcedUpgrade". 1301 :vartype trigger_type: str or ~azure.mgmt.recoveryservices.models.TriggerType 1302 :ivar upgraded_resource_id: Resource ID of the upgraded vault. 1303 :vartype upgraded_resource_id: str 1304 :ivar previous_resource_id: Resource ID of the vault before the upgrade. 1305 :vartype previous_resource_id: str 1306 """ 1307 1308 _validation = { 1309 'operation_id': {'readonly': True}, 1310 'start_time_utc': {'readonly': True}, 1311 'last_updated_time_utc': {'readonly': True}, 1312 'end_time_utc': {'readonly': True}, 1313 'status': {'readonly': True}, 1314 'message': {'readonly': True}, 1315 'trigger_type': {'readonly': True}, 1316 'upgraded_resource_id': {'readonly': True}, 1317 'previous_resource_id': {'readonly': True}, 1318 } 1319 1320 _attribute_map = { 1321 'operation_id': {'key': 'operationId', 'type': 'str'}, 1322 'start_time_utc': {'key': 'startTimeUtc', 'type': 'iso-8601'}, 1323 'last_updated_time_utc': {'key': 'lastUpdatedTimeUtc', 'type': 'iso-8601'}, 1324 'end_time_utc': {'key': 'endTimeUtc', 'type': 'iso-8601'}, 1325 'status': {'key': 'status', 'type': 'str'}, 1326 'message': {'key': 'message', 'type': 'str'}, 1327 'trigger_type': {'key': 'triggerType', 'type': 'str'}, 1328 'upgraded_resource_id': {'key': 'upgradedResourceId', 'type': 'str'}, 1329 'previous_resource_id': {'key': 'previousResourceId', 'type': 'str'}, 1330 } 1331 1332 def __init__( 1333 self, 1334 **kwargs 1335 ): 1336 super(UpgradeDetails, self).__init__(**kwargs) 1337 self.operation_id = None 1338 self.start_time_utc = None 1339 self.last_updated_time_utc = None 1340 self.end_time_utc = None 1341 self.status = None 1342 self.message = None 1343 self.trigger_type = None 1344 self.upgraded_resource_id = None 1345 self.previous_resource_id = None 1346 1347 1348class UserIdentity(msrest.serialization.Model): 1349 """A resource identity that is managed by the user of the service. 1350 1351 Variables are only populated by the server, and will be ignored when sending a request. 1352 1353 :ivar principal_id: The principal ID of the user-assigned identity. 1354 :vartype principal_id: str 1355 :ivar client_id: The client ID of the user-assigned identity. 1356 :vartype client_id: str 1357 """ 1358 1359 _validation = { 1360 'principal_id': {'readonly': True}, 1361 'client_id': {'readonly': True}, 1362 } 1363 1364 _attribute_map = { 1365 'principal_id': {'key': 'principalId', 'type': 'str'}, 1366 'client_id': {'key': 'clientId', 'type': 'str'}, 1367 } 1368 1369 def __init__( 1370 self, 1371 **kwargs 1372 ): 1373 super(UserIdentity, self).__init__(**kwargs) 1374 self.principal_id = None 1375 self.client_id = None 1376 1377 1378class Vault(TrackedResource): 1379 """Resource information, as returned by the resource provider. 1380 1381 Variables are only populated by the server, and will be ignored when sending a request. 1382 1383 All required parameters must be populated in order to send to Azure. 1384 1385 :ivar id: Resource Id represents the complete path to the resource. 1386 :vartype id: str 1387 :ivar name: Resource name associated with the resource. 1388 :vartype name: str 1389 :ivar type: Resource type represents the complete path of the form 1390 Namespace/ResourceType/ResourceType/... 1391 :vartype type: str 1392 :param etag: Optional ETag. 1393 :type etag: str 1394 :param location: Required. Resource location. 1395 :type location: str 1396 :param tags: A set of tags. Resource tags. 1397 :type tags: dict[str, str] 1398 :param identity: Identity for the resource. 1399 :type identity: ~azure.mgmt.recoveryservices.models.IdentityData 1400 :param properties: Properties of the vault. 1401 :type properties: ~azure.mgmt.recoveryservices.models.VaultProperties 1402 :param sku: Identifies the unique system identifier for each Azure resource. 1403 :type sku: ~azure.mgmt.recoveryservices.models.Sku 1404 :ivar system_data: Metadata pertaining to creation and last modification of the resource. 1405 :vartype system_data: ~azure.mgmt.recoveryservices.models.SystemData 1406 """ 1407 1408 _validation = { 1409 'id': {'readonly': True}, 1410 'name': {'readonly': True}, 1411 'type': {'readonly': True}, 1412 'location': {'required': True}, 1413 'system_data': {'readonly': True}, 1414 } 1415 1416 _attribute_map = { 1417 'id': {'key': 'id', 'type': 'str'}, 1418 'name': {'key': 'name', 'type': 'str'}, 1419 'type': {'key': 'type', 'type': 'str'}, 1420 'etag': {'key': 'etag', 'type': 'str'}, 1421 'location': {'key': 'location', 'type': 'str'}, 1422 'tags': {'key': 'tags', 'type': '{str}'}, 1423 'identity': {'key': 'identity', 'type': 'IdentityData'}, 1424 'properties': {'key': 'properties', 'type': 'VaultProperties'}, 1425 'sku': {'key': 'sku', 'type': 'Sku'}, 1426 'system_data': {'key': 'systemData', 'type': 'SystemData'}, 1427 } 1428 1429 def __init__( 1430 self, 1431 **kwargs 1432 ): 1433 super(Vault, self).__init__(**kwargs) 1434 self.identity = kwargs.get('identity', None) 1435 self.properties = kwargs.get('properties', None) 1436 self.sku = kwargs.get('sku', None) 1437 self.system_data = None 1438 1439 1440class VaultCertificateResponse(msrest.serialization.Model): 1441 """Certificate corresponding to a vault that can be used by clients to register themselves with the vault. 1442 1443 Variables are only populated by the server, and will be ignored when sending a request. 1444 1445 :ivar name: Resource name associated with the resource. 1446 :vartype name: str 1447 :ivar type: Resource type represents the complete path of the form 1448 Namespace/ResourceType/ResourceType/... 1449 :vartype type: str 1450 :ivar id: Resource Id represents the complete path to the resource. 1451 :vartype id: str 1452 :param properties: Certificate details representing the Vault credentials. 1453 :type properties: ~azure.mgmt.recoveryservices.models.ResourceCertificateDetails 1454 """ 1455 1456 _validation = { 1457 'name': {'readonly': True}, 1458 'type': {'readonly': True}, 1459 'id': {'readonly': True}, 1460 } 1461 1462 _attribute_map = { 1463 'name': {'key': 'name', 'type': 'str'}, 1464 'type': {'key': 'type', 'type': 'str'}, 1465 'id': {'key': 'id', 'type': 'str'}, 1466 'properties': {'key': 'properties', 'type': 'ResourceCertificateDetails'}, 1467 } 1468 1469 def __init__( 1470 self, 1471 **kwargs 1472 ): 1473 super(VaultCertificateResponse, self).__init__(**kwargs) 1474 self.name = None 1475 self.type = None 1476 self.id = None 1477 self.properties = kwargs.get('properties', None) 1478 1479 1480class VaultExtendedInfoResource(Resource): 1481 """Vault extended information. 1482 1483 Variables are only populated by the server, and will be ignored when sending a request. 1484 1485 :ivar id: Resource Id represents the complete path to the resource. 1486 :vartype id: str 1487 :ivar name: Resource name associated with the resource. 1488 :vartype name: str 1489 :ivar type: Resource type represents the complete path of the form 1490 Namespace/ResourceType/ResourceType/... 1491 :vartype type: str 1492 :param etag: Optional ETag. 1493 :type etag: str 1494 :param integrity_key: Integrity key. 1495 :type integrity_key: str 1496 :param encryption_key: Encryption key. 1497 :type encryption_key: str 1498 :param encryption_key_thumbprint: Encryption key thumbprint. 1499 :type encryption_key_thumbprint: str 1500 :param algorithm: Algorithm for Vault ExtendedInfo. 1501 :type algorithm: str 1502 """ 1503 1504 _validation = { 1505 'id': {'readonly': True}, 1506 'name': {'readonly': True}, 1507 'type': {'readonly': True}, 1508 } 1509 1510 _attribute_map = { 1511 'id': {'key': 'id', 'type': 'str'}, 1512 'name': {'key': 'name', 'type': 'str'}, 1513 'type': {'key': 'type', 'type': 'str'}, 1514 'etag': {'key': 'etag', 'type': 'str'}, 1515 'integrity_key': {'key': 'properties.integrityKey', 'type': 'str'}, 1516 'encryption_key': {'key': 'properties.encryptionKey', 'type': 'str'}, 1517 'encryption_key_thumbprint': {'key': 'properties.encryptionKeyThumbprint', 'type': 'str'}, 1518 'algorithm': {'key': 'properties.algorithm', 'type': 'str'}, 1519 } 1520 1521 def __init__( 1522 self, 1523 **kwargs 1524 ): 1525 super(VaultExtendedInfoResource, self).__init__(**kwargs) 1526 self.integrity_key = kwargs.get('integrity_key', None) 1527 self.encryption_key = kwargs.get('encryption_key', None) 1528 self.encryption_key_thumbprint = kwargs.get('encryption_key_thumbprint', None) 1529 self.algorithm = kwargs.get('algorithm', None) 1530 1531 1532class VaultList(msrest.serialization.Model): 1533 """The response model for a list of Vaults. 1534 1535 Variables are only populated by the server, and will be ignored when sending a request. 1536 1537 :param value: 1538 :type value: list[~azure.mgmt.recoveryservices.models.Vault] 1539 :ivar next_link: 1540 :vartype next_link: str 1541 """ 1542 1543 _validation = { 1544 'next_link': {'readonly': True}, 1545 } 1546 1547 _attribute_map = { 1548 'value': {'key': 'value', 'type': '[Vault]'}, 1549 'next_link': {'key': 'nextLink', 'type': 'str'}, 1550 } 1551 1552 def __init__( 1553 self, 1554 **kwargs 1555 ): 1556 super(VaultList, self).__init__(**kwargs) 1557 self.value = kwargs.get('value', None) 1558 self.next_link = None 1559 1560 1561class VaultProperties(msrest.serialization.Model): 1562 """Properties of the vault. 1563 1564 Variables are only populated by the server, and will be ignored when sending a request. 1565 1566 :ivar provisioning_state: Provisioning State. 1567 :vartype provisioning_state: str 1568 :param upgrade_details: Details for upgrading vault. 1569 :type upgrade_details: ~azure.mgmt.recoveryservices.models.UpgradeDetails 1570 :ivar private_endpoint_connections: List of private endpoint connection. 1571 :vartype private_endpoint_connections: 1572 list[~azure.mgmt.recoveryservices.models.PrivateEndpointConnectionVaultProperties] 1573 :ivar private_endpoint_state_for_backup: Private endpoint state for backup. Possible values 1574 include: "None", "Enabled". 1575 :vartype private_endpoint_state_for_backup: str or 1576 ~azure.mgmt.recoveryservices.models.VaultPrivateEndpointState 1577 :ivar private_endpoint_state_for_site_recovery: Private endpoint state for site recovery. 1578 Possible values include: "None", "Enabled". 1579 :vartype private_endpoint_state_for_site_recovery: str or 1580 ~azure.mgmt.recoveryservices.models.VaultPrivateEndpointState 1581 :param encryption: Customer Managed Key details of the resource. 1582 :type encryption: ~azure.mgmt.recoveryservices.models.VaultPropertiesEncryption 1583 """ 1584 1585 _validation = { 1586 'provisioning_state': {'readonly': True}, 1587 'private_endpoint_connections': {'readonly': True}, 1588 'private_endpoint_state_for_backup': {'readonly': True}, 1589 'private_endpoint_state_for_site_recovery': {'readonly': True}, 1590 } 1591 1592 _attribute_map = { 1593 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, 1594 'upgrade_details': {'key': 'upgradeDetails', 'type': 'UpgradeDetails'}, 1595 'private_endpoint_connections': {'key': 'privateEndpointConnections', 'type': '[PrivateEndpointConnectionVaultProperties]'}, 1596 'private_endpoint_state_for_backup': {'key': 'privateEndpointStateForBackup', 'type': 'str'}, 1597 'private_endpoint_state_for_site_recovery': {'key': 'privateEndpointStateForSiteRecovery', 'type': 'str'}, 1598 'encryption': {'key': 'encryption', 'type': 'VaultPropertiesEncryption'}, 1599 } 1600 1601 def __init__( 1602 self, 1603 **kwargs 1604 ): 1605 super(VaultProperties, self).__init__(**kwargs) 1606 self.provisioning_state = None 1607 self.upgrade_details = kwargs.get('upgrade_details', None) 1608 self.private_endpoint_connections = None 1609 self.private_endpoint_state_for_backup = None 1610 self.private_endpoint_state_for_site_recovery = None 1611 self.encryption = kwargs.get('encryption', None) 1612 1613 1614class VaultPropertiesEncryption(msrest.serialization.Model): 1615 """Customer Managed Key details of the resource. 1616 1617 :param key_vault_properties: The properties of the Key Vault which hosts CMK. 1618 :type key_vault_properties: ~azure.mgmt.recoveryservices.models.CmkKeyVaultProperties 1619 :param kek_identity: The details of the identity used for CMK. 1620 :type kek_identity: ~azure.mgmt.recoveryservices.models.CmkKekIdentity 1621 :param infrastructure_encryption: Enabling/Disabling the Double Encryption state. Possible 1622 values include: "Enabled", "Disabled". 1623 :type infrastructure_encryption: str or 1624 ~azure.mgmt.recoveryservices.models.InfrastructureEncryptionState 1625 """ 1626 1627 _attribute_map = { 1628 'key_vault_properties': {'key': 'keyVaultProperties', 'type': 'CmkKeyVaultProperties'}, 1629 'kek_identity': {'key': 'kekIdentity', 'type': 'CmkKekIdentity'}, 1630 'infrastructure_encryption': {'key': 'infrastructureEncryption', 'type': 'str'}, 1631 } 1632 1633 def __init__( 1634 self, 1635 **kwargs 1636 ): 1637 super(VaultPropertiesEncryption, self).__init__(**kwargs) 1638 self.key_vault_properties = kwargs.get('key_vault_properties', None) 1639 self.kek_identity = kwargs.get('kek_identity', None) 1640 self.infrastructure_encryption = kwargs.get('infrastructure_encryption', None) 1641 1642 1643class VaultUsage(msrest.serialization.Model): 1644 """Usages of a vault. 1645 1646 :param unit: Unit of the usage. Possible values include: "Count", "Bytes", "Seconds", 1647 "Percent", "CountPerSecond", "BytesPerSecond". 1648 :type unit: str or ~azure.mgmt.recoveryservices.models.UsagesUnit 1649 :param quota_period: Quota period of usage. 1650 :type quota_period: str 1651 :param next_reset_time: Next reset time of usage. 1652 :type next_reset_time: ~datetime.datetime 1653 :param current_value: Current value of usage. 1654 :type current_value: long 1655 :param limit: Limit of usage. 1656 :type limit: long 1657 :param name: Name of usage. 1658 :type name: ~azure.mgmt.recoveryservices.models.NameInfo 1659 """ 1660 1661 _attribute_map = { 1662 'unit': {'key': 'unit', 'type': 'str'}, 1663 'quota_period': {'key': 'quotaPeriod', 'type': 'str'}, 1664 'next_reset_time': {'key': 'nextResetTime', 'type': 'iso-8601'}, 1665 'current_value': {'key': 'currentValue', 'type': 'long'}, 1666 'limit': {'key': 'limit', 'type': 'long'}, 1667 'name': {'key': 'name', 'type': 'NameInfo'}, 1668 } 1669 1670 def __init__( 1671 self, 1672 **kwargs 1673 ): 1674 super(VaultUsage, self).__init__(**kwargs) 1675 self.unit = kwargs.get('unit', None) 1676 self.quota_period = kwargs.get('quota_period', None) 1677 self.next_reset_time = kwargs.get('next_reset_time', None) 1678 self.current_value = kwargs.get('current_value', None) 1679 self.limit = kwargs.get('limit', None) 1680 self.name = kwargs.get('name', None) 1681 1682 1683class VaultUsageList(msrest.serialization.Model): 1684 """Usage for vault. 1685 1686 :param value: The list of usages for the given vault. 1687 :type value: list[~azure.mgmt.recoveryservices.models.VaultUsage] 1688 """ 1689 1690 _attribute_map = { 1691 'value': {'key': 'value', 'type': '[VaultUsage]'}, 1692 } 1693 1694 def __init__( 1695 self, 1696 **kwargs 1697 ): 1698 super(VaultUsageList, self).__init__(**kwargs) 1699 self.value = kwargs.get('value', None) 1700