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

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    DRIVE_CACHE_TYPE_FIELD_NUMBER: builtins.int
    IMPORT_PATH_FIELD_NUMBER: builtins.int
    WEEKLY_MAINTENANCE_START_TIME_FIELD_NUMBER: builtins.int
    AUTO_IMPORT_POLICY_FIELD_NUMBER: builtins.int
    IMPORTED_FILE_CHUNK_SIZE_FIELD_NUMBER: builtins.int
    DEPLOYMENT_TYPE_FIELD_NUMBER: builtins.int
    DAILY_AUTOMATIC_BACKUP_START_TIME_FIELD_NUMBER: builtins.int
    COPY_TAGS_TO_BACKUPS_FIELD_NUMBER: builtins.int
    EXPORT_PATH_FIELD_NUMBER: builtins.int
    PER_UNIT_STORAGE_THROUGHPUT_FIELD_NUMBER: builtins.int
    AUTOMATIC_BACKUP_RETENTION_DAYS_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    drive_cache_type: builtins.str
    import_path: builtins.str
    weekly_maintenance_start_time: builtins.str
    auto_import_policy: builtins.str
    imported_file_chunk_size: builtins.int
    deployment_type: builtins.str
    daily_automatic_backup_start_time: builtins.str
    copy_tags_to_backups: builtins.bool
    export_path: builtins.str
    per_unit_storage_throughput: builtins.int
    automatic_backup_retention_days: builtins.int
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        drive_cache_type: builtins.str = ...,
        import_path: builtins.str = ...,
        weekly_maintenance_start_time: builtins.str = ...,
        auto_import_policy: builtins.str = ...,
        imported_file_chunk_size: builtins.int = ...,
        deployment_type: builtins.str = ...,
        daily_automatic_backup_start_time: builtins.str = ...,
        copy_tags_to_backups: builtins.bool = ...,
        export_path: builtins.str = ...,
        per_unit_storage_throughput: builtins.int = ...,
        automatic_backup_retention_days: builtins.int = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["resource_info", b"resource_info"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["auto_import_policy", b"auto_import_policy", "automatic_backup_retention_days", b"automatic_backup_retention_days", "copy_tags_to_backups", b"copy_tags_to_backups", "daily_automatic_backup_start_time", b"daily_automatic_backup_start_time", "deployment_type", b"deployment_type", "drive_cache_type", b"drive_cache_type", "export_path", b"export_path", "import_path", b"import_path", "imported_file_chunk_size", b"imported_file_chunk_size", "per_unit_storage_throughput", b"per_unit_storage_throughput", "resource_info", b"resource_info", "weekly_maintenance_start_time", b"weekly_maintenance_start_time"]) -> None: ...

global___FileSystemLustreConfiguration = FileSystemLustreConfiguration

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

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    FILE_SYSTEM_ADMINISTRATORS_GROUP_FIELD_NUMBER: builtins.int
    USER_NAME_FIELD_NUMBER: builtins.int
    DOMAIN_NAME_FIELD_NUMBER: builtins.int
    ORGANIZATIONAL_UNIT_DISTINGUISHED_NAME_FIELD_NUMBER: builtins.int
    DNS_IPS_FIELD_NUMBER: builtins.int
    PASSWORD_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    file_system_administrators_group: builtins.str
    user_name: builtins.str
    domain_name: builtins.str
    organizational_unit_distinguished_name: builtins.str
    @property
    def dns_ips(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    password: builtins.str
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        file_system_administrators_group: builtins.str = ...,
        user_name: builtins.str = ...,
        domain_name: builtins.str = ...,
        organizational_unit_distinguished_name: builtins.str = ...,
        dns_ips: collections.abc.Iterable[builtins.str] | None = ...,
        password: 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["dns_ips", b"dns_ips", "domain_name", b"domain_name", "file_system_administrators_group", b"file_system_administrators_group", "organizational_unit_distinguished_name", b"organizational_unit_distinguished_name", "password", b"password", "resource_info", b"resource_info", "user_name", b"user_name"]) -> None: ...

