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

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

global___DataLakeSettingsAdmins = DataLakeSettingsAdmins

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

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    ADMINS_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    @property
    def admins(self) -> global___DataLakeSettingsAdmins: ...
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        admins: global___DataLakeSettingsAdmins | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["admins", b"admins", "resource_info", b"resource_info"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["admins", b"admins", "resource_info", b"resource_info"]) -> None: ...

global___DataLakeSettings = DataLakeSettings

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

    DATA_LAKE_SETTINGS_FIELD_NUMBER: builtins.int
    PERMISSIONS_FIELD_NUMBER: builtins.int
    RESOURCE_FIELD_NUMBER: builtins.int
    DATA_LAKE_SETTINGS_DATA_LAKE_PRINCIPAL_FIELD_NUMBER: builtins.int
    @property
    def data_lake_settings(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___DataLakeSettings]: ...
    @property
    def permissions(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Permissions]: ...
    @property
    def resource(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Resource]: ...
    @property
    def data_lake_settings_data_lake_principal(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___DataLakeSettingsDataLakePrincipal]: ...
    def __init__(
        self,
        *,
        data_lake_settings: collections.abc.Iterable[global___DataLakeSettings] | None = ...,
        permissions: collections.abc.Iterable[global___Permissions] | None = ...,
        resource: collections.abc.Iterable[global___Resource] | None = ...,
        data_lake_settings_data_lake_principal: collections.abc.Iterable[global___DataLakeSettingsDataLakePrincipal] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["data_lake_settings", b"data_lake_settings", "data_lake_settings_data_lake_principal", b"data_lake_settings_data_lake_principal", "permissions", b"permissions", "resource", b"resource"]) -> None: ...

global___LakeFormation = LakeFormation

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

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    DATA_LAKE_PRINCIPAL_IDENTIFIER_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    data_lake_principal_identifier: builtins.str
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        data_lake_principal_identifier: 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["data_lake_principal_identifier", b"data_lake_principal_identifier", "resource_info", b"resource_info"]) -> None: ...

global___PermissionsDataLakePrincipal = PermissionsDataLakePrincipal

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

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

global___PermissionsTableWildcard = PermissionsTableWildcard

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

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    DATABASE_NAME_FIELD_NUMBER: builtins.int
    CATALOG_ID_FIELD_NUMBER: builtins.int
    TABLE_WILDCARD_FIELD_NUMBER: builtins.int
    NAME_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    database_name: builtins.str
    catalog_id: builtins.str
    @property
    def table_wildcard(self) -> global___PermissionsTableWildcard: ...
    name: builtins.str
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        database_name: builtins.str = ...,
        catalog_id: builtins.str = ...,
        table_wildcard: global___PermissionsTableWildcard | None = ...,
        name: builtins.str = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["resource_info", b"resource_info", "table_wildcard", b"table_wildcard"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["catalog_id", b"catalog_id", "database_name", b"database_name", "name", b"name", "resource_info", b"resource_info", "table_wildcard", b"table_wildcard"]) -> None: ...

global___PermissionsTableResource = PermissionsTableResource

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

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

global___PermissionsDatabaseResource = PermissionsDatabaseResource

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

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    S3_RESOURCE_FIELD_NUMBER: builtins.int
    CATALOG_ID_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    s3_resource: builtins.str
    catalog_id: builtins.str
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        s3_resource: builtins.str = ...,
        catalog_id: 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["catalog_id", b"catalog_id", "resource_info", b"resource_info", "s3_resource", b"s3_resource"]) -> None: ...

