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

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

global___AliasProvisionedConcurrencyConfiguration = AliasProvisionedConcurrencyConfiguration

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

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

global___AliasVersionWeight = AliasVersionWeight

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

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

global___AliasAliasRoutingConfiguration = AliasAliasRoutingConfiguration

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

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    DESCRIPTION_FIELD_NUMBER: builtins.int
    FUNCTION_NAME_FIELD_NUMBER: builtins.int
    FUNCTION_VERSION_FIELD_NUMBER: builtins.int
    NAME_FIELD_NUMBER: builtins.int
    PROVISIONED_CONCURRENCY_CONFIG_FIELD_NUMBER: builtins.int
    ROUTING_CONFIG_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    description: builtins.str
    function_name: builtins.str
    function_version: builtins.str
    name: builtins.str
    @property
    def provisioned_concurrency_config(self) -> global___AliasProvisionedConcurrencyConfiguration: ...
    @property
    def routing_config(self) -> global___AliasAliasRoutingConfiguration: ...
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        description: builtins.str = ...,
        function_name: builtins.str = ...,
        function_version: builtins.str = ...,
        name: builtins.str = ...,
        provisioned_concurrency_config: global___AliasProvisionedConcurrencyConfiguration | None = ...,
        routing_config: global___AliasAliasRoutingConfiguration | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["provisioned_concurrency_config", b"provisioned_concurrency_config", "resource_info", b"resource_info", "routing_config", b"routing_config"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["description", b"description", "function_name", b"function_name", "function_version", b"function_version", "name", b"name", "provisioned_concurrency_config", b"provisioned_concurrency_config", "resource_info", b"resource_info", "routing_config", b"routing_config"]) -> None: ...