global___FileSystemSelfManagedActiveDirectoryConfiguration = FileSystemSelfManagedActiveDirectoryConfiguration

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

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    SELF_MANAGED_ACTIVE_DIRECTORY_CONFIGURATION_FIELD_NUMBER: builtins.int
    WEEKLY_MAINTENANCE_START_TIME_FIELD_NUMBER: builtins.int
    ACTIVE_DIRECTORY_ID_FIELD_NUMBER: builtins.int
    DEPLOYMENT_TYPE_FIELD_NUMBER: builtins.int
    THROUGHPUT_CAPACITY_FIELD_NUMBER: builtins.int
    COPY_TAGS_TO_BACKUPS_FIELD_NUMBER: builtins.int
    DAILY_AUTOMATIC_BACKUP_START_TIME_FIELD_NUMBER: builtins.int
    AUTOMATIC_BACKUP_RETENTION_DAYS_FIELD_NUMBER: builtins.int
    PREFERRED_SUBNET_ID_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    @property
    def self_managed_active_directory_configuration(self) -> global___FileSystemSelfManagedActiveDirectoryConfiguration: ...
    weekly_maintenance_start_time: builtins.str
    active_directory_id: builtins.str
    deployment_type: builtins.str
    throughput_capacity: builtins.int
    copy_tags_to_backups: builtins.bool
    daily_automatic_backup_start_time: builtins.str
    automatic_backup_retention_days: builtins.int
    preferred_subnet_id: builtins.str
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        self_managed_active_directory_configuration: global___FileSystemSelfManagedActiveDirectoryConfiguration | None = ...,
        weekly_maintenance_start_time: builtins.str = ...,
        active_directory_id: builtins.str = ...,
        deployment_type: builtins.str = ...,
        throughput_capacity: builtins.int = ...,
        copy_tags_to_backups: builtins.bool = ...,
        daily_automatic_backup_start_time: builtins.str = ...,
        automatic_backup_retention_days: builtins.int = ...,
        preferred_subnet_id: builtins.str = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["resource_info", b"resource_info", "self_managed_active_directory_configuration", b"self_managed_active_directory_configuration"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["active_directory_id", b"active_directory_id", "automatic_backup_retention_days", b"automatic_backup_retention_days", "copy_tags_to_backups", b"copy_tags_to_backups", "daily_automatic_backup_start_time", b"daily_automatic_backup_start_time", "deployment_type", b"deployment_type", "preferred_subnet_id", b"preferred_subnet_id", "resource_info", b"resource_info", "self_managed_active_directory_configuration", b"self_managed_active_directory_configuration", "throughput_capacity", b"throughput_capacity", "weekly_maintenance_start_time", b"weekly_maintenance_start_time"]) -> None: ...

global___FileSystemWindowsConfiguration = FileSystemWindowsConfiguration

@typing_extensions.final
class FileSystem(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
    STORAGE_TYPE_FIELD_NUMBER: builtins.int
    KMS_KEY_ID_FIELD_NUMBER: builtins.int
    STORAGE_CAPACITY_FIELD_NUMBER: builtins.int
    FILE_SYSTEM_TYPE_FIELD_NUMBER: builtins.int
    LUSTRE_CONFIGURATION_FIELD_NUMBER: builtins.int
    BACKUP_ID_FIELD_NUMBER: builtins.int
    SUBNET_IDS_FIELD_NUMBER: builtins.int
    SECURITY_GROUP_IDS_FIELD_NUMBER: builtins.int
    TAGS_FIELD_NUMBER: builtins.int
    WINDOWS_CONFIGURATION_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    storage_type: builtins.str
    kms_key_id: builtins.str
    storage_capacity: builtins.int
    file_system_type: builtins.str
    @property
    def lustre_configuration(self) -> global___FileSystemLustreConfiguration: ...
    backup_id: builtins.str
    @property
    def subnet_ids(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    @property
    def security_group_ids(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    @property
    def tags(self) -> google.protobuf.internal.containers.ScalarMap[builtins.str, builtins.str]: ...
    @property
    def windows_configuration(self) -> global___FileSystemWindowsConfiguration: ...
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        storage_type: builtins.str = ...,
        kms_key_id: builtins.str = ...,
        storage_capacity: builtins.int = ...,
        file_system_type: builtins.str = ...,
        lustre_configuration: global___FileSystemLustreConfiguration | None = ...,
        backup_id: builtins.str = ...,
        subnet_ids: collections.abc.Iterable[builtins.str] | None = ...,
        security_group_ids: collections.abc.Iterable[builtins.str] | None = ...,
        tags: collections.abc.Mapping[builtins.str, builtins.str] | None = ...,
        windows_configuration: global___FileSystemWindowsConfiguration | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["lustre_configuration", b"lustre_configuration", "resource_info", b"resource_info", "windows_configuration", b"windows_configuration"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["backup_id", b"backup_id", "file_system_type", b"file_system_type", "kms_key_id", b"kms_key_id", "lustre_configuration", b"lustre_configuration", "resource_info", b"resource_info", "security_group_ids", b"security_group_ids", "storage_capacity", b"storage_capacity", "storage_type", b"storage_type", "subnet_ids", b"subnet_ids", "tags", b"tags", "windows_configuration", b"windows_configuration"]) -> None: ...

global___FileSystem = FileSystem

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

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

global___FSx = FSx