global___PermissionsDataLocationResource = PermissionsDataLocationResource

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

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    EXCLUDED_COLUMN_NAMES_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    @property
    def excluded_column_names(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        excluded_column_names: collections.abc.Iterable[builtins.str] | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["resource_info", b"resource_info"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["excluded_column_names", b"excluded_column_names", "resource_info", b"resource_info"]) -> None: ...

global___PermissionsColumnWildcard = PermissionsColumnWildcard

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

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    COLUMN_NAMES_FIELD_NUMBER: builtins.int
    DATABASE_NAME_FIELD_NUMBER: builtins.int
    CATALOG_ID_FIELD_NUMBER: builtins.int
    NAME_FIELD_NUMBER: builtins.int
    COLUMN_WILDCARD_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    @property
    def column_names(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    database_name: builtins.str
    catalog_id: builtins.str
    name: builtins.str
    @property
    def column_wildcard(self) -> global___PermissionsColumnWildcard: ...
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        column_names: collections.abc.Iterable[builtins.str] | None = ...,
        database_name: builtins.str = ...,
        catalog_id: builtins.str = ...,
        name: builtins.str = ...,
        column_wildcard: global___PermissionsColumnWildcard | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["column_wildcard", b"column_wildcard", "resource_info", b"resource_info"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["catalog_id", b"catalog_id", "column_names", b"column_names", "column_wildcard", b"column_wildcard", "database_name", b"database_name", "name", b"name", "resource_info", b"resource_info"]) -> None: ...

global___PermissionsTableWithColumnsResource = PermissionsTableWithColumnsResource

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

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    TABLE_RESOURCE_FIELD_NUMBER: builtins.int
    DATABASE_RESOURCE_FIELD_NUMBER: builtins.int
    DATA_LOCATION_RESOURCE_FIELD_NUMBER: builtins.int
    TABLE_WITH_COLUMNS_RESOURCE_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    @property
    def table_resource(self) -> global___PermissionsTableResource: ...
    @property
    def database_resource(self) -> global___PermissionsDatabaseResource: ...
    @property
    def data_location_resource(self) -> global___PermissionsDataLocationResource: ...
    @property
    def table_with_columns_resource(self) -> global___PermissionsTableWithColumnsResource: ...
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        table_resource: global___PermissionsTableResource | None = ...,
        database_resource: global___PermissionsDatabaseResource | None = ...,
        data_location_resource: global___PermissionsDataLocationResource | None = ...,
        table_with_columns_resource: global___PermissionsTableWithColumnsResource | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["data_location_resource", b"data_location_resource", "database_resource", b"database_resource", "resource_info", b"resource_info", "table_resource", b"table_resource", "table_with_columns_resource", b"table_with_columns_resource"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["data_location_resource", b"data_location_resource", "database_resource", b"database_resource", "resource_info", b"resource_info", "table_resource", b"table_resource", "table_with_columns_resource", b"table_with_columns_resource"]) -> None: ...

global___PermissionsResource = PermissionsResource

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

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    DATA_LAKE_PRINCIPAL_FIELD_NUMBER: builtins.int
    RESOURCE_FIELD_NUMBER: builtins.int
    PERMISSIONS_FIELD_NUMBER: builtins.int
    PERMISSIONS_WITH_GRANT_OPTION_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    @property
    def data_lake_principal(self) -> global___PermissionsDataLakePrincipal: ...
    @property
    def resource(self) -> global___PermissionsResource: ...
    @property
    def permissions(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    @property
    def permissions_with_grant_option(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        data_lake_principal: global___PermissionsDataLakePrincipal | None = ...,
        resource: global___PermissionsResource | None = ...,
        permissions: collections.abc.Iterable[builtins.str] | None = ...,
        permissions_with_grant_option: collections.abc.Iterable[builtins.str] | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["data_lake_principal", b"data_lake_principal", "resource", b"resource", "resource_info", b"resource_info"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["data_lake_principal", b"data_lake_principal", "permissions", b"permissions", "permissions_with_grant_option", b"permissions_with_grant_option", "resource", b"resource", "resource_info", b"resource_info"]) -> None: ...

global___Permissions = Permissions

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

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    RESOURCE_ARN_FIELD_NUMBER: builtins.int
    USE_SERVICE_LINKED_ROLE_FIELD_NUMBER: builtins.int
    ROLE_ARN_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    resource_arn: builtins.str
    use_service_linked_role: builtins.bool
    role_arn: builtins.str
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        resource_arn: builtins.str = ...,
        use_service_linked_role: builtins.bool = ...,
        role_arn: 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["resource_arn", b"resource_arn", "resource_info", b"resource_info", "role_arn", b"role_arn", "use_service_linked_role", b"use_service_linked_role"]) -> None: ...

global___Resource = Resource

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

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    DATA_LAKE_PRINCIPAL_IDENTIFIER_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    data_lake_principal_identifier: builtins.str
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        data_lake_principal_identifier: 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["data_lake_principal_identifier", b"data_lake_principal_identifier", "resource_info", b"resource_info"]) -> None: ...

global___DataLakeSettingsDataLakePrincipal = DataLakeSettingsDataLakePrincipal
