"""
@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 InstanceEbs(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
    KMS_KEY_ID_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
    kms_key_id: builtins.str
    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 = ...,
        kms_key_id: builtins.str = ...,
        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", "kms_key_id", b"kms_key_id", "resource_info", b"resource_info", "snapshot_id", b"snapshot_id", "volume_size", b"volume_size", "volume_type", b"volume_type"]) -> None: ...

global___InstanceEbs = InstanceEbs

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

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

global___InstanceNoDevice = InstanceNoDevice

@typing_extensions.final
class InstanceBlockDeviceMapping(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___InstanceEbs: ...
    @property
    def no_device(self) -> global___InstanceNoDevice: ...
    virtual_name: builtins.str
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        device_name: builtins.str = ...,
        ebs: global___InstanceEbs | None = ...,
        no_device: global___InstanceNoDevice | None = ...,
        virtual_name: builtins.str = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["ebs", b"ebs", "no_device", b"no_device", "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___InstanceBlockDeviceMapping = InstanceBlockDeviceMapping

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

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

global___InstanceCpuOptions = InstanceCpuOptions

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

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

global___InstanceCreditSpecification = InstanceCreditSpecification

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

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

global___InstanceElasticGpuSpecification = InstanceElasticGpuSpecification

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

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

global___InstanceElasticInferenceAccelerator = InstanceElasticInferenceAccelerator

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

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

global___InstanceHibernationOptions = InstanceHibernationOptions

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

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

global___InstanceInstanceIpv6Address = InstanceInstanceIpv6Address

@typing_extensions.final
class InstanceLaunchTemplateSpecification(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___InstanceLaunchTemplateSpecification = InstanceLaunchTemplateSpecification

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

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

global___InstanceLicenseSpecification = InstanceLicenseSpecification

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

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

global___InstancePrivateIpAddressSpecification = InstancePrivateIpAddressSpecification

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

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    ASSOCIATE_PUBLIC_IP_ADDRESS_FIELD_NUMBER: builtins.int
    DELETE_ON_TERMINATION_FIELD_NUMBER: builtins.int
    DESCRIPTION_FIELD_NUMBER: builtins.int
    DEVICE_INDEX_FIELD_NUMBER: builtins.int
    GROUP_SET_FIELD_NUMBER: builtins.int
    IPV6_ADDRESS_COUNT_FIELD_NUMBER: builtins.int
    IPV6_ADDRESSES_FIELD_NUMBER: builtins.int
    NETWORK_INTERFACE_ID_FIELD_NUMBER: builtins.int
    PRIVATE_IP_ADDRESS_FIELD_NUMBER: builtins.int
    PRIVATE_IP_ADDRESSES_FIELD_NUMBER: builtins.int
    SECONDARY_PRIVATE_IP_ADDRESS_COUNT_FIELD_NUMBER: builtins.int
    SUBNET_ID_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    associate_public_ip_address: builtins.bool
    delete_on_termination: builtins.bool
    description: builtins.str
    device_index: builtins.str
    @property
    def group_set(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    ipv6_address_count: builtins.int
    @property
    def ipv6_addresses(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___InstanceInstanceIpv6Address]: ...
    network_interface_id: builtins.str
    private_ip_address: builtins.str
    @property
    def private_ip_addresses(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___InstancePrivateIpAddressSpecification]: ...
    secondary_private_ip_address_count: builtins.int
    subnet_id: builtins.str
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        associate_public_ip_address: builtins.bool = ...,
        delete_on_termination: builtins.bool = ...,
        description: builtins.str = ...,
        device_index: builtins.str = ...,
        group_set: collections.abc.Iterable[builtins.str] | None = ...,
        ipv6_address_count: builtins.int = ...,
        ipv6_addresses: collections.abc.Iterable[global___InstanceInstanceIpv6Address] | None = ...,
        network_interface_id: builtins.str = ...,
        private_ip_address: builtins.str = ...,
        private_ip_addresses: collections.abc.Iterable[global___InstancePrivateIpAddressSpecification] | None = ...,
        secondary_private_ip_address_count: builtins.int = ...,
        subnet_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["associate_public_ip_address", b"associate_public_ip_address", "delete_on_termination", b"delete_on_termination", "description", b"description", "device_index", b"device_index", "group_set", b"group_set", "ipv6_address_count", b"ipv6_address_count", "ipv6_addresses", b"ipv6_addresses", "network_interface_id", b"network_interface_id", "private_ip_address", b"private_ip_address", "private_ip_addresses", b"private_ip_addresses", "resource_info", b"resource_info", "secondary_private_ip_address_count", b"secondary_private_ip_address_count", "subnet_id", b"subnet_id"]) -> None: ...

global___InstanceNetworkInterface = InstanceNetworkInterface

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

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

global___InstanceAssociationParameter = InstanceAssociationParameter

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

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

global___InstanceSsmAssociation = InstanceSsmAssociation

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

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

global___InstanceVolume = InstanceVolume

@typing_extensions.final
class Instance(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
    ADDITIONAL_INFO_FIELD_NUMBER: builtins.int
    AFFINITY_FIELD_NUMBER: builtins.int
    AVAILABILITY_ZONE_FIELD_NUMBER: builtins.int
    BLOCK_DEVICE_MAPPINGS_FIELD_NUMBER: builtins.int
    CPU_OPTIONS_FIELD_NUMBER: builtins.int
    CREDIT_SPECIFICATION_FIELD_NUMBER: builtins.int
    DISABLE_API_TERMINATION_FIELD_NUMBER: builtins.int
    EBS_OPTIMIZED_FIELD_NUMBER: builtins.int
    ELASTIC_GPU_SPECIFICATIONS_FIELD_NUMBER: builtins.int
    ELASTIC_INFERENCE_ACCELERATORS_FIELD_NUMBER: builtins.int
    HIBERNATION_OPTIONS_FIELD_NUMBER: builtins.int
    HOST_ID_FIELD_NUMBER: builtins.int
    HOST_RESOURCE_GROUP_ARN_FIELD_NUMBER: builtins.int
    IAM_INSTANCE_PROFILE_FIELD_NUMBER: builtins.int
    IMAGE_ID_FIELD_NUMBER: builtins.int
    INSTANCE_INITIATED_SHUTDOWN_BEHAVIOR_FIELD_NUMBER: builtins.int
    INSTANCE_TYPE_FIELD_NUMBER: builtins.int
    IPV6_ADDRESS_COUNT_FIELD_NUMBER: builtins.int
    IPV6_ADDRESSES_FIELD_NUMBER: builtins.int
    KERNEL_ID_FIELD_NUMBER: builtins.int
    KEY_NAME_FIELD_NUMBER: builtins.int
    LAUNCH_TEMPLATE_FIELD_NUMBER: builtins.int
    LICENSE_SPECIFICATIONS_FIELD_NUMBER: builtins.int
    MONITORING_FIELD_NUMBER: builtins.int
    NETWORK_INTERFACES_FIELD_NUMBER: builtins.int
    PLACEMENT_GROUP_NAME_FIELD_NUMBER: builtins.int
    PRIVATE_IP_ADDRESS_FIELD_NUMBER: builtins.int
    RAMDISK_ID_FIELD_NUMBER: builtins.int
    SECURITY_GROUP_IDS_FIELD_NUMBER: builtins.int
    SECURITY_GROUPS_FIELD_NUMBER: builtins.int
    SOURCE_DEST_CHECK_FIELD_NUMBER: builtins.int
    SSM_ASSOCIATIONS_FIELD_NUMBER: builtins.int
    SUBNET_ID_FIELD_NUMBER: builtins.int
    TAGS_FIELD_NUMBER: builtins.int
    TENANCY_FIELD_NUMBER: builtins.int
    USER_DATA_FIELD_NUMBER: builtins.int
    VOLUMES_FIELD_NUMBER: builtins.int
    PLACEMENT_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    additional_info: builtins.str
    affinity: builtins.str
    availability_zone: builtins.str
    @property
    def block_device_mappings(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___InstanceBlockDeviceMapping]: ...
    @property
    def cpu_options(self) -> global___InstanceCpuOptions: ...
    @property
    def credit_specification(self) -> global___InstanceCreditSpecification: ...
    disable_api_termination: builtins.bool
    ebs_optimized: builtins.bool
    @property
    def elastic_gpu_specifications(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___InstanceElasticGpuSpecification]: ...
    @property
    def elastic_inference_accelerators(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___InstanceElasticInferenceAccelerator]: ...
    @property
    def hibernation_options(self) -> global___InstanceHibernationOptions: ...
    host_id: builtins.str
    host_resource_group_arn: builtins.str
    iam_instance_profile: builtins.str
    image_id: builtins.str
    instance_initiated_shutdown_behavior: builtins.str
    instance_type: builtins.str
    ipv6_address_count: builtins.int
    @property
    def ipv6_addresses(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___InstanceInstanceIpv6Address]: ...
    kernel_id: builtins.str
    key_name: builtins.str
    @property
    def launch_template(self) -> global___InstanceLaunchTemplateSpecification: ...
    @property
    def license_specifications(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___InstanceLicenseSpecification]: ...
    monitoring: builtins.bool
    @property
    def network_interfaces(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___InstanceNetworkInterface]: ...
    placement_group_name: builtins.str
    private_ip_address: builtins.str
    ramdisk_id: builtins.str
    @property
    def security_group_ids(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    @property
    def security_groups(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    source_dest_check: builtins.bool
    @property
    def ssm_associations(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___InstanceSsmAssociation]: ...
    subnet_id: builtins.str
    @property
    def tags(self) -> google.protobuf.internal.containers.ScalarMap[builtins.str, builtins.str]: ...
    tenancy: builtins.str
    user_data: builtins.str
    @property
    def volumes(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___InstanceVolume]: ...
    @property
    def placement(self) -> global___Placement: ...
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        additional_info: builtins.str = ...,
        affinity: builtins.str = ...,
        availability_zone: builtins.str = ...,
        block_device_mappings: collections.abc.Iterable[global___InstanceBlockDeviceMapping] | None = ...,
        cpu_options: global___InstanceCpuOptions | None = ...,
        credit_specification: global___InstanceCreditSpecification | None = ...,
        disable_api_termination: builtins.bool = ...,
        ebs_optimized: builtins.bool = ...,
        elastic_gpu_specifications: collections.abc.Iterable[global___InstanceElasticGpuSpecification] | None = ...,
        elastic_inference_accelerators: collections.abc.Iterable[global___InstanceElasticInferenceAccelerator] | None = ...,
        hibernation_options: global___InstanceHibernationOptions | None = ...,
        host_id: builtins.str = ...,
        host_resource_group_arn: builtins.str = ...,
        iam_instance_profile: builtins.str = ...,
        image_id: builtins.str = ...,
        instance_initiated_shutdown_behavior: builtins.str = ...,
        instance_type: builtins.str = ...,
        ipv6_address_count: builtins.int = ...,
        ipv6_addresses: collections.abc.Iterable[global___InstanceInstanceIpv6Address] | None = ...,
        kernel_id: builtins.str = ...,
        key_name: builtins.str = ...,
        launch_template: global___InstanceLaunchTemplateSpecification | None = ...,
        license_specifications: collections.abc.Iterable[global___InstanceLicenseSpecification] | None = ...,
        monitoring: builtins.bool = ...,
        network_interfaces: collections.abc.Iterable[global___InstanceNetworkInterface] | None = ...,
        placement_group_name: builtins.str = ...,
        private_ip_address: builtins.str = ...,
        ramdisk_id: builtins.str = ...,
        security_group_ids: collections.abc.Iterable[builtins.str] | None = ...,
        security_groups: collections.abc.Iterable[builtins.str] | None = ...,
        source_dest_check: builtins.bool = ...,
        ssm_associations: collections.abc.Iterable[global___InstanceSsmAssociation] | None = ...,
        subnet_id: builtins.str = ...,
        tags: collections.abc.Mapping[builtins.str, builtins.str] | None = ...,
        tenancy: builtins.str = ...,
        user_data: builtins.str = ...,
        volumes: collections.abc.Iterable[global___InstanceVolume] | None = ...,
        placement: global___Placement | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["cpu_options", b"cpu_options", "credit_specification", b"credit_specification", "hibernation_options", b"hibernation_options", "launch_template", b"launch_template", "placement", b"placement", "resource_info", b"resource_info"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["additional_info", b"additional_info", "affinity", b"affinity", "availability_zone", b"availability_zone", "block_device_mappings", b"block_device_mappings", "cpu_options", b"cpu_options", "credit_specification", b"credit_specification", "disable_api_termination", b"disable_api_termination", "ebs_optimized", b"ebs_optimized", "elastic_gpu_specifications", b"elastic_gpu_specifications", "elastic_inference_accelerators", b"elastic_inference_accelerators", "hibernation_options", b"hibernation_options", "host_id", b"host_id", "host_resource_group_arn", b"host_resource_group_arn", "iam_instance_profile", b"iam_instance_profile", "image_id", b"image_id", "instance_initiated_shutdown_behavior", b"instance_initiated_shutdown_behavior", "instance_type", b"instance_type", "ipv6_address_count", b"ipv6_address_count", "ipv6_addresses", b"ipv6_addresses", "kernel_id", b"kernel_id", "key_name", b"key_name", "launch_template", b"launch_template", "license_specifications", b"license_specifications", "monitoring", b"monitoring", "network_interfaces", b"network_interfaces", "placement", b"placement", "placement_group_name", b"placement_group_name", "private_ip_address", b"private_ip_address", "ramdisk_id", b"ramdisk_id", "resource_info", b"resource_info", "security_group_ids", b"security_group_ids", "security_groups", b"security_groups", "source_dest_check", b"source_dest_check", "ssm_associations", b"ssm_associations", "subnet_id", b"subnet_id", "tags", b"tags", "tenancy", b"tenancy", "user_data", b"user_data", "volumes", b"volumes"]) -> None: ...

global___Instance = Instance

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

    INSTANCE_FIELD_NUMBER: builtins.int
    LAUNCH_TEMPLATE_FIELD_NUMBER: builtins.int
    @property
    def instance(self) -> global___Instance: ...
    @property
    def launch_template(self) -> global___LaunchTemplate: ...
    def __init__(
        self,
        *,
        instance: global___Instance | None = ...,
        launch_template: global___LaunchTemplate | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["instance", b"instance", "launch_template", b"launch_template"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["instance", b"instance", "launch_template", b"launch_template"]) -> None: ...

global___EC2_Instance = EC2_Instance

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

global___LaunchTemplateTagSpecification = LaunchTemplateTagSpecification

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

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

global___LaunchTemplateEbs = LaunchTemplateEbs

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

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    EBS_FIELD_NUMBER: builtins.int
    NO_DEVICE_FIELD_NUMBER: builtins.int
    VIRTUAL_NAME_FIELD_NUMBER: builtins.int
    DEVICE_NAME_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    @property
    def ebs(self) -> global___LaunchTemplateEbs: ...
    no_device: builtins.str
    virtual_name: builtins.str
    device_name: builtins.str
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        ebs: global___LaunchTemplateEbs | None = ...,
        no_device: builtins.str = ...,
        virtual_name: builtins.str = ...,
        device_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___LaunchTemplateBlockDeviceMapping = LaunchTemplateBlockDeviceMapping

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

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

global___LaunchTemplateIamInstanceProfile = LaunchTemplateIamInstanceProfile

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

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

global___LaunchTemplateElasticGpuSpecification = LaunchTemplateElasticGpuSpecification

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

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

global___LaunchTemplateLaunchTemplateElasticInferenceAccelerator = LaunchTemplateLaunchTemplateElasticInferenceAccelerator

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

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    GROUP_NAME_FIELD_NUMBER: builtins.int
    TENANCY_FIELD_NUMBER: builtins.int
    SPREAD_DOMAIN_FIELD_NUMBER: builtins.int
    PARTITION_NUMBER_FIELD_NUMBER: builtins.int
    AVAILABILITY_ZONE_FIELD_NUMBER: builtins.int
    AFFINITY_FIELD_NUMBER: builtins.int
    HOST_ID_FIELD_NUMBER: builtins.int
    HOST_RESOURCE_GROUP_ARN_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    group_name: builtins.str
    tenancy: builtins.str
    spread_domain: builtins.str
    partition_number: builtins.int
    availability_zone: builtins.str
    affinity: builtins.str
    host_id: builtins.str
    host_resource_group_arn: builtins.str
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        group_name: builtins.str = ...,
        tenancy: builtins.str = ...,
        spread_domain: builtins.str = ...,
        partition_number: builtins.int = ...,
        availability_zone: builtins.str = ...,
        affinity: builtins.str = ...,
        host_id: builtins.str = ...,
        host_resource_group_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["affinity", b"affinity", "availability_zone", b"availability_zone", "group_name", b"group_name", "host_id", b"host_id", "host_resource_group_arn", b"host_resource_group_arn", "partition_number", b"partition_number", "resource_info", b"resource_info", "spread_domain", b"spread_domain", "tenancy", b"tenancy"]) -> None: ...

global___LaunchTemplatePlacement = LaunchTemplatePlacement

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

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

global___LaunchTemplatePrivateIpAdd = LaunchTemplatePrivateIpAdd

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

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

global___LaunchTemplateIpv6Add = LaunchTemplateIpv6Add

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

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    DESCRIPTION_FIELD_NUMBER: builtins.int
    PRIVATE_IP_ADDRESS_FIELD_NUMBER: builtins.int
    PRIVATE_IP_ADDRESSES_FIELD_NUMBER: builtins.int
    SECONDARY_PRIVATE_IP_ADDRESS_COUNT_FIELD_NUMBER: builtins.int
    DEVICE_INDEX_FIELD_NUMBER: builtins.int
    SUBNET_ID_FIELD_NUMBER: builtins.int
    IPV6_ADDRESSES_FIELD_NUMBER: builtins.int
    ASSOCIATE_PUBLIC_IP_ADDRESS_FIELD_NUMBER: builtins.int
    NETWORK_INTERFACE_ID_FIELD_NUMBER: builtins.int
    INTERFACE_TYPE_FIELD_NUMBER: builtins.int
    IPV6_ADDRESS_COUNT_FIELD_NUMBER: builtins.int
    GROUPS_FIELD_NUMBER: builtins.int
    DELETE_ON_TERMINATION_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    description: builtins.str
    private_ip_address: builtins.str
    @property
    def private_ip_addresses(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___LaunchTemplatePrivateIpAdd]: ...
    secondary_private_ip_address_count: builtins.int
    device_index: builtins.int
    subnet_id: builtins.str
    @property
    def ipv6_addresses(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___LaunchTemplateIpv6Add]: ...
    associate_public_ip_address: builtins.bool
    network_interface_id: builtins.str
    interface_type: builtins.str
    ipv6_address_count: builtins.int
    @property
    def groups(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    delete_on_termination: builtins.bool
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        description: builtins.str = ...,
        private_ip_address: builtins.str = ...,
        private_ip_addresses: collections.abc.Iterable[global___LaunchTemplatePrivateIpAdd] | None = ...,
        secondary_private_ip_address_count: builtins.int = ...,
        device_index: builtins.int = ...,
        subnet_id: builtins.str = ...,
        ipv6_addresses: collections.abc.Iterable[global___LaunchTemplateIpv6Add] | None = ...,
        associate_public_ip_address: builtins.bool = ...,
        network_interface_id: builtins.str = ...,
        interface_type: builtins.str = ...,
        ipv6_address_count: builtins.int = ...,
        groups: collections.abc.Iterable[builtins.str] | None = ...,
        delete_on_termination: builtins.bool = ...,
    ) -> 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", "delete_on_termination", b"delete_on_termination", "description", b"description", "device_index", b"device_index", "groups", b"groups", "interface_type", b"interface_type", "ipv6_address_count", b"ipv6_address_count", "ipv6_addresses", b"ipv6_addresses", "network_interface_id", b"network_interface_id", "private_ip_address", b"private_ip_address", "private_ip_addresses", b"private_ip_addresses", "resource_info", b"resource_info", "secondary_private_ip_address_count", b"secondary_private_ip_address_count", "subnet_id", b"subnet_id"]) -> None: ...

global___LaunchTemplateNetworkInterface = LaunchTemplateNetworkInterface

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

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

global___LaunchTemplateMonitoring = LaunchTemplateMonitoring

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

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

global___LaunchTemplateHibernationOptions = LaunchTemplateHibernationOptions

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

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    HTTP_PUT_RESPONSE_HOP_LIMIT_FIELD_NUMBER: builtins.int
    HTTP_TOKENS_FIELD_NUMBER: builtins.int
    HTTP_ENDPOINT_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    http_put_response_hop_limit: builtins.int
    http_tokens: builtins.str
    http_endpoint: builtins.str
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        http_put_response_hop_limit: builtins.int = ...,
        http_tokens: builtins.str = ...,
        http_endpoint: 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["http_endpoint", b"http_endpoint", "http_put_response_hop_limit", b"http_put_response_hop_limit", "http_tokens", b"http_tokens", "resource_info", b"resource_info"]) -> None: ...

global___LaunchTemplateMetadataOptions = LaunchTemplateMetadataOptions

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

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

global___LaunchTemplateLicenseSpecification = LaunchTemplateLicenseSpecification

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

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

global___LaunchTemplateCpuOptions = LaunchTemplateCpuOptions

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

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    SPOT_INSTANCE_TYPE_FIELD_NUMBER: builtins.int
    INSTANCE_INTERRUPTION_BEHAVIOR_FIELD_NUMBER: builtins.int
    MAX_PRICE_FIELD_NUMBER: builtins.int
    BLOCK_DURATION_MINUTES_FIELD_NUMBER: builtins.int
    VALID_UNTIL_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    spot_instance_type: builtins.str
    instance_interruption_behavior: builtins.str
    max_price: builtins.str
    block_duration_minutes: builtins.int
    valid_until: builtins.str
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        spot_instance_type: builtins.str = ...,
        instance_interruption_behavior: builtins.str = ...,
        max_price: builtins.str = ...,
        block_duration_minutes: builtins.int = ...,
        valid_until: 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["block_duration_minutes", b"block_duration_minutes", "instance_interruption_behavior", b"instance_interruption_behavior", "max_price", b"max_price", "resource_info", b"resource_info", "spot_instance_type", b"spot_instance_type", "valid_until", b"valid_until"]) -> None: ...

global___LaunchTemplateSpotOptions = LaunchTemplateSpotOptions

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

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

global___LaunchTemplateInstanceMarketOptions = LaunchTemplateInstanceMarketOptions

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

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

global___LaunchTemplateCapacityReservationTarget = LaunchTemplateCapacityReservationTarget

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

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

global___LaunchTemplateCapacityReservationSpecification = LaunchTemplateCapacityReservationSpecification

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

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

global___LaunchTemplateCreditSpecification = LaunchTemplateCreditSpecification

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

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    SECURITY_GROUPS_FIELD_NUMBER: builtins.int
    TAG_SPECIFICATIONS_FIELD_NUMBER: builtins.int
    USER_DATA_FIELD_NUMBER: builtins.int
    BLOCK_DEVICE_MAPPINGS_FIELD_NUMBER: builtins.int
    IAM_INSTANCE_PROFILE_FIELD_NUMBER: builtins.int
    KERNEL_ID_FIELD_NUMBER: builtins.int
    EBS_OPTIMIZED_FIELD_NUMBER: builtins.int
    ELASTIC_GPU_SPECIFICATIONS_FIELD_NUMBER: builtins.int
    ELASTIC_INFERENCE_ACCELERATORS_FIELD_NUMBER: builtins.int
    PLACEMENT_FIELD_NUMBER: builtins.int
    NETWORK_INTERFACES_FIELD_NUMBER: builtins.int
    IMAGE_ID_FIELD_NUMBER: builtins.int
    INSTANCE_TYPE_FIELD_NUMBER: builtins.int
    MONITORING_FIELD_NUMBER: builtins.int
    HIBERNATION_OPTIONS_FIELD_NUMBER: builtins.int
    METADATA_OPTIONS_FIELD_NUMBER: builtins.int
    LICENSE_SPECIFICATIONS_FIELD_NUMBER: builtins.int
    INSTANCE_INITIATED_SHUTDOWN_BEHAVIOR_FIELD_NUMBER: builtins.int
    CPU_OPTIONS_FIELD_NUMBER: builtins.int
    SECURITY_GROUP_IDS_FIELD_NUMBER: builtins.int
    KEY_NAME_FIELD_NUMBER: builtins.int
    DISABLE_API_TERMINATION_FIELD_NUMBER: builtins.int
    INSTANCE_MARKET_OPTIONS_FIELD_NUMBER: builtins.int
    RAM_DISK_ID_FIELD_NUMBER: builtins.int
    CAPACITY_RESERVATION_SPECIFICATION_FIELD_NUMBER: builtins.int
    CREDIT_SPECIFICATION_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    @property
    def security_groups(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    @property
    def tag_specifications(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___LaunchTemplateTagSpecification]: ...
    user_data: builtins.str
    @property
    def block_device_mappings(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___LaunchTemplateBlockDeviceMapping]: ...
    @property
    def iam_instance_profile(self) -> global___LaunchTemplateIamInstanceProfile: ...
    kernel_id: builtins.str
    ebs_optimized: builtins.bool
    @property
    def elastic_gpu_specifications(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___LaunchTemplateElasticGpuSpecification]: ...
    @property
    def elastic_inference_accelerators(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___LaunchTemplateLaunchTemplateElasticInferenceAccelerator]: ...
    @property
    def placement(self) -> global___LaunchTemplatePlacement: ...
    @property
    def network_interfaces(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___LaunchTemplateNetworkInterface]: ...
    image_id: builtins.str
    instance_type: builtins.str
    @property
    def monitoring(self) -> global___LaunchTemplateMonitoring: ...
    @property
    def hibernation_options(self) -> global___LaunchTemplateHibernationOptions: ...
    @property
    def metadata_options(self) -> global___LaunchTemplateMetadataOptions: ...
    @property
    def license_specifications(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___LaunchTemplateLicenseSpecification]: ...
    instance_initiated_shutdown_behavior: builtins.str
    @property
    def cpu_options(self) -> global___LaunchTemplateCpuOptions: ...
    @property
    def security_group_ids(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    key_name: builtins.str
    disable_api_termination: builtins.bool
    @property
    def instance_market_options(self) -> global___LaunchTemplateInstanceMarketOptions: ...
    ram_disk_id: builtins.str
    @property
    def capacity_reservation_specification(self) -> global___LaunchTemplateCapacityReservationSpecification: ...
    @property
    def credit_specification(self) -> global___LaunchTemplateCreditSpecification: ...
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        security_groups: collections.abc.Iterable[builtins.str] | None = ...,
        tag_specifications: collections.abc.Iterable[global___LaunchTemplateTagSpecification] | None = ...,
        user_data: builtins.str = ...,
        block_device_mappings: collections.abc.Iterable[global___LaunchTemplateBlockDeviceMapping] | None = ...,
        iam_instance_profile: global___LaunchTemplateIamInstanceProfile | None = ...,
        kernel_id: builtins.str = ...,
        ebs_optimized: builtins.bool = ...,
        elastic_gpu_specifications: collections.abc.Iterable[global___LaunchTemplateElasticGpuSpecification] | None = ...,
        elastic_inference_accelerators: collections.abc.Iterable[global___LaunchTemplateLaunchTemplateElasticInferenceAccelerator] | None = ...,
        placement: global___LaunchTemplatePlacement | None = ...,
        network_interfaces: collections.abc.Iterable[global___LaunchTemplateNetworkInterface] | None = ...,
        image_id: builtins.str = ...,
        instance_type: builtins.str = ...,
        monitoring: global___LaunchTemplateMonitoring | None = ...,
        hibernation_options: global___LaunchTemplateHibernationOptions | None = ...,
        metadata_options: global___LaunchTemplateMetadataOptions | None = ...,
        license_specifications: collections.abc.Iterable[global___LaunchTemplateLicenseSpecification] | None = ...,
        instance_initiated_shutdown_behavior: builtins.str = ...,
        cpu_options: global___LaunchTemplateCpuOptions | None = ...,
        security_group_ids: collections.abc.Iterable[builtins.str] | None = ...,
        key_name: builtins.str = ...,
        disable_api_termination: builtins.bool = ...,
        instance_market_options: global___LaunchTemplateInstanceMarketOptions | None = ...,
        ram_disk_id: builtins.str = ...,
        capacity_reservation_specification: global___LaunchTemplateCapacityReservationSpecification | None = ...,
        credit_specification: global___LaunchTemplateCreditSpecification | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["capacity_reservation_specification", b"capacity_reservation_specification", "cpu_options", b"cpu_options", "credit_specification", b"credit_specification", "hibernation_options", b"hibernation_options", "iam_instance_profile", b"iam_instance_profile", "instance_market_options", b"instance_market_options", "metadata_options", b"metadata_options", "monitoring", b"monitoring", "placement", b"placement", "resource_info", b"resource_info"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["block_device_mappings", b"block_device_mappings", "capacity_reservation_specification", b"capacity_reservation_specification", "cpu_options", b"cpu_options", "credit_specification", b"credit_specification", "disable_api_termination", b"disable_api_termination", "ebs_optimized", b"ebs_optimized", "elastic_gpu_specifications", b"elastic_gpu_specifications", "elastic_inference_accelerators", b"elastic_inference_accelerators", "hibernation_options", b"hibernation_options", "iam_instance_profile", b"iam_instance_profile", "image_id", b"image_id", "instance_initiated_shutdown_behavior", b"instance_initiated_shutdown_behavior", "instance_market_options", b"instance_market_options", "instance_type", b"instance_type", "kernel_id", b"kernel_id", "key_name", b"key_name", "license_specifications", b"license_specifications", "metadata_options", b"metadata_options", "monitoring", b"monitoring", "network_interfaces", b"network_interfaces", "placement", b"placement", "ram_disk_id", b"ram_disk_id", "resource_info", b"resource_info", "security_group_ids", b"security_group_ids", "security_groups", b"security_groups", "tag_specifications", b"tag_specifications", "user_data", b"user_data"]) -> None: ...

global___LaunchTemplateLaunchTemplateData = LaunchTemplateLaunchTemplateData

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

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

global___Placement = Placement

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

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

global___LaunchTemplate = LaunchTemplate
