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

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    LAUNCH_TEMPLATE_ID_FIELD_NUMBER: builtins.int
    LAUNCH_TEMPLATE_NAME_FIELD_NUMBER: builtins.int
    VERSION_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    launch_template_id: builtins.str
    launch_template_name: builtins.str
    version: builtins.str
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        launch_template_id: builtins.str = ...,
        launch_template_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["launch_template_id", b"launch_template_id", "launch_template_name", b"launch_template_name", "resource_info", b"resource_info", "version", b"version"]) -> None: ...

global___AutoScalingGroupLaunchTemplateSpecification = AutoScalingGroupLaunchTemplateSpecification

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

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    DEFAULT_RESULT_FIELD_NUMBER: builtins.int
    HEARTBEAT_TIMEOUT_FIELD_NUMBER: builtins.int
    LIFECYCLE_HOOK_NAME_FIELD_NUMBER: builtins.int
    LIFECYCLE_TRANSITION_FIELD_NUMBER: builtins.int
    NOTIFICATION_METADATA_FIELD_NUMBER: builtins.int
    NOTIFICATION_TARGET_ARN_FIELD_NUMBER: builtins.int
    ROLE_ARN_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    default_result: builtins.str
    heartbeat_timeout: builtins.int
    lifecycle_hook_name: builtins.str
    lifecycle_transition: builtins.str
    notification_metadata: builtins.str
    notification_target_arn: builtins.str
    role_arn: builtins.str
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        default_result: builtins.str = ...,
        heartbeat_timeout: builtins.int = ...,
        lifecycle_hook_name: builtins.str = ...,
        lifecycle_transition: builtins.str = ...,
        notification_metadata: builtins.str = ...,
        notification_target_arn: builtins.str = ...,
        role_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["default_result", b"default_result", "heartbeat_timeout", b"heartbeat_timeout", "lifecycle_hook_name", b"lifecycle_hook_name", "lifecycle_transition", b"lifecycle_transition", "notification_metadata", b"notification_metadata", "notification_target_arn", b"notification_target_arn", "resource_info", b"resource_info", "role_arn", b"role_arn"]) -> None: ...

global___AutoScalingGroupLifecycleHookSpecification = AutoScalingGroupLifecycleHookSpecification

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

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    GRANULARITY_FIELD_NUMBER: builtins.int
    METRICS_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    granularity: builtins.str
    @property
    def metrics(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        granularity: builtins.str = ...,
        metrics: 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["granularity", b"granularity", "metrics", b"metrics", "resource_info", b"resource_info"]) -> None: ...

global___AutoScalingGroupMetricsCollection = AutoScalingGroupMetricsCollection

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

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    ON_DEMAND_ALLOCATION_STRATEGY_FIELD_NUMBER: builtins.int
    ON_DEMAND_BASE_CAPACITY_FIELD_NUMBER: builtins.int
    ON_DEMAND_PERCENTAGE_ABOVE_BASE_CAPACITY_FIELD_NUMBER: builtins.int
    SPOT_ALLOCATION_STRATEGY_FIELD_NUMBER: builtins.int
    SPOT_INSTANCE_POOLS_FIELD_NUMBER: builtins.int
    SPOT_MAX_PRICE_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    on_demand_allocation_strategy: builtins.str
    on_demand_base_capacity: builtins.int
    on_demand_percentage_above_base_capacity: builtins.int
    spot_allocation_strategy: builtins.str
    spot_instance_pools: builtins.int
    spot_max_price: builtins.str
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        on_demand_allocation_strategy: builtins.str = ...,
        on_demand_base_capacity: builtins.int = ...,
        on_demand_percentage_above_base_capacity: builtins.int = ...,
        spot_allocation_strategy: builtins.str = ...,
        spot_instance_pools: builtins.int = ...,
        spot_max_price: 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["on_demand_allocation_strategy", b"on_demand_allocation_strategy", "on_demand_base_capacity", b"on_demand_base_capacity", "on_demand_percentage_above_base_capacity", b"on_demand_percentage_above_base_capacity", "resource_info", b"resource_info", "spot_allocation_strategy", b"spot_allocation_strategy", "spot_instance_pools", b"spot_instance_pools", "spot_max_price", b"spot_max_price"]) -> None: ...

