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

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    DELETE_SOURCE_FROM_S3_FIELD_NUMBER: builtins.int
    ENABLED_FIELD_NUMBER: builtins.int
    MAX_AGE_IN_DAYS_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    delete_source_from_s3: builtins.bool
    enabled: builtins.bool
    max_age_in_days: builtins.int
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        delete_source_from_s3: builtins.bool = ...,
        enabled: builtins.bool = ...,
        max_age_in_days: builtins.int = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["resource_info", b"resource_info"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["delete_source_from_s3", b"delete_source_from_s3", "enabled", b"enabled", "max_age_in_days", b"max_age_in_days", "resource_info", b"resource_info"]) -> None: ...

global___ApplicationMaxAgeRule = ApplicationMaxAgeRule

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

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    DELETE_SOURCE_FROM_S3_FIELD_NUMBER: builtins.int
    ENABLED_FIELD_NUMBER: builtins.int
    MAX_COUNT_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    delete_source_from_s3: builtins.bool
    enabled: builtins.bool
    max_count: builtins.int
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        delete_source_from_s3: builtins.bool = ...,
        enabled: builtins.bool = ...,
        max_count: 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["delete_source_from_s3", b"delete_source_from_s3", "enabled", b"enabled", "max_count", b"max_count", "resource_info", b"resource_info"]) -> None: ...

global___ApplicationMaxCountRule = ApplicationMaxCountRule

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

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    MAX_AGE_RULE_FIELD_NUMBER: builtins.int
    MAX_COUNT_RULE_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    @property
    def max_age_rule(self) -> global___ApplicationMaxAgeRule: ...
    @property
    def max_count_rule(self) -> global___ApplicationMaxCountRule: ...
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        max_age_rule: global___ApplicationMaxAgeRule | None = ...,
        max_count_rule: global___ApplicationMaxCountRule | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["max_age_rule", b"max_age_rule", "max_count_rule", b"max_count_rule", "resource_info", b"resource_info"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["max_age_rule", b"max_age_rule", "max_count_rule", b"max_count_rule", "resource_info", b"resource_info"]) -> None: ...

global___ApplicationApplicationVersionLifecycleConfig = ApplicationApplicationVersionLifecycleConfig

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

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

global___ApplicationApplicationResourceLifecycleConfig = ApplicationApplicationResourceLifecycleConfig

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

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    APPLICATION_NAME_FIELD_NUMBER: builtins.int
    DESCRIPTION_FIELD_NUMBER: builtins.int
    RESOURCE_LIFECYCLE_CONFIG_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    application_name: builtins.str
    description: builtins.str
    @property
    def resource_lifecycle_config(self) -> global___ApplicationApplicationResourceLifecycleConfig: ...
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        application_name: builtins.str = ...,
        description: builtins.str = ...,
        resource_lifecycle_config: global___ApplicationApplicationResourceLifecycleConfig | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["resource_info", b"resource_info", "resource_lifecycle_config", b"resource_lifecycle_config"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["application_name", b"application_name", "description", b"description", "resource_info", b"resource_info", "resource_lifecycle_config", b"resource_lifecycle_config"]) -> None: ...

