"""
@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 CanaryCode(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
    SCRIPT_FIELD_NUMBER: builtins.int
    HANDLER_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
    script: builtins.str
    handler: 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 = ...,
        script: builtins.str = ...,
        handler: 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["handler", b"handler", "resource_info", b"resource_info", "s3_bucket", b"s3_bucket", "s3_key", b"s3_key", "s3_object_version", b"s3_object_version", "script", b"script"]) -> None: ...

global___CanaryCode = CanaryCode

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

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

global___CanarySchedule = CanarySchedule

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

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

global___CanaryVPCConfig = CanaryVPCConfig

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

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

global___CanaryRunConfig = CanaryRunConfig

@typing_extensions.final
class Canary(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
    NAME_FIELD_NUMBER: builtins.int
    CODE_FIELD_NUMBER: builtins.int
    ARTIFACT_S3_LOCATION_FIELD_NUMBER: builtins.int
    SCHEDULE_FIELD_NUMBER: builtins.int
    EXECUTION_ROLE_ARN_FIELD_NUMBER: builtins.int
    RUNTIME_VERSION_FIELD_NUMBER: builtins.int
    SUCCESS_RETENTION_PERIOD_FIELD_NUMBER: builtins.int
    FAILURE_RETENTION_PERIOD_FIELD_NUMBER: builtins.int
    TAGS_FIELD_NUMBER: builtins.int
    VPC_CONFIG_FIELD_NUMBER: builtins.int
    RUN_CONFIG_FIELD_NUMBER: builtins.int
    START_CANARY_AFTER_CREATION_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    name: builtins.str
    @property
    def code(self) -> global___CanaryCode: ...
    artifact_s3_location: builtins.str
    @property
    def schedule(self) -> global___CanarySchedule: ...
    execution_role_arn: builtins.str
    runtime_version: builtins.str
    success_retention_period: builtins.int
    failure_retention_period: builtins.int
    @property
    def tags(self) -> google.protobuf.internal.containers.ScalarMap[builtins.str, builtins.str]: ...
    @property
    def vpc_config(self) -> global___CanaryVPCConfig: ...
    @property
    def run_config(self) -> global___CanaryRunConfig: ...
    start_canary_after_creation: builtins.bool
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        name: builtins.str = ...,
        code: global___CanaryCode | None = ...,
        artifact_s3_location: builtins.str = ...,
        schedule: global___CanarySchedule | None = ...,
        execution_role_arn: builtins.str = ...,
        runtime_version: builtins.str = ...,
        success_retention_period: builtins.int = ...,
        failure_retention_period: builtins.int = ...,
        tags: collections.abc.Mapping[builtins.str, builtins.str] | None = ...,
        vpc_config: global___CanaryVPCConfig | None = ...,
        run_config: global___CanaryRunConfig | None = ...,
        start_canary_after_creation: builtins.bool = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["code", b"code", "resource_info", b"resource_info", "run_config", b"run_config", "schedule", b"schedule", "vpc_config", b"vpc_config"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["artifact_s3_location", b"artifact_s3_location", "code", b"code", "execution_role_arn", b"execution_role_arn", "failure_retention_period", b"failure_retention_period", "name", b"name", "resource_info", b"resource_info", "run_config", b"run_config", "runtime_version", b"runtime_version", "schedule", b"schedule", "start_canary_after_creation", b"start_canary_after_creation", "success_retention_period", b"success_retention_period", "tags", b"tags", "vpc_config", b"vpc_config"]) -> None: ...

global___Canary = Canary

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

    CANARY_FIELD_NUMBER: builtins.int
    @property
    def canary(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Canary]: ...
    def __init__(
        self,
        *,
        canary: collections.abc.Iterable[global___Canary] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["canary", b"canary"]) -> None: ...

global___Synthetics = Synthetics