global___AutoScalingGroupInstancesDistribution = AutoScalingGroupInstancesDistribution

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

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

global___AutoScalingGroupLaunchTemplateOverrides = AutoScalingGroupLaunchTemplateOverrides

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

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    LAUNCH_TEMPLATE_SPECIFICATION_FIELD_NUMBER: builtins.int
    OVERRIDES_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    @property
    def launch_template_specification(self) -> global___AutoScalingGroupLaunchTemplateSpecification: ...
    @property
    def overrides(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___AutoScalingGroupLaunchTemplateOverrides]: ...
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        launch_template_specification: global___AutoScalingGroupLaunchTemplateSpecification | None = ...,
        overrides: collections.abc.Iterable[global___AutoScalingGroupLaunchTemplateOverrides] | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["launch_template_specification", b"launch_template_specification", "resource_info", b"resource_info"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["launch_template_specification", b"launch_template_specification", "overrides", b"overrides", "resource_info", b"resource_info"]) -> None: ...

global___AutoScalingGroupLaunchTemplate = AutoScalingGroupLaunchTemplate

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

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    INSTANCES_DISTRIBUTION_FIELD_NUMBER: builtins.int
    LAUNCH_TEMPLATE_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    @property
    def instances_distribution(self) -> global___AutoScalingGroupInstancesDistribution: ...
    @property
    def launch_template(self) -> global___AutoScalingGroupLaunchTemplate: ...
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        instances_distribution: global___AutoScalingGroupInstancesDistribution | None = ...,
        launch_template: global___AutoScalingGroupLaunchTemplate | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["instances_distribution", b"instances_distribution", "launch_template", b"launch_template", "resource_info", b"resource_info"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["instances_distribution", b"instances_distribution", "launch_template", b"launch_template", "resource_info", b"resource_info"]) -> None: ...

global___AutoScalingGroupMixedInstancesPolicy = AutoScalingGroupMixedInstancesPolicy

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

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    NOTIFICATION_TYPES_FIELD_NUMBER: builtins.int
    TOPIC_ARN_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    @property
    def notification_types(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    topic_arn: builtins.str
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        notification_types: collections.abc.Iterable[builtins.str] | None = ...,
        topic_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["notification_types", b"notification_types", "resource_info", b"resource_info", "topic_arn", b"topic_arn"]) -> None: ...

global___AutoScalingGroupNotificationConfiguration = AutoScalingGroupNotificationConfiguration

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

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

