"""
@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_AAD(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

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

global___Microsoft_AAD = Microsoft_AAD

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

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    ACCOUNT_NAME_FIELD_NUMBER: builtins.int
    NAME_FIELD_NUMBER: builtins.int
    PASSWORD_FIELD_NUMBER: builtins.int
    SPN_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    account_name: builtins.str
    name: builtins.str
    password: builtins.str
    spn: builtins.str
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        account_name: builtins.str = ...,
        name: builtins.str = ...,
        password: builtins.str = ...,
        spn: 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["account_name", b"account_name", "name", b"name", "password", b"password", "resource_info", b"resource_info", "spn", b"spn"]) -> None: ...

global___DomainServicesOuContainer = DomainServicesOuContainer

@typing_extensions.final
class DomainServices(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
    LOCATION_FIELD_NUMBER: builtins.int
    NAME_FIELD_NUMBER: builtins.int
    DOMAIN_CONFIGURATION_TYPE_FIELD_NUMBER: builtins.int
    DOMAIN_NAME_FIELD_NUMBER: builtins.int
    DOMAIN_SECURITY_SETTINGS_FIELD_NUMBER: builtins.int
    FILTERED_SYNC_FIELD_NUMBER: builtins.int
    LDAPS_SETTINGS_FIELD_NUMBER: builtins.int
    NOTIFICATION_SETTINGS_FIELD_NUMBER: builtins.int
    REPLICA_SETS_FIELD_NUMBER: builtins.int
    RESOURCE_FOREST_SETTINGS_FIELD_NUMBER: builtins.int
    SKU_FIELD_NUMBER: builtins.int
    TAGS_FIELD_NUMBER: builtins.int
    DOMAIN_SERVICES_OU_CONTAINER_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    etag: builtins.str
    location: builtins.str
    name: builtins.str
    domain_configuration_type: builtins.str
    domain_name: builtins.str
    @property
    def domain_security_settings(self) -> global___DomainSecuritySettings: ...
    filtered_sync: builtins.str
    @property
    def ldaps_settings(self) -> global___LdapsSettings: ...
    @property
    def notification_settings(self) -> global___NotificationSettings: ...
    @property
    def replica_sets(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ReplicaSet]: ...
    @property
    def resource_forest_settings(self) -> global___ResourceForestSettings: ...
    sku: builtins.str
    @property
    def tags(self) -> google.protobuf.internal.containers.ScalarMap[builtins.str, builtins.str]: ...
    @property
    def domain_services_ou_container(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___DomainServicesOuContainer]: ...
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        etag: builtins.str = ...,
        location: builtins.str = ...,
        name: builtins.str = ...,
        domain_configuration_type: builtins.str = ...,
        domain_name: builtins.str = ...,
        domain_security_settings: global___DomainSecuritySettings | None = ...,
        filtered_sync: builtins.str = ...,
        ldaps_settings: global___LdapsSettings | None = ...,
        notification_settings: global___NotificationSettings | None = ...,
        replica_sets: collections.abc.Iterable[global___ReplicaSet] | None = ...,
        resource_forest_settings: global___ResourceForestSettings | None = ...,
        sku: builtins.str = ...,
        tags: collections.abc.Mapping[builtins.str, builtins.str] | None = ...,
        domain_services_ou_container: collections.abc.Iterable[global___DomainServicesOuContainer] | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["domain_security_settings", b"domain_security_settings", "ldaps_settings", b"ldaps_settings", "notification_settings", b"notification_settings", "resource_forest_settings", b"resource_forest_settings", "resource_info", b"resource_info"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["domain_configuration_type", b"domain_configuration_type", "domain_name", b"domain_name", "domain_security_settings", b"domain_security_settings", "domain_services_ou_container", b"domain_services_ou_container", "etag", b"etag", "filtered_sync", b"filtered_sync", "ldaps_settings", b"ldaps_settings", "location", b"location", "name", b"name", "notification_settings", b"notification_settings", "replica_sets", b"replica_sets", "resource_forest_settings", b"resource_forest_settings", "resource_info", b"resource_info", "sku", b"sku", "tags", b"tags"]) -> None: ...

global___DomainServices = DomainServices

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

    RESOURCE_FOREST_FIELD_NUMBER: builtins.int
    SETTINGS_FIELD_NUMBER: builtins.int
    resource_forest: builtins.str
    @property
    def settings(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ForestTrust]: ...
    def __init__(
        self,
        *,
        resource_forest: builtins.str = ...,
        settings: collections.abc.Iterable[global___ForestTrust] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["resource_forest", b"resource_forest", "settings", b"settings"]) -> None: ...

global___ResourceForestSettings = ResourceForestSettings

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

    FRIENDLY_NAME_FIELD_NUMBER: builtins.int
    REMOTE_DNS_IPS_FIELD_NUMBER: builtins.int
    TRUST_DIRECTION_FIELD_NUMBER: builtins.int
    TRUSTED_DOMAIN_FQDN_FIELD_NUMBER: builtins.int
    TRUST_PASSWORD_FIELD_NUMBER: builtins.int
    friendly_name: builtins.str
    remote_dns_ips: builtins.str
    trust_direction: builtins.str
    trusted_domain_fqdn: builtins.str
    trust_password: builtins.str
    def __init__(
        self,
        *,
        friendly_name: builtins.str = ...,
        remote_dns_ips: builtins.str = ...,
        trust_direction: builtins.str = ...,
        trusted_domain_fqdn: builtins.str = ...,
        trust_password: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["friendly_name", b"friendly_name", "remote_dns_ips", b"remote_dns_ips", "trust_direction", b"trust_direction", "trust_password", b"trust_password", "trusted_domain_fqdn", b"trusted_domain_fqdn"]) -> None: ...

global___ForestTrust = ForestTrust

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

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

global___ReplicaSet = ReplicaSet

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

    ADDITIONAL_RECIPIENTS_FIELD_NUMBER: builtins.int
    NOTIFY_DC_ADMINS_FIELD_NUMBER: builtins.int
    NOTIFY_GLOBAL_ADMINS_FIELD_NUMBER: builtins.int
    @property
    def additional_recipients(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    notify_dc_admins: builtins.str
    notify_global_admins: builtins.str
    def __init__(
        self,
        *,
        additional_recipients: collections.abc.Iterable[builtins.str] | None = ...,
        notify_dc_admins: builtins.str = ...,
        notify_global_admins: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["additional_recipients", b"additional_recipients", "notify_dc_admins", b"notify_dc_admins", "notify_global_admins", b"notify_global_admins"]) -> None: ...

global___NotificationSettings = NotificationSettings

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

    EXTERNAL_ACCESS_FIELD_NUMBER: builtins.int
    LDAPS_FIELD_NUMBER: builtins.int
    PFX_CERTIFICATE_FIELD_NUMBER: builtins.int
    PFX_CERTIFICATE_PASSWORD_FIELD_NUMBER: builtins.int
    external_access: builtins.str
    ldaps: builtins.str
    pfx_certificate: builtins.str
    pfx_certificate_password: builtins.str
    def __init__(
        self,
        *,
        external_access: builtins.str = ...,
        ldaps: builtins.str = ...,
        pfx_certificate: builtins.str = ...,
        pfx_certificate_password: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["external_access", b"external_access", "ldaps", b"ldaps", "pfx_certificate", b"pfx_certificate", "pfx_certificate_password", b"pfx_certificate_password"]) -> None: ...

global___LdapsSettings = LdapsSettings

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

    KERBEROS_ARMORING_FIELD_NUMBER: builtins.int
    KERBEROS_RC4_ENCRYPTION_FIELD_NUMBER: builtins.int
    NTLM_V1_FIELD_NUMBER: builtins.int
    SYNC_KERBEROS_PASSWORDS_FIELD_NUMBER: builtins.int
    SYNC_NTLM_PASSWORDS_FIELD_NUMBER: builtins.int
    SYNC_ON_PREM_PASSWORDS_FIELD_NUMBER: builtins.int
    TLS_V1_FIELD_NUMBER: builtins.int
    kerberos_armoring: builtins.str
    kerberos_rc4_encryption: builtins.str
    ntlm_v1: builtins.str
    sync_kerberos_passwords: builtins.str
    sync_ntlm_passwords: builtins.str
    sync_on_prem_passwords: builtins.str
    tls_v1: builtins.str
    def __init__(
        self,
        *,
        kerberos_armoring: builtins.str = ...,
        kerberos_rc4_encryption: builtins.str = ...,
        ntlm_v1: builtins.str = ...,
        sync_kerberos_passwords: builtins.str = ...,
        sync_ntlm_passwords: builtins.str = ...,
        sync_on_prem_passwords: builtins.str = ...,
        tls_v1: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["kerberos_armoring", b"kerberos_armoring", "kerberos_rc4_encryption", b"kerberos_rc4_encryption", "ntlm_v1", b"ntlm_v1", "sync_kerberos_passwords", b"sync_kerberos_passwords", "sync_ntlm_passwords", b"sync_ntlm_passwords", "sync_on_prem_passwords", b"sync_on_prem_passwords", "tls_v1", b"tls_v1"]) -> None: ...

global___DomainSecuritySettings = DomainSecuritySettings
