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

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

global___ClassifierXMLClassifier = ClassifierXMLClassifier

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

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

global___ClassifierJsonClassifier = ClassifierJsonClassifier

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

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    QUOTE_SYMBOL_FIELD_NUMBER: builtins.int
    CONTAINS_HEADER_FIELD_NUMBER: builtins.int
    DELIMITER_FIELD_NUMBER: builtins.int
    HEADER_FIELD_NUMBER: builtins.int
    ALLOW_SINGLE_COLUMN_FIELD_NUMBER: builtins.int
    DISABLE_VALUE_TRIMMING_FIELD_NUMBER: builtins.int
    NAME_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    quote_symbol: builtins.str
    contains_header: builtins.str
    delimiter: builtins.str
    @property
    def header(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    allow_single_column: builtins.bool
    disable_value_trimming: builtins.bool
    name: builtins.str
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        quote_symbol: builtins.str = ...,
        contains_header: builtins.str = ...,
        delimiter: builtins.str = ...,
        header: collections.abc.Iterable[builtins.str] | None = ...,
        allow_single_column: builtins.bool = ...,
        disable_value_trimming: builtins.bool = ...,
        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["allow_single_column", b"allow_single_column", "contains_header", b"contains_header", "delimiter", b"delimiter", "disable_value_trimming", b"disable_value_trimming", "header", b"header", "name", b"name", "quote_symbol", b"quote_symbol", "resource_info", b"resource_info"]) -> None: ...

global___ClassifierCsvClassifier = ClassifierCsvClassifier

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

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

global___ClassifierGrokClassifier = ClassifierGrokClassifier

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

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    XML_CLASSIFIER_FIELD_NUMBER: builtins.int
    JSON_CLASSIFIER_FIELD_NUMBER: builtins.int
    CSV_CLASSIFIER_FIELD_NUMBER: builtins.int
    GROK_CLASSIFIER_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    @property
    def xml_classifier(self) -> global___ClassifierXMLClassifier: ...
    @property
    def json_classifier(self) -> global___ClassifierJsonClassifier: ...
    @property
    def csv_classifier(self) -> global___ClassifierCsvClassifier: ...
    @property
    def grok_classifier(self) -> global___ClassifierGrokClassifier: ...
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        xml_classifier: global___ClassifierXMLClassifier | None = ...,
        json_classifier: global___ClassifierJsonClassifier | None = ...,
        csv_classifier: global___ClassifierCsvClassifier | None = ...,
        grok_classifier: global___ClassifierGrokClassifier | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["csv_classifier", b"csv_classifier", "grok_classifier", b"grok_classifier", "json_classifier", b"json_classifier", "resource_info", b"resource_info", "xml_classifier", b"xml_classifier"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["csv_classifier", b"csv_classifier", "grok_classifier", b"grok_classifier", "json_classifier", b"json_classifier", "resource_info", b"resource_info", "xml_classifier", b"xml_classifier"]) -> None: ...

global___Classifier = Classifier

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

    CLASSIFIER_FIELD_NUMBER: builtins.int
    CONNECTION_FIELD_NUMBER: builtins.int
    CRAWLER_FIELD_NUMBER: builtins.int
    DATA_CATALOG_ENCRYPTION_SETTINGS_FIELD_NUMBER: builtins.int
    DATABASE_FIELD_NUMBER: builtins.int
    DEV_ENDPOINT_FIELD_NUMBER: builtins.int
    JOB_FIELD_NUMBER: builtins.int
    ML_TRANSFORM_FIELD_NUMBER: builtins.int
    PARTITION_FIELD_NUMBER: builtins.int
    SECURITY_CONFIGURATION_FIELD_NUMBER: builtins.int
    TABLE_FIELD_NUMBER: builtins.int
    TRIGGER_FIELD_NUMBER: builtins.int
    WORKFLOW_FIELD_NUMBER: builtins.int
    SECURITY_CONFIGURATION_S3_ENCRYPTION_FIELD_NUMBER: builtins.int
    @property
    def classifier(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Classifier]: ...
    @property
    def connection(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Connection]: ...
    @property
    def crawler(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Crawler]: ...
    @property
    def data_catalog_encryption_settings(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___DataCatalogEncryptionSettings]: ...
    @property
    def database(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Database]: ...
    @property
    def dev_endpoint(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___DevEndpoint]: ...
    @property
    def job(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Job]: ...
    @property
    def ml_transform(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___MLTransform]: ...
    @property
    def partition(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Partition]: ...
    @property
    def security_configuration(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___SecurityConfiguration]: ...
    @property
    def table(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Table]: ...
    @property
    def trigger(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Trigger]: ...
    @property
    def workflow(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Workflow]: ...
    @property
    def security_configuration_s3_encryption(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___SecurityConfigurationS3Encryption]: ...
    def __init__(
        self,
        *,
        classifier: collections.abc.Iterable[global___Classifier] | None = ...,
        connection: collections.abc.Iterable[global___Connection] | None = ...,
        crawler: collections.abc.Iterable[global___Crawler] | None = ...,
        data_catalog_encryption_settings: collections.abc.Iterable[global___DataCatalogEncryptionSettings] | None = ...,
        database: collections.abc.Iterable[global___Database] | None = ...,
        dev_endpoint: collections.abc.Iterable[global___DevEndpoint] | None = ...,
        job: collections.abc.Iterable[global___Job] | None = ...,
        ml_transform: collections.abc.Iterable[global___MLTransform] | None = ...,
        partition: collections.abc.Iterable[global___Partition] | None = ...,
        security_configuration: collections.abc.Iterable[global___SecurityConfiguration] | None = ...,
        table: collections.abc.Iterable[global___Table] | None = ...,
        trigger: collections.abc.Iterable[global___Trigger] | None = ...,
        workflow: collections.abc.Iterable[global___Workflow] | None = ...,
        security_configuration_s3_encryption: collections.abc.Iterable[global___SecurityConfigurationS3Encryption] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["classifier", b"classifier", "connection", b"connection", "crawler", b"crawler", "data_catalog_encryption_settings", b"data_catalog_encryption_settings", "database", b"database", "dev_endpoint", b"dev_endpoint", "job", b"job", "ml_transform", b"ml_transform", "partition", b"partition", "security_configuration", b"security_configuration", "security_configuration_s3_encryption", b"security_configuration_s3_encryption", "table", b"table", "trigger", b"trigger", "workflow", b"workflow"]) -> None: ...

