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

    MAX_AGE_SECONDS_FIELD_NUMBER: builtins.int
    METHOD_FIELD_NUMBER: builtins.int
    ORIGIN_FIELD_NUMBER: builtins.int
    RESPONSE_HEADER_FIELD_NUMBER: builtins.int
    max_age_seconds: builtins.float
    @property
    def method(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    @property
    def origin(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    @property
    def response_header(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    def __init__(
        self,
        *,
        max_age_seconds: builtins.float = ...,
        method: collections.abc.Iterable[builtins.str] | None = ...,
        origin: collections.abc.Iterable[builtins.str] | None = ...,
        response_header: collections.abc.Iterable[builtins.str] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["max_age_seconds", b"max_age_seconds", "method", b"method", "origin", b"origin", "response_header", b"response_header"]) -> None: ...

global___StorageBucketXCors = StorageBucketXCors

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

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

global___StorageBucketXEncryption = StorageBucketXEncryption

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

    STORAGE_CLASS_FIELD_NUMBER: builtins.int
    TYPE_FIELD_NUMBER: builtins.int
    storage_class: builtins.str
    type: builtins.str
    def __init__(
        self,
        *,
        storage_class: builtins.str = ...,
        type: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["storage_class", b"storage_class", "type", b"type"]) -> None: ...

global___StorageBucketXLifecycleRuleXAction = StorageBucketXLifecycleRuleXAction

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

    AGE_FIELD_NUMBER: builtins.int
    CREATED_BEFORE_FIELD_NUMBER: builtins.int
    CUSTOM_TIME_BEFORE_FIELD_NUMBER: builtins.int
    DAYS_SINCE_CUSTOM_TIME_FIELD_NUMBER: builtins.int
    DAYS_SINCE_NONCURRENT_TIME_FIELD_NUMBER: builtins.int
    MATCHES_PREFIX_FIELD_NUMBER: builtins.int
    MATCHES_STORAGE_CLASS_FIELD_NUMBER: builtins.int
    MATCHES_SUFFIX_FIELD_NUMBER: builtins.int
    NONCURRENT_TIME_BEFORE_FIELD_NUMBER: builtins.int
    NUM_NEWER_VERSIONS_FIELD_NUMBER: builtins.int
    WITH_STATE_FIELD_NUMBER: builtins.int
    age: builtins.float
    created_before: builtins.str
    custom_time_before: builtins.str
    days_since_custom_time: builtins.float
    days_since_noncurrent_time: builtins.float
    @property
    def matches_prefix(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    @property
    def matches_storage_class(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    @property
    def matches_suffix(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    noncurrent_time_before: builtins.str
    num_newer_versions: builtins.float
    with_state: builtins.str
    def __init__(
        self,
        *,
        age: builtins.float = ...,
        created_before: builtins.str = ...,
        custom_time_before: builtins.str = ...,
        days_since_custom_time: builtins.float = ...,
        days_since_noncurrent_time: builtins.float = ...,
        matches_prefix: collections.abc.Iterable[builtins.str] | None = ...,
        matches_storage_class: collections.abc.Iterable[builtins.str] | None = ...,
        matches_suffix: collections.abc.Iterable[builtins.str] | None = ...,
        noncurrent_time_before: builtins.str = ...,
        num_newer_versions: builtins.float = ...,
        with_state: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["age", b"age", "created_before", b"created_before", "custom_time_before", b"custom_time_before", "days_since_custom_time", b"days_since_custom_time", "days_since_noncurrent_time", b"days_since_noncurrent_time", "matches_prefix", b"matches_prefix", "matches_storage_class", b"matches_storage_class", "matches_suffix", b"matches_suffix", "noncurrent_time_before", b"noncurrent_time_before", "num_newer_versions", b"num_newer_versions", "with_state", b"with_state"]) -> None: ...

global___StorageBucketXLifecycleRuleXCondition = StorageBucketXLifecycleRuleXCondition

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

    ACTION_FIELD_NUMBER: builtins.int
    CONDITION_FIELD_NUMBER: builtins.int
    @property
    def action(self) -> global___StorageBucketXLifecycleRuleXAction: ...
    @property
    def condition(self) -> global___StorageBucketXLifecycleRuleXCondition: ...
    def __init__(
        self,
        *,
        action: global___StorageBucketXLifecycleRuleXAction | None = ...,
        condition: global___StorageBucketXLifecycleRuleXCondition | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["action", b"action", "condition", b"condition"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["action", b"action", "condition", b"condition"]) -> None: ...

global___StorageBucketXLifecycleRule = StorageBucketXLifecycleRule

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

    LOG_BUCKET_FIELD_NUMBER: builtins.int
    LOG_OBJECT_PREFIX_FIELD_NUMBER: builtins.int
    log_bucket: builtins.str
    log_object_prefix: builtins.str
    def __init__(
        self,
        *,
        log_bucket: builtins.str = ...,
        log_object_prefix: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["log_bucket", b"log_bucket", "log_object_prefix", b"log_object_prefix"]) -> None: ...

global___StorageBucketXLogging = StorageBucketXLogging

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

    IS_LOCKED_FIELD_NUMBER: builtins.int
    RETENTION_PERIOD_FIELD_NUMBER: builtins.int
    is_locked: builtins.bool
    retention_period: builtins.float
    def __init__(
        self,
        *,
        is_locked: builtins.bool = ...,
        retention_period: builtins.float = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["is_locked", b"is_locked", "retention_period", b"retention_period"]) -> None: ...

global___StorageBucketXRetentionPolicy = StorageBucketXRetentionPolicy

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

    CREATE_FIELD_NUMBER: builtins.int
    READ_FIELD_NUMBER: builtins.int
    UPDATE_FIELD_NUMBER: builtins.int
    create: builtins.str
    read: builtins.str
    update: builtins.str
    def __init__(
        self,
        *,
        create: builtins.str = ...,
        read: builtins.str = ...,
        update: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["create", b"create", "read", b"read", "update", b"update"]) -> None: ...

global___StorageBucketXTimeouts = StorageBucketXTimeouts

@typing_extensions.final
class StorageBucketXVersioning(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___StorageBucketXVersioning = StorageBucketXVersioning

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

    MAIN_PAGE_SUFFIX_FIELD_NUMBER: builtins.int
    NOT_FOUND_PAGE_FIELD_NUMBER: builtins.int
    main_page_suffix: builtins.str
    not_found_page: builtins.str
    def __init__(
        self,
        *,
        main_page_suffix: builtins.str = ...,
        not_found_page: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["main_page_suffix", b"main_page_suffix", "not_found_page", b"not_found_page"]) -> None: ...

global___StorageBucketXWebsite = StorageBucketXWebsite

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

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

    DEFAULT_EVENT_BASED_HOLD_FIELD_NUMBER: builtins.int
    FORCE_DESTROY_FIELD_NUMBER: builtins.int
    ID_FIELD_NUMBER: builtins.int
    LABELS_FIELD_NUMBER: builtins.int
    LOCATION_FIELD_NUMBER: builtins.int
    NAME_FIELD_NUMBER: builtins.int
    PROJECT_FIELD_NUMBER: builtins.int
    REQUESTER_PAYS_FIELD_NUMBER: builtins.int
    SELF_LINK_FIELD_NUMBER: builtins.int
    STORAGE_CLASS_FIELD_NUMBER: builtins.int
    UNIFORM_BUCKET_LEVEL_ACCESS_FIELD_NUMBER: builtins.int
    URL_FIELD_NUMBER: builtins.int
    CORS_FIELD_NUMBER: builtins.int
    ENCRYPTION_FIELD_NUMBER: builtins.int
    LIFECYCLE_RULE_FIELD_NUMBER: builtins.int
    LOGGING_FIELD_NUMBER: builtins.int
    RETENTION_POLICY_FIELD_NUMBER: builtins.int
    TIMEOUTS_FIELD_NUMBER: builtins.int
    VERSIONING_FIELD_NUMBER: builtins.int
    WEBSITE_FIELD_NUMBER: builtins.int
    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    default_event_based_hold: builtins.bool
    force_destroy: builtins.bool
    id: builtins.str
    @property
    def labels(self) -> google.protobuf.internal.containers.ScalarMap[builtins.str, builtins.str]: ...
    location: builtins.str
    name: builtins.str
    project: builtins.str
    requester_pays: builtins.bool
    self_link: builtins.str
    storage_class: builtins.str
    uniform_bucket_level_access: builtins.bool
    url: builtins.str
    @property
    def cors(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___StorageBucketXCors]: ...
    @property
    def encryption(self) -> global___StorageBucketXEncryption: ...
    @property
    def lifecycle_rule(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___StorageBucketXLifecycleRule]: ...
    @property
    def logging(self) -> global___StorageBucketXLogging: ...
    @property
    def retention_policy(self) -> global___StorageBucketXRetentionPolicy: ...
    @property
    def timeouts(self) -> global___StorageBucketXTimeouts: ...
    @property
    def versioning(self) -> global___StorageBucketXVersioning: ...
    @property
    def website(self) -> global___StorageBucketXWebsite: ...
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    def __init__(
        self,
        *,
        default_event_based_hold: builtins.bool = ...,
        force_destroy: builtins.bool = ...,
        id: builtins.str = ...,
        labels: collections.abc.Mapping[builtins.str, builtins.str] | None = ...,
        location: builtins.str = ...,
        name: builtins.str = ...,
        project: builtins.str = ...,
        requester_pays: builtins.bool = ...,
        self_link: builtins.str = ...,
        storage_class: builtins.str = ...,
        uniform_bucket_level_access: builtins.bool = ...,
        url: builtins.str = ...,
        cors: collections.abc.Iterable[global___StorageBucketXCors] | None = ...,
        encryption: global___StorageBucketXEncryption | None = ...,
        lifecycle_rule: collections.abc.Iterable[global___StorageBucketXLifecycleRule] | None = ...,
        logging: global___StorageBucketXLogging | None = ...,
        retention_policy: global___StorageBucketXRetentionPolicy | None = ...,
        timeouts: global___StorageBucketXTimeouts | None = ...,
        versioning: global___StorageBucketXVersioning | None = ...,
        website: global___StorageBucketXWebsite | None = ...,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["encryption", b"encryption", "logging", b"logging", "resource_info", b"resource_info", "retention_policy", b"retention_policy", "timeouts", b"timeouts", "versioning", b"versioning", "website", b"website"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["cors", b"cors", "default_event_based_hold", b"default_event_based_hold", "encryption", b"encryption", "force_destroy", b"force_destroy", "id", b"id", "labels", b"labels", "lifecycle_rule", b"lifecycle_rule", "location", b"location", "logging", b"logging", "name", b"name", "project", b"project", "requester_pays", b"requester_pays", "resource_info", b"resource_info", "retention_policy", b"retention_policy", "self_link", b"self_link", "storage_class", b"storage_class", "timeouts", b"timeouts", "uniform_bucket_level_access", b"uniform_bucket_level_access", "url", b"url", "versioning", b"versioning", "website", b"website"]) -> None: ...

global___StorageBucket = StorageBucket

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

    CREATE_FIELD_NUMBER: builtins.int
    DELETE_FIELD_NUMBER: builtins.int
    UPDATE_FIELD_NUMBER: builtins.int
    create: builtins.str
    delete: builtins.str
    update: builtins.str
    def __init__(
        self,
        *,
        create: builtins.str = ...,
        delete: builtins.str = ...,
        update: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["create", b"create", "delete", b"delete", "update", b"update"]) -> None: ...

global___StorageBucketAccessControlXTimeouts = StorageBucketAccessControlXTimeouts

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

    BUCKET_FIELD_NUMBER: builtins.int
    DOMAIN_FIELD_NUMBER: builtins.int
    EMAIL_FIELD_NUMBER: builtins.int
    ENTITY_FIELD_NUMBER: builtins.int
    ID_FIELD_NUMBER: builtins.int
    ROLE_FIELD_NUMBER: builtins.int
    TIMEOUTS_FIELD_NUMBER: builtins.int
    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    bucket: builtins.str
    domain: builtins.str
    email: builtins.str
    entity: builtins.str
    id: builtins.str
    role: builtins.str
    @property
    def timeouts(self) -> global___StorageBucketAccessControlXTimeouts: ...
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    def __init__(
        self,
        *,
        bucket: builtins.str = ...,
        domain: builtins.str = ...,
        email: builtins.str = ...,
        entity: builtins.str = ...,
        id: builtins.str = ...,
        role: builtins.str = ...,
        timeouts: global___StorageBucketAccessControlXTimeouts | None = ...,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["resource_info", b"resource_info", "timeouts", b"timeouts"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["bucket", b"bucket", "domain", b"domain", "email", b"email", "entity", b"entity", "id", b"id", "resource_info", b"resource_info", "role", b"role", "timeouts", b"timeouts"]) -> None: ...

global___StorageBucketAccessControl = StorageBucketAccessControl

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

    BUCKET_FIELD_NUMBER: builtins.int
    DEFAULT_ACL_FIELD_NUMBER: builtins.int
    ID_FIELD_NUMBER: builtins.int
    PREDEFINED_ACL_FIELD_NUMBER: builtins.int
    ROLE_ENTITY_FIELD_NUMBER: builtins.int
    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    bucket: builtins.str
    default_acl: builtins.str
    id: builtins.str
    predefined_acl: builtins.str
    @property
    def role_entity(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    def __init__(
        self,
        *,
        bucket: builtins.str = ...,
        default_acl: builtins.str = ...,
        id: builtins.str = ...,
        predefined_acl: builtins.str = ...,
        role_entity: collections.abc.Iterable[builtins.str] | None = ...,
        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["bucket", b"bucket", "default_acl", b"default_acl", "id", b"id", "predefined_acl", b"predefined_acl", "resource_info", b"resource_info", "role_entity", b"role_entity"]) -> None: ...

global___StorageBucketAcl = StorageBucketAcl

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

    DESCRIPTION_FIELD_NUMBER: builtins.int
    EXPRESSION_FIELD_NUMBER: builtins.int
    TITLE_FIELD_NUMBER: builtins.int
    description: builtins.str
    expression: builtins.str
    title: builtins.str
    def __init__(
        self,
        *,
        description: builtins.str = ...,
        expression: builtins.str = ...,
        title: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["description", b"description", "expression", b"expression", "title", b"title"]) -> None: ...

global___StorageBucketIamBindingXCondition = StorageBucketIamBindingXCondition

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

    BUCKET_FIELD_NUMBER: builtins.int
    ETAG_FIELD_NUMBER: builtins.int
    ID_FIELD_NUMBER: builtins.int
    MEMBERS_FIELD_NUMBER: builtins.int
    ROLE_FIELD_NUMBER: builtins.int
    CONDITION_FIELD_NUMBER: builtins.int
    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    bucket: builtins.str
    etag: builtins.str
    id: builtins.str
    @property
    def members(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    role: builtins.str
    @property
    def condition(self) -> global___StorageBucketIamBindingXCondition: ...
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    def __init__(
        self,
        *,
        bucket: builtins.str = ...,
        etag: builtins.str = ...,
        id: builtins.str = ...,
        members: collections.abc.Iterable[builtins.str] | None = ...,
        role: builtins.str = ...,
        condition: global___StorageBucketIamBindingXCondition | None = ...,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["condition", b"condition", "resource_info", b"resource_info"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["bucket", b"bucket", "condition", b"condition", "etag", b"etag", "id", b"id", "members", b"members", "resource_info", b"resource_info", "role", b"role"]) -> None: ...

global___StorageBucketIamBinding = StorageBucketIamBinding

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

    DESCRIPTION_FIELD_NUMBER: builtins.int
    EXPRESSION_FIELD_NUMBER: builtins.int
    TITLE_FIELD_NUMBER: builtins.int
    description: builtins.str
    expression: builtins.str
    title: builtins.str
    def __init__(
        self,
        *,
        description: builtins.str = ...,
        expression: builtins.str = ...,
        title: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["description", b"description", "expression", b"expression", "title", b"title"]) -> None: ...

global___StorageBucketIamMemberXCondition = StorageBucketIamMemberXCondition

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

    BUCKET_FIELD_NUMBER: builtins.int
    ETAG_FIELD_NUMBER: builtins.int
    ID_FIELD_NUMBER: builtins.int
    MEMBER_FIELD_NUMBER: builtins.int
    ROLE_FIELD_NUMBER: builtins.int
    CONDITION_FIELD_NUMBER: builtins.int
    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    bucket: builtins.str
    etag: builtins.str
    id: builtins.str
    member: builtins.str
    role: builtins.str
    @property
    def condition(self) -> global___StorageBucketIamMemberXCondition: ...
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    def __init__(
        self,
        *,
        bucket: builtins.str = ...,
        etag: builtins.str = ...,
        id: builtins.str = ...,
        member: builtins.str = ...,
        role: builtins.str = ...,
        condition: global___StorageBucketIamMemberXCondition | None = ...,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["condition", b"condition", "resource_info", b"resource_info"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["bucket", b"bucket", "condition", b"condition", "etag", b"etag", "id", b"id", "member", b"member", "resource_info", b"resource_info", "role", b"role"]) -> None: ...

global___StorageBucketIamMember = StorageBucketIamMember

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

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

global___StorageBucketIamPolicy = StorageBucketIamPolicy

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

    ENCRYPTION_ALGORITHM_FIELD_NUMBER: builtins.int
    ENCRYPTION_KEY_FIELD_NUMBER: builtins.int
    encryption_algorithm: builtins.str
    encryption_key: builtins.str
    def __init__(
        self,
        *,
        encryption_algorithm: builtins.str = ...,
        encryption_key: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["encryption_algorithm", b"encryption_algorithm", "encryption_key", b"encryption_key"]) -> None: ...

global___StorageBucketObjectXCustomerEncryption = StorageBucketObjectXCustomerEncryption

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

    CREATE_FIELD_NUMBER: builtins.int
    DELETE_FIELD_NUMBER: builtins.int
    UPDATE_FIELD_NUMBER: builtins.int
    create: builtins.str
    delete: builtins.str
    update: builtins.str
    def __init__(
        self,
        *,
        create: builtins.str = ...,
        delete: builtins.str = ...,
        update: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["create", b"create", "delete", b"delete", "update", b"update"]) -> None: ...

global___StorageBucketObjectXTimeouts = StorageBucketObjectXTimeouts

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

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

    BUCKET_FIELD_NUMBER: builtins.int
    CACHE_CONTROL_FIELD_NUMBER: builtins.int
    CONTENT_FIELD_NUMBER: builtins.int
    CONTENT_DISPOSITION_FIELD_NUMBER: builtins.int
    CONTENT_ENCODING_FIELD_NUMBER: builtins.int
    CONTENT_LANGUAGE_FIELD_NUMBER: builtins.int
    CONTENT_TYPE_FIELD_NUMBER: builtins.int
    CRC32C_FIELD_NUMBER: builtins.int
    DETECT_MD5HASH_FIELD_NUMBER: builtins.int
    EVENT_BASED_HOLD_FIELD_NUMBER: builtins.int
    ID_FIELD_NUMBER: builtins.int
    KMS_KEY_NAME_FIELD_NUMBER: builtins.int
    MD5HASH_FIELD_NUMBER: builtins.int
    MEDIA_LINK_FIELD_NUMBER: builtins.int
    METADATA_FIELD_NUMBER: builtins.int
    NAME_FIELD_NUMBER: builtins.int
    OUTPUT_NAME_FIELD_NUMBER: builtins.int
    SELF_LINK_FIELD_NUMBER: builtins.int
    SOURCE_FIELD_NUMBER: builtins.int
    STORAGE_CLASS_FIELD_NUMBER: builtins.int
    TEMPORARY_HOLD_FIELD_NUMBER: builtins.int
    CUSTOMER_ENCRYPTION_FIELD_NUMBER: builtins.int
    TIMEOUTS_FIELD_NUMBER: builtins.int
    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    bucket: builtins.str
    cache_control: builtins.str
    content: builtins.str
    content_disposition: builtins.str
    content_encoding: builtins.str
    content_language: builtins.str
    content_type: builtins.str
    crc32c: builtins.str
    detect_md5hash: builtins.str
    event_based_hold: builtins.bool
    id: builtins.str
    kms_key_name: builtins.str
    md5hash: builtins.str
    media_link: builtins.str
    @property
    def metadata(self) -> google.protobuf.internal.containers.ScalarMap[builtins.str, builtins.str]: ...
    name: builtins.str
    output_name: builtins.str
    self_link: builtins.str
    source: builtins.str
    storage_class: builtins.str
    temporary_hold: builtins.bool
    @property
    def customer_encryption(self) -> global___StorageBucketObjectXCustomerEncryption: ...
    @property
    def timeouts(self) -> global___StorageBucketObjectXTimeouts: ...
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    def __init__(
        self,
        *,
        bucket: builtins.str = ...,
        cache_control: builtins.str = ...,
        content: builtins.str = ...,
        content_disposition: builtins.str = ...,
        content_encoding: builtins.str = ...,
        content_language: builtins.str = ...,
        content_type: builtins.str = ...,
        crc32c: builtins.str = ...,
        detect_md5hash: builtins.str = ...,
        event_based_hold: builtins.bool = ...,
        id: builtins.str = ...,
        kms_key_name: builtins.str = ...,
        md5hash: builtins.str = ...,
        media_link: builtins.str = ...,
        metadata: collections.abc.Mapping[builtins.str, builtins.str] | None = ...,
        name: builtins.str = ...,
        output_name: builtins.str = ...,
        self_link: builtins.str = ...,
        source: builtins.str = ...,
        storage_class: builtins.str = ...,
        temporary_hold: builtins.bool = ...,
        customer_encryption: global___StorageBucketObjectXCustomerEncryption | None = ...,
        timeouts: global___StorageBucketObjectXTimeouts | None = ...,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["customer_encryption", b"customer_encryption", "resource_info", b"resource_info", "timeouts", b"timeouts"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["bucket", b"bucket", "cache_control", b"cache_control", "content", b"content", "content_disposition", b"content_disposition", "content_encoding", b"content_encoding", "content_language", b"content_language", "content_type", b"content_type", "crc32c", b"crc32c", "customer_encryption", b"customer_encryption", "detect_md5hash", b"detect_md5hash", "event_based_hold", b"event_based_hold", "id", b"id", "kms_key_name", b"kms_key_name", "md5hash", b"md5hash", "media_link", b"media_link", "metadata", b"metadata", "name", b"name", "output_name", b"output_name", "resource_info", b"resource_info", "self_link", b"self_link", "source", b"source", "storage_class", b"storage_class", "temporary_hold", b"temporary_hold", "timeouts", b"timeouts"]) -> None: ...

global___StorageBucketObject = StorageBucketObject

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

    CREATE_FIELD_NUMBER: builtins.int
    DELETE_FIELD_NUMBER: builtins.int
    UPDATE_FIELD_NUMBER: builtins.int
    create: builtins.str
    delete: builtins.str
    update: builtins.str
    def __init__(
        self,
        *,
        create: builtins.str = ...,
        delete: builtins.str = ...,
        update: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["create", b"create", "delete", b"delete", "update", b"update"]) -> None: ...

global___StorageDefaultObjectAccessControlXTimeouts = StorageDefaultObjectAccessControlXTimeouts

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

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

    BUCKET_FIELD_NUMBER: builtins.int
    DOMAIN_FIELD_NUMBER: builtins.int
    EMAIL_FIELD_NUMBER: builtins.int
    ENTITY_FIELD_NUMBER: builtins.int
    ENTITY_ID_FIELD_NUMBER: builtins.int
    GENERATION_FIELD_NUMBER: builtins.int
    ID_FIELD_NUMBER: builtins.int
    OBJECT_FIELD_NUMBER: builtins.int
    PROJECT_TEAM_FIELD_NUMBER: builtins.int
    ROLE_FIELD_NUMBER: builtins.int
    TIMEOUTS_FIELD_NUMBER: builtins.int
    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    bucket: builtins.str
    domain: builtins.str
    email: builtins.str
    entity: builtins.str
    entity_id: builtins.str
    generation: builtins.float
    id: builtins.str
    object: builtins.str
    @property
    def project_team(self) -> google.protobuf.internal.containers.ScalarMap[builtins.str, builtins.str]: ...
    role: builtins.str
    @property
    def timeouts(self) -> global___StorageDefaultObjectAccessControlXTimeouts: ...
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    def __init__(
        self,
        *,
        bucket: builtins.str = ...,
        domain: builtins.str = ...,
        email: builtins.str = ...,
        entity: builtins.str = ...,
        entity_id: builtins.str = ...,
        generation: builtins.float = ...,
        id: builtins.str = ...,
        object: builtins.str = ...,
        project_team: collections.abc.Mapping[builtins.str, builtins.str] | None = ...,
        role: builtins.str = ...,
        timeouts: global___StorageDefaultObjectAccessControlXTimeouts | None = ...,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["resource_info", b"resource_info", "timeouts", b"timeouts"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["bucket", b"bucket", "domain", b"domain", "email", b"email", "entity", b"entity", "entity_id", b"entity_id", "generation", b"generation", "id", b"id", "object", b"object", "project_team", b"project_team", "resource_info", b"resource_info", "role", b"role", "timeouts", b"timeouts"]) -> None: ...

global___StorageDefaultObjectAccessControl = StorageDefaultObjectAccessControl

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

    BUCKET_FIELD_NUMBER: builtins.int
    ID_FIELD_NUMBER: builtins.int
    ROLE_ENTITY_FIELD_NUMBER: builtins.int
    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    bucket: builtins.str
    id: builtins.str
    @property
    def role_entity(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    def __init__(
        self,
        *,
        bucket: builtins.str = ...,
        id: builtins.str = ...,
        role_entity: collections.abc.Iterable[builtins.str] | None = ...,
        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["bucket", b"bucket", "id", b"id", "resource_info", b"resource_info", "role_entity", b"role_entity"]) -> None: ...

global___StorageDefaultObjectAcl = StorageDefaultObjectAcl

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

    CREATE_FIELD_NUMBER: builtins.int
    DELETE_FIELD_NUMBER: builtins.int
    UPDATE_FIELD_NUMBER: builtins.int
    create: builtins.str
    delete: builtins.str
    update: builtins.str
    def __init__(
        self,
        *,
        create: builtins.str = ...,
        delete: builtins.str = ...,
        update: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["create", b"create", "delete", b"delete", "update", b"update"]) -> None: ...

global___StorageHmacKeyXTimeouts = StorageHmacKeyXTimeouts

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

    ACCESS_ID_FIELD_NUMBER: builtins.int
    ID_FIELD_NUMBER: builtins.int
    PROJECT_FIELD_NUMBER: builtins.int
    SECRET_FIELD_NUMBER: builtins.int
    SERVICE_ACCOUNT_EMAIL_FIELD_NUMBER: builtins.int
    STATE_FIELD_NUMBER: builtins.int
    TIME_CREATED_FIELD_NUMBER: builtins.int
    UPDATED_FIELD_NUMBER: builtins.int
    TIMEOUTS_FIELD_NUMBER: builtins.int
    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    access_id: builtins.str
    id: builtins.str
    project: builtins.str
    secret: builtins.str
    service_account_email: builtins.str
    state: builtins.str
    time_created: builtins.str
    updated: builtins.str
    @property
    def timeouts(self) -> global___StorageHmacKeyXTimeouts: ...
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    def __init__(
        self,
        *,
        access_id: builtins.str = ...,
        id: builtins.str = ...,
        project: builtins.str = ...,
        secret: builtins.str = ...,
        service_account_email: builtins.str = ...,
        state: builtins.str = ...,
        time_created: builtins.str = ...,
        updated: builtins.str = ...,
        timeouts: global___StorageHmacKeyXTimeouts | None = ...,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["resource_info", b"resource_info", "timeouts", b"timeouts"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["access_id", b"access_id", "id", b"id", "project", b"project", "resource_info", b"resource_info", "secret", b"secret", "service_account_email", b"service_account_email", "state", b"state", "time_created", b"time_created", "timeouts", b"timeouts", "updated", b"updated"]) -> None: ...

global___StorageHmacKey = StorageHmacKey

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

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

    BUCKET_FIELD_NUMBER: builtins.int
    CUSTOM_ATTRIBUTES_FIELD_NUMBER: builtins.int
    EVENT_TYPES_FIELD_NUMBER: builtins.int
    ID_FIELD_NUMBER: builtins.int
    NOTIFICATION_ID_FIELD_NUMBER: builtins.int
    OBJECT_NAME_PREFIX_FIELD_NUMBER: builtins.int
    PAYLOAD_FORMAT_FIELD_NUMBER: builtins.int
    SELF_LINK_FIELD_NUMBER: builtins.int
    TOPIC_FIELD_NUMBER: builtins.int
    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    bucket: builtins.str
    @property
    def custom_attributes(self) -> google.protobuf.internal.containers.ScalarMap[builtins.str, builtins.str]: ...
    @property
    def event_types(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    id: builtins.str
    notification_id: builtins.str
    object_name_prefix: builtins.str
    payload_format: builtins.str
    self_link: builtins.str
    topic: builtins.str
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    def __init__(
        self,
        *,
        bucket: builtins.str = ...,
        custom_attributes: collections.abc.Mapping[builtins.str, builtins.str] | None = ...,
        event_types: collections.abc.Iterable[builtins.str] | None = ...,
        id: builtins.str = ...,
        notification_id: builtins.str = ...,
        object_name_prefix: builtins.str = ...,
        payload_format: builtins.str = ...,
        self_link: builtins.str = ...,
        topic: builtins.str = ...,
        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["bucket", b"bucket", "custom_attributes", b"custom_attributes", "event_types", b"event_types", "id", b"id", "notification_id", b"notification_id", "object_name_prefix", b"object_name_prefix", "payload_format", b"payload_format", "resource_info", b"resource_info", "self_link", b"self_link", "topic", b"topic"]) -> None: ...

global___StorageNotification = StorageNotification

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

    CREATE_FIELD_NUMBER: builtins.int
    DELETE_FIELD_NUMBER: builtins.int
    UPDATE_FIELD_NUMBER: builtins.int
    create: builtins.str
    delete: builtins.str
    update: builtins.str
    def __init__(
        self,
        *,
        create: builtins.str = ...,
        delete: builtins.str = ...,
        update: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["create", b"create", "delete", b"delete", "update", b"update"]) -> None: ...

global___StorageObjectAccessControlXTimeouts = StorageObjectAccessControlXTimeouts

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

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

    BUCKET_FIELD_NUMBER: builtins.int
    DOMAIN_FIELD_NUMBER: builtins.int
    EMAIL_FIELD_NUMBER: builtins.int
    ENTITY_FIELD_NUMBER: builtins.int
    ENTITY_ID_FIELD_NUMBER: builtins.int
    GENERATION_FIELD_NUMBER: builtins.int
    ID_FIELD_NUMBER: builtins.int
    OBJECT_FIELD_NUMBER: builtins.int
    PROJECT_TEAM_FIELD_NUMBER: builtins.int
    ROLE_FIELD_NUMBER: builtins.int
    TIMEOUTS_FIELD_NUMBER: builtins.int
    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    bucket: builtins.str
    domain: builtins.str
    email: builtins.str
    entity: builtins.str
    entity_id: builtins.str
    generation: builtins.float
    id: builtins.str
    object: builtins.str
    @property
    def project_team(self) -> google.protobuf.internal.containers.ScalarMap[builtins.str, builtins.str]: ...
    role: builtins.str
    @property
    def timeouts(self) -> global___StorageObjectAccessControlXTimeouts: ...
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    def __init__(
        self,
        *,
        bucket: builtins.str = ...,
        domain: builtins.str = ...,
        email: builtins.str = ...,
        entity: builtins.str = ...,
        entity_id: builtins.str = ...,
        generation: builtins.float = ...,
        id: builtins.str = ...,
        object: builtins.str = ...,
        project_team: collections.abc.Mapping[builtins.str, builtins.str] | None = ...,
        role: builtins.str = ...,
        timeouts: global___StorageObjectAccessControlXTimeouts | None = ...,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["resource_info", b"resource_info", "timeouts", b"timeouts"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["bucket", b"bucket", "domain", b"domain", "email", b"email", "entity", b"entity", "entity_id", b"entity_id", "generation", b"generation", "id", b"id", "object", b"object", "project_team", b"project_team", "resource_info", b"resource_info", "role", b"role", "timeouts", b"timeouts"]) -> None: ...

global___StorageObjectAccessControl = StorageObjectAccessControl

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

    BUCKET_FIELD_NUMBER: builtins.int
    ID_FIELD_NUMBER: builtins.int
    OBJECT_FIELD_NUMBER: builtins.int
    PREDEFINED_ACL_FIELD_NUMBER: builtins.int
    ROLE_ENTITY_FIELD_NUMBER: builtins.int
    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    bucket: builtins.str
    id: builtins.str
    object: builtins.str
    predefined_acl: builtins.str
    @property
    def role_entity(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    def __init__(
        self,
        *,
        bucket: builtins.str = ...,
        id: builtins.str = ...,
        object: builtins.str = ...,
        predefined_acl: builtins.str = ...,
        role_entity: collections.abc.Iterable[builtins.str] | None = ...,
        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["bucket", b"bucket", "id", b"id", "object", b"object", "predefined_acl", b"predefined_acl", "resource_info", b"resource_info", "role_entity", b"role_entity"]) -> None: ...

global___StorageObjectAcl = StorageObjectAcl

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

    DAY_FIELD_NUMBER: builtins.int
    MONTH_FIELD_NUMBER: builtins.int
    YEAR_FIELD_NUMBER: builtins.int
    day: builtins.float
    month: builtins.float
    year: builtins.float
    def __init__(
        self,
        *,
        day: builtins.float = ...,
        month: builtins.float = ...,
        year: builtins.float = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["day", b"day", "month", b"month", "year", b"year"]) -> None: ...

global___StorageTransferJobXScheduleXScheduleEndDate = StorageTransferJobXScheduleXScheduleEndDate

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

    DAY_FIELD_NUMBER: builtins.int
    MONTH_FIELD_NUMBER: builtins.int
    YEAR_FIELD_NUMBER: builtins.int
    day: builtins.float
    month: builtins.float
    year: builtins.float
    def __init__(
        self,
        *,
        day: builtins.float = ...,
        month: builtins.float = ...,
        year: builtins.float = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["day", b"day", "month", b"month", "year", b"year"]) -> None: ...

global___StorageTransferJobXScheduleXScheduleStartDate = StorageTransferJobXScheduleXScheduleStartDate

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

    HOURS_FIELD_NUMBER: builtins.int
    MINUTES_FIELD_NUMBER: builtins.int
    NANOS_FIELD_NUMBER: builtins.int
    SECONDS_FIELD_NUMBER: builtins.int
    hours: builtins.float
    minutes: builtins.float
    nanos: builtins.float
    seconds: builtins.float
    def __init__(
        self,
        *,
        hours: builtins.float = ...,
        minutes: builtins.float = ...,
        nanos: builtins.float = ...,
        seconds: builtins.float = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["hours", b"hours", "minutes", b"minutes", "nanos", b"nanos", "seconds", b"seconds"]) -> None: ...

global___StorageTransferJobXScheduleXStartTimeOfDay = StorageTransferJobXScheduleXStartTimeOfDay

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

    REPEAT_INTERVAL_FIELD_NUMBER: builtins.int
    SCHEDULE_END_DATE_FIELD_NUMBER: builtins.int
    SCHEDULE_START_DATE_FIELD_NUMBER: builtins.int
    START_TIME_OF_DAY_FIELD_NUMBER: builtins.int
    repeat_interval: builtins.str
    @property
    def schedule_end_date(self) -> global___StorageTransferJobXScheduleXScheduleEndDate: ...
    @property
    def schedule_start_date(self) -> global___StorageTransferJobXScheduleXScheduleStartDate: ...
    @property
    def start_time_of_day(self) -> global___StorageTransferJobXScheduleXStartTimeOfDay: ...
    def __init__(
        self,
        *,
        repeat_interval: builtins.str = ...,
        schedule_end_date: global___StorageTransferJobXScheduleXScheduleEndDate | None = ...,
        schedule_start_date: global___StorageTransferJobXScheduleXScheduleStartDate | None = ...,
        start_time_of_day: global___StorageTransferJobXScheduleXStartTimeOfDay | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["schedule_end_date", b"schedule_end_date", "schedule_start_date", b"schedule_start_date", "start_time_of_day", b"start_time_of_day"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["repeat_interval", b"repeat_interval", "schedule_end_date", b"schedule_end_date", "schedule_start_date", b"schedule_start_date", "start_time_of_day", b"start_time_of_day"]) -> None: ...

global___StorageTransferJobXSchedule = StorageTransferJobXSchedule

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

    ACCESS_KEY_ID_FIELD_NUMBER: builtins.int
    SECRET_ACCESS_KEY_FIELD_NUMBER: builtins.int
    access_key_id: builtins.str
    secret_access_key: builtins.str
    def __init__(
        self,
        *,
        access_key_id: builtins.str = ...,
        secret_access_key: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["access_key_id", b"access_key_id", "secret_access_key", b"secret_access_key"]) -> None: ...

global___StorageTransferJobXTransferSpecXAwsS3DataSourceXAwsAccessKey = StorageTransferJobXTransferSpecXAwsS3DataSourceXAwsAccessKey

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

    BUCKET_NAME_FIELD_NUMBER: builtins.int
    ROLE_ARN_FIELD_NUMBER: builtins.int
    AWS_ACCESS_KEY_FIELD_NUMBER: builtins.int
    bucket_name: builtins.str
    role_arn: builtins.str
    @property
    def aws_access_key(self) -> global___StorageTransferJobXTransferSpecXAwsS3DataSourceXAwsAccessKey: ...
    def __init__(
        self,
        *,
        bucket_name: builtins.str = ...,
        role_arn: builtins.str = ...,
        aws_access_key: global___StorageTransferJobXTransferSpecXAwsS3DataSourceXAwsAccessKey | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["aws_access_key", b"aws_access_key"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["aws_access_key", b"aws_access_key", "bucket_name", b"bucket_name", "role_arn", b"role_arn"]) -> None: ...

global___StorageTransferJobXTransferSpecXAwsS3DataSource = StorageTransferJobXTransferSpecXAwsS3DataSource

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

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

global___StorageTransferJobXTransferSpecXAzureBlobStorageDataSourceXAzureCredentials = StorageTransferJobXTransferSpecXAzureBlobStorageDataSourceXAzureCredentials

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

    CONTAINER_FIELD_NUMBER: builtins.int
    PATH_FIELD_NUMBER: builtins.int
    STORAGE_ACCOUNT_FIELD_NUMBER: builtins.int
    AZURE_CREDENTIALS_FIELD_NUMBER: builtins.int
    container: builtins.str
    path: builtins.str
    storage_account: builtins.str
    @property
    def azure_credentials(self) -> global___StorageTransferJobXTransferSpecXAzureBlobStorageDataSourceXAzureCredentials: ...
    def __init__(
        self,
        *,
        container: builtins.str = ...,
        path: builtins.str = ...,
        storage_account: builtins.str = ...,
        azure_credentials: global___StorageTransferJobXTransferSpecXAzureBlobStorageDataSourceXAzureCredentials | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["azure_credentials", b"azure_credentials"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["azure_credentials", b"azure_credentials", "container", b"container", "path", b"path", "storage_account", b"storage_account"]) -> None: ...

global___StorageTransferJobXTransferSpecXAzureBlobStorageDataSource = StorageTransferJobXTransferSpecXAzureBlobStorageDataSource

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

    BUCKET_NAME_FIELD_NUMBER: builtins.int
    PATH_FIELD_NUMBER: builtins.int
    bucket_name: builtins.str
    path: builtins.str
    def __init__(
        self,
        *,
        bucket_name: builtins.str = ...,
        path: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["bucket_name", b"bucket_name", "path", b"path"]) -> None: ...

global___StorageTransferJobXTransferSpecXGcsDataSink = StorageTransferJobXTransferSpecXGcsDataSink

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

    BUCKET_NAME_FIELD_NUMBER: builtins.int
    PATH_FIELD_NUMBER: builtins.int
    bucket_name: builtins.str
    path: builtins.str
    def __init__(
        self,
        *,
        bucket_name: builtins.str = ...,
        path: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["bucket_name", b"bucket_name", "path", b"path"]) -> None: ...

global___StorageTransferJobXTransferSpecXGcsDataSource = StorageTransferJobXTransferSpecXGcsDataSource

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

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

global___StorageTransferJobXTransferSpecXHttpDataSource = StorageTransferJobXTransferSpecXHttpDataSource

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

    EXCLUDE_PREFIXES_FIELD_NUMBER: builtins.int
    INCLUDE_PREFIXES_FIELD_NUMBER: builtins.int
    MAX_TIME_ELAPSED_SINCE_LAST_MODIFICATION_FIELD_NUMBER: builtins.int
    MIN_TIME_ELAPSED_SINCE_LAST_MODIFICATION_FIELD_NUMBER: builtins.int
    @property
    def exclude_prefixes(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    @property
    def include_prefixes(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    max_time_elapsed_since_last_modification: builtins.str
    min_time_elapsed_since_last_modification: builtins.str
    def __init__(
        self,
        *,
        exclude_prefixes: collections.abc.Iterable[builtins.str] | None = ...,
        include_prefixes: collections.abc.Iterable[builtins.str] | None = ...,
        max_time_elapsed_since_last_modification: builtins.str = ...,
        min_time_elapsed_since_last_modification: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["exclude_prefixes", b"exclude_prefixes", "include_prefixes", b"include_prefixes", "max_time_elapsed_since_last_modification", b"max_time_elapsed_since_last_modification", "min_time_elapsed_since_last_modification", b"min_time_elapsed_since_last_modification"]) -> None: ...

global___StorageTransferJobXTransferSpecXObjectConditions = StorageTransferJobXTransferSpecXObjectConditions

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

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

global___StorageTransferJobXTransferSpecXPosixDataSink = StorageTransferJobXTransferSpecXPosixDataSink

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

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

global___StorageTransferJobXTransferSpecXPosixDataSource = StorageTransferJobXTransferSpecXPosixDataSource

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

    DELETE_OBJECTS_FROM_SOURCE_AFTER_TRANSFER_FIELD_NUMBER: builtins.int
    DELETE_OBJECTS_UNIQUE_IN_SINK_FIELD_NUMBER: builtins.int
    OVERWRITE_OBJECTS_ALREADY_EXISTING_IN_SINK_FIELD_NUMBER: builtins.int
    delete_objects_from_source_after_transfer: builtins.bool
    delete_objects_unique_in_sink: builtins.bool
    overwrite_objects_already_existing_in_sink: builtins.bool
    def __init__(
        self,
        *,
        delete_objects_from_source_after_transfer: builtins.bool = ...,
        delete_objects_unique_in_sink: builtins.bool = ...,
        overwrite_objects_already_existing_in_sink: builtins.bool = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["delete_objects_from_source_after_transfer", b"delete_objects_from_source_after_transfer", "delete_objects_unique_in_sink", b"delete_objects_unique_in_sink", "overwrite_objects_already_existing_in_sink", b"overwrite_objects_already_existing_in_sink"]) -> None: ...

global___StorageTransferJobXTransferSpecXTransferOptions = StorageTransferJobXTransferSpecXTransferOptions

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

    AWS_S3_DATA_SOURCE_FIELD_NUMBER: builtins.int
    AZURE_BLOB_STORAGE_DATA_SOURCE_FIELD_NUMBER: builtins.int
    GCS_DATA_SINK_FIELD_NUMBER: builtins.int
    GCS_DATA_SOURCE_FIELD_NUMBER: builtins.int
    HTTP_DATA_SOURCE_FIELD_NUMBER: builtins.int
    OBJECT_CONDITIONS_FIELD_NUMBER: builtins.int
    POSIX_DATA_SINK_FIELD_NUMBER: builtins.int
    POSIX_DATA_SOURCE_FIELD_NUMBER: builtins.int
    TRANSFER_OPTIONS_FIELD_NUMBER: builtins.int
    @property
    def aws_s3_data_source(self) -> global___StorageTransferJobXTransferSpecXAwsS3DataSource: ...
    @property
    def azure_blob_storage_data_source(self) -> global___StorageTransferJobXTransferSpecXAzureBlobStorageDataSource: ...
    @property
    def gcs_data_sink(self) -> global___StorageTransferJobXTransferSpecXGcsDataSink: ...
    @property
    def gcs_data_source(self) -> global___StorageTransferJobXTransferSpecXGcsDataSource: ...
    @property
    def http_data_source(self) -> global___StorageTransferJobXTransferSpecXHttpDataSource: ...
    @property
    def object_conditions(self) -> global___StorageTransferJobXTransferSpecXObjectConditions: ...
    @property
    def posix_data_sink(self) -> global___StorageTransferJobXTransferSpecXPosixDataSink: ...
    @property
    def posix_data_source(self) -> global___StorageTransferJobXTransferSpecXPosixDataSource: ...
    @property
    def transfer_options(self) -> global___StorageTransferJobXTransferSpecXTransferOptions: ...
    def __init__(
        self,
        *,
        aws_s3_data_source: global___StorageTransferJobXTransferSpecXAwsS3DataSource | None = ...,
        azure_blob_storage_data_source: global___StorageTransferJobXTransferSpecXAzureBlobStorageDataSource | None = ...,
        gcs_data_sink: global___StorageTransferJobXTransferSpecXGcsDataSink | None = ...,
        gcs_data_source: global___StorageTransferJobXTransferSpecXGcsDataSource | None = ...,
        http_data_source: global___StorageTransferJobXTransferSpecXHttpDataSource | None = ...,
        object_conditions: global___StorageTransferJobXTransferSpecXObjectConditions | None = ...,
        posix_data_sink: global___StorageTransferJobXTransferSpecXPosixDataSink | None = ...,
        posix_data_source: global___StorageTransferJobXTransferSpecXPosixDataSource | None = ...,
        transfer_options: global___StorageTransferJobXTransferSpecXTransferOptions | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["aws_s3_data_source", b"aws_s3_data_source", "azure_blob_storage_data_source", b"azure_blob_storage_data_source", "gcs_data_sink", b"gcs_data_sink", "gcs_data_source", b"gcs_data_source", "http_data_source", b"http_data_source", "object_conditions", b"object_conditions", "posix_data_sink", b"posix_data_sink", "posix_data_source", b"posix_data_source", "transfer_options", b"transfer_options"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["aws_s3_data_source", b"aws_s3_data_source", "azure_blob_storage_data_source", b"azure_blob_storage_data_source", "gcs_data_sink", b"gcs_data_sink", "gcs_data_source", b"gcs_data_source", "http_data_source", b"http_data_source", "object_conditions", b"object_conditions", "posix_data_sink", b"posix_data_sink", "posix_data_source", b"posix_data_source", "transfer_options", b"transfer_options"]) -> None: ...

global___StorageTransferJobXTransferSpec = StorageTransferJobXTransferSpec

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

    CREATION_TIME_FIELD_NUMBER: builtins.int
    DELETION_TIME_FIELD_NUMBER: builtins.int
    DESCRIPTION_FIELD_NUMBER: builtins.int
    ID_FIELD_NUMBER: builtins.int
    LAST_MODIFICATION_TIME_FIELD_NUMBER: builtins.int
    NAME_FIELD_NUMBER: builtins.int
    PROJECT_FIELD_NUMBER: builtins.int
    STATUS_FIELD_NUMBER: builtins.int
    SCHEDULE_FIELD_NUMBER: builtins.int
    TRANSFER_SPEC_FIELD_NUMBER: builtins.int
    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    creation_time: builtins.str
    deletion_time: builtins.str
    description: builtins.str
    id: builtins.str
    last_modification_time: builtins.str
    name: builtins.str
    project: builtins.str
    status: builtins.str
    @property
    def schedule(self) -> global___StorageTransferJobXSchedule: ...
    @property
    def transfer_spec(self) -> global___StorageTransferJobXTransferSpec: ...
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    def __init__(
        self,
        *,
        creation_time: builtins.str = ...,
        deletion_time: builtins.str = ...,
        description: builtins.str = ...,
        id: builtins.str = ...,
        last_modification_time: builtins.str = ...,
        name: builtins.str = ...,
        project: builtins.str = ...,
        status: builtins.str = ...,
        schedule: global___StorageTransferJobXSchedule | None = ...,
        transfer_spec: global___StorageTransferJobXTransferSpec | None = ...,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["resource_info", b"resource_info", "schedule", b"schedule", "transfer_spec", b"transfer_spec"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["creation_time", b"creation_time", "deletion_time", b"deletion_time", "description", b"description", "id", b"id", "last_modification_time", b"last_modification_time", "name", b"name", "project", b"project", "resource_info", b"resource_info", "schedule", b"schedule", "status", b"status", "transfer_spec", b"transfer_spec"]) -> None: ...

global___StorageTransferJob = StorageTransferJob