global___AutoScalingGroupTagProperty = AutoScalingGroupTagProperty

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

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    AUTO_SCALING_GROUP_NAME_FIELD_NUMBER: builtins.int
    AVAILABILITY_ZONES_FIELD_NUMBER: builtins.int
    COOLDOWN_FIELD_NUMBER: builtins.int
    DESIRED_CAPACITY_FIELD_NUMBER: builtins.int
    HEALTH_CHECK_GRACE_PERIOD_FIELD_NUMBER: builtins.int
    HEALTH_CHECK_TYPE_FIELD_NUMBER: builtins.int
    INSTANCE_ID_FIELD_NUMBER: builtins.int
    LAUNCH_CONFIGURATION_NAME_FIELD_NUMBER: builtins.int
    LAUNCH_TEMPLATE_FIELD_NUMBER: builtins.int
    LIFECYCLE_HOOK_SPECIFICATION_LIST_FIELD_NUMBER: builtins.int
    LOAD_BALANCER_NAMES_FIELD_NUMBER: builtins.int
    MAX_INSTANCE_LIFETIME_FIELD_NUMBER: builtins.int
    MAX_SIZE_FIELD_NUMBER: builtins.int
    METRICS_COLLECTION_FIELD_NUMBER: builtins.int
    MIN_SIZE_FIELD_NUMBER: builtins.int
    MIXED_INSTANCES_POLICY_FIELD_NUMBER: builtins.int
    NEW_INSTANCES_PROTECTED_FROM_SCALE_IN_FIELD_NUMBER: builtins.int
    NOTIFICATION_CONFIGURATIONS_FIELD_NUMBER: builtins.int
    PLACEMENT_GROUP_FIELD_NUMBER: builtins.int
    SERVICE_LINKED_ROLE_ARN_FIELD_NUMBER: builtins.int
    TAGS_FIELD_NUMBER: builtins.int
    TARGET_GROUP_ARNS_FIELD_NUMBER: builtins.int
    TERMINATION_POLICIES_FIELD_NUMBER: builtins.int
    VPC_ZONE_IDENTIFIER_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    auto_scaling_group_name: builtins.str
    @property
    def availability_zones(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    cooldown: builtins.str
    desired_capacity: builtins.str
    health_check_grace_period: builtins.int
    health_check_type: builtins.str
    instance_id: builtins.str
    launch_configuration_name: builtins.str
    @property
    def launch_template(self) -> global___AutoScalingGroupLaunchTemplateSpecification: ...
    @property
    def lifecycle_hook_specification_list(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___AutoScalingGroupLifecycleHookSpecification]: ...
    @property
    def load_balancer_names(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    max_instance_lifetime: builtins.int
    max_size: builtins.str
    @property
    def metrics_collection(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___AutoScalingGroupMetricsCollection]: ...
    min_size: builtins.str
    @property
    def mixed_instances_policy(self) -> global___AutoScalingGroupMixedInstancesPolicy: ...
    new_instances_protected_from_scale_in: builtins.bool
    @property
    def notification_configurations(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___AutoScalingGroupNotificationConfiguration]: ...
    placement_group: builtins.str
    service_linked_role_arn: builtins.str
    @property
    def tags(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___AutoScalingGroupTagProperty]: ...
    @property
    def target_group_arns(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    @property
    def termination_policies(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    @property
    def vpc_zone_identifier(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        auto_scaling_group_name: builtins.str = ...,
        availability_zones: collections.abc.Iterable[builtins.str] | None = ...,
        cooldown: builtins.str = ...,
        desired_capacity: builtins.str = ...,
        health_check_grace_period: builtins.int = ...,
        health_check_type: builtins.str = ...,
        instance_id: builtins.str = ...,
        launch_configuration_name: builtins.str = ...,
        launch_template: global___AutoScalingGroupLaunchTemplateSpecification | None = ...,
        lifecycle_hook_specification_list: collections.abc.Iterable[global___AutoScalingGroupLifecycleHookSpecification] | None = ...,
        load_balancer_names: collections.abc.Iterable[builtins.str] | None = ...,
        max_instance_lifetime: builtins.int = ...,
        max_size: builtins.str = ...,
        metrics_collection: collections.abc.Iterable[global___AutoScalingGroupMetricsCollection] | None = ...,
        min_size: builtins.str = ...,
        mixed_instances_policy: global___AutoScalingGroupMixedInstancesPolicy | None = ...,
        new_instances_protected_from_scale_in: builtins.bool = ...,
        notification_configurations: collections.abc.Iterable[global___AutoScalingGroupNotificationConfiguration] | None = ...,
        placement_group: builtins.str = ...,
        service_linked_role_arn: builtins.str = ...,
        tags: collections.abc.Iterable[global___AutoScalingGroupTagProperty] | None = ...,
        target_group_arns: collections.abc.Iterable[builtins.str] | None = ...,
        termination_policies: collections.abc.Iterable[builtins.str] | None = ...,
        vpc_zone_identifier: collections.abc.Iterable[builtins.str] | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["launch_template", b"launch_template", "mixed_instances_policy", b"mixed_instances_policy", "resource_info", b"resource_info"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["auto_scaling_group_name", b"auto_scaling_group_name", "availability_zones", b"availability_zones", "cooldown", b"cooldown", "desired_capacity", b"desired_capacity", "health_check_grace_period", b"health_check_grace_period", "health_check_type", b"health_check_type", "instance_id", b"instance_id", "launch_configuration_name", b"launch_configuration_name", "launch_template", b"launch_template", "lifecycle_hook_specification_list", b"lifecycle_hook_specification_list", "load_balancer_names", b"load_balancer_names", "max_instance_lifetime", b"max_instance_lifetime", "max_size", b"max_size", "metrics_collection", b"metrics_collection", "min_size", b"min_size", "mixed_instances_policy", b"mixed_instances_policy", "new_instances_protected_from_scale_in", b"new_instances_protected_from_scale_in", "notification_configurations", b"notification_configurations", "placement_group", b"placement_group", "resource_info", b"resource_info", "service_linked_role_arn", b"service_linked_role_arn", "tags", b"tags", "target_group_arns", b"target_group_arns", "termination_policies", b"termination_policies", "vpc_zone_identifier", b"vpc_zone_identifier"]) -> None: ...

global___AutoScalingGroup = AutoScalingGroup

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

    AUTO_SCALING_GROUP_FIELD_NUMBER: builtins.int
    LAUNCH_CONFIGURATION_FIELD_NUMBER: builtins.int
    LIFECYCLE_HOOK_FIELD_NUMBER: builtins.int
    SCALING_POLICY_FIELD_NUMBER: builtins.int
    SCHEDULED_ACTION_FIELD_NUMBER: builtins.int
    @property
    def auto_scaling_group(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___AutoScalingGroup]: ...
    @property
    def launch_configuration(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___LaunchConfiguration]: ...
    @property
    def lifecycle_hook(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___LifecycleHook]: ...
    @property
    def scaling_policy(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ScalingPolicy]: ...
    @property
    def scheduled_action(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ScheduledAction]: ...
    def __init__(
        self,
        *,
        auto_scaling_group: collections.abc.Iterable[global___AutoScalingGroup] | None = ...,
        launch_configuration: collections.abc.Iterable[global___LaunchConfiguration] | None = ...,
        lifecycle_hook: collections.abc.Iterable[global___LifecycleHook] | None = ...,
        scaling_policy: collections.abc.Iterable[global___ScalingPolicy] | None = ...,
        scheduled_action: collections.abc.Iterable[global___ScheduledAction] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["auto_scaling_group", b"auto_scaling_group", "launch_configuration", b"launch_configuration", "lifecycle_hook", b"lifecycle_hook", "scaling_policy", b"scaling_policy", "scheduled_action", b"scheduled_action"]) -> None: ...

global___AutoScaling = AutoScaling

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

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    DELETE_ON_TERMINATION_FIELD_NUMBER: builtins.int
    ENCRYPTED_FIELD_NUMBER: builtins.int
    IOPS_FIELD_NUMBER: builtins.int
    SNAPSHOT_ID_FIELD_NUMBER: builtins.int
    VOLUME_SIZE_FIELD_NUMBER: builtins.int
    VOLUME_TYPE_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    delete_on_termination: builtins.bool
    encrypted: builtins.bool
    iops: builtins.int
    snapshot_id: builtins.str
    volume_size: builtins.int
    volume_type: builtins.str
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        delete_on_termination: builtins.bool = ...,
        encrypted: builtins.bool = ...,
        iops: builtins.int = ...,
        snapshot_id: builtins.str = ...,
        volume_size: builtins.int = ...,
        volume_type: 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["delete_on_termination", b"delete_on_termination", "encrypted", b"encrypted", "iops", b"iops", "resource_info", b"resource_info", "snapshot_id", b"snapshot_id", "volume_size", b"volume_size", "volume_type", b"volume_type"]) -> None: ...

global___LaunchConfigurationBlockDevice = LaunchConfigurationBlockDevice

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

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    DEVICE_NAME_FIELD_NUMBER: builtins.int
    EBS_FIELD_NUMBER: builtins.int
    NO_DEVICE_FIELD_NUMBER: builtins.int
    VIRTUAL_NAME_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    device_name: builtins.str
    @property
    def ebs(self) -> global___LaunchConfigurationBlockDevice: ...
    no_device: builtins.bool
    virtual_name: builtins.str
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        device_name: builtins.str = ...,
        ebs: global___LaunchConfigurationBlockDevice | None = ...,
        no_device: builtins.bool = ...,
        virtual_name: builtins.str = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["ebs", b"ebs", "resource_info", b"resource_info"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["device_name", b"device_name", "ebs", b"ebs", "no_device", b"no_device", "resource_info", b"resource_info", "virtual_name", b"virtual_name"]) -> None: ...

global___LaunchConfigurationBlockDeviceMapping = LaunchConfigurationBlockDeviceMapping

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

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    ASSOCIATE_PUBLIC_IP_ADDRESS_FIELD_NUMBER: builtins.int
    BLOCK_DEVICE_MAPPINGS_FIELD_NUMBER: builtins.int
    CLASSIC_LINK_VPC_ID_FIELD_NUMBER: builtins.int
    CLASSIC_LINK_VPC_SECURITY_GROUPS_FIELD_NUMBER: builtins.int
    EBS_OPTIMIZED_FIELD_NUMBER: builtins.int
    IAM_INSTANCE_PROFILE_FIELD_NUMBER: builtins.int
    IMAGE_ID_FIELD_NUMBER: builtins.int
    INSTANCE_ID_FIELD_NUMBER: builtins.int
    INSTANCE_MONITORING_FIELD_NUMBER: builtins.int
    INSTANCE_TYPE_FIELD_NUMBER: builtins.int
    KERNEL_ID_FIELD_NUMBER: builtins.int
    KEY_NAME_FIELD_NUMBER: builtins.int
    LAUNCH_CONFIGURATION_NAME_FIELD_NUMBER: builtins.int
    PLACEMENT_TENANCY_FIELD_NUMBER: builtins.int
    RAM_DISK_ID_FIELD_NUMBER: builtins.int
    SECURITY_GROUPS_FIELD_NUMBER: builtins.int
    SPOT_PRICE_FIELD_NUMBER: builtins.int
    USER_DATA_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    associate_public_ip_address: builtins.bool
    @property
    def block_device_mappings(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___LaunchConfigurationBlockDeviceMapping]: ...
    classic_link_vpc_id: builtins.str
    @property
    def classic_link_vpc_security_groups(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    ebs_optimized: builtins.bool
    iam_instance_profile: builtins.str
    image_id: builtins.str
    instance_id: builtins.str
    instance_monitoring: builtins.bool
    instance_type: builtins.str
    kernel_id: builtins.str
    key_name: builtins.str
    launch_configuration_name: builtins.str
    placement_tenancy: builtins.str
    ram_disk_id: builtins.str
    @property
    def security_groups(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    spot_price: builtins.str
    user_data: builtins.str
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        associate_public_ip_address: builtins.bool = ...,
        block_device_mappings: collections.abc.Iterable[global___LaunchConfigurationBlockDeviceMapping] | None = ...,
        classic_link_vpc_id: builtins.str = ...,
        classic_link_vpc_security_groups: collections.abc.Iterable[builtins.str] | None = ...,
        ebs_optimized: builtins.bool = ...,
        iam_instance_profile: builtins.str = ...,
        image_id: builtins.str = ...,
        instance_id: builtins.str = ...,
        instance_monitoring: builtins.bool = ...,
        instance_type: builtins.str = ...,
        kernel_id: builtins.str = ...,
        key_name: builtins.str = ...,
        launch_configuration_name: builtins.str = ...,
        placement_tenancy: builtins.str = ...,
        ram_disk_id: builtins.str = ...,
        security_groups: collections.abc.Iterable[builtins.str] | None = ...,
        spot_price: builtins.str = ...,
        user_data: 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["associate_public_ip_address", b"associate_public_ip_address", "block_device_mappings", b"block_device_mappings", "classic_link_vpc_id", b"classic_link_vpc_id", "classic_link_vpc_security_groups", b"classic_link_vpc_security_groups", "ebs_optimized", b"ebs_optimized", "iam_instance_profile", b"iam_instance_profile", "image_id", b"image_id", "instance_id", b"instance_id", "instance_monitoring", b"instance_monitoring", "instance_type", b"instance_type", "kernel_id", b"kernel_id", "key_name", b"key_name", "launch_configuration_name", b"launch_configuration_name", "placement_tenancy", b"placement_tenancy", "ram_disk_id", b"ram_disk_id", "resource_info", b"resource_info", "security_groups", b"security_groups", "spot_price", b"spot_price", "user_data", b"user_data"]) -> None: ...

global___LaunchConfiguration = LaunchConfiguration

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

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    AUTO_SCALING_GROUP_NAME_FIELD_NUMBER: builtins.int
    DEFAULT_RESULT_FIELD_NUMBER: builtins.int
    HEARTBEAT_TIMEOUT_FIELD_NUMBER: builtins.int
    LIFECYCLE_HOOK_NAME_FIELD_NUMBER: builtins.int
    LIFECYCLE_TRANSITION_FIELD_NUMBER: builtins.int
    NOTIFICATION_METADATA_FIELD_NUMBER: builtins.int
    NOTIFICATION_TARGET_ARN_FIELD_NUMBER: builtins.int
    ROLE_ARN_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    auto_scaling_group_name: builtins.str
    default_result: builtins.str
    heartbeat_timeout: builtins.int
    lifecycle_hook_name: builtins.str
    lifecycle_transition: builtins.str
    notification_metadata: builtins.str
    notification_target_arn: builtins.str
    role_arn: builtins.str
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        auto_scaling_group_name: builtins.str = ...,
        default_result: builtins.str = ...,
        heartbeat_timeout: builtins.int = ...,
        lifecycle_hook_name: builtins.str = ...,
        lifecycle_transition: builtins.str = ...,
        notification_metadata: builtins.str = ...,
        notification_target_arn: builtins.str = ...,
        role_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["auto_scaling_group_name", b"auto_scaling_group_name", "default_result", b"default_result", "heartbeat_timeout", b"heartbeat_timeout", "lifecycle_hook_name", b"lifecycle_hook_name", "lifecycle_transition", b"lifecycle_transition", "notification_metadata", b"notification_metadata", "notification_target_arn", b"notification_target_arn", "resource_info", b"resource_info", "role_arn", b"role_arn"]) -> None: ...

global___LifecycleHook = LifecycleHook

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

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    METRIC_INTERVAL_LOWER_BOUND_FIELD_NUMBER: builtins.int
    METRIC_INTERVAL_UPPER_BOUND_FIELD_NUMBER: builtins.int
    SCALING_ADJUSTMENT_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    metric_interval_lower_bound: builtins.float
    metric_interval_upper_bound: builtins.float
    scaling_adjustment: builtins.int
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        metric_interval_lower_bound: builtins.float = ...,
        metric_interval_upper_bound: builtins.float = ...,
        scaling_adjustment: 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["metric_interval_lower_bound", b"metric_interval_lower_bound", "metric_interval_upper_bound", b"metric_interval_upper_bound", "resource_info", b"resource_info", "scaling_adjustment", b"scaling_adjustment"]) -> None: ...

global___ScalingPolicyStepAdjustment = ScalingPolicyStepAdjustment

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

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

global___ScalingPolicyMetricDimension = ScalingPolicyMetricDimension

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

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    DIMENSIONS_FIELD_NUMBER: builtins.int
    METRIC_NAME_FIELD_NUMBER: builtins.int
    NAMESPACE_FIELD_NUMBER: builtins.int
    STATISTIC_FIELD_NUMBER: builtins.int
    UNIT_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    @property
    def dimensions(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ScalingPolicyMetricDimension]: ...
    metric_name: builtins.str
    namespace: builtins.str
    statistic: builtins.str
    unit: builtins.str
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        dimensions: collections.abc.Iterable[global___ScalingPolicyMetricDimension] | None = ...,
        metric_name: builtins.str = ...,
        namespace: builtins.str = ...,
        statistic: builtins.str = ...,
        unit: 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["dimensions", b"dimensions", "metric_name", b"metric_name", "namespace", b"namespace", "resource_info", b"resource_info", "statistic", b"statistic", "unit", b"unit"]) -> None: ...

global___ScalingPolicyCustomizedMetricSpecification = ScalingPolicyCustomizedMetricSpecification

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

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

global___ScalingPolicyPredefinedMetricSpecification = ScalingPolicyPredefinedMetricSpecification

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

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    CUSTOMIZED_METRIC_SPECIFICATION_FIELD_NUMBER: builtins.int
    DISABLE_SCALE_IN_FIELD_NUMBER: builtins.int
    PREDEFINED_METRIC_SPECIFICATION_FIELD_NUMBER: builtins.int
    TARGET_VALUE_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    @property
    def customized_metric_specification(self) -> global___ScalingPolicyCustomizedMetricSpecification: ...
    disable_scale_in: builtins.bool
    @property
    def predefined_metric_specification(self) -> global___ScalingPolicyPredefinedMetricSpecification: ...
    target_value: builtins.float
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        customized_metric_specification: global___ScalingPolicyCustomizedMetricSpecification | None = ...,
        disable_scale_in: builtins.bool = ...,
        predefined_metric_specification: global___ScalingPolicyPredefinedMetricSpecification | None = ...,
        target_value: builtins.float = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["customized_metric_specification", b"customized_metric_specification", "predefined_metric_specification", b"predefined_metric_specification", "resource_info", b"resource_info"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["customized_metric_specification", b"customized_metric_specification", "disable_scale_in", b"disable_scale_in", "predefined_metric_specification", b"predefined_metric_specification", "resource_info", b"resource_info", "target_value", b"target_value"]) -> None: ...

global___ScalingPolicyTargetTrackingConfiguration = ScalingPolicyTargetTrackingConfiguration

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

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    ADJUSTMENT_TYPE_FIELD_NUMBER: builtins.int
    AUTO_SCALING_GROUP_NAME_FIELD_NUMBER: builtins.int
    COOLDOWN_FIELD_NUMBER: builtins.int
    ESTIMATED_INSTANCE_WARMUP_FIELD_NUMBER: builtins.int
    METRIC_AGGREGATION_TYPE_FIELD_NUMBER: builtins.int
    MIN_ADJUSTMENT_MAGNITUDE_FIELD_NUMBER: builtins.int
    POLICY_TYPE_FIELD_NUMBER: builtins.int
    SCALING_ADJUSTMENT_FIELD_NUMBER: builtins.int
    STEP_ADJUSTMENTS_FIELD_NUMBER: builtins.int
    TARGET_TRACKING_CONFIGURATION_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    adjustment_type: builtins.str
    auto_scaling_group_name: builtins.str
    cooldown: builtins.str
    estimated_instance_warmup: builtins.int
    metric_aggregation_type: builtins.str
    min_adjustment_magnitude: builtins.int
    policy_type: builtins.str
    scaling_adjustment: builtins.int
    @property
    def step_adjustments(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ScalingPolicyStepAdjustment]: ...
    @property
    def target_tracking_configuration(self) -> global___ScalingPolicyTargetTrackingConfiguration: ...
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        adjustment_type: builtins.str = ...,
        auto_scaling_group_name: builtins.str = ...,
        cooldown: builtins.str = ...,
        estimated_instance_warmup: builtins.int = ...,
        metric_aggregation_type: builtins.str = ...,
        min_adjustment_magnitude: builtins.int = ...,
        policy_type: builtins.str = ...,
        scaling_adjustment: builtins.int = ...,
        step_adjustments: collections.abc.Iterable[global___ScalingPolicyStepAdjustment] | None = ...,
        target_tracking_configuration: global___ScalingPolicyTargetTrackingConfiguration | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["resource_info", b"resource_info", "target_tracking_configuration", b"target_tracking_configuration"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["adjustment_type", b"adjustment_type", "auto_scaling_group_name", b"auto_scaling_group_name", "cooldown", b"cooldown", "estimated_instance_warmup", b"estimated_instance_warmup", "metric_aggregation_type", b"metric_aggregation_type", "min_adjustment_magnitude", b"min_adjustment_magnitude", "policy_type", b"policy_type", "resource_info", b"resource_info", "scaling_adjustment", b"scaling_adjustment", "step_adjustments", b"step_adjustments", "target_tracking_configuration", b"target_tracking_configuration"]) -> None: ...

global___ScalingPolicy = ScalingPolicy

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

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    AUTO_SCALING_GROUP_NAME_FIELD_NUMBER: builtins.int
    DESIRED_CAPACITY_FIELD_NUMBER: builtins.int
    END_TIME_FIELD_NUMBER: builtins.int
    MAX_SIZE_FIELD_NUMBER: builtins.int
    MIN_SIZE_FIELD_NUMBER: builtins.int
    RECURRENCE_FIELD_NUMBER: builtins.int
    START_TIME_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    auto_scaling_group_name: builtins.str
    desired_capacity: builtins.int
    end_time: builtins.str
    max_size: builtins.int
    min_size: builtins.int
    recurrence: builtins.str
    start_time: builtins.str
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        auto_scaling_group_name: builtins.str = ...,
        desired_capacity: builtins.int = ...,
        end_time: builtins.str = ...,
        max_size: builtins.int = ...,
        min_size: builtins.int = ...,
        recurrence: builtins.str = ...,
        start_time: 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["auto_scaling_group_name", b"auto_scaling_group_name", "desired_capacity", b"desired_capacity", "end_time", b"end_time", "max_size", b"max_size", "min_size", b"min_size", "recurrence", b"recurrence", "resource_info", b"resource_info", "start_time", b"start_time"]) -> None: ...

global___ScheduledAction = ScheduledAction