global___Glue = Glue

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

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    AVAILABILITY_ZONE_FIELD_NUMBER: builtins.int
    SECURITY_GROUP_ID_LIST_FIELD_NUMBER: builtins.int
    SUBNET_ID_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    availability_zone: builtins.str
    @property
    def security_group_id_list(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    subnet_id: builtins.str
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        availability_zone: builtins.str = ...,
        security_group_id_list: collections.abc.Iterable[builtins.str] | None = ...,
        subnet_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["availability_zone", b"availability_zone", "resource_info", b"resource_info", "security_group_id_list", b"security_group_id_list", "subnet_id", b"subnet_id"]) -> None: ...

global___ConnectionPhysicalConnectionRequirements = ConnectionPhysicalConnectionRequirements

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

    @typing_extensions.final
    class ConnectionPropertiesEntry(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
    DESCRIPTION_FIELD_NUMBER: builtins.int
    CONNECTION_TYPE_FIELD_NUMBER: builtins.int
    MATCH_CRITERIA_FIELD_NUMBER: builtins.int
    PHYSICAL_CONNECTION_REQUIREMENTS_FIELD_NUMBER: builtins.int
    CONNECTION_PROPERTIES_FIELD_NUMBER: builtins.int
    NAME_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    description: builtins.str
    connection_type: builtins.str
    @property
    def match_criteria(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    @property
    def physical_connection_requirements(self) -> global___ConnectionPhysicalConnectionRequirements: ...
    @property
    def connection_properties(self) -> google.protobuf.internal.containers.ScalarMap[builtins.str, builtins.str]: ...
    name: builtins.str
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        description: builtins.str = ...,
        connection_type: builtins.str = ...,
        match_criteria: collections.abc.Iterable[builtins.str] | None = ...,
        physical_connection_requirements: global___ConnectionPhysicalConnectionRequirements | None = ...,
        connection_properties: collections.abc.Mapping[builtins.str, builtins.str] | None = ...,
        name: builtins.str = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["physical_connection_requirements", b"physical_connection_requirements", "resource_info", b"resource_info"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["connection_properties", b"connection_properties", "connection_type", b"connection_type", "description", b"description", "match_criteria", b"match_criteria", "name", b"name", "physical_connection_requirements", b"physical_connection_requirements", "resource_info", b"resource_info"]) -> None: ...

global___ConnectionConnectionInput = ConnectionConnectionInput

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

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

global___Connection = Connection

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

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

global___CrawlerSchemaChangePolicy = CrawlerSchemaChangePolicy

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

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

global___CrawlerSchedule = CrawlerSchedule

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

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    PATH_FIELD_NUMBER: builtins.int
    EXCLUSIONS_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    path: builtins.str
    @property
    def exclusions(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        path: builtins.str = ...,
        exclusions: 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["exclusions", b"exclusions", "path", b"path", "resource_info", b"resource_info"]) -> None: ...

global___CrawlerS3Target = CrawlerS3Target

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

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    DATABASE_NAME_FIELD_NUMBER: builtins.int
    TABLES_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    database_name: builtins.str
    @property
    def tables(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        database_name: builtins.str = ...,
        tables: 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["database_name", b"database_name", "resource_info", b"resource_info", "tables", b"tables"]) -> None: ...

global___CrawlerCatalogTarget = CrawlerCatalogTarget

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

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    CONNECTION_NAME_FIELD_NUMBER: builtins.int
    PATH_FIELD_NUMBER: builtins.int
    EXCLUSIONS_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    connection_name: builtins.str
    path: builtins.str
    @property
    def exclusions(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        connection_name: builtins.str = ...,
        path: builtins.str = ...,
        exclusions: 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["connection_name", b"connection_name", "exclusions", b"exclusions", "path", b"path", "resource_info", b"resource_info"]) -> None: ...

global___CrawlerJdbcTarget = CrawlerJdbcTarget

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

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

global___CrawlerDynamoDBTarget = CrawlerDynamoDBTarget

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

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    S3_TARGETS_FIELD_NUMBER: builtins.int
    CATALOG_TARGETS_FIELD_NUMBER: builtins.int
    JDBC_TARGETS_FIELD_NUMBER: builtins.int
    DYNAMO_DB_TARGETS_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    @property
    def s3_targets(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___CrawlerS3Target]: ...
    @property
    def catalog_targets(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___CrawlerCatalogTarget]: ...
    @property
    def jdbc_targets(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___CrawlerJdbcTarget]: ...
    @property
    def dynamo_db_targets(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___CrawlerDynamoDBTarget]: ...
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        s3_targets: collections.abc.Iterable[global___CrawlerS3Target] | None = ...,
        catalog_targets: collections.abc.Iterable[global___CrawlerCatalogTarget] | None = ...,
        jdbc_targets: collections.abc.Iterable[global___CrawlerJdbcTarget] | None = ...,
        dynamo_db_targets: collections.abc.Iterable[global___CrawlerDynamoDBTarget] | 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["catalog_targets", b"catalog_targets", "dynamo_db_targets", b"dynamo_db_targets", "jdbc_targets", b"jdbc_targets", "resource_info", b"resource_info", "s3_targets", b"s3_targets"]) -> None: ...

global___CrawlerTargets = CrawlerTargets

@typing_extensions.final
class Crawler(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
    ROLE_FIELD_NUMBER: builtins.int
    CLASSIFIERS_FIELD_NUMBER: builtins.int
    DESCRIPTION_FIELD_NUMBER: builtins.int
    SCHEMA_CHANGE_POLICY_FIELD_NUMBER: builtins.int
    CONFIGURATION_FIELD_NUMBER: builtins.int
    SCHEDULE_FIELD_NUMBER: builtins.int
    DATABASE_NAME_FIELD_NUMBER: builtins.int
    TARGETS_FIELD_NUMBER: builtins.int
    CRAWLER_SECURITY_CONFIGURATION_FIELD_NUMBER: builtins.int
    TABLE_PREFIX_FIELD_NUMBER: builtins.int
    TAGS_FIELD_NUMBER: builtins.int
    NAME_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    role: builtins.str
    @property
    def classifiers(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    description: builtins.str
    @property
    def schema_change_policy(self) -> global___CrawlerSchemaChangePolicy: ...
    configuration: builtins.str
    @property
    def schedule(self) -> global___CrawlerSchedule: ...
    database_name: builtins.str
    @property
    def targets(self) -> global___CrawlerTargets: ...
    crawler_security_configuration: builtins.str
    table_prefix: builtins.str
    @property
    def tags(self) -> google.protobuf.internal.containers.ScalarMap[builtins.str, builtins.str]: ...
    name: builtins.str
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        role: builtins.str = ...,
        classifiers: collections.abc.Iterable[builtins.str] | None = ...,
        description: builtins.str = ...,
        schema_change_policy: global___CrawlerSchemaChangePolicy | None = ...,
        configuration: builtins.str = ...,
        schedule: global___CrawlerSchedule | None = ...,
        database_name: builtins.str = ...,
        targets: global___CrawlerTargets | None = ...,
        crawler_security_configuration: builtins.str = ...,
        table_prefix: builtins.str = ...,
        tags: collections.abc.Mapping[builtins.str, builtins.str] | None = ...,
        name: builtins.str = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["resource_info", b"resource_info", "schedule", b"schedule", "schema_change_policy", b"schema_change_policy", "targets", b"targets"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["classifiers", b"classifiers", "configuration", b"configuration", "crawler_security_configuration", b"crawler_security_configuration", "database_name", b"database_name", "description", b"description", "name", b"name", "resource_info", b"resource_info", "role", b"role", "schedule", b"schedule", "schema_change_policy", b"schema_change_policy", "table_prefix", b"table_prefix", "tags", b"tags", "targets", b"targets"]) -> None: ...

global___Crawler = Crawler

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

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

global___DataCatalogEncryptionSettingsConnectionPasswordEncryption = DataCatalogEncryptionSettingsConnectionPasswordEncryption

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

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    CATALOG_ENCRYPTION_MODE_FIELD_NUMBER: builtins.int
    SSE_AWS_KMS_KEY_ID_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    catalog_encryption_mode: builtins.str
    sse_aws_kms_key_id: builtins.str
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        catalog_encryption_mode: builtins.str = ...,
        sse_aws_kms_key_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_encryption_mode", b"catalog_encryption_mode", "resource_info", b"resource_info", "sse_aws_kms_key_id", b"sse_aws_kms_key_id"]) -> None: ...

global___DataCatalogEncryptionSettingsEncryptionAtRest = DataCatalogEncryptionSettingsEncryptionAtRest

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

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

global___DataCatalogEncryptionSettingsDataCatalogEncryptionSettings = DataCatalogEncryptionSettingsDataCatalogEncryptionSettings

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

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

global___DataCatalogEncryptionSettings = DataCatalogEncryptionSettings

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

    @typing_extensions.final
    class ParametersEntry(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
    LOCATION_URI_FIELD_NUMBER: builtins.int
    DESCRIPTION_FIELD_NUMBER: builtins.int
    PARAMETERS_FIELD_NUMBER: builtins.int
    NAME_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    location_uri: builtins.str
    description: builtins.str
    @property
    def parameters(self) -> google.protobuf.internal.containers.ScalarMap[builtins.str, builtins.str]: ...
    name: builtins.str
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        location_uri: builtins.str = ...,
        description: builtins.str = ...,
        parameters: collections.abc.Mapping[builtins.str, builtins.str] | None = ...,
        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["description", b"description", "location_uri", b"location_uri", "name", b"name", "parameters", b"parameters", "resource_info", b"resource_info"]) -> None: ...

global___DatabaseDatabaseInput = DatabaseDatabaseInput

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

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

global___Database = Database

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

    @typing_extensions.final
    class ArgumentsEntry(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: ...

    @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
    EXTRA_JARS_S3_PATH_FIELD_NUMBER: builtins.int
    PUBLIC_KEY_FIELD_NUMBER: builtins.int
    NUMBER_OF_NODES_FIELD_NUMBER: builtins.int
    ARGUMENTS_FIELD_NUMBER: builtins.int
    SUBNET_ID_FIELD_NUMBER: builtins.int
    PUBLIC_KEYS_FIELD_NUMBER: builtins.int
    SECURITY_GROUP_IDS_FIELD_NUMBER: builtins.int
    ROLE_ARN_FIELD_NUMBER: builtins.int
    WORKER_TYPE_FIELD_NUMBER: builtins.int
    ENDPOINT_NAME_FIELD_NUMBER: builtins.int
    GLUE_VERSION_FIELD_NUMBER: builtins.int
    EXTRA_PYTHON_LIBS_S3_PATH_FIELD_NUMBER: builtins.int
    SECURITY_CONFIGURATION_FIELD_NUMBER: builtins.int
    NUMBER_OF_WORKERS_FIELD_NUMBER: builtins.int
    TAGS_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    extra_jars_s3_path: builtins.str
    public_key: builtins.str
    number_of_nodes: builtins.int
    @property
    def arguments(self) -> google.protobuf.internal.containers.ScalarMap[builtins.str, builtins.str]: ...
    subnet_id: builtins.str
    @property
    def public_keys(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    @property
    def security_group_ids(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    role_arn: builtins.str
    worker_type: builtins.str
    endpoint_name: builtins.str
    glue_version: builtins.str
    extra_python_libs_s3_path: builtins.str
    security_configuration: builtins.str
    number_of_workers: builtins.int
    @property
    def tags(self) -> google.protobuf.internal.containers.ScalarMap[builtins.str, builtins.str]: ...
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        extra_jars_s3_path: builtins.str = ...,
        public_key: builtins.str = ...,
        number_of_nodes: builtins.int = ...,
        arguments: collections.abc.Mapping[builtins.str, builtins.str] | None = ...,
        subnet_id: builtins.str = ...,
        public_keys: collections.abc.Iterable[builtins.str] | None = ...,
        security_group_ids: collections.abc.Iterable[builtins.str] | None = ...,
        role_arn: builtins.str = ...,
        worker_type: builtins.str = ...,
        endpoint_name: builtins.str = ...,
        glue_version: builtins.str = ...,
        extra_python_libs_s3_path: builtins.str = ...,
        security_configuration: builtins.str = ...,
        number_of_workers: builtins.int = ...,
        tags: collections.abc.Mapping[builtins.str, 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["arguments", b"arguments", "endpoint_name", b"endpoint_name", "extra_jars_s3_path", b"extra_jars_s3_path", "extra_python_libs_s3_path", b"extra_python_libs_s3_path", "glue_version", b"glue_version", "number_of_nodes", b"number_of_nodes", "number_of_workers", b"number_of_workers", "public_key", b"public_key", "public_keys", b"public_keys", "resource_info", b"resource_info", "role_arn", b"role_arn", "security_configuration", b"security_configuration", "security_group_ids", b"security_group_ids", "subnet_id", b"subnet_id", "tags", b"tags", "worker_type", b"worker_type"]) -> None: ...

global___DevEndpoint = DevEndpoint

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

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    CONNECTIONS_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    @property
    def connections(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        connections: 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["connections", b"connections", "resource_info", b"resource_info"]) -> None: ...

global___JobConnectionsList = JobConnectionsList

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

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

global___JobNotificationProperty = JobNotificationProperty

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

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

global___JobJobCommand = JobJobCommand

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

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

global___JobExecutionProperty = JobExecutionProperty

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

    @typing_extensions.final
    class DefaultArgumentsEntry(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: ...

    @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
    CONNECTIONS_FIELD_NUMBER: builtins.int
    MAX_RETRIES_FIELD_NUMBER: builtins.int
    DESCRIPTION_FIELD_NUMBER: builtins.int
    TIMEOUT_FIELD_NUMBER: builtins.int
    ALLOCATED_CAPACITY_FIELD_NUMBER: builtins.int
    NAME_FIELD_NUMBER: builtins.int
    ROLE_FIELD_NUMBER: builtins.int
    DEFAULT_ARGUMENTS_FIELD_NUMBER: builtins.int
    NOTIFICATION_PROPERTY_FIELD_NUMBER: builtins.int
    WORKER_TYPE_FIELD_NUMBER: builtins.int
    LOG_URI_FIELD_NUMBER: builtins.int
    COMMAND_FIELD_NUMBER: builtins.int
    GLUE_VERSION_FIELD_NUMBER: builtins.int
    EXECUTION_PROPERTY_FIELD_NUMBER: builtins.int
    SECURITY_CONFIGURATION_FIELD_NUMBER: builtins.int
    NUMBER_OF_WORKERS_FIELD_NUMBER: builtins.int
    TAGS_FIELD_NUMBER: builtins.int
    MAX_CAPACITY_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    @property
    def connections(self) -> global___JobConnectionsList: ...
    max_retries: builtins.float
    description: builtins.str
    timeout: builtins.int
    allocated_capacity: builtins.float
    name: builtins.str
    role: builtins.str
    @property
    def default_arguments(self) -> google.protobuf.internal.containers.ScalarMap[builtins.str, builtins.str]: ...
    @property
    def notification_property(self) -> global___JobNotificationProperty: ...
    worker_type: builtins.str
    log_uri: builtins.str
    @property
    def command(self) -> global___JobJobCommand: ...
    glue_version: builtins.str
    @property
    def execution_property(self) -> global___JobExecutionProperty: ...
    security_configuration: builtins.str
    number_of_workers: builtins.int
    @property
    def tags(self) -> google.protobuf.internal.containers.ScalarMap[builtins.str, builtins.str]: ...
    max_capacity: builtins.float
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        connections: global___JobConnectionsList | None = ...,
        max_retries: builtins.float = ...,
        description: builtins.str = ...,
        timeout: builtins.int = ...,
        allocated_capacity: builtins.float = ...,
        name: builtins.str = ...,
        role: builtins.str = ...,
        default_arguments: collections.abc.Mapping[builtins.str, builtins.str] | None = ...,
        notification_property: global___JobNotificationProperty | None = ...,
        worker_type: builtins.str = ...,
        log_uri: builtins.str = ...,
        command: global___JobJobCommand | None = ...,
        glue_version: builtins.str = ...,
        execution_property: global___JobExecutionProperty | None = ...,
        security_configuration: builtins.str = ...,
        number_of_workers: builtins.int = ...,
        tags: collections.abc.Mapping[builtins.str, builtins.str] | None = ...,
        max_capacity: builtins.float = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["command", b"command", "connections", b"connections", "execution_property", b"execution_property", "notification_property", b"notification_property", "resource_info", b"resource_info"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["allocated_capacity", b"allocated_capacity", "command", b"command", "connections", b"connections", "default_arguments", b"default_arguments", "description", b"description", "execution_property", b"execution_property", "glue_version", b"glue_version", "log_uri", b"log_uri", "max_capacity", b"max_capacity", "max_retries", b"max_retries", "name", b"name", "notification_property", b"notification_property", "number_of_workers", b"number_of_workers", "resource_info", b"resource_info", "role", b"role", "security_configuration", b"security_configuration", "tags", b"tags", "timeout", b"timeout", "worker_type", b"worker_type"]) -> None: ...

global___Job = Job

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

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    PRECISION_RECALL_TRADEOFF_FIELD_NUMBER: builtins.int
    ENFORCE_PROVIDED_LABELS_FIELD_NUMBER: builtins.int
    PRIMARY_KEY_COLUMN_NAME_FIELD_NUMBER: builtins.int
    ACCURACY_COST_TRADEOFF_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    precision_recall_tradeoff: builtins.float
    enforce_provided_labels: builtins.bool
    primary_key_column_name: builtins.str
    accuracy_cost_tradeoff: builtins.float
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        precision_recall_tradeoff: builtins.float = ...,
        enforce_provided_labels: builtins.bool = ...,
        primary_key_column_name: builtins.str = ...,
        accuracy_cost_tradeoff: builtins.float = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["resource_info", b"resource_info"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["accuracy_cost_tradeoff", b"accuracy_cost_tradeoff", "enforce_provided_labels", b"enforce_provided_labels", "precision_recall_tradeoff", b"precision_recall_tradeoff", "primary_key_column_name", b"primary_key_column_name", "resource_info", b"resource_info"]) -> None: ...

global___MLTransformFindMatchesParameters = MLTransformFindMatchesParameters

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

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

global___MLTransformTransformParameters = MLTransformTransformParameters

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

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    CONNECTION_NAME_FIELD_NUMBER: builtins.int
    TABLE_NAME_FIELD_NUMBER: builtins.int
    DATABASE_NAME_FIELD_NUMBER: builtins.int
    CATALOG_ID_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    connection_name: builtins.str
    table_name: builtins.str
    database_name: builtins.str
    catalog_id: builtins.str
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        connection_name: builtins.str = ...,
        table_name: builtins.str = ...,
        database_name: 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", "connection_name", b"connection_name", "database_name", b"database_name", "resource_info", b"resource_info", "table_name", b"table_name"]) -> None: ...

global___MLTransformGlueTables = MLTransformGlueTables

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

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    GLUE_TABLES_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    @property
    def glue_tables(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___MLTransformGlueTables]: ...
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        glue_tables: collections.abc.Iterable[global___MLTransformGlueTables] | 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["glue_tables", b"glue_tables", "resource_info", b"resource_info"]) -> None: ...

global___MLTransformInputRecordTables = MLTransformInputRecordTables

@typing_extensions.final
class MLTransform(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
    ROLE_FIELD_NUMBER: builtins.int
    MAX_RETRIES_FIELD_NUMBER: builtins.int
    WORKER_TYPE_FIELD_NUMBER: builtins.int
    DESCRIPTION_FIELD_NUMBER: builtins.int
    TIMEOUT_FIELD_NUMBER: builtins.int
    GLUE_VERSION_FIELD_NUMBER: builtins.int
    TRANSFORM_PARAMETERS_FIELD_NUMBER: builtins.int
    INPUT_RECORD_TABLES_FIELD_NUMBER: builtins.int
    NUMBER_OF_WORKERS_FIELD_NUMBER: builtins.int
    TAGS_FIELD_NUMBER: builtins.int
    NAME_FIELD_NUMBER: builtins.int
    MAX_CAPACITY_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    role: builtins.str
    max_retries: builtins.int
    worker_type: builtins.str
    description: builtins.str
    timeout: builtins.int
    glue_version: builtins.str
    @property
    def transform_parameters(self) -> global___MLTransformTransformParameters: ...
    @property
    def input_record_tables(self) -> global___MLTransformInputRecordTables: ...
    number_of_workers: builtins.int
    @property
    def tags(self) -> google.protobuf.internal.containers.ScalarMap[builtins.str, builtins.str]: ...
    name: builtins.str
    max_capacity: builtins.float
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        role: builtins.str = ...,
        max_retries: builtins.int = ...,
        worker_type: builtins.str = ...,
        description: builtins.str = ...,
        timeout: builtins.int = ...,
        glue_version: builtins.str = ...,
        transform_parameters: global___MLTransformTransformParameters | None = ...,
        input_record_tables: global___MLTransformInputRecordTables | None = ...,
        number_of_workers: builtins.int = ...,
        tags: collections.abc.Mapping[builtins.str, builtins.str] | None = ...,
        name: builtins.str = ...,
        max_capacity: builtins.float = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["input_record_tables", b"input_record_tables", "resource_info", b"resource_info", "transform_parameters", b"transform_parameters"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["description", b"description", "glue_version", b"glue_version", "input_record_tables", b"input_record_tables", "max_capacity", b"max_capacity", "max_retries", b"max_retries", "name", b"name", "number_of_workers", b"number_of_workers", "resource_info", b"resource_info", "role", b"role", "tags", b"tags", "timeout", b"timeout", "transform_parameters", b"transform_parameters", "worker_type", b"worker_type"]) -> None: ...

global___MLTransform = MLTransform

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

    @typing_extensions.final
    class SkewedColumnValueLocationMapsEntry(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
    SKEWED_COLUMN_NAMES_FIELD_NUMBER: builtins.int
    SKEWED_COLUMN_VALUES_FIELD_NUMBER: builtins.int
    SKEWED_COLUMN_VALUE_LOCATION_MAPS_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    @property
    def skewed_column_names(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    @property
    def skewed_column_values(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    @property
    def skewed_column_value_location_maps(self) -> google.protobuf.internal.containers.ScalarMap[builtins.str, builtins.str]: ...
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        skewed_column_names: collections.abc.Iterable[builtins.str] | None = ...,
        skewed_column_values: collections.abc.Iterable[builtins.str] | None = ...,
        skewed_column_value_location_maps: collections.abc.Mapping[builtins.str, 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["resource_info", b"resource_info", "skewed_column_names", b"skewed_column_names", "skewed_column_value_location_maps", b"skewed_column_value_location_maps", "skewed_column_values", b"skewed_column_values"]) -> None: ...

global___PartitionSkewedInfo = PartitionSkewedInfo

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

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

global___PartitionColumn = PartitionColumn

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

    @typing_extensions.final
    class ParametersEntry(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
    PARAMETERS_FIELD_NUMBER: builtins.int
    SERIALIZATION_LIBRARY_FIELD_NUMBER: builtins.int
    NAME_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    @property
    def parameters(self) -> google.protobuf.internal.containers.ScalarMap[builtins.str, builtins.str]: ...
    serialization_library: builtins.str
    name: builtins.str
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        parameters: collections.abc.Mapping[builtins.str, builtins.str] | None = ...,
        serialization_library: 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["name", b"name", "parameters", b"parameters", "resource_info", b"resource_info", "serialization_library", b"serialization_library"]) -> None: ...

global___PartitionSerdeInfo = PartitionSerdeInfo

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

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

global___PartitionOrder = PartitionOrder

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

    @typing_extensions.final
    class ParametersEntry(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
    STORED_AS_SUB_DIRECTORIES_FIELD_NUMBER: builtins.int
    PARAMETERS_FIELD_NUMBER: builtins.int
    BUCKET_COLUMNS_FIELD_NUMBER: builtins.int
    SKEWED_INFO_FIELD_NUMBER: builtins.int
    INPUT_FORMAT_FIELD_NUMBER: builtins.int
    NUMBER_OF_BUCKETS_FIELD_NUMBER: builtins.int
    OUTPUT_FORMAT_FIELD_NUMBER: builtins.int
    COLUMNS_FIELD_NUMBER: builtins.int
    SERDE_INFO_FIELD_NUMBER: builtins.int
    SORT_COLUMNS_FIELD_NUMBER: builtins.int
    COMPRESSED_FIELD_NUMBER: builtins.int
    LOCATION_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    stored_as_sub_directories: builtins.bool
    @property
    def parameters(self) -> google.protobuf.internal.containers.ScalarMap[builtins.str, builtins.str]: ...
    @property
    def bucket_columns(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    @property
    def skewed_info(self) -> global___PartitionSkewedInfo: ...
    input_format: builtins.str
    number_of_buckets: builtins.int
    output_format: builtins.str
    @property
    def columns(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___PartitionColumn]: ...
    @property
    def serde_info(self) -> global___PartitionSerdeInfo: ...
    @property
    def sort_columns(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___PartitionOrder]: ...
    compressed: builtins.bool
    location: builtins.str
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        stored_as_sub_directories: builtins.bool = ...,
        parameters: collections.abc.Mapping[builtins.str, builtins.str] | None = ...,
        bucket_columns: collections.abc.Iterable[builtins.str] | None = ...,
        skewed_info: global___PartitionSkewedInfo | None = ...,
        input_format: builtins.str = ...,
        number_of_buckets: builtins.int = ...,
        output_format: builtins.str = ...,
        columns: collections.abc.Iterable[global___PartitionColumn] | None = ...,
        serde_info: global___PartitionSerdeInfo | None = ...,
        sort_columns: collections.abc.Iterable[global___PartitionOrder] | None = ...,
        compressed: builtins.bool = ...,
        location: builtins.str = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["resource_info", b"resource_info", "serde_info", b"serde_info", "skewed_info", b"skewed_info"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["bucket_columns", b"bucket_columns", "columns", b"columns", "compressed", b"compressed", "input_format", b"input_format", "location", b"location", "number_of_buckets", b"number_of_buckets", "output_format", b"output_format", "parameters", b"parameters", "resource_info", b"resource_info", "serde_info", b"serde_info", "skewed_info", b"skewed_info", "sort_columns", b"sort_columns", "stored_as_sub_directories", b"stored_as_sub_directories"]) -> None: ...

global___PartitionStorageDescriptor = PartitionStorageDescriptor

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

    @typing_extensions.final
    class ParametersEntry(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
    PARAMETERS_FIELD_NUMBER: builtins.int
    STORAGE_DESCRIPTOR_FIELD_NUMBER: builtins.int
    VALUES_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    @property
    def parameters(self) -> google.protobuf.internal.containers.ScalarMap[builtins.str, builtins.str]: ...
    @property
    def storage_descriptor(self) -> global___PartitionStorageDescriptor: ...
    @property
    def values(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        parameters: collections.abc.Mapping[builtins.str, builtins.str] | None = ...,
        storage_descriptor: global___PartitionStorageDescriptor | None = ...,
        values: collections.abc.Iterable[builtins.str] | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["resource_info", b"resource_info", "storage_descriptor", b"storage_descriptor"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["parameters", b"parameters", "resource_info", b"resource_info", "storage_descriptor", b"storage_descriptor", "values", b"values"]) -> None: ...

global___PartitionPartitionInput = PartitionPartitionInput

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

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    TABLE_NAME_FIELD_NUMBER: builtins.int
    DATABASE_NAME_FIELD_NUMBER: builtins.int
    CATALOG_ID_FIELD_NUMBER: builtins.int
    PARTITION_INPUT_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    table_name: builtins.str
    database_name: builtins.str
    catalog_id: builtins.str
    @property
    def partition_input(self) -> global___PartitionPartitionInput: ...
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        table_name: builtins.str = ...,
        database_name: builtins.str = ...,
        catalog_id: builtins.str = ...,
        partition_input: global___PartitionPartitionInput | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["partition_input", b"partition_input", "resource_info", b"resource_info"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["catalog_id", b"catalog_id", "database_name", b"database_name", "partition_input", b"partition_input", "resource_info", b"resource_info", "table_name", b"table_name"]) -> None: ...

global___Partition = Partition

@typing_extensions.final
class SecurityConfigurationS3Encryptions(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___SecurityConfigurationS3Encryptions = SecurityConfigurationS3Encryptions

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

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

global___SecurityConfigurationCloudWatchEncryption = SecurityConfigurationCloudWatchEncryption

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

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

global___SecurityConfigurationJobBookmarksEncryption = SecurityConfigurationJobBookmarksEncryption

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

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    S3_ENCRYPTIONS_FIELD_NUMBER: builtins.int
    CLOUD_WATCH_ENCRYPTION_FIELD_NUMBER: builtins.int
    JOB_BOOKMARKS_ENCRYPTION_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    @property
    def s3_encryptions(self) -> global___SecurityConfigurationS3Encryptions: ...
    @property
    def cloud_watch_encryption(self) -> global___SecurityConfigurationCloudWatchEncryption: ...
    @property
    def job_bookmarks_encryption(self) -> global___SecurityConfigurationJobBookmarksEncryption: ...
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        s3_encryptions: global___SecurityConfigurationS3Encryptions | None = ...,
        cloud_watch_encryption: global___SecurityConfigurationCloudWatchEncryption | None = ...,
        job_bookmarks_encryption: global___SecurityConfigurationJobBookmarksEncryption | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["cloud_watch_encryption", b"cloud_watch_encryption", "job_bookmarks_encryption", b"job_bookmarks_encryption", "resource_info", b"resource_info", "s3_encryptions", b"s3_encryptions"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["cloud_watch_encryption", b"cloud_watch_encryption", "job_bookmarks_encryption", b"job_bookmarks_encryption", "resource_info", b"resource_info", "s3_encryptions", b"s3_encryptions"]) -> None: ...

global___SecurityConfigurationEncryptionConfiguration = SecurityConfigurationEncryptionConfiguration

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

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

global___SecurityConfiguration = SecurityConfiguration

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

    @typing_extensions.final
    class SkewedColumnValueLocationMapsEntry(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
    SKEWED_COLUMN_NAMES_FIELD_NUMBER: builtins.int
    SKEWED_COLUMN_VALUES_FIELD_NUMBER: builtins.int
    SKEWED_COLUMN_VALUE_LOCATION_MAPS_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    @property
    def skewed_column_names(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    @property
    def skewed_column_values(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    @property
    def skewed_column_value_location_maps(self) -> google.protobuf.internal.containers.ScalarMap[builtins.str, builtins.str]: ...
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        skewed_column_names: collections.abc.Iterable[builtins.str] | None = ...,
        skewed_column_values: collections.abc.Iterable[builtins.str] | None = ...,
        skewed_column_value_location_maps: collections.abc.Mapping[builtins.str, 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["resource_info", b"resource_info", "skewed_column_names", b"skewed_column_names", "skewed_column_value_location_maps", b"skewed_column_value_location_maps", "skewed_column_values", b"skewed_column_values"]) -> None: ...

global___TableSkewedInfo = TableSkewedInfo

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

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

global___TableColumn = TableColumn

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

    @typing_extensions.final
    class ParametersEntry(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
    PARAMETERS_FIELD_NUMBER: builtins.int
    SERIALIZATION_LIBRARY_FIELD_NUMBER: builtins.int
    NAME_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    @property
    def parameters(self) -> google.protobuf.internal.containers.ScalarMap[builtins.str, builtins.str]: ...
    serialization_library: builtins.str
    name: builtins.str
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        parameters: collections.abc.Mapping[builtins.str, builtins.str] | None = ...,
        serialization_library: 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["name", b"name", "parameters", b"parameters", "resource_info", b"resource_info", "serialization_library", b"serialization_library"]) -> None: ...

global___TableSerdeInfo = TableSerdeInfo

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

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

global___TableOrder = TableOrder

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

    @typing_extensions.final
    class ParametersEntry(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
    STORED_AS_SUB_DIRECTORIES_FIELD_NUMBER: builtins.int
    PARAMETERS_FIELD_NUMBER: builtins.int
    BUCKET_COLUMNS_FIELD_NUMBER: builtins.int
    SKEWED_INFO_FIELD_NUMBER: builtins.int
    INPUT_FORMAT_FIELD_NUMBER: builtins.int
    NUMBER_OF_BUCKETS_FIELD_NUMBER: builtins.int
    OUTPUT_FORMAT_FIELD_NUMBER: builtins.int
    COLUMNS_FIELD_NUMBER: builtins.int
    SERDE_INFO_FIELD_NUMBER: builtins.int
    SORT_COLUMNS_FIELD_NUMBER: builtins.int
    COMPRESSED_FIELD_NUMBER: builtins.int
    LOCATION_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    stored_as_sub_directories: builtins.bool
    @property
    def parameters(self) -> google.protobuf.internal.containers.ScalarMap[builtins.str, builtins.str]: ...
    @property
    def bucket_columns(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    @property
    def skewed_info(self) -> global___TableSkewedInfo: ...
    input_format: builtins.str
    number_of_buckets: builtins.int
    output_format: builtins.str
    @property
    def columns(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___TableColumn]: ...
    @property
    def serde_info(self) -> global___TableSerdeInfo: ...
    @property
    def sort_columns(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___TableOrder]: ...
    compressed: builtins.bool
    location: builtins.str
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        stored_as_sub_directories: builtins.bool = ...,
        parameters: collections.abc.Mapping[builtins.str, builtins.str] | None = ...,
        bucket_columns: collections.abc.Iterable[builtins.str] | None = ...,
        skewed_info: global___TableSkewedInfo | None = ...,
        input_format: builtins.str = ...,
        number_of_buckets: builtins.int = ...,
        output_format: builtins.str = ...,
        columns: collections.abc.Iterable[global___TableColumn] | None = ...,
        serde_info: global___TableSerdeInfo | None = ...,
        sort_columns: collections.abc.Iterable[global___TableOrder] | None = ...,
        compressed: builtins.bool = ...,
        location: builtins.str = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["resource_info", b"resource_info", "serde_info", b"serde_info", "skewed_info", b"skewed_info"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["bucket_columns", b"bucket_columns", "columns", b"columns", "compressed", b"compressed", "input_format", b"input_format", "location", b"location", "number_of_buckets", b"number_of_buckets", "output_format", b"output_format", "parameters", b"parameters", "resource_info", b"resource_info", "serde_info", b"serde_info", "skewed_info", b"skewed_info", "sort_columns", b"sort_columns", "stored_as_sub_directories", b"stored_as_sub_directories"]) -> None: ...

global___TableStorageDescriptor = TableStorageDescriptor

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

    @typing_extensions.final
    class ParametersEntry(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
    OWNER_FIELD_NUMBER: builtins.int
    VIEW_ORIGINAL_TEXT_FIELD_NUMBER: builtins.int
    DESCRIPTION_FIELD_NUMBER: builtins.int
    TABLE_TYPE_FIELD_NUMBER: builtins.int
    PARAMETERS_FIELD_NUMBER: builtins.int
    VIEW_EXPANDED_TEXT_FIELD_NUMBER: builtins.int
    STORAGE_DESCRIPTOR_FIELD_NUMBER: builtins.int
    PARTITION_KEYS_FIELD_NUMBER: builtins.int
    RETENTION_FIELD_NUMBER: builtins.int
    NAME_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    owner: builtins.str
    view_original_text: builtins.str
    description: builtins.str
    table_type: builtins.str
    @property
    def parameters(self) -> google.protobuf.internal.containers.ScalarMap[builtins.str, builtins.str]: ...
    view_expanded_text: builtins.str
    @property
    def storage_descriptor(self) -> global___TableStorageDescriptor: ...
    @property
    def partition_keys(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___TableColumn]: ...
    retention: builtins.int
    name: builtins.str
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        owner: builtins.str = ...,
        view_original_text: builtins.str = ...,
        description: builtins.str = ...,
        table_type: builtins.str = ...,
        parameters: collections.abc.Mapping[builtins.str, builtins.str] | None = ...,
        view_expanded_text: builtins.str = ...,
        storage_descriptor: global___TableStorageDescriptor | None = ...,
        partition_keys: collections.abc.Iterable[global___TableColumn] | None = ...,
        retention: builtins.int = ...,
        name: builtins.str = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["resource_info", b"resource_info", "storage_descriptor", b"storage_descriptor"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["description", b"description", "name", b"name", "owner", b"owner", "parameters", b"parameters", "partition_keys", b"partition_keys", "resource_info", b"resource_info", "retention", b"retention", "storage_descriptor", b"storage_descriptor", "table_type", b"table_type", "view_expanded_text", b"view_expanded_text", "view_original_text", b"view_original_text"]) -> None: ...

global___TableTableInput = TableTableInput

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

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

global___Table = Table

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

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

global___TriggerNotificationProperty = TriggerNotificationProperty

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

    @typing_extensions.final
    class ArgumentsEntry(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
    NOTIFICATION_PROPERTY_FIELD_NUMBER: builtins.int
    CRAWLER_NAME_FIELD_NUMBER: builtins.int
    TIMEOUT_FIELD_NUMBER: builtins.int
    JOB_NAME_FIELD_NUMBER: builtins.int
    ARGUMENTS_FIELD_NUMBER: builtins.int
    SECURITY_CONFIGURATION_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    @property
    def notification_property(self) -> global___TriggerNotificationProperty: ...
    crawler_name: builtins.str
    timeout: builtins.int
    job_name: builtins.str
    @property
    def arguments(self) -> google.protobuf.internal.containers.ScalarMap[builtins.str, builtins.str]: ...
    security_configuration: builtins.str
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        notification_property: global___TriggerNotificationProperty | None = ...,
        crawler_name: builtins.str = ...,
        timeout: builtins.int = ...,
        job_name: builtins.str = ...,
        arguments: collections.abc.Mapping[builtins.str, builtins.str] | None = ...,
        security_configuration: builtins.str = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["notification_property", b"notification_property", "resource_info", b"resource_info"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["arguments", b"arguments", "crawler_name", b"crawler_name", "job_name", b"job_name", "notification_property", b"notification_property", "resource_info", b"resource_info", "security_configuration", b"security_configuration", "timeout", b"timeout"]) -> None: ...

global___TriggerAction = TriggerAction

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

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    CRAWLER_NAME_FIELD_NUMBER: builtins.int
    STATE_FIELD_NUMBER: builtins.int
    CRAWL_STATE_FIELD_NUMBER: builtins.int
    LOGICAL_OPERATOR_FIELD_NUMBER: builtins.int
    JOB_NAME_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    crawler_name: builtins.str
    state: builtins.str
    crawl_state: builtins.str
    logical_operator: builtins.str
    job_name: builtins.str
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        crawler_name: builtins.str = ...,
        state: builtins.str = ...,
        crawl_state: builtins.str = ...,
        logical_operator: builtins.str = ...,
        job_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["crawl_state", b"crawl_state", "crawler_name", b"crawler_name", "job_name", b"job_name", "logical_operator", b"logical_operator", "resource_info", b"resource_info", "state", b"state"]) -> None: ...

global___TriggerCondition = TriggerCondition

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

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    LOGICAL_FIELD_NUMBER: builtins.int
    CONDITIONS_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    logical: builtins.str
    @property
    def conditions(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___TriggerCondition]: ...
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        logical: builtins.str = ...,
        conditions: collections.abc.Iterable[global___TriggerCondition] | 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["conditions", b"conditions", "logical", b"logical", "resource_info", b"resource_info"]) -> None: ...

global___TriggerPredicate = TriggerPredicate

@typing_extensions.final
class Trigger(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
    TYPE_FIELD_NUMBER: builtins.int
    START_ON_CREATION_FIELD_NUMBER: builtins.int
    DESCRIPTION_FIELD_NUMBER: builtins.int
    ACTIONS_FIELD_NUMBER: builtins.int
    WORKFLOW_NAME_FIELD_NUMBER: builtins.int
    SCHEDULE_FIELD_NUMBER: builtins.int
    TAGS_FIELD_NUMBER: builtins.int
    NAME_FIELD_NUMBER: builtins.int
    PREDICATE_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    type: builtins.str
    start_on_creation: builtins.bool
    description: builtins.str
    @property
    def actions(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___TriggerAction]: ...
    workflow_name: builtins.str
    schedule: builtins.str
    @property
    def tags(self) -> google.protobuf.internal.containers.ScalarMap[builtins.str, builtins.str]: ...
    name: builtins.str
    @property
    def predicate(self) -> global___TriggerPredicate: ...
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        type: builtins.str = ...,
        start_on_creation: builtins.bool = ...,
        description: builtins.str = ...,
        actions: collections.abc.Iterable[global___TriggerAction] | None = ...,
        workflow_name: builtins.str = ...,
        schedule: builtins.str = ...,
        tags: collections.abc.Mapping[builtins.str, builtins.str] | None = ...,
        name: builtins.str = ...,
        predicate: global___TriggerPredicate | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["predicate", b"predicate", "resource_info", b"resource_info"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["actions", b"actions", "description", b"description", "name", b"name", "predicate", b"predicate", "resource_info", b"resource_info", "schedule", b"schedule", "start_on_creation", b"start_on_creation", "tags", b"tags", "type", b"type", "workflow_name", b"workflow_name"]) -> None: ...

global___Trigger = Trigger

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

    @typing_extensions.final
    class DefaultRunPropertiesEntry(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: ...

    @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
    DESCRIPTION_FIELD_NUMBER: builtins.int
    DEFAULT_RUN_PROPERTIES_FIELD_NUMBER: builtins.int
    TAGS_FIELD_NUMBER: builtins.int
    NAME_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    description: builtins.str
    @property
    def default_run_properties(self) -> google.protobuf.internal.containers.ScalarMap[builtins.str, builtins.str]: ...
    @property
    def tags(self) -> google.protobuf.internal.containers.ScalarMap[builtins.str, builtins.str]: ...
    name: builtins.str
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        description: builtins.str = ...,
        default_run_properties: collections.abc.Mapping[builtins.str, builtins.str] | None = ...,
        tags: collections.abc.Mapping[builtins.str, builtins.str] | None = ...,
        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["default_run_properties", b"default_run_properties", "description", b"description", "name", b"name", "resource_info", b"resource_info", "tags", b"tags"]) -> None: ...

global___Workflow = Workflow

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

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

global___SecurityConfigurationS3Encryption = SecurityConfigurationS3Encryption
