# coding=utf-8
# --------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License. See License.txt in the project root for
# license information.
#
# Code generated by Microsoft (R) AutoRest Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is
# regenerated.
# --------------------------------------------------------------------------
from msrest.serialization import Model
[docs]class CertificateRequest(Model):
"""Details of the certificate to be uploaded to the vault.
:param properties:
:type properties: ~azure.mgmt.recoveryservices.models.RawCertificateData
"""
_attribute_map = {
'properties': {'key': 'properties', 'type': 'RawCertificateData'},
}
def __init__(self, *, properties=None, **kwargs) -> None:
super(CertificateRequest, self).__init__(**kwargs)
self.properties = properties
[docs]class CheckNameAvailabilityParameters(Model):
"""Resource Name availability input parameters - Resource type and resource
name.
:param type: Describes the Resource type:
Microsoft.RecoveryServices/Vaults
:type type: str
:param name: Resource name for which availability needs to be checked
:type name: str
"""
_attribute_map = {
'type': {'key': 'type', 'type': 'str'},
'name': {'key': 'name', 'type': 'str'},
}
def __init__(self, *, type: str=None, name: str=None, **kwargs) -> None:
super(CheckNameAvailabilityParameters, self).__init__(**kwargs)
self.type = type
self.name = name
[docs]class CheckNameAvailabilityResult(Model):
"""Response for check name availability API. Resource provider will set
availability as true | false.
:param name_available:
:type name_available: bool
:param reason:
:type reason: str
:param message:
:type message: str
"""
_attribute_map = {
'name_available': {'key': 'nameAvailable', 'type': 'bool'},
'reason': {'key': 'reason', 'type': 'str'},
'message': {'key': 'message', 'type': 'str'},
}
def __init__(self, *, name_available: bool=None, reason: str=None, message: str=None, **kwargs) -> None:
super(CheckNameAvailabilityResult, self).__init__(**kwargs)
self.name_available = name_available
self.reason = reason
self.message = message
[docs]class ClientDiscoveryDisplay(Model):
"""Localized display information of an operation.
:param provider: Name of the provider for display purposes
:type provider: str
:param resource: ResourceType for which this Operation can be performed.
:type resource: str
:param operation: Operations Name itself.
:type operation: str
:param description: Description of the operation having details of what
operation is about.
:type description: str
"""
_attribute_map = {
'provider': {'key': 'provider', 'type': 'str'},
'resource': {'key': 'resource', 'type': 'str'},
'operation': {'key': 'operation', 'type': 'str'},
'description': {'key': 'description', 'type': 'str'},
}
def __init__(self, *, provider: str=None, resource: str=None, operation: str=None, description: str=None, **kwargs) -> None:
super(ClientDiscoveryDisplay, self).__init__(**kwargs)
self.provider = provider
self.resource = resource
self.operation = operation
self.description = description
[docs]class ClientDiscoveryForLogSpecification(Model):
"""Class to represent shoebox log specification in json client discovery.
:param name: Name of the log.
:type name: str
:param display_name: Localized display name
:type display_name: str
:param blob_duration: Blobs created in customer storage account per hour
:type blob_duration: str
"""
_attribute_map = {
'name': {'key': 'name', 'type': 'str'},
'display_name': {'key': 'displayName', 'type': 'str'},
'blob_duration': {'key': 'blobDuration', 'type': 'str'},
}
def __init__(self, *, name: str=None, display_name: str=None, blob_duration: str=None, **kwargs) -> None:
super(ClientDiscoveryForLogSpecification, self).__init__(**kwargs)
self.name = name
self.display_name = display_name
self.blob_duration = blob_duration
[docs]class ClientDiscoveryForProperties(Model):
"""Class to represent shoebox properties in json client discovery.
:param service_specification: Operation properties.
:type service_specification:
~azure.mgmt.recoveryservices.models.ClientDiscoveryForServiceSpecification
"""
_attribute_map = {
'service_specification': {'key': 'serviceSpecification', 'type': 'ClientDiscoveryForServiceSpecification'},
}
def __init__(self, *, service_specification=None, **kwargs) -> None:
super(ClientDiscoveryForProperties, self).__init__(**kwargs)
self.service_specification = service_specification
[docs]class ClientDiscoveryForServiceSpecification(Model):
"""Class to represent shoebox service specification in json client discovery.
:param log_specifications: List of log specifications of this operation.
:type log_specifications:
list[~azure.mgmt.recoveryservices.models.ClientDiscoveryForLogSpecification]
"""
_attribute_map = {
'log_specifications': {'key': 'logSpecifications', 'type': '[ClientDiscoveryForLogSpecification]'},
}
def __init__(self, *, log_specifications=None, **kwargs) -> None:
super(ClientDiscoveryForServiceSpecification, self).__init__(**kwargs)
self.log_specifications = log_specifications
[docs]class ClientDiscoveryValueForSingleApi(Model):
"""Available operation details.
:param name: Name of the Operation.
:type name: str
:param display: Contains the localized display information for this
particular operation
:type display: ~azure.mgmt.recoveryservices.models.ClientDiscoveryDisplay
:param origin: The intended executor of the operation;governs the display
of the operation in the RBAC UX and the audit logs UX
:type origin: str
:param properties: ShoeBox properties for the given operation.
:type properties:
~azure.mgmt.recoveryservices.models.ClientDiscoveryForProperties
"""
_attribute_map = {
'name': {'key': 'name', 'type': 'str'},
'display': {'key': 'display', 'type': 'ClientDiscoveryDisplay'},
'origin': {'key': 'origin', 'type': 'str'},
'properties': {'key': 'properties', 'type': 'ClientDiscoveryForProperties'},
}
def __init__(self, *, name: str=None, display=None, origin: str=None, properties=None, **kwargs) -> None:
super(ClientDiscoveryValueForSingleApi, self).__init__(**kwargs)
self.name = name
self.display = display
self.origin = origin
self.properties = properties
class CloudError(Model):
"""CloudError.
"""
_attribute_map = {
}
[docs]class IdentityData(Model):
"""Identity for the resource.
Variables are only populated by the server, and will be ignored when
sending a request.
All required parameters must be populated in order to send to Azure.
:ivar principal_id: The principal ID of resource identity.
:vartype principal_id: str
:ivar tenant_id: The tenant ID of resource.
:vartype tenant_id: str
:param type: Required. The identity type. Possible values include:
'SystemAssigned', 'None'
:type type: str or
~azure.mgmt.recoveryservices.models.ResourceIdentityType
"""
_validation = {
'principal_id': {'readonly': True},
'tenant_id': {'readonly': True},
'type': {'required': True},
}
_attribute_map = {
'principal_id': {'key': 'principalId', 'type': 'str'},
'tenant_id': {'key': 'tenantId', 'type': 'str'},
'type': {'key': 'type', 'type': 'str'},
}
def __init__(self, *, type, **kwargs) -> None:
super(IdentityData, self).__init__(**kwargs)
self.principal_id = None
self.tenant_id = None
self.type = type
[docs]class JobsSummary(Model):
"""Summary of the replication job data for this vault.
:param failed_jobs: Count of failed jobs.
:type failed_jobs: int
:param suspended_jobs: Count of suspended jobs.
:type suspended_jobs: int
:param in_progress_jobs: Count of in-progress jobs.
:type in_progress_jobs: int
"""
_attribute_map = {
'failed_jobs': {'key': 'failedJobs', 'type': 'int'},
'suspended_jobs': {'key': 'suspendedJobs', 'type': 'int'},
'in_progress_jobs': {'key': 'inProgressJobs', 'type': 'int'},
}
def __init__(self, *, failed_jobs: int=None, suspended_jobs: int=None, in_progress_jobs: int=None, **kwargs) -> None:
super(JobsSummary, self).__init__(**kwargs)
self.failed_jobs = failed_jobs
self.suspended_jobs = suspended_jobs
self.in_progress_jobs = in_progress_jobs
[docs]class MonitoringSummary(Model):
"""Summary of the replication monitoring data for this vault.
:param un_healthy_vm_count: Count of unhealthy VMs.
:type un_healthy_vm_count: int
:param un_healthy_provider_count: Count of unhealthy replication
providers.
:type un_healthy_provider_count: int
:param events_count: Count of all critical warnings.
:type events_count: int
:param deprecated_provider_count: Count of all deprecated recovery service
providers.
:type deprecated_provider_count: int
:param supported_provider_count: Count of all the supported recovery
service providers.
:type supported_provider_count: int
:param unsupported_provider_count: Count of all the unsupported recovery
service providers.
:type unsupported_provider_count: int
"""
_attribute_map = {
'un_healthy_vm_count': {'key': 'unHealthyVmCount', 'type': 'int'},
'un_healthy_provider_count': {'key': 'unHealthyProviderCount', 'type': 'int'},
'events_count': {'key': 'eventsCount', 'type': 'int'},
'deprecated_provider_count': {'key': 'deprecatedProviderCount', 'type': 'int'},
'supported_provider_count': {'key': 'supportedProviderCount', 'type': 'int'},
'unsupported_provider_count': {'key': 'unsupportedProviderCount', 'type': 'int'},
}
def __init__(self, *, un_healthy_vm_count: int=None, un_healthy_provider_count: int=None, events_count: int=None, deprecated_provider_count: int=None, supported_provider_count: int=None, unsupported_provider_count: int=None, **kwargs) -> None:
super(MonitoringSummary, self).__init__(**kwargs)
self.un_healthy_vm_count = un_healthy_vm_count
self.un_healthy_provider_count = un_healthy_provider_count
self.events_count = events_count
self.deprecated_provider_count = deprecated_provider_count
self.supported_provider_count = supported_provider_count
self.unsupported_provider_count = unsupported_provider_count
[docs]class NameInfo(Model):
"""The name of usage.
:param value: Value of usage.
:type value: str
:param localized_value: Localized value of usage.
:type localized_value: str
"""
_attribute_map = {
'value': {'key': 'value', 'type': 'str'},
'localized_value': {'key': 'localizedValue', 'type': 'str'},
}
def __init__(self, *, value: str=None, localized_value: str=None, **kwargs) -> None:
super(NameInfo, self).__init__(**kwargs)
self.value = value
self.localized_value = localized_value
[docs]class Resource(Model):
"""ARM Resource.
Variables are only populated by the server, and will be ignored when
sending a request.
:ivar id: Resource Id represents the complete path to the resource.
:vartype id: str
:ivar name: Resource name associated with the resource.
:vartype name: str
:ivar type: Resource type represents the complete path of the form
Namespace/ResourceType/ResourceType/...
:vartype type: str
:param e_tag: Optional ETag.
:type e_tag: str
"""
_validation = {
'id': {'readonly': True},
'name': {'readonly': True},
'type': {'readonly': True},
}
_attribute_map = {
'id': {'key': 'id', 'type': 'str'},
'name': {'key': 'name', 'type': 'str'},
'type': {'key': 'type', 'type': 'str'},
'e_tag': {'key': 'eTag', 'type': 'str'},
}
def __init__(self, *, e_tag: str=None, **kwargs) -> None:
super(Resource, self).__init__(**kwargs)
self.id = None
self.name = None
self.type = None
self.e_tag = e_tag
[docs]class PatchTrackedResource(Resource):
"""Tracked resource with location.
Variables are only populated by the server, and will be ignored when
sending a request.
:ivar id: Resource Id represents the complete path to the resource.
:vartype id: str
:ivar name: Resource name associated with the resource.
:vartype name: str
:ivar type: Resource type represents the complete path of the form
Namespace/ResourceType/ResourceType/...
:vartype type: str
:param e_tag: Optional ETag.
:type e_tag: str
:param location: Resource location.
:type location: str
:param tags: Resource tags.
:type tags: dict[str, str]
"""
_validation = {
'id': {'readonly': True},
'name': {'readonly': True},
'type': {'readonly': True},
}
_attribute_map = {
'id': {'key': 'id', 'type': 'str'},
'name': {'key': 'name', 'type': 'str'},
'type': {'key': 'type', 'type': 'str'},
'e_tag': {'key': 'eTag', 'type': 'str'},
'location': {'key': 'location', 'type': 'str'},
'tags': {'key': 'tags', 'type': '{str}'},
}
def __init__(self, *, e_tag: str=None, location: str=None, tags=None, **kwargs) -> None:
super(PatchTrackedResource, self).__init__(e_tag=e_tag, **kwargs)
self.location = location
self.tags = tags
[docs]class PatchVault(PatchTrackedResource):
"""Patch Resource information, as returned by the resource provider.
Variables are only populated by the server, and will be ignored when
sending a request.
:ivar id: Resource Id represents the complete path to the resource.
:vartype id: str
:ivar name: Resource name associated with the resource.
:vartype name: str
:ivar type: Resource type represents the complete path of the form
Namespace/ResourceType/ResourceType/...
:vartype type: str
:param e_tag: Optional ETag.
:type e_tag: str
:param location: Resource location.
:type location: str
:param tags: Resource tags.
:type tags: dict[str, str]
:param properties:
:type properties: ~azure.mgmt.recoveryservices.models.VaultProperties
:param sku:
:type sku: ~azure.mgmt.recoveryservices.models.Sku
"""
_validation = {
'id': {'readonly': True},
'name': {'readonly': True},
'type': {'readonly': True},
}
_attribute_map = {
'id': {'key': 'id', 'type': 'str'},
'name': {'key': 'name', 'type': 'str'},
'type': {'key': 'type', 'type': 'str'},
'e_tag': {'key': 'eTag', 'type': 'str'},
'location': {'key': 'location', 'type': 'str'},
'tags': {'key': 'tags', 'type': '{str}'},
'properties': {'key': 'properties', 'type': 'VaultProperties'},
'sku': {'key': 'sku', 'type': 'Sku'},
}
def __init__(self, *, e_tag: str=None, location: str=None, tags=None, properties=None, sku=None, **kwargs) -> None:
super(PatchVault, self).__init__(e_tag=e_tag, location=location, tags=tags, **kwargs)
self.properties = properties
self.sku = sku
[docs]class PrivateEndpoint(Model):
"""The Private Endpoint network resource that is linked to the Private
Endpoint connection.
Variables are only populated by the server, and will be ignored when
sending a request.
:ivar id: Gets or sets id.
:vartype id: str
"""
_validation = {
'id': {'readonly': True},
}
_attribute_map = {
'id': {'key': 'id', 'type': 'str'},
}
def __init__(self, **kwargs) -> None:
super(PrivateEndpoint, self).__init__(**kwargs)
self.id = None
[docs]class PrivateEndpointConnection(Model):
"""Private Endpoint Connection Response Properties.
Variables are only populated by the server, and will be ignored when
sending a request.
:ivar provisioning_state: Gets or sets provisioning state of the private
endpoint connection. Possible values include: 'Succeeded', 'Deleting',
'Failed', 'Pending'
:vartype provisioning_state: str or
~azure.mgmt.recoveryservices.models.ProvisioningState
:param private_endpoint:
:type private_endpoint:
~azure.mgmt.recoveryservices.models.PrivateEndpoint
:param private_link_service_connection_state:
:type private_link_service_connection_state:
~azure.mgmt.recoveryservices.models.PrivateLinkServiceConnectionState
"""
_validation = {
'provisioning_state': {'readonly': True},
}
_attribute_map = {
'provisioning_state': {'key': 'provisioningState', 'type': 'str'},
'private_endpoint': {'key': 'privateEndpoint', 'type': 'PrivateEndpoint'},
'private_link_service_connection_state': {'key': 'privateLinkServiceConnectionState', 'type': 'PrivateLinkServiceConnectionState'},
}
def __init__(self, *, private_endpoint=None, private_link_service_connection_state=None, **kwargs) -> None:
super(PrivateEndpointConnection, self).__init__(**kwargs)
self.provisioning_state = None
self.private_endpoint = private_endpoint
self.private_link_service_connection_state = private_link_service_connection_state
[docs]class PrivateEndpointConnectionVaultProperties(Model):
"""Information to be stored in Vault properties as an element of
privateEndpointConnections List.
Variables are only populated by the server, and will be ignored when
sending a request.
:ivar id: Format of id
subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.[Service]/{resource}/{resourceName}/privateEndpointConnections/{connectionName}.
:vartype id: str
:param properties:
:type properties:
~azure.mgmt.recoveryservices.models.PrivateEndpointConnection
"""
_validation = {
'id': {'readonly': True},
}
_attribute_map = {
'id': {'key': 'id', 'type': 'str'},
'properties': {'key': 'properties', 'type': 'PrivateEndpointConnection'},
}
def __init__(self, *, properties=None, **kwargs) -> None:
super(PrivateEndpointConnectionVaultProperties, self).__init__(**kwargs)
self.id = None
self.properties = properties
[docs]class PrivateLinkResource(Model):
"""Information of the private link resource.
Variables are only populated by the server, and will be ignored when
sending a request.
:ivar group_id: e.g. f9ad6492-33d4-4690-9999-6bfd52a0d081 (Backup) or
f9ad6492-33d4-4690-9999-6bfd52a0d082 (SiteRecovery)
:vartype group_id: str
:ivar required_members: [backup-ecs1, backup-prot1, backup-prot1b,
backup-prot1c, backup-id1]
:vartype required_members: list[str]
:ivar required_zone_names: The private link resource Private link DNS zone
name.
:vartype required_zone_names: list[str]
:ivar id: Fully qualified identifier of the resource.
:vartype id: str
:ivar name: Name of the resource.
:vartype name: str
:ivar type: e.g. Microsoft.RecoveryServices/vaults/privateLinkResources
:vartype type: str
"""
_validation = {
'group_id': {'readonly': True},
'required_members': {'readonly': True},
'required_zone_names': {'readonly': True},
'id': {'readonly': True},
'name': {'readonly': True},
'type': {'readonly': True},
}
_attribute_map = {
'group_id': {'key': 'properties.groupId', 'type': 'str'},
'required_members': {'key': 'properties.requiredMembers', 'type': '[str]'},
'required_zone_names': {'key': 'properties.requiredZoneNames', 'type': '[str]'},
'id': {'key': 'id', 'type': 'str'},
'name': {'key': 'name', 'type': 'str'},
'type': {'key': 'type', 'type': 'str'},
}
def __init__(self, **kwargs) -> None:
super(PrivateLinkResource, self).__init__(**kwargs)
self.group_id = None
self.required_members = None
self.required_zone_names = None
self.id = None
self.name = None
self.type = None
[docs]class PrivateLinkServiceConnectionState(Model):
"""Gets or sets private link service connection state.
Variables are only populated by the server, and will be ignored when
sending a request.
:ivar status: Gets or sets the status. Possible values include: 'Pending',
'Approved', 'Rejected', 'Disconnected'
:vartype status: str or
~azure.mgmt.recoveryservices.models.PrivateEndpointConnectionStatus
:ivar description: Gets or sets description.
:vartype description: str
:ivar actions_required: Gets or sets actions required.
:vartype actions_required: str
"""
_validation = {
'status': {'readonly': True},
'description': {'readonly': True},
'actions_required': {'readonly': True},
}
_attribute_map = {
'status': {'key': 'status', 'type': 'str'},
'description': {'key': 'description', 'type': 'str'},
'actions_required': {'key': 'actionsRequired', 'type': 'str'},
}
def __init__(self, **kwargs) -> None:
super(PrivateLinkServiceConnectionState, self).__init__(**kwargs)
self.status = None
self.description = None
self.actions_required = None
[docs]class RawCertificateData(Model):
"""Raw certificate data.
:param auth_type: Specifies the authentication type. Possible values
include: 'Invalid', 'ACS', 'AAD', 'AccessControlService',
'AzureActiveDirectory'
:type auth_type: str or ~azure.mgmt.recoveryservices.models.AuthType
:param certificate: The base64 encoded certificate raw data string
:type certificate: bytearray
"""
_attribute_map = {
'auth_type': {'key': 'authType', 'type': 'str'},
'certificate': {'key': 'certificate', 'type': 'bytearray'},
}
def __init__(self, *, auth_type=None, certificate: bytearray=None, **kwargs) -> None:
super(RawCertificateData, self).__init__(**kwargs)
self.auth_type = auth_type
self.certificate = certificate
[docs]class ReplicationUsage(Model):
"""Replication usages of a vault.
:param monitoring_summary: Summary of the replication monitoring data for
this vault.
:type monitoring_summary:
~azure.mgmt.recoveryservices.models.MonitoringSummary
:param jobs_summary: Summary of the replication jobs data for this vault.
:type jobs_summary: ~azure.mgmt.recoveryservices.models.JobsSummary
:param protected_item_count: Number of replication protected items for
this vault.
:type protected_item_count: int
:param recovery_plan_count: Number of replication recovery plans for this
vault.
:type recovery_plan_count: int
:param registered_servers_count: Number of servers registered to this
vault.
:type registered_servers_count: int
:param recovery_services_provider_auth_type: The authentication type of
recovery service providers in the vault.
:type recovery_services_provider_auth_type: int
"""
_attribute_map = {
'monitoring_summary': {'key': 'monitoringSummary', 'type': 'MonitoringSummary'},
'jobs_summary': {'key': 'jobsSummary', 'type': 'JobsSummary'},
'protected_item_count': {'key': 'protectedItemCount', 'type': 'int'},
'recovery_plan_count': {'key': 'recoveryPlanCount', 'type': 'int'},
'registered_servers_count': {'key': 'registeredServersCount', 'type': 'int'},
'recovery_services_provider_auth_type': {'key': 'recoveryServicesProviderAuthType', 'type': 'int'},
}
def __init__(self, *, monitoring_summary=None, jobs_summary=None, protected_item_count: int=None, recovery_plan_count: int=None, registered_servers_count: int=None, recovery_services_provider_auth_type: int=None, **kwargs) -> None:
super(ReplicationUsage, self).__init__(**kwargs)
self.monitoring_summary = monitoring_summary
self.jobs_summary = jobs_summary
self.protected_item_count = protected_item_count
self.recovery_plan_count = recovery_plan_count
self.registered_servers_count = registered_servers_count
self.recovery_services_provider_auth_type = recovery_services_provider_auth_type
[docs]class ResourceCertificateDetails(Model):
"""Certificate details representing the Vault credentials.
You probably want to use the sub-classes and not this class directly. Known
sub-classes are: ResourceCertificateAndAadDetails,
ResourceCertificateAndAcsDetails
All required parameters must be populated in order to send to Azure.
:param certificate: The base64 encoded certificate raw data string.
:type certificate: bytearray
:param friendly_name: Certificate friendly name.
:type friendly_name: str
:param issuer: Certificate issuer.
:type issuer: str
:param resource_id: Resource ID of the vault.
:type resource_id: long
:param subject: Certificate Subject Name.
:type subject: str
:param thumbprint: Certificate thumbprint.
:type thumbprint: str
:param valid_from: Certificate Validity start Date time.
:type valid_from: datetime
:param valid_to: Certificate Validity End Date time.
:type valid_to: datetime
:param auth_type: Required. Constant filled by server.
:type auth_type: str
"""
_validation = {
'auth_type': {'required': True},
}
_attribute_map = {
'certificate': {'key': 'certificate', 'type': 'bytearray'},
'friendly_name': {'key': 'friendlyName', 'type': 'str'},
'issuer': {'key': 'issuer', 'type': 'str'},
'resource_id': {'key': 'resourceId', 'type': 'long'},
'subject': {'key': 'subject', 'type': 'str'},
'thumbprint': {'key': 'thumbprint', 'type': 'str'},
'valid_from': {'key': 'validFrom', 'type': 'iso-8601'},
'valid_to': {'key': 'validTo', 'type': 'iso-8601'},
'auth_type': {'key': 'authType', 'type': 'str'},
}
_subtype_map = {
'auth_type': {'AzureActiveDirectory': 'ResourceCertificateAndAadDetails', 'AccessControlService': 'ResourceCertificateAndAcsDetails'}
}
def __init__(self, *, certificate: bytearray=None, friendly_name: str=None, issuer: str=None, resource_id: int=None, subject: str=None, thumbprint: str=None, valid_from=None, valid_to=None, **kwargs) -> None:
super(ResourceCertificateDetails, self).__init__(**kwargs)
self.certificate = certificate
self.friendly_name = friendly_name
self.issuer = issuer
self.resource_id = resource_id
self.subject = subject
self.thumbprint = thumbprint
self.valid_from = valid_from
self.valid_to = valid_to
self.auth_type = None
[docs]class ResourceCertificateAndAadDetails(ResourceCertificateDetails):
"""Certificate details representing the Vault credentials for AAD.
All required parameters must be populated in order to send to Azure.
:param certificate: The base64 encoded certificate raw data string.
:type certificate: bytearray
:param friendly_name: Certificate friendly name.
:type friendly_name: str
:param issuer: Certificate issuer.
:type issuer: str
:param resource_id: Resource ID of the vault.
:type resource_id: long
:param subject: Certificate Subject Name.
:type subject: str
:param thumbprint: Certificate thumbprint.
:type thumbprint: str
:param valid_from: Certificate Validity start Date time.
:type valid_from: datetime
:param valid_to: Certificate Validity End Date time.
:type valid_to: datetime
:param auth_type: Required. Constant filled by server.
:type auth_type: str
:param aad_authority: Required. AAD tenant authority.
:type aad_authority: str
:param aad_tenant_id: Required. AAD tenant Id.
:type aad_tenant_id: str
:param service_principal_client_id: Required. AAD service principal
clientId.
:type service_principal_client_id: str
:param service_principal_object_id: Required. AAD service principal
ObjectId.
:type service_principal_object_id: str
:param azure_management_endpoint_audience: Required. Azure Management
Endpoint Audience.
:type azure_management_endpoint_audience: str
"""
_validation = {
'auth_type': {'required': True},
'aad_authority': {'required': True},
'aad_tenant_id': {'required': True},
'service_principal_client_id': {'required': True},
'service_principal_object_id': {'required': True},
'azure_management_endpoint_audience': {'required': True},
}
_attribute_map = {
'certificate': {'key': 'certificate', 'type': 'bytearray'},
'friendly_name': {'key': 'friendlyName', 'type': 'str'},
'issuer': {'key': 'issuer', 'type': 'str'},
'resource_id': {'key': 'resourceId', 'type': 'long'},
'subject': {'key': 'subject', 'type': 'str'},
'thumbprint': {'key': 'thumbprint', 'type': 'str'},
'valid_from': {'key': 'validFrom', 'type': 'iso-8601'},
'valid_to': {'key': 'validTo', 'type': 'iso-8601'},
'auth_type': {'key': 'authType', 'type': 'str'},
'aad_authority': {'key': 'aadAuthority', 'type': 'str'},
'aad_tenant_id': {'key': 'aadTenantId', 'type': 'str'},
'service_principal_client_id': {'key': 'servicePrincipalClientId', 'type': 'str'},
'service_principal_object_id': {'key': 'servicePrincipalObjectId', 'type': 'str'},
'azure_management_endpoint_audience': {'key': 'azureManagementEndpointAudience', 'type': 'str'},
}
def __init__(self, *, aad_authority: str, aad_tenant_id: str, service_principal_client_id: str, service_principal_object_id: str, azure_management_endpoint_audience: str, certificate: bytearray=None, friendly_name: str=None, issuer: str=None, resource_id: int=None, subject: str=None, thumbprint: str=None, valid_from=None, valid_to=None, **kwargs) -> None:
super(ResourceCertificateAndAadDetails, self).__init__(certificate=certificate, friendly_name=friendly_name, issuer=issuer, resource_id=resource_id, subject=subject, thumbprint=thumbprint, valid_from=valid_from, valid_to=valid_to, **kwargs)
self.aad_authority = aad_authority
self.aad_tenant_id = aad_tenant_id
self.service_principal_client_id = service_principal_client_id
self.service_principal_object_id = service_principal_object_id
self.azure_management_endpoint_audience = azure_management_endpoint_audience
self.auth_type = 'AzureActiveDirectory'
[docs]class ResourceCertificateAndAcsDetails(ResourceCertificateDetails):
"""Certificate details representing the Vault credentials for ACS.
All required parameters must be populated in order to send to Azure.
:param certificate: The base64 encoded certificate raw data string.
:type certificate: bytearray
:param friendly_name: Certificate friendly name.
:type friendly_name: str
:param issuer: Certificate issuer.
:type issuer: str
:param resource_id: Resource ID of the vault.
:type resource_id: long
:param subject: Certificate Subject Name.
:type subject: str
:param thumbprint: Certificate thumbprint.
:type thumbprint: str
:param valid_from: Certificate Validity start Date time.
:type valid_from: datetime
:param valid_to: Certificate Validity End Date time.
:type valid_to: datetime
:param auth_type: Required. Constant filled by server.
:type auth_type: str
:param global_acs_namespace: Required. ACS namespace name - tenant for our
service.
:type global_acs_namespace: str
:param global_acs_host_name: Required. Acs mgmt host name to connect to.
:type global_acs_host_name: str
:param global_acs_rp_realm: Required. Global ACS namespace RP realm.
:type global_acs_rp_realm: str
"""
_validation = {
'auth_type': {'required': True},
'global_acs_namespace': {'required': True},
'global_acs_host_name': {'required': True},
'global_acs_rp_realm': {'required': True},
}
_attribute_map = {
'certificate': {'key': 'certificate', 'type': 'bytearray'},
'friendly_name': {'key': 'friendlyName', 'type': 'str'},
'issuer': {'key': 'issuer', 'type': 'str'},
'resource_id': {'key': 'resourceId', 'type': 'long'},
'subject': {'key': 'subject', 'type': 'str'},
'thumbprint': {'key': 'thumbprint', 'type': 'str'},
'valid_from': {'key': 'validFrom', 'type': 'iso-8601'},
'valid_to': {'key': 'validTo', 'type': 'iso-8601'},
'auth_type': {'key': 'authType', 'type': 'str'},
'global_acs_namespace': {'key': 'globalAcsNamespace', 'type': 'str'},
'global_acs_host_name': {'key': 'globalAcsHostName', 'type': 'str'},
'global_acs_rp_realm': {'key': 'globalAcsRPRealm', 'type': 'str'},
}
def __init__(self, *, global_acs_namespace: str, global_acs_host_name: str, global_acs_rp_realm: str, certificate: bytearray=None, friendly_name: str=None, issuer: str=None, resource_id: int=None, subject: str=None, thumbprint: str=None, valid_from=None, valid_to=None, **kwargs) -> None:
super(ResourceCertificateAndAcsDetails, self).__init__(certificate=certificate, friendly_name=friendly_name, issuer=issuer, resource_id=resource_id, subject=subject, thumbprint=thumbprint, valid_from=valid_from, valid_to=valid_to, **kwargs)
self.global_acs_namespace = global_acs_namespace
self.global_acs_host_name = global_acs_host_name
self.global_acs_rp_realm = global_acs_rp_realm
self.auth_type = 'AccessControlService'
[docs]class Sku(Model):
"""Identifies the unique system identifier for each Azure resource.
All required parameters must be populated in order to send to Azure.
:param name: Required. The Sku name. Possible values include: 'Standard',
'RS0'
:type name: str or ~azure.mgmt.recoveryservices.models.SkuName
"""
_validation = {
'name': {'required': True},
}
_attribute_map = {
'name': {'key': 'name', 'type': 'str'},
}
def __init__(self, *, name, **kwargs) -> None:
super(Sku, self).__init__(**kwargs)
self.name = name
[docs]class TrackedResource(Resource):
"""Tracked resource with location.
Variables are only populated by the server, and will be ignored when
sending a request.
All required parameters must be populated in order to send to Azure.
:ivar id: Resource Id represents the complete path to the resource.
:vartype id: str
:ivar name: Resource name associated with the resource.
:vartype name: str
:ivar type: Resource type represents the complete path of the form
Namespace/ResourceType/ResourceType/...
:vartype type: str
:param e_tag: Optional ETag.
:type e_tag: str
:param location: Required. Resource location.
:type location: str
:param tags: Resource tags.
:type tags: dict[str, str]
"""
_validation = {
'id': {'readonly': True},
'name': {'readonly': True},
'type': {'readonly': True},
'location': {'required': True},
}
_attribute_map = {
'id': {'key': 'id', 'type': 'str'},
'name': {'key': 'name', 'type': 'str'},
'type': {'key': 'type', 'type': 'str'},
'e_tag': {'key': 'eTag', 'type': 'str'},
'location': {'key': 'location', 'type': 'str'},
'tags': {'key': 'tags', 'type': '{str}'},
}
def __init__(self, *, location: str, e_tag: str=None, tags=None, **kwargs) -> None:
super(TrackedResource, self).__init__(e_tag=e_tag, **kwargs)
self.location = location
self.tags = tags
[docs]class UpgradeDetails(Model):
"""Details for upgrading vault.
Variables are only populated by the server, and will be ignored when
sending a request.
:ivar operation_id: ID of the vault upgrade operation.
:vartype operation_id: str
:ivar start_time_utc: UTC time at which the upgrade operation has started.
:vartype start_time_utc: datetime
:ivar last_updated_time_utc: UTC time at which the upgrade operation
status was last updated.
:vartype last_updated_time_utc: datetime
:ivar end_time_utc: UTC time at which the upgrade operation has ended.
:vartype end_time_utc: datetime
:ivar status: Status of the vault upgrade operation. Possible values
include: 'Unknown', 'InProgress', 'Upgraded', 'Failed'
:vartype status: str or
~azure.mgmt.recoveryservices.models.VaultUpgradeState
:ivar message: Message to the user containing information about the
upgrade operation.
:vartype message: str
:ivar trigger_type: The way the vault upgrade was triggered. Possible
values include: 'UserTriggered', 'ForcedUpgrade'
:vartype trigger_type: str or
~azure.mgmt.recoveryservices.models.TriggerType
:ivar upgraded_resource_id: Resource ID of the upgraded vault.
:vartype upgraded_resource_id: str
:ivar previous_resource_id: Resource ID of the vault before the upgrade.
:vartype previous_resource_id: str
"""
_validation = {
'operation_id': {'readonly': True},
'start_time_utc': {'readonly': True},
'last_updated_time_utc': {'readonly': True},
'end_time_utc': {'readonly': True},
'status': {'readonly': True},
'message': {'readonly': True},
'trigger_type': {'readonly': True},
'upgraded_resource_id': {'readonly': True},
'previous_resource_id': {'readonly': True},
}
_attribute_map = {
'operation_id': {'key': 'operationId', 'type': 'str'},
'start_time_utc': {'key': 'startTimeUtc', 'type': 'iso-8601'},
'last_updated_time_utc': {'key': 'lastUpdatedTimeUtc', 'type': 'iso-8601'},
'end_time_utc': {'key': 'endTimeUtc', 'type': 'iso-8601'},
'status': {'key': 'status', 'type': 'str'},
'message': {'key': 'message', 'type': 'str'},
'trigger_type': {'key': 'triggerType', 'type': 'str'},
'upgraded_resource_id': {'key': 'upgradedResourceId', 'type': 'str'},
'previous_resource_id': {'key': 'previousResourceId', 'type': 'str'},
}
def __init__(self, **kwargs) -> None:
super(UpgradeDetails, self).__init__(**kwargs)
self.operation_id = None
self.start_time_utc = None
self.last_updated_time_utc = None
self.end_time_utc = None
self.status = None
self.message = None
self.trigger_type = None
self.upgraded_resource_id = None
self.previous_resource_id = None
[docs]class Vault(TrackedResource):
"""Resource information, as returned by the resource provider.
Variables are only populated by the server, and will be ignored when
sending a request.
All required parameters must be populated in order to send to Azure.
:ivar id: Resource Id represents the complete path to the resource.
:vartype id: str
:ivar name: Resource name associated with the resource.
:vartype name: str
:ivar type: Resource type represents the complete path of the form
Namespace/ResourceType/ResourceType/...
:vartype type: str
:param e_tag: Optional ETag.
:type e_tag: str
:param location: Required. Resource location.
:type location: str
:param tags: Resource tags.
:type tags: dict[str, str]
:param identity:
:type identity: ~azure.mgmt.recoveryservices.models.IdentityData
:param properties:
:type properties: ~azure.mgmt.recoveryservices.models.VaultProperties
:param sku:
:type sku: ~azure.mgmt.recoveryservices.models.Sku
"""
_validation = {
'id': {'readonly': True},
'name': {'readonly': True},
'type': {'readonly': True},
'location': {'required': True},
}
_attribute_map = {
'id': {'key': 'id', 'type': 'str'},
'name': {'key': 'name', 'type': 'str'},
'type': {'key': 'type', 'type': 'str'},
'e_tag': {'key': 'eTag', 'type': 'str'},
'location': {'key': 'location', 'type': 'str'},
'tags': {'key': 'tags', 'type': '{str}'},
'identity': {'key': 'identity', 'type': 'IdentityData'},
'properties': {'key': 'properties', 'type': 'VaultProperties'},
'sku': {'key': 'sku', 'type': 'Sku'},
}
def __init__(self, *, location: str, e_tag: str=None, tags=None, identity=None, properties=None, sku=None, **kwargs) -> None:
super(Vault, self).__init__(e_tag=e_tag, location=location, tags=tags, **kwargs)
self.identity = identity
self.properties = properties
self.sku = sku
[docs]class VaultCertificateResponse(Model):
"""Certificate corresponding to a vault that can be used by clients to
register themselves with the vault.
Variables are only populated by the server, and will be ignored when
sending a request.
:ivar name: Resource name associated with the resource.
:vartype name: str
:ivar type: Resource type represents the complete path of the form
Namespace/ResourceType/ResourceType/...
:vartype type: str
:ivar id: Resource Id represents the complete path to the resource.
:vartype id: str
:param properties:
:type properties:
~azure.mgmt.recoveryservices.models.ResourceCertificateDetails
"""
_validation = {
'name': {'readonly': True},
'type': {'readonly': True},
'id': {'readonly': True},
}
_attribute_map = {
'name': {'key': 'name', 'type': 'str'},
'type': {'key': 'type', 'type': 'str'},
'id': {'key': 'id', 'type': 'str'},
'properties': {'key': 'properties', 'type': 'ResourceCertificateDetails'},
}
def __init__(self, *, properties=None, **kwargs) -> None:
super(VaultCertificateResponse, self).__init__(**kwargs)
self.name = None
self.type = None
self.id = None
self.properties = properties
[docs]class VaultExtendedInfoResource(Resource):
"""Vault extended information.
Variables are only populated by the server, and will be ignored when
sending a request.
:ivar id: Resource Id represents the complete path to the resource.
:vartype id: str
:ivar name: Resource name associated with the resource.
:vartype name: str
:ivar type: Resource type represents the complete path of the form
Namespace/ResourceType/ResourceType/...
:vartype type: str
:param e_tag: Optional ETag.
:type e_tag: str
:param integrity_key: Integrity key.
:type integrity_key: str
:param encryption_key: Encryption key.
:type encryption_key: str
:param encryption_key_thumbprint: Encryption key thumbprint.
:type encryption_key_thumbprint: str
:param algorithm: Algorithm for Vault ExtendedInfo
:type algorithm: str
"""
_validation = {
'id': {'readonly': True},
'name': {'readonly': True},
'type': {'readonly': True},
}
_attribute_map = {
'id': {'key': 'id', 'type': 'str'},
'name': {'key': 'name', 'type': 'str'},
'type': {'key': 'type', 'type': 'str'},
'e_tag': {'key': 'eTag', 'type': 'str'},
'integrity_key': {'key': 'properties.integrityKey', 'type': 'str'},
'encryption_key': {'key': 'properties.encryptionKey', 'type': 'str'},
'encryption_key_thumbprint': {'key': 'properties.encryptionKeyThumbprint', 'type': 'str'},
'algorithm': {'key': 'properties.algorithm', 'type': 'str'},
}
def __init__(self, *, e_tag: str=None, integrity_key: str=None, encryption_key: str=None, encryption_key_thumbprint: str=None, algorithm: str=None, **kwargs) -> None:
super(VaultExtendedInfoResource, self).__init__(e_tag=e_tag, **kwargs)
self.integrity_key = integrity_key
self.encryption_key = encryption_key
self.encryption_key_thumbprint = encryption_key_thumbprint
self.algorithm = algorithm
[docs]class VaultProperties(Model):
"""Properties of the vault.
Variables are only populated by the server, and will be ignored when
sending a request.
:ivar provisioning_state: Provisioning State.
:vartype provisioning_state: str
:param upgrade_details:
:type upgrade_details: ~azure.mgmt.recoveryservices.models.UpgradeDetails
:ivar private_endpoint_connections: List of private endpoint connection.
:vartype private_endpoint_connections:
list[~azure.mgmt.recoveryservices.models.PrivateEndpointConnectionVaultProperties]
:ivar private_endpoint_state_for_backup: Private endpoint state for
backup. Possible values include: 'None', 'Enabled'
:vartype private_endpoint_state_for_backup: str or
~azure.mgmt.recoveryservices.models.VaultPrivateEndpointState
:ivar private_endpoint_state_for_site_recovery: Private endpoint state for
site recovery. Possible values include: 'None', 'Enabled'
:vartype private_endpoint_state_for_site_recovery: str or
~azure.mgmt.recoveryservices.models.VaultPrivateEndpointState
"""
_validation = {
'provisioning_state': {'readonly': True},
'private_endpoint_connections': {'readonly': True},
'private_endpoint_state_for_backup': {'readonly': True},
'private_endpoint_state_for_site_recovery': {'readonly': True},
}
_attribute_map = {
'provisioning_state': {'key': 'provisioningState', 'type': 'str'},
'upgrade_details': {'key': 'upgradeDetails', 'type': 'UpgradeDetails'},
'private_endpoint_connections': {'key': 'privateEndpointConnections', 'type': '[PrivateEndpointConnectionVaultProperties]'},
'private_endpoint_state_for_backup': {'key': 'privateEndpointStateForBackup', 'type': 'str'},
'private_endpoint_state_for_site_recovery': {'key': 'privateEndpointStateForSiteRecovery', 'type': 'str'},
}
def __init__(self, *, upgrade_details=None, **kwargs) -> None:
super(VaultProperties, self).__init__(**kwargs)
self.provisioning_state = None
self.upgrade_details = upgrade_details
self.private_endpoint_connections = None
self.private_endpoint_state_for_backup = None
self.private_endpoint_state_for_site_recovery = None
[docs]class VaultUsage(Model):
"""Usages of a vault.
:param unit: Unit of the usage. Possible values include: 'Count', 'Bytes',
'Seconds', 'Percent', 'CountPerSecond', 'BytesPerSecond'
:type unit: str or ~azure.mgmt.recoveryservices.models.UsagesUnit
:param quota_period: Quota period of usage.
:type quota_period: str
:param next_reset_time: Next reset time of usage.
:type next_reset_time: datetime
:param current_value: Current value of usage.
:type current_value: long
:param limit: Limit of usage.
:type limit: long
:param name: Name of usage.
:type name: ~azure.mgmt.recoveryservices.models.NameInfo
"""
_attribute_map = {
'unit': {'key': 'unit', 'type': 'str'},
'quota_period': {'key': 'quotaPeriod', 'type': 'str'},
'next_reset_time': {'key': 'nextResetTime', 'type': 'iso-8601'},
'current_value': {'key': 'currentValue', 'type': 'long'},
'limit': {'key': 'limit', 'type': 'long'},
'name': {'key': 'name', 'type': 'NameInfo'},
}
def __init__(self, *, unit=None, quota_period: str=None, next_reset_time=None, current_value: int=None, limit: int=None, name=None, **kwargs) -> None:
super(VaultUsage, self).__init__(**kwargs)
self.unit = unit
self.quota_period = quota_period
self.next_reset_time = next_reset_time
self.current_value = current_value
self.limit = limit
self.name = name