"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
"""
import builtins
import collections.abc
import google.protobuf.descriptor
import google.protobuf.internal.containers
import google.protobuf.message
import shared.shared_pb2
import sys

if sys.version_info >= (3, 8):
    import typing as typing_extensions
else:
    import typing_extensions

DESCRIPTOR: google.protobuf.descriptor.FileDescriptor

@typing_extensions.final
class Microsoft_RecoveryServices(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    VAULTS_FIELD_NUMBER: builtins.int
    @property
    def vaults(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Vaults]: ...
    def __init__(
        self,
        *,
        vaults: collections.abc.Iterable[global___Vaults] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["vaults", b"vaults"]) -> None: ...

global___Microsoft_RecoveryServices = Microsoft_RecoveryServices

@typing_extensions.final
class VaultsExtendedInformation(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    ETAG_FIELD_NUMBER: builtins.int
    NAME_FIELD_NUMBER: builtins.int
    ALGORITHM_FIELD_NUMBER: builtins.int
    ENCRYPTION_KEY_FIELD_NUMBER: builtins.int
    ENCRYPTION_KEY_THUMBPRINT_FIELD_NUMBER: builtins.int
    INTEGRITY_KEY_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    etag: builtins.str
    name: builtins.str
    algorithm: builtins.str
    encryption_key: builtins.str
    encryption_key_thumbprint: builtins.str
    integrity_key: builtins.str
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        etag: builtins.str = ...,
        name: builtins.str = ...,
        algorithm: builtins.str = ...,
        encryption_key: builtins.str = ...,
        encryption_key_thumbprint: builtins.str = ...,
        integrity_key: builtins.str = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["resource_info", b"resource_info"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["algorithm", b"algorithm", "encryption_key", b"encryption_key", "encryption_key_thumbprint", b"encryption_key_thumbprint", "etag", b"etag", "integrity_key", b"integrity_key", "name", b"name", "resource_info", b"resource_info"]) -> None: ...

global___VaultsExtendedInformation = VaultsExtendedInformation

@typing_extensions.final
class VaultsCertificates(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    NAME_FIELD_NUMBER: builtins.int
    AUTH_TYPE_FIELD_NUMBER: builtins.int
    CERTIFICATE_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    name: builtins.str
    auth_type: builtins.str
    certificate: builtins.str
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        name: builtins.str = ...,
        auth_type: builtins.str = ...,
        certificate: builtins.str = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["resource_info", b"resource_info"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["auth_type", b"auth_type", "certificate", b"certificate", "name", b"name", "resource_info", b"resource_info"]) -> None: ...

global___VaultsCertificates = VaultsCertificates

@typing_extensions.final
class Vaults(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    @typing_extensions.final
    class TagsEntry(google.protobuf.message.Message):
        DESCRIPTOR: google.protobuf.descriptor.Descriptor

        KEY_FIELD_NUMBER: builtins.int
        VALUE_FIELD_NUMBER: builtins.int
        key: builtins.str
        value: builtins.str
        def __init__(
            self,
            *,
            key: builtins.str = ...,
            value: builtins.str = ...,
        ) -> None: ...
        def ClearField(self, field_name: typing_extensions.Literal["key", b"key", "value", b"value"]) -> None: ...

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    ETAG_FIELD_NUMBER: builtins.int
    IDENTITY_FIELD_NUMBER: builtins.int
    LOCATION_FIELD_NUMBER: builtins.int
    NAME_FIELD_NUMBER: builtins.int
    ENCRYPTION_FIELD_NUMBER: builtins.int
    MOVE_DETAILS_FIELD_NUMBER: builtins.int
    UPGRADE_DETAILS_FIELD_NUMBER: builtins.int
    SKU_FIELD_NUMBER: builtins.int
    SYSTEM_DATA_FIELD_NUMBER: builtins.int
    TAGS_FIELD_NUMBER: builtins.int
    VAULTS_CERTIFICATES_FIELD_NUMBER: builtins.int
    VAULTS_EXTENDED_INFORMATION_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    etag: builtins.str
    @property
    def identity(self) -> global___IdentityData: ...
    location: builtins.str
    name: builtins.str
    @property
    def encryption(self) -> global___VaultPropertiesEncryption: ...
    @property
    def move_details(self) -> global___VaultPropertiesMoveDetails: ...
    @property
    def upgrade_details(self) -> global___UpgradeDetails: ...
    @property
    def sku(self) -> global___Sku: ...
    @property
    def system_data(self) -> global___SystemData: ...
    @property
    def tags(self) -> google.protobuf.internal.containers.ScalarMap[builtins.str, builtins.str]: ...
    @property
    def vaults_certificates(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___VaultsCertificates]: ...
    @property
    def vaults_extended_information(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___VaultsExtendedInformation]: ...
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        etag: builtins.str = ...,
        identity: global___IdentityData | None = ...,
        location: builtins.str = ...,
        name: builtins.str = ...,
        encryption: global___VaultPropertiesEncryption | None = ...,
        move_details: global___VaultPropertiesMoveDetails | None = ...,
        upgrade_details: global___UpgradeDetails | None = ...,
        sku: global___Sku | None = ...,
        system_data: global___SystemData | None = ...,
        tags: collections.abc.Mapping[builtins.str, builtins.str] | None = ...,
        vaults_certificates: collections.abc.Iterable[global___VaultsCertificates] | None = ...,
        vaults_extended_information: collections.abc.Iterable[global___VaultsExtendedInformation] | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["encryption", b"encryption", "identity", b"identity", "move_details", b"move_details", "resource_info", b"resource_info", "sku", b"sku", "system_data", b"system_data", "upgrade_details", b"upgrade_details"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["encryption", b"encryption", "etag", b"etag", "identity", b"identity", "location", b"location", "move_details", b"move_details", "name", b"name", "resource_info", b"resource_info", "sku", b"sku", "system_data", b"system_data", "tags", b"tags", "upgrade_details", b"upgrade_details", "vaults_certificates", b"vaults_certificates", "vaults_extended_information", b"vaults_extended_information"]) -> None: ...

global___Vaults = Vaults

@typing_extensions.final
class SystemData(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    CREATED_AT_FIELD_NUMBER: builtins.int
    CREATED_BY_FIELD_NUMBER: builtins.int
    CREATED_BY_TYPE_FIELD_NUMBER: builtins.int
    LAST_MODIFIED_AT_FIELD_NUMBER: builtins.int
    LAST_MODIFIED_BY_FIELD_NUMBER: builtins.int
    LAST_MODIFIED_BY_TYPE_FIELD_NUMBER: builtins.int
    created_at: builtins.str
    created_by: builtins.str
    created_by_type: builtins.str
    last_modified_at: builtins.str
    last_modified_by: builtins.str
    last_modified_by_type: builtins.str
    def __init__(
        self,
        *,
        created_at: builtins.str = ...,
        created_by: builtins.str = ...,
        created_by_type: builtins.str = ...,
        last_modified_at: builtins.str = ...,
        last_modified_by: builtins.str = ...,
        last_modified_by_type: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["created_at", b"created_at", "created_by", b"created_by", "created_by_type", b"created_by_type", "last_modified_at", b"last_modified_at", "last_modified_by", b"last_modified_by", "last_modified_by_type", b"last_modified_by_type"]) -> None: ...

global___SystemData = SystemData

@typing_extensions.final
class Sku(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    CAPACITY_FIELD_NUMBER: builtins.int
    FAMILY_FIELD_NUMBER: builtins.int
    NAME_FIELD_NUMBER: builtins.int
    SIZE_FIELD_NUMBER: builtins.int
    TIER_FIELD_NUMBER: builtins.int
    capacity: builtins.str
    family: builtins.str
    name: builtins.str
    size: builtins.str
    tier: builtins.str
    def __init__(
        self,
        *,
        capacity: builtins.str = ...,
        family: builtins.str = ...,
        name: builtins.str = ...,
        size: builtins.str = ...,
        tier: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["capacity", b"capacity", "family", b"family", "name", b"name", "size", b"size", "tier", b"tier"]) -> None: ...

global___Sku = Sku

@typing_extensions.final
class UpgradeDetails(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    NAME_FIELD_NUMBER: builtins.int
    name: builtins.str
    def __init__(
        self,
        *,
        name: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["name", b"name"]) -> None: ...

global___UpgradeDetails = UpgradeDetails

@typing_extensions.final
class VaultPropertiesMoveDetails(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    NAME_FIELD_NUMBER: builtins.int
    name: builtins.str
    def __init__(
        self,
        *,
        name: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["name", b"name"]) -> None: ...

global___VaultPropertiesMoveDetails = VaultPropertiesMoveDetails

@typing_extensions.final
class VaultPropertiesEncryption(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    INFRASTRUCTURE_ENCRYPTION_FIELD_NUMBER: builtins.int
    KEK_IDENTITY_FIELD_NUMBER: builtins.int
    KEY_VAULT_PROPERTIES_FIELD_NUMBER: builtins.int
    infrastructure_encryption: builtins.str
    @property
    def kek_identity(self) -> global___CmkKekIdentity: ...
    @property
    def key_vault_properties(self) -> global___CmkKeyVaultProperties: ...
    def __init__(
        self,
        *,
        infrastructure_encryption: builtins.str = ...,
        kek_identity: global___CmkKekIdentity | None = ...,
        key_vault_properties: global___CmkKeyVaultProperties | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["kek_identity", b"kek_identity", "key_vault_properties", b"key_vault_properties"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["infrastructure_encryption", b"infrastructure_encryption", "kek_identity", b"kek_identity", "key_vault_properties", b"key_vault_properties"]) -> None: ...

global___VaultPropertiesEncryption = VaultPropertiesEncryption

@typing_extensions.final
class CmkKeyVaultProperties(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    KEY_URI_FIELD_NUMBER: builtins.int
    key_uri: builtins.str
    def __init__(
        self,
        *,
        key_uri: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["key_uri", b"key_uri"]) -> None: ...

global___CmkKeyVaultProperties = CmkKeyVaultProperties

@typing_extensions.final
class CmkKekIdentity(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    USER_ASSIGNED_IDENTITY_FIELD_NUMBER: builtins.int
    USE_SYSTEM_ASSIGNED_IDENTITY_FIELD_NUMBER: builtins.int
    user_assigned_identity: builtins.str
    use_system_assigned_identity: builtins.bool
    def __init__(
        self,
        *,
        user_assigned_identity: builtins.str = ...,
        use_system_assigned_identity: builtins.bool = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["use_system_assigned_identity", b"use_system_assigned_identity", "user_assigned_identity", b"user_assigned_identity"]) -> None: ...

global___CmkKekIdentity = CmkKekIdentity

@typing_extensions.final
class IdentityData(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    @typing_extensions.final
    class UserAssignedIdentitiesEntry(google.protobuf.message.Message):
        DESCRIPTOR: google.protobuf.descriptor.Descriptor

        KEY_FIELD_NUMBER: builtins.int
        VALUE_FIELD_NUMBER: builtins.int
        key: builtins.str
        value: builtins.str
        def __init__(
            self,
            *,
            key: builtins.str = ...,
            value: builtins.str = ...,
        ) -> None: ...
        def ClearField(self, field_name: typing_extensions.Literal["key", b"key", "value", b"value"]) -> None: ...

    TYPE_FIELD_NUMBER: builtins.int
    USER_ASSIGNED_IDENTITIES_FIELD_NUMBER: builtins.int
    type: builtins.str
    @property
    def user_assigned_identities(self) -> google.protobuf.internal.containers.ScalarMap[builtins.str, builtins.str]: ...
    def __init__(
        self,
        *,
        type: builtins.str = ...,
        user_assigned_identities: collections.abc.Mapping[builtins.str, builtins.str] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["type", b"type", "user_assigned_identities", b"user_assigned_identities"]) -> None: ...

global___IdentityData = IdentityData