global___Application = Application

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

    APPLICATION_FIELD_NUMBER: builtins.int
    APPLICATION_VERSION_FIELD_NUMBER: builtins.int
    CONFIGURATION_TEMPLATE_FIELD_NUMBER: builtins.int
    ENVIRONMENT_FIELD_NUMBER: builtins.int
    @property
    def application(self) -> global___Application: ...
    @property
    def application_version(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ApplicationVersion]: ...
    @property
    def configuration_template(self) -> global___ConfigurationTemplate: ...
    @property
    def environment(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Environment]: ...
    def __init__(
        self,
        *,
        application: global___Application | None = ...,
        application_version: collections.abc.Iterable[global___ApplicationVersion] | None = ...,
        configuration_template: global___ConfigurationTemplate | None = ...,
        environment: collections.abc.Iterable[global___Environment] | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["application", b"application", "configuration_template", b"configuration_template"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["application", b"application", "application_version", b"application_version", "configuration_template", b"configuration_template", "environment", b"environment"]) -> None: ...

global___ElasticBeanstalk = ElasticBeanstalk

@typing_extensions.final
class ApplicationVersionSourceBundle(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
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    s3_bucket: builtins.str
    s3_key: builtins.str
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        s3_bucket: builtins.str = ...,
        s3_key: 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", "s3_bucket", b"s3_bucket", "s3_key", b"s3_key"]) -> None: ...

global___ApplicationVersionSourceBundle = ApplicationVersionSourceBundle

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

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    APPLICATION_NAME_FIELD_NUMBER: builtins.int
    DESCRIPTION_FIELD_NUMBER: builtins.int
    SOURCE_BUNDLE_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    application_name: builtins.str
    description: builtins.str
    @property
    def source_bundle(self) -> global___ApplicationVersionSourceBundle: ...
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        application_name: builtins.str = ...,
        description: builtins.str = ...,
        source_bundle: global___ApplicationVersionSourceBundle | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["resource_info", b"resource_info", "source_bundle", b"source_bundle"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["application_name", b"application_name", "description", b"description", "resource_info", b"resource_info", "source_bundle", b"source_bundle"]) -> None: ...

global___ApplicationVersion = ApplicationVersion

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

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    NAMESPACE_FIELD_NUMBER: builtins.int
    OPTION_NAME_FIELD_NUMBER: builtins.int
    RESOURCE_NAME_FIELD_NUMBER: builtins.int
    VALUE_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    namespace: builtins.str
    option_name: builtins.str
    resource_name: builtins.str
    value: builtins.str
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        namespace: builtins.str = ...,
        option_name: builtins.str = ...,
        resource_name: builtins.str = ...,
        value: builtins.str = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["resource_info", b"resource_info"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["namespace", b"namespace", "option_name", b"option_name", "resource_info", b"resource_info", "resource_name", b"resource_name", "value", b"value"]) -> None: ...

global___ConfigurationTemplateConfigurationOptionSetting = ConfigurationTemplateConfigurationOptionSetting

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

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

global___ConfigurationTemplateSourceConfiguration = ConfigurationTemplateSourceConfiguration

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

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    APPLICATION_NAME_FIELD_NUMBER: builtins.int
    DESCRIPTION_FIELD_NUMBER: builtins.int
    ENVIRONMENT_ID_FIELD_NUMBER: builtins.int
    OPTION_SETTINGS_FIELD_NUMBER: builtins.int
    PLATFORM_ARN_FIELD_NUMBER: builtins.int
    SOLUTION_STACK_NAME_FIELD_NUMBER: builtins.int
    SOURCE_CONFIGURATION_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    application_name: builtins.str
    description: builtins.str
    environment_id: builtins.str
    @property
    def option_settings(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ConfigurationTemplateConfigurationOptionSetting]: ...
    platform_arn: builtins.str
    solution_stack_name: builtins.str
    @property
    def source_configuration(self) -> global___ConfigurationTemplateSourceConfiguration: ...
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        application_name: builtins.str = ...,
        description: builtins.str = ...,
        environment_id: builtins.str = ...,
        option_settings: collections.abc.Iterable[global___ConfigurationTemplateConfigurationOptionSetting] | None = ...,
        platform_arn: builtins.str = ...,
        solution_stack_name: builtins.str = ...,
        source_configuration: global___ConfigurationTemplateSourceConfiguration | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["resource_info", b"resource_info", "source_configuration", b"source_configuration"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["application_name", b"application_name", "description", b"description", "environment_id", b"environment_id", "option_settings", b"option_settings", "platform_arn", b"platform_arn", "resource_info", b"resource_info", "solution_stack_name", b"solution_stack_name", "source_configuration", b"source_configuration"]) -> None: ...

global___ConfigurationTemplate = ConfigurationTemplate

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

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    NAMESPACE_FIELD_NUMBER: builtins.int
    OPTION_NAME_FIELD_NUMBER: builtins.int
    RESOURCE_NAME_FIELD_NUMBER: builtins.int
    VALUE_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    namespace: builtins.str
    option_name: builtins.str
    resource_name: builtins.str
    value: builtins.str
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        namespace: builtins.str = ...,
        option_name: builtins.str = ...,
        resource_name: builtins.str = ...,
        value: builtins.str = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["resource_info", b"resource_info"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["namespace", b"namespace", "option_name", b"option_name", "resource_info", b"resource_info", "resource_name", b"resource_name", "value", b"value"]) -> None: ...

global___EnvironmentOptionSetting = EnvironmentOptionSetting

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

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

global___EnvironmentTier = EnvironmentTier

@typing_extensions.final
class Environment(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
    APPLICATION_NAME_FIELD_NUMBER: builtins.int
    CNAME_PREFIX_FIELD_NUMBER: builtins.int
    DESCRIPTION_FIELD_NUMBER: builtins.int
    ENVIRONMENT_NAME_FIELD_NUMBER: builtins.int
    OPTION_SETTINGS_FIELD_NUMBER: builtins.int
    PLATFORM_ARN_FIELD_NUMBER: builtins.int
    SOLUTION_STACK_NAME_FIELD_NUMBER: builtins.int
    TAGS_FIELD_NUMBER: builtins.int
    TEMPLATE_NAME_FIELD_NUMBER: builtins.int
    TIER_FIELD_NUMBER: builtins.int
    VERSION_LABEL_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    application_name: builtins.str
    cname_prefix: builtins.str
    description: builtins.str
    environment_name: builtins.str
    @property
    def option_settings(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___EnvironmentOptionSetting]: ...
    platform_arn: builtins.str
    solution_stack_name: builtins.str
    @property
    def tags(self) -> google.protobuf.internal.containers.ScalarMap[builtins.str, builtins.str]: ...
    template_name: builtins.str
    @property
    def tier(self) -> global___EnvironmentTier: ...
    version_label: builtins.str
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        application_name: builtins.str = ...,
        cname_prefix: builtins.str = ...,
        description: builtins.str = ...,
        environment_name: builtins.str = ...,
        option_settings: collections.abc.Iterable[global___EnvironmentOptionSetting] | None = ...,
        platform_arn: builtins.str = ...,
        solution_stack_name: builtins.str = ...,
        tags: collections.abc.Mapping[builtins.str, builtins.str] | None = ...,
        template_name: builtins.str = ...,
        tier: global___EnvironmentTier | None = ...,
        version_label: builtins.str = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["resource_info", b"resource_info", "tier", b"tier"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["application_name", b"application_name", "cname_prefix", b"cname_prefix", "description", b"description", "environment_name", b"environment_name", "option_settings", b"option_settings", "platform_arn", b"platform_arn", "resource_info", b"resource_info", "solution_stack_name", b"solution_stack_name", "tags", b"tags", "template_name", b"template_name", "tier", b"tier", "version_label", b"version_label"]) -> None: ...

global___Environment = Environment