global___Alias = Alias

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

    ALIAS_FIELD_NUMBER: builtins.int
    EVENT_INVOKE_CONFIG_FIELD_NUMBER: builtins.int
    EVENT_SOURCE_MAPPING_FIELD_NUMBER: builtins.int
    FUNCTION_FIELD_NUMBER: builtins.int
    LAYER_VERSION_FIELD_NUMBER: builtins.int
    LAYER_VERSION_PERMISSION_FIELD_NUMBER: builtins.int
    PERMISSION_FIELD_NUMBER: builtins.int
    VERSION_FIELD_NUMBER: builtins.int
    @property
    def alias(self) -> global___Alias: ...
    @property
    def event_invoke_config(self) -> global___EventInvokeConfig: ...
    @property
    def event_source_mapping(self) -> global___EventSourceMapping: ...
    @property
    def function(self) -> global___Function: ...
    @property
    def layer_version(self) -> global___LayerVersion: ...
    @property
    def layer_version_permission(self) -> global___LayerVersionPermission: ...
    @property
    def permission(self) -> global___Permission: ...
    @property
    def version(self) -> global___Version: ...
    def __init__(
        self,
        *,
        alias: global___Alias | None = ...,
        event_invoke_config: global___EventInvokeConfig | None = ...,
        event_source_mapping: global___EventSourceMapping | None = ...,
        function: global___Function | None = ...,
        layer_version: global___LayerVersion | None = ...,
        layer_version_permission: global___LayerVersionPermission | None = ...,
        permission: global___Permission | None = ...,
        version: global___Version | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["alias", b"alias", "event_invoke_config", b"event_invoke_config", "event_source_mapping", b"event_source_mapping", "function", b"function", "layer_version", b"layer_version", "layer_version_permission", b"layer_version_permission", "permission", b"permission", "version", b"version"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["alias", b"alias", "event_invoke_config", b"event_invoke_config", "event_source_mapping", b"event_source_mapping", "function", b"function", "layer_version", b"layer_version", "layer_version_permission", b"layer_version_permission", "permission", b"permission", "version", b"version"]) -> None: ...

global___Lambda = Lambda

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

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

global___EventInvokeConfigOnSuccess = EventInvokeConfigOnSuccess

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

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

global___EventInvokeConfigOnFailure = EventInvokeConfigOnFailure

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

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

global___EventInvokeConfigDestinationConfig = EventInvokeConfigDestinationConfig

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

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    FUNCTION_NAME_FIELD_NUMBER: builtins.int
    MAXIMUM_RETRY_ATTEMPTS_FIELD_NUMBER: builtins.int
    DESTINATION_CONFIG_FIELD_NUMBER: builtins.int
    QUALIFIER_FIELD_NUMBER: builtins.int
    MAXIMUM_EVENT_AGE_IN_SECONDS_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    function_name: builtins.str
    maximum_retry_attempts: builtins.int
    @property
    def destination_config(self) -> global___EventInvokeConfigDestinationConfig: ...
    qualifier: builtins.str
    maximum_event_age_in_seconds: builtins.int
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        function_name: builtins.str = ...,
        maximum_retry_attempts: builtins.int = ...,
        destination_config: global___EventInvokeConfigDestinationConfig | None = ...,
        qualifier: builtins.str = ...,
        maximum_event_age_in_seconds: builtins.int = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["destination_config", b"destination_config", "resource_info", b"resource_info"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["destination_config", b"destination_config", "function_name", b"function_name", "maximum_event_age_in_seconds", b"maximum_event_age_in_seconds", "maximum_retry_attempts", b"maximum_retry_attempts", "qualifier", b"qualifier", "resource_info", b"resource_info"]) -> None: ...

global___EventInvokeConfig = EventInvokeConfig

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

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

global___EventSourceMappingOnFailure = EventSourceMappingOnFailure

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

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

global___EventSourceMappingDestinationConfig = EventSourceMappingDestinationConfig

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

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    BATCH_SIZE_FIELD_NUMBER: builtins.int
    BISECT_BATCH_ON_FUNCTION_ERROR_FIELD_NUMBER: builtins.int
    DESTINATION_CONFIG_FIELD_NUMBER: builtins.int
    ENABLED_FIELD_NUMBER: builtins.int
    EVENT_SOURCE_ARN_FIELD_NUMBER: builtins.int
    FUNCTION_NAME_FIELD_NUMBER: builtins.int
    MAXIMUM_BATCHING_WINDOW_IN_SECONDS_FIELD_NUMBER: builtins.int
    MAXIMUM_RECORD_AGE_IN_SECONDS_FIELD_NUMBER: builtins.int
    MAXIMUM_RETRY_ATTEMPTS_FIELD_NUMBER: builtins.int
    PARALLELIZATION_FACTOR_FIELD_NUMBER: builtins.int
    STARTING_POSITION_FIELD_NUMBER: builtins.int
    TOPICS_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    batch_size: builtins.int
    bisect_batch_on_function_error: builtins.bool
    @property
    def destination_config(self) -> global___EventSourceMappingDestinationConfig: ...
    enabled: builtins.bool
    event_source_arn: builtins.str
    function_name: builtins.str
    maximum_batching_window_in_seconds: builtins.int
    maximum_record_age_in_seconds: builtins.int
    maximum_retry_attempts: builtins.int
    parallelization_factor: builtins.int
    starting_position: builtins.str
    @property
    def topics(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        batch_size: builtins.int = ...,
        bisect_batch_on_function_error: builtins.bool = ...,
        destination_config: global___EventSourceMappingDestinationConfig | None = ...,
        enabled: builtins.bool = ...,
        event_source_arn: builtins.str = ...,
        function_name: builtins.str = ...,
        maximum_batching_window_in_seconds: builtins.int = ...,
        maximum_record_age_in_seconds: builtins.int = ...,
        maximum_retry_attempts: builtins.int = ...,
        parallelization_factor: builtins.int = ...,
        starting_position: builtins.str = ...,
        topics: collections.abc.Iterable[builtins.str] | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["destination_config", b"destination_config", "resource_info", b"resource_info"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["batch_size", b"batch_size", "bisect_batch_on_function_error", b"bisect_batch_on_function_error", "destination_config", b"destination_config", "enabled", b"enabled", "event_source_arn", b"event_source_arn", "function_name", b"function_name", "maximum_batching_window_in_seconds", b"maximum_batching_window_in_seconds", "maximum_record_age_in_seconds", b"maximum_record_age_in_seconds", "maximum_retry_attempts", b"maximum_retry_attempts", "parallelization_factor", b"parallelization_factor", "resource_info", b"resource_info", "starting_position", b"starting_position", "topics", b"topics"]) -> None: ...

global___EventSourceMapping = EventSourceMapping

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

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    S3_BUCKET_FIELD_NUMBER: builtins.int
    S3_KEY_FIELD_NUMBER: builtins.int
    S3_OBJECT_VERSION_FIELD_NUMBER: builtins.int
    ZIP_FILE_FIELD_NUMBER: builtins.int
    IMAGE_URI_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    s3_bucket: builtins.str
    s3_key: builtins.str
    s3_object_version: builtins.str
    zip_file: builtins.str
    image_uri: builtins.str
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        s3_bucket: builtins.str = ...,
        s3_key: builtins.str = ...,
        s3_object_version: builtins.str = ...,
        zip_file: builtins.str = ...,
        image_uri: 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["image_uri", b"image_uri", "resource_info", b"resource_info", "s3_bucket", b"s3_bucket", "s3_key", b"s3_key", "s3_object_version", b"s3_object_version", "zip_file", b"zip_file"]) -> None: ...

global___FunctionCode = FunctionCode

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

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

global___FunctionDeadLetterConfig = FunctionDeadLetterConfig

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

    @typing_extensions.final
    class VariablesEntry(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
    VARIABLES_FIELD_NUMBER: builtins.int
    ERROR_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    @property
    def variables(self) -> google.protobuf.internal.containers.ScalarMap[builtins.str, builtins.str]: ...
    error: builtins.str
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        variables: collections.abc.Mapping[builtins.str, builtins.str] | None = ...,
        error: 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["error", b"error", "resource_info", b"resource_info", "variables", b"variables"]) -> None: ...

global___FunctionEnvironment = FunctionEnvironment

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

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

global___FunctionFileSystemConfig = FunctionFileSystemConfig

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

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

global___FunctionTracingConfig = FunctionTracingConfig

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

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    SECURITY_GROUP_IDS_FIELD_NUMBER: builtins.int
    SUBNET_IDS_FIELD_NUMBER: builtins.int
    VPC_ID_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    @property
    def security_group_ids(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    @property
    def subnet_ids(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    vpc_id: builtins.str
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        security_group_ids: collections.abc.Iterable[builtins.str] | None = ...,
        subnet_ids: collections.abc.Iterable[builtins.str] | 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", "security_group_ids", b"security_group_ids", "subnet_ids", b"subnet_ids", "vpc_id", b"vpc_id"]) -> None: ...

global___FunctionVpcConfig = FunctionVpcConfig

@typing_extensions.final
class Function(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
    CODE_FIELD_NUMBER: builtins.int
    DEAD_LETTER_CONFIG_FIELD_NUMBER: builtins.int
    DESCRIPTION_FIELD_NUMBER: builtins.int
    ENVIRONMENT_FIELD_NUMBER: builtins.int
    FILE_SYSTEM_CONFIGS_FIELD_NUMBER: builtins.int
    FUNCTION_NAME_FIELD_NUMBER: builtins.int
    HANDLER_FIELD_NUMBER: builtins.int
    KMS_KEY_ARN_FIELD_NUMBER: builtins.int
    LAYERS_FIELD_NUMBER: builtins.int
    MEMORY_SIZE_FIELD_NUMBER: builtins.int
    RESERVED_CONCURRENT_EXECUTIONS_FIELD_NUMBER: builtins.int
    ROLE_FIELD_NUMBER: builtins.int
    RUNTIME_FIELD_NUMBER: builtins.int
    TAGS_FIELD_NUMBER: builtins.int
    TIMEOUT_FIELD_NUMBER: builtins.int
    TRACING_CONFIG_FIELD_NUMBER: builtins.int
    VPC_CONFIG_FIELD_NUMBER: builtins.int
    REVISION_ID_FIELD_NUMBER: builtins.int
    MASTER_ARN_FIELD_NUMBER: builtins.int
    VERSION_FIELD_NUMBER: builtins.int
    LAST_MODIFIED_FIELD_NUMBER: builtins.int
    CODE_SIZE_FIELD_NUMBER: builtins.int
    CODE_SHA256_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    @property
    def code(self) -> global___FunctionCode: ...
    @property
    def dead_letter_config(self) -> global___FunctionDeadLetterConfig: ...
    description: builtins.str
    @property
    def environment(self) -> global___FunctionEnvironment: ...
    @property
    def file_system_configs(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___FunctionFileSystemConfig]: ...
    function_name: builtins.str
    handler: builtins.str
    kms_key_arn: builtins.str
    @property
    def layers(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    memory_size: builtins.int
    reserved_concurrent_executions: builtins.int
    role: builtins.str
    runtime: builtins.str
    @property
    def tags(self) -> google.protobuf.internal.containers.ScalarMap[builtins.str, builtins.str]: ...
    timeout: builtins.int
    @property
    def tracing_config(self) -> global___FunctionTracingConfig: ...
    @property
    def vpc_config(self) -> global___FunctionVpcConfig: ...
    revision_id: builtins.str
    master_arn: builtins.str
    version: builtins.str
    last_modified: builtins.str
    code_size: builtins.str
    code_sha256: builtins.str
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        code: global___FunctionCode | None = ...,
        dead_letter_config: global___FunctionDeadLetterConfig | None = ...,
        description: builtins.str = ...,
        environment: global___FunctionEnvironment | None = ...,
        file_system_configs: collections.abc.Iterable[global___FunctionFileSystemConfig] | None = ...,
        function_name: builtins.str = ...,
        handler: builtins.str = ...,
        kms_key_arn: builtins.str = ...,
        layers: collections.abc.Iterable[builtins.str] | None = ...,
        memory_size: builtins.int = ...,
        reserved_concurrent_executions: builtins.int = ...,
        role: builtins.str = ...,
        runtime: builtins.str = ...,
        tags: collections.abc.Mapping[builtins.str, builtins.str] | None = ...,
        timeout: builtins.int = ...,
        tracing_config: global___FunctionTracingConfig | None = ...,
        vpc_config: global___FunctionVpcConfig | None = ...,
        revision_id: builtins.str = ...,
        master_arn: builtins.str = ...,
        version: builtins.str = ...,
        last_modified: builtins.str = ...,
        code_size: builtins.str = ...,
        code_sha256: builtins.str = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["code", b"code", "dead_letter_config", b"dead_letter_config", "environment", b"environment", "resource_info", b"resource_info", "tracing_config", b"tracing_config", "vpc_config", b"vpc_config"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["code", b"code", "code_sha256", b"code_sha256", "code_size", b"code_size", "dead_letter_config", b"dead_letter_config", "description", b"description", "environment", b"environment", "file_system_configs", b"file_system_configs", "function_name", b"function_name", "handler", b"handler", "kms_key_arn", b"kms_key_arn", "last_modified", b"last_modified", "layers", b"layers", "master_arn", b"master_arn", "memory_size", b"memory_size", "reserved_concurrent_executions", b"reserved_concurrent_executions", "resource_info", b"resource_info", "revision_id", b"revision_id", "role", b"role", "runtime", b"runtime", "tags", b"tags", "timeout", b"timeout", "tracing_config", b"tracing_config", "version", b"version", "vpc_config", b"vpc_config"]) -> None: ...

global___Function = Function

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

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    S3_OBJECT_VERSION_FIELD_NUMBER: builtins.int
    S3_BUCKET_FIELD_NUMBER: builtins.int
    S3_KEY_FIELD_NUMBER: builtins.int
    CODE_SHA256_FIELD_NUMBER: builtins.int
    CODE_SIZE_FIELD_NUMBER: builtins.int
    LOCATION_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    s3_object_version: builtins.str
    s3_bucket: builtins.str
    s3_key: builtins.str
    code_sha256: builtins.str
    code_size: builtins.str
    location: builtins.str
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        s3_object_version: builtins.str = ...,
        s3_bucket: builtins.str = ...,
        s3_key: builtins.str = ...,
        code_sha256: builtins.str = ...,
        code_size: builtins.str = ...,
        location: 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["code_sha256", b"code_sha256", "code_size", b"code_size", "location", b"location", "resource_info", b"resource_info", "s3_bucket", b"s3_bucket", "s3_key", b"s3_key", "s3_object_version", b"s3_object_version"]) -> None: ...

global___LayerVersionContent = LayerVersionContent

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

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    COMPATIBLE_RUNTIMES_FIELD_NUMBER: builtins.int
    LICENSE_INFO_FIELD_NUMBER: builtins.int
    DESCRIPTION_FIELD_NUMBER: builtins.int
    LAYER_NAME_FIELD_NUMBER: builtins.int
    CONTENT_FIELD_NUMBER: builtins.int
    LAYER_ARN_FIELD_NUMBER: builtins.int
    LAYER_VERSION_ARN_FIELD_NUMBER: builtins.int
    VERSION_FIELD_NUMBER: builtins.int
    CREATED_DATE_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    @property
    def compatible_runtimes(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    license_info: builtins.str
    description: builtins.str
    layer_name: builtins.str
    @property
    def content(self) -> global___LayerVersionContent: ...
    layer_arn: builtins.str
    layer_version_arn: builtins.str
    version: builtins.str
    created_date: builtins.str
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        compatible_runtimes: collections.abc.Iterable[builtins.str] | None = ...,
        license_info: builtins.str = ...,
        description: builtins.str = ...,
        layer_name: builtins.str = ...,
        content: global___LayerVersionContent | None = ...,
        layer_arn: builtins.str = ...,
        layer_version_arn: builtins.str = ...,
        version: builtins.str = ...,
        created_date: builtins.str = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["content", b"content", "resource_info", b"resource_info"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["compatible_runtimes", b"compatible_runtimes", "content", b"content", "created_date", b"created_date", "description", b"description", "layer_arn", b"layer_arn", "layer_name", b"layer_name", "layer_version_arn", b"layer_version_arn", "license_info", b"license_info", "resource_info", b"resource_info", "version", b"version"]) -> None: ...

global___LayerVersion = LayerVersion

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

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    ACTION_FIELD_NUMBER: builtins.int
    LAYER_VERSION_ARN_FIELD_NUMBER: builtins.int
    ORGANIZATION_ID_FIELD_NUMBER: builtins.int
    PRINCIPAL_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    action: builtins.str
    layer_version_arn: builtins.str
    organization_id: builtins.str
    principal: builtins.str
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        action: builtins.str = ...,
        layer_version_arn: builtins.str = ...,
        organization_id: builtins.str = ...,
        principal: 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["action", b"action", "layer_version_arn", b"layer_version_arn", "organization_id", b"organization_id", "principal", b"principal", "resource_info", b"resource_info"]) -> None: ...

global___LayerVersionPermission = LayerVersionPermission

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

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    ACTION_FIELD_NUMBER: builtins.int
    EVENT_SOURCE_TOKEN_FIELD_NUMBER: builtins.int
    FUNCTION_NAME_FIELD_NUMBER: builtins.int
    PRINCIPAL_FIELD_NUMBER: builtins.int
    SOURCE_ACCOUNT_FIELD_NUMBER: builtins.int
    SOURCE_ARN_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    action: builtins.str
    event_source_token: builtins.str
    function_name: builtins.str
    principal: builtins.str
    source_account: builtins.str
    source_arn: builtins.str
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        action: builtins.str = ...,
        event_source_token: builtins.str = ...,
        function_name: builtins.str = ...,
        principal: builtins.str = ...,
        source_account: builtins.str = ...,
        source_arn: builtins.str = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["resource_info", b"resource_info"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["action", b"action", "event_source_token", b"event_source_token", "function_name", b"function_name", "principal", b"principal", "resource_info", b"resource_info", "source_account", b"source_account", "source_arn", b"source_arn"]) -> None: ...

global___Permission = Permission

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

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

global___VersionProvisionedConcurrencyConfiguration = VersionProvisionedConcurrencyConfiguration

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

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    CODE_SHA256_FIELD_NUMBER: builtins.int
    DESCRIPTION_FIELD_NUMBER: builtins.int
    FUNCTION_NAME_FIELD_NUMBER: builtins.int
    PROVISIONED_CONCURRENCY_CONFIG_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    code_sha256: builtins.str
    description: builtins.str
    function_name: builtins.str
    @property
    def provisioned_concurrency_config(self) -> global___VersionProvisionedConcurrencyConfiguration: ...
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        code_sha256: builtins.str = ...,
        description: builtins.str = ...,
        function_name: builtins.str = ...,
        provisioned_concurrency_config: global___VersionProvisionedConcurrencyConfiguration | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["provisioned_concurrency_config", b"provisioned_concurrency_config", "resource_info", b"resource_info"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["code_sha256", b"code_sha256", "description", b"description", "function_name", b"function_name", "provisioned_concurrency_config", b"provisioned_concurrency_config", "resource_info", b"resource_info"]) -> None: ...

global___Version = Version
