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

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

global___AccessPointVpcConfiguration = AccessPointVpcConfiguration

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

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

global___AccessPointPublicAccessBlockConfiguration = AccessPointPublicAccessBlockConfiguration

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

    @typing_extensions.final
    class PolicyEntry(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 PolicyStatusEntry(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
    NAME_FIELD_NUMBER: builtins.int
    BUCKET_FIELD_NUMBER: builtins.int
    VPC_CONFIGURATION_FIELD_NUMBER: builtins.int
    PUBLIC_ACCESS_BLOCK_CONFIGURATION_FIELD_NUMBER: builtins.int
    POLICY_FIELD_NUMBER: builtins.int
    POLICY_STATUS_FIELD_NUMBER: builtins.int
    NETWORK_ORIGIN_FIELD_NUMBER: builtins.int
    CREATION_DATE_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    name: builtins.str
    bucket: builtins.str
    @property
    def vpc_configuration(self) -> global___AccessPointVpcConfiguration: ...
    @property
    def public_access_block_configuration(self) -> global___AccessPointPublicAccessBlockConfiguration: ...
    @property
    def policy(self) -> google.protobuf.internal.containers.ScalarMap[builtins.str, builtins.str]: ...
    @property
    def policy_status(self) -> google.protobuf.internal.containers.ScalarMap[builtins.str, builtins.str]: ...
    network_origin: builtins.str
    creation_date: builtins.str
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        name: builtins.str = ...,
        bucket: builtins.str = ...,
        vpc_configuration: global___AccessPointVpcConfiguration | None = ...,
        public_access_block_configuration: global___AccessPointPublicAccessBlockConfiguration | None = ...,
        policy: collections.abc.Mapping[builtins.str, builtins.str] | None = ...,
        policy_status: collections.abc.Mapping[builtins.str, builtins.str] | None = ...,
        network_origin: builtins.str = ...,
        creation_date: builtins.str = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["public_access_block_configuration", b"public_access_block_configuration", "resource_info", b"resource_info", "vpc_configuration", b"vpc_configuration"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["bucket", b"bucket", "creation_date", b"creation_date", "name", b"name", "network_origin", b"network_origin", "policy", b"policy", "policy_status", b"policy_status", "public_access_block_configuration", b"public_access_block_configuration", "resource_info", b"resource_info", "vpc_configuration", b"vpc_configuration"]) -> None: ...

global___AccessPoint = AccessPoint

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

    ACCESS_POINT_FIELD_NUMBER: builtins.int
    BUCKET_FIELD_NUMBER: builtins.int
    BUCKET_POLICY_FIELD_NUMBER: builtins.int
    @property
    def access_point(self) -> global___AccessPoint: ...
    @property
    def bucket(self) -> global___Bucket: ...
    @property
    def bucket_policy(self) -> global___BucketPolicy: ...
    def __init__(
        self,
        *,
        access_point: global___AccessPoint | None = ...,
        bucket: global___Bucket | None = ...,
        bucket_policy: global___BucketPolicy | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["access_point", b"access_point", "bucket", b"bucket", "bucket_policy", b"bucket_policy"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["access_point", b"access_point", "bucket", b"bucket", "bucket_policy", b"bucket_policy"]) -> None: ...

global___S3 = S3

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

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

global___BucketAccelerateConfiguration = BucketAccelerateConfiguration

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

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    BUCKET_ACCOUNT_ID_FIELD_NUMBER: builtins.int
    BUCKET_ARN_FIELD_NUMBER: builtins.int
    FORMAT_FIELD_NUMBER: builtins.int
    PREFIX_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    bucket_account_id: builtins.str
    bucket_arn: builtins.str
    format: builtins.str
    prefix: builtins.str
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        bucket_account_id: builtins.str = ...,
        bucket_arn: builtins.str = ...,
        format: builtins.str = ...,
        prefix: 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["bucket_account_id", b"bucket_account_id", "bucket_arn", b"bucket_arn", "format", b"format", "prefix", b"prefix", "resource_info", b"resource_info"]) -> None: ...

global___BucketDestination = BucketDestination

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

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

global___BucketDataExport = BucketDataExport

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

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

global___BucketStorageClassAnalysis = BucketStorageClassAnalysis

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

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

global___BucketTagFilter = BucketTagFilter

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

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    ID_FIELD_NUMBER: builtins.int
    PREFIX_FIELD_NUMBER: builtins.int
    STORAGE_CLASS_ANALYSIS_FIELD_NUMBER: builtins.int
    TAG_FILTERS_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    id: builtins.str
    prefix: builtins.str
    @property
    def storage_class_analysis(self) -> global___BucketStorageClassAnalysis: ...
    @property
    def tag_filters(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___BucketTagFilter]: ...
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        id: builtins.str = ...,
        prefix: builtins.str = ...,
        storage_class_analysis: global___BucketStorageClassAnalysis | None = ...,
        tag_filters: collections.abc.Iterable[global___BucketTagFilter] | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["resource_info", b"resource_info", "storage_class_analysis", b"storage_class_analysis"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["id", b"id", "prefix", b"prefix", "resource_info", b"resource_info", "storage_class_analysis", b"storage_class_analysis", "tag_filters", b"tag_filters"]) -> None: ...

global___BucketAnalyticsConfiguration = BucketAnalyticsConfiguration

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

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

global___BucketServerSideEncryptionByDefault = BucketServerSideEncryptionByDefault

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

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

global___BucketServerSideEncryptionRule = BucketServerSideEncryptionRule

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

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

global___BucketBucketEncryption = BucketBucketEncryption

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

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    ALLOWED_HEADERS_FIELD_NUMBER: builtins.int
    ALLOWED_METHODS_FIELD_NUMBER: builtins.int
    ALLOWED_ORIGINS_FIELD_NUMBER: builtins.int
    EXPOSED_HEADERS_FIELD_NUMBER: builtins.int
    ID_FIELD_NUMBER: builtins.int
    MAX_AGE_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    @property
    def allowed_headers(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    @property
    def allowed_methods(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    @property
    def allowed_origins(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    @property
    def exposed_headers(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    id: builtins.str
    max_age: builtins.int
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        allowed_headers: collections.abc.Iterable[builtins.str] | None = ...,
        allowed_methods: collections.abc.Iterable[builtins.str] | None = ...,
        allowed_origins: collections.abc.Iterable[builtins.str] | None = ...,
        exposed_headers: collections.abc.Iterable[builtins.str] | None = ...,
        id: builtins.str = ...,
        max_age: 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["allowed_headers", b"allowed_headers", "allowed_methods", b"allowed_methods", "allowed_origins", b"allowed_origins", "exposed_headers", b"exposed_headers", "id", b"id", "max_age", b"max_age", "resource_info", b"resource_info"]) -> None: ...

global___BucketCorsRule = BucketCorsRule

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

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

global___BucketCorsConfiguration = BucketCorsConfiguration

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

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    DESTINATION_FIELD_NUMBER: builtins.int
    ENABLED_FIELD_NUMBER: builtins.int
    ID_FIELD_NUMBER: builtins.int
    INCLUDED_OBJECT_VERSIONS_FIELD_NUMBER: builtins.int
    OPTIONAL_FIELDS_FIELD_NUMBER: builtins.int
    PREFIX_FIELD_NUMBER: builtins.int
    SCHEDULE_FREQUENCY_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    @property
    def destination(self) -> global___BucketDestination: ...
    enabled: builtins.bool
    id: builtins.str
    included_object_versions: builtins.str
    @property
    def optional_fields(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    prefix: builtins.str
    schedule_frequency: builtins.str
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        destination: global___BucketDestination | None = ...,
        enabled: builtins.bool = ...,
        id: builtins.str = ...,
        included_object_versions: builtins.str = ...,
        optional_fields: collections.abc.Iterable[builtins.str] | None = ...,
        prefix: builtins.str = ...,
        schedule_frequency: builtins.str = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["destination", b"destination", "resource_info", b"resource_info"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["destination", b"destination", "enabled", b"enabled", "id", b"id", "included_object_versions", b"included_object_versions", "optional_fields", b"optional_fields", "prefix", b"prefix", "resource_info", b"resource_info", "schedule_frequency", b"schedule_frequency"]) -> None: ...

global___BucketInventoryConfiguration = BucketInventoryConfiguration

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

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

global___BucketAbortIncompleteMultipartUpload = BucketAbortIncompleteMultipartUpload

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

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

global___BucketNoncurrentVersionTransition = BucketNoncurrentVersionTransition

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

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

global___BucketTransition = BucketTransition

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

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    ABORT_INCOMPLETE_MULTIPART_UPLOAD_FIELD_NUMBER: builtins.int
    EXPIRATION_DATE_FIELD_NUMBER: builtins.int
    EXPIRATION_IN_DAYS_FIELD_NUMBER: builtins.int
    ID_FIELD_NUMBER: builtins.int
    NONCURRENT_VERSION_EXPIRATION_IN_DAYS_FIELD_NUMBER: builtins.int
    NONCURRENT_VERSION_TRANSITION_FIELD_NUMBER: builtins.int
    NONCURRENT_VERSION_TRANSITIONS_FIELD_NUMBER: builtins.int
    PREFIX_FIELD_NUMBER: builtins.int
    STATUS_FIELD_NUMBER: builtins.int
    TAG_FILTERS_FIELD_NUMBER: builtins.int
    TRANSITION_FIELD_NUMBER: builtins.int
    TRANSITIONS_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    @property
    def abort_incomplete_multipart_upload(self) -> global___BucketAbortIncompleteMultipartUpload: ...
    expiration_date: builtins.str
    expiration_in_days: builtins.int
    id: builtins.str
    noncurrent_version_expiration_in_days: builtins.int
    @property
    def noncurrent_version_transition(self) -> global___BucketNoncurrentVersionTransition: ...
    @property
    def noncurrent_version_transitions(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___BucketNoncurrentVersionTransition]: ...
    prefix: builtins.str
    status: builtins.str
    @property
    def tag_filters(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___BucketTagFilter]: ...
    @property
    def transition(self) -> global___BucketTransition: ...
    @property
    def transitions(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___BucketTransition]: ...
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        abort_incomplete_multipart_upload: global___BucketAbortIncompleteMultipartUpload | None = ...,
        expiration_date: builtins.str = ...,
        expiration_in_days: builtins.int = ...,
        id: builtins.str = ...,
        noncurrent_version_expiration_in_days: builtins.int = ...,
        noncurrent_version_transition: global___BucketNoncurrentVersionTransition | None = ...,
        noncurrent_version_transitions: collections.abc.Iterable[global___BucketNoncurrentVersionTransition] | None = ...,
        prefix: builtins.str = ...,
        status: builtins.str = ...,
        tag_filters: collections.abc.Iterable[global___BucketTagFilter] | None = ...,
        transition: global___BucketTransition | None = ...,
        transitions: collections.abc.Iterable[global___BucketTransition] | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["abort_incomplete_multipart_upload", b"abort_incomplete_multipart_upload", "noncurrent_version_transition", b"noncurrent_version_transition", "resource_info", b"resource_info", "transition", b"transition"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["abort_incomplete_multipart_upload", b"abort_incomplete_multipart_upload", "expiration_date", b"expiration_date", "expiration_in_days", b"expiration_in_days", "id", b"id", "noncurrent_version_expiration_in_days", b"noncurrent_version_expiration_in_days", "noncurrent_version_transition", b"noncurrent_version_transition", "noncurrent_version_transitions", b"noncurrent_version_transitions", "prefix", b"prefix", "resource_info", b"resource_info", "status", b"status", "tag_filters", b"tag_filters", "transition", b"transition", "transitions", b"transitions"]) -> None: ...

global___BucketRule = BucketRule

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

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

global___BucketLifecycleConfiguration = BucketLifecycleConfiguration

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

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

global___BucketLoggingConfiguration = BucketLoggingConfiguration

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

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    ID_FIELD_NUMBER: builtins.int
    PREFIX_FIELD_NUMBER: builtins.int
    TAG_FILTERS_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    id: builtins.str
    prefix: builtins.str
    @property
    def tag_filters(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___BucketTagFilter]: ...
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        id: builtins.str = ...,
        prefix: builtins.str = ...,
        tag_filters: collections.abc.Iterable[global___BucketTagFilter] | 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["id", b"id", "prefix", b"prefix", "resource_info", b"resource_info", "tag_filters", b"tag_filters"]) -> None: ...

global___BucketMetricsConfiguration = BucketMetricsConfiguration

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

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

global___BucketFilterRule = BucketFilterRule

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

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

global___BucketS3KeyFilter = BucketS3KeyFilter

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

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

global___BucketNotificationFilter = BucketNotificationFilter

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

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

global___BucketLambdaConfiguration = BucketLambdaConfiguration

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

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

global___BucketQueueConfiguration = BucketQueueConfiguration

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

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

global___BucketTopicConfiguration = BucketTopicConfiguration

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

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    LAMBDA_CONFIGURATIONS_FIELD_NUMBER: builtins.int
    QUEUE_CONFIGURATIONS_FIELD_NUMBER: builtins.int
    TOPIC_CONFIGURATIONS_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    @property
    def lambda_configurations(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___BucketLambdaConfiguration]: ...
    @property
    def queue_configurations(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___BucketQueueConfiguration]: ...
    @property
    def topic_configurations(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___BucketTopicConfiguration]: ...
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        lambda_configurations: collections.abc.Iterable[global___BucketLambdaConfiguration] | None = ...,
        queue_configurations: collections.abc.Iterable[global___BucketQueueConfiguration] | None = ...,
        topic_configurations: collections.abc.Iterable[global___BucketTopicConfiguration] | 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["lambda_configurations", b"lambda_configurations", "queue_configurations", b"queue_configurations", "resource_info", b"resource_info", "topic_configurations", b"topic_configurations"]) -> None: ...

global___BucketNotificationConfiguration = BucketNotificationConfiguration

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

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

global___BucketDefaultRetention = BucketDefaultRetention

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

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

global___BucketObjectLockRule = BucketObjectLockRule

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

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

global___BucketObjectLockConfiguration = BucketObjectLockConfiguration

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

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

global___BucketPublicAccessBlockConfiguration = BucketPublicAccessBlockConfiguration

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

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

global___BucketDeleteMarkerReplication = BucketDeleteMarkerReplication

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

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

global___BucketAccessControlTranslation = BucketAccessControlTranslation

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

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

global___BucketEncryptionConfiguration = BucketEncryptionConfiguration

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

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

global___BucketReplicationTimeValue = BucketReplicationTimeValue

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

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

global___BucketMetrics = BucketMetrics

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

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

global___BucketReplicationTime = BucketReplicationTime

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

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    ACCESS_CONTROL_TRANSLATION_FIELD_NUMBER: builtins.int
    ACCOUNT_FIELD_NUMBER: builtins.int
    BUCKET_FIELD_NUMBER: builtins.int
    ENCRYPTION_CONFIGURATION_FIELD_NUMBER: builtins.int
    METRICS_FIELD_NUMBER: builtins.int
    REPLICATION_TIME_FIELD_NUMBER: builtins.int
    STORAGE_CLASS_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    @property
    def access_control_translation(self) -> global___BucketAccessControlTranslation: ...
    account: builtins.str
    bucket: builtins.str
    @property
    def encryption_configuration(self) -> global___BucketEncryptionConfiguration: ...
    @property
    def metrics(self) -> global___BucketMetrics: ...
    @property
    def replication_time(self) -> global___BucketReplicationTime: ...
    storage_class: builtins.str
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        access_control_translation: global___BucketAccessControlTranslation | None = ...,
        account: builtins.str = ...,
        bucket: builtins.str = ...,
        encryption_configuration: global___BucketEncryptionConfiguration | None = ...,
        metrics: global___BucketMetrics | None = ...,
        replication_time: global___BucketReplicationTime | None = ...,
        storage_class: builtins.str = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["access_control_translation", b"access_control_translation", "encryption_configuration", b"encryption_configuration", "metrics", b"metrics", "replication_time", b"replication_time", "resource_info", b"resource_info"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["access_control_translation", b"access_control_translation", "account", b"account", "bucket", b"bucket", "encryption_configuration", b"encryption_configuration", "metrics", b"metrics", "replication_time", b"replication_time", "resource_info", b"resource_info", "storage_class", b"storage_class"]) -> None: ...

global___BucketReplicationDestination = BucketReplicationDestination

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

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

global___BucketReplicationRuleAndOperator = BucketReplicationRuleAndOperator

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

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

global___BucketReplicationRuleFilter = BucketReplicationRuleFilter

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

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

global___BucketSseKmsEncryptedObjects = BucketSseKmsEncryptedObjects

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

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

global___BucketSourceSelectionCriteria = BucketSourceSelectionCriteria

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

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    DELETE_MARKER_REPLICATION_FIELD_NUMBER: builtins.int
    DESTINATION_FIELD_NUMBER: builtins.int
    FILTER_FIELD_NUMBER: builtins.int
    ID_FIELD_NUMBER: builtins.int
    PREFIX_FIELD_NUMBER: builtins.int
    PRIORITY_FIELD_NUMBER: builtins.int
    SOURCE_SELECTION_CRITERIA_FIELD_NUMBER: builtins.int
    STATUS_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    @property
    def delete_marker_replication(self) -> global___BucketDeleteMarkerReplication: ...
    @property
    def destination(self) -> global___BucketReplicationDestination: ...
    @property
    def filter(self) -> global___BucketReplicationRuleFilter: ...
    id: builtins.str
    prefix: builtins.str
    priority: builtins.int
    @property
    def source_selection_criteria(self) -> global___BucketSourceSelectionCriteria: ...
    status: builtins.str
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        delete_marker_replication: global___BucketDeleteMarkerReplication | None = ...,
        destination: global___BucketReplicationDestination | None = ...,
        filter: global___BucketReplicationRuleFilter | None = ...,
        id: builtins.str = ...,
        prefix: builtins.str = ...,
        priority: builtins.int = ...,
        source_selection_criteria: global___BucketSourceSelectionCriteria | None = ...,
        status: builtins.str = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["delete_marker_replication", b"delete_marker_replication", "destination", b"destination", "filter", b"filter", "resource_info", b"resource_info", "source_selection_criteria", b"source_selection_criteria"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["delete_marker_replication", b"delete_marker_replication", "destination", b"destination", "filter", b"filter", "id", b"id", "prefix", b"prefix", "priority", b"priority", "resource_info", b"resource_info", "source_selection_criteria", b"source_selection_criteria", "status", b"status"]) -> None: ...

global___BucketReplicationRule = BucketReplicationRule

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

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

global___BucketReplicationConfiguration = BucketReplicationConfiguration

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

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

global___BucketVersioningConfiguration = BucketVersioningConfiguration

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

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

global___BucketRedirectAllRequestsTo = BucketRedirectAllRequestsTo

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

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    HOST_NAME_FIELD_NUMBER: builtins.int
    HTTP_REDIRECT_CODE_FIELD_NUMBER: builtins.int
    PROTOCOL_FIELD_NUMBER: builtins.int
    REPLACE_KEY_PREFIX_WITH_FIELD_NUMBER: builtins.int
    REPLACE_KEY_WITH_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    host_name: builtins.str
    http_redirect_code: builtins.str
    protocol: builtins.str
    replace_key_prefix_with: builtins.str
    replace_key_with: builtins.str
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        host_name: builtins.str = ...,
        http_redirect_code: builtins.str = ...,
        protocol: builtins.str = ...,
        replace_key_prefix_with: builtins.str = ...,
        replace_key_with: 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["host_name", b"host_name", "http_redirect_code", b"http_redirect_code", "protocol", b"protocol", "replace_key_prefix_with", b"replace_key_prefix_with", "replace_key_with", b"replace_key_with", "resource_info", b"resource_info"]) -> None: ...

global___BucketRedirectRule = BucketRedirectRule

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

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

global___BucketRoutingRuleCondition = BucketRoutingRuleCondition

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

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

global___BucketRoutingRule = BucketRoutingRule

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

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    ERROR_DOCUMENT_FIELD_NUMBER: builtins.int
    INDEX_DOCUMENT_FIELD_NUMBER: builtins.int
    REDIRECT_ALL_REQUESTS_TO_FIELD_NUMBER: builtins.int
    ROUTING_RULES_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    error_document: builtins.str
    index_document: builtins.str
    @property
    def redirect_all_requests_to(self) -> global___BucketRedirectAllRequestsTo: ...
    @property
    def routing_rules(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___BucketRoutingRule]: ...
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        error_document: builtins.str = ...,
        index_document: builtins.str = ...,
        redirect_all_requests_to: global___BucketRedirectAllRequestsTo | None = ...,
        routing_rules: collections.abc.Iterable[global___BucketRoutingRule] | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["redirect_all_requests_to", b"redirect_all_requests_to", "resource_info", b"resource_info"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["error_document", b"error_document", "index_document", b"index_document", "redirect_all_requests_to", b"redirect_all_requests_to", "resource_info", b"resource_info", "routing_rules", b"routing_rules"]) -> None: ...

global___BucketWebsiteConfiguration = BucketWebsiteConfiguration

@typing_extensions.final
class Bucket(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
    ACCELERATE_CONFIGURATION_FIELD_NUMBER: builtins.int
    ACCESS_CONTROL_FIELD_NUMBER: builtins.int
    ANALYTICS_CONFIGURATIONS_FIELD_NUMBER: builtins.int
    BUCKET_ENCRYPTION_FIELD_NUMBER: builtins.int
    BUCKET_NAME_FIELD_NUMBER: builtins.int
    CORS_CONFIGURATION_FIELD_NUMBER: builtins.int
    INVENTORY_CONFIGURATIONS_FIELD_NUMBER: builtins.int
    LIFECYCLE_CONFIGURATION_FIELD_NUMBER: builtins.int
    LOGGING_CONFIGURATION_FIELD_NUMBER: builtins.int
    METRICS_CONFIGURATIONS_FIELD_NUMBER: builtins.int
    NOTIFICATION_CONFIGURATION_FIELD_NUMBER: builtins.int
    OBJECT_LOCK_CONFIGURATION_FIELD_NUMBER: builtins.int
    OBJECT_LOCK_ENABLED_FIELD_NUMBER: builtins.int
    PUBLIC_ACCESS_BLOCK_CONFIGURATION_FIELD_NUMBER: builtins.int
    REPLICATION_CONFIGURATION_FIELD_NUMBER: builtins.int
    TAGS_FIELD_NUMBER: builtins.int
    VERSIONING_CONFIGURATION_FIELD_NUMBER: builtins.int
    WEBSITE_CONFIGURATION_FIELD_NUMBER: builtins.int
    VERSIONING_FIELD_NUMBER: builtins.int
    OWNERSHIP_CONTROLS_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    @property
    def accelerate_configuration(self) -> global___BucketAccelerateConfiguration: ...
    access_control: builtins.str
    @property
    def analytics_configurations(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___BucketAnalyticsConfiguration]: ...
    @property
    def bucket_encryption(self) -> global___BucketBucketEncryption: ...
    bucket_name: builtins.str
    @property
    def cors_configuration(self) -> global___BucketCorsConfiguration: ...
    @property
    def inventory_configurations(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___BucketInventoryConfiguration]: ...
    @property
    def lifecycle_configuration(self) -> global___BucketLifecycleConfiguration: ...
    @property
    def logging_configuration(self) -> global___BucketLoggingConfiguration: ...
    @property
    def metrics_configurations(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___BucketMetricsConfiguration]: ...
    @property
    def notification_configuration(self) -> global___BucketNotificationConfiguration: ...
    @property
    def object_lock_configuration(self) -> global___BucketObjectLockConfiguration: ...
    object_lock_enabled: builtins.bool
    @property
    def public_access_block_configuration(self) -> global___BucketPublicAccessBlockConfiguration: ...
    @property
    def replication_configuration(self) -> global___BucketReplicationConfiguration: ...
    @property
    def tags(self) -> google.protobuf.internal.containers.ScalarMap[builtins.str, builtins.str]: ...
    @property
    def versioning_configuration(self) -> global___BucketVersioningConfiguration: ...
    @property
    def website_configuration(self) -> global___BucketWebsiteConfiguration: ...
    @property
    def versioning(self) -> global___BucketVersioning: ...
    @property
    def ownership_controls(self) -> global___BucketOwnershipControls: ...
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        accelerate_configuration: global___BucketAccelerateConfiguration | None = ...,
        access_control: builtins.str = ...,
        analytics_configurations: collections.abc.Iterable[global___BucketAnalyticsConfiguration] | None = ...,
        bucket_encryption: global___BucketBucketEncryption | None = ...,
        bucket_name: builtins.str = ...,
        cors_configuration: global___BucketCorsConfiguration | None = ...,
        inventory_configurations: collections.abc.Iterable[global___BucketInventoryConfiguration] | None = ...,
        lifecycle_configuration: global___BucketLifecycleConfiguration | None = ...,
        logging_configuration: global___BucketLoggingConfiguration | None = ...,
        metrics_configurations: collections.abc.Iterable[global___BucketMetricsConfiguration] | None = ...,
        notification_configuration: global___BucketNotificationConfiguration | None = ...,
        object_lock_configuration: global___BucketObjectLockConfiguration | None = ...,
        object_lock_enabled: builtins.bool = ...,
        public_access_block_configuration: global___BucketPublicAccessBlockConfiguration | None = ...,
        replication_configuration: global___BucketReplicationConfiguration | None = ...,
        tags: collections.abc.Mapping[builtins.str, builtins.str] | None = ...,
        versioning_configuration: global___BucketVersioningConfiguration | None = ...,
        website_configuration: global___BucketWebsiteConfiguration | None = ...,
        versioning: global___BucketVersioning | None = ...,
        ownership_controls: global___BucketOwnershipControls | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["accelerate_configuration", b"accelerate_configuration", "bucket_encryption", b"bucket_encryption", "cors_configuration", b"cors_configuration", "lifecycle_configuration", b"lifecycle_configuration", "logging_configuration", b"logging_configuration", "notification_configuration", b"notification_configuration", "object_lock_configuration", b"object_lock_configuration", "ownership_controls", b"ownership_controls", "public_access_block_configuration", b"public_access_block_configuration", "replication_configuration", b"replication_configuration", "resource_info", b"resource_info", "versioning", b"versioning", "versioning_configuration", b"versioning_configuration", "website_configuration", b"website_configuration"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["accelerate_configuration", b"accelerate_configuration", "access_control", b"access_control", "analytics_configurations", b"analytics_configurations", "bucket_encryption", b"bucket_encryption", "bucket_name", b"bucket_name", "cors_configuration", b"cors_configuration", "inventory_configurations", b"inventory_configurations", "lifecycle_configuration", b"lifecycle_configuration", "logging_configuration", b"logging_configuration", "metrics_configurations", b"metrics_configurations", "notification_configuration", b"notification_configuration", "object_lock_configuration", b"object_lock_configuration", "object_lock_enabled", b"object_lock_enabled", "ownership_controls", b"ownership_controls", "public_access_block_configuration", b"public_access_block_configuration", "replication_configuration", b"replication_configuration", "resource_info", b"resource_info", "tags", b"tags", "versioning", b"versioning", "versioning_configuration", b"versioning_configuration", "website_configuration", b"website_configuration"]) -> None: ...

global___Bucket = Bucket

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

    ENABLED_FIELD_NUMBER: builtins.int
    enabled: builtins.bool
    def __init__(
        self,
        *,
        enabled: builtins.bool = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["enabled", b"enabled"]) -> None: ...

global___BucketVersioning = BucketVersioning

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

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

global___BucketOwnershipControlsRule = BucketOwnershipControlsRule

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

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

global___BucketOwnershipControls = BucketOwnershipControls

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

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

global___BucketPolicy = BucketPolicy
