"""
@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 CapacityReservationTagSpecification(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___CapacityReservationTagSpecification = CapacityReservationTagSpecification

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

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    TENANCY_FIELD_NUMBER: builtins.int
    END_DATE_TYPE_FIELD_NUMBER: builtins.int
    INSTANCE_COUNT_FIELD_NUMBER: builtins.int
    TAG_SPECIFICATIONS_FIELD_NUMBER: builtins.int
    AVAILABILITY_ZONE_FIELD_NUMBER: builtins.int
    INSTANCE_PLATFORM_FIELD_NUMBER: builtins.int
    INSTANCE_TYPE_FIELD_NUMBER: builtins.int
    EPHEMERAL_STORAGE_FIELD_NUMBER: builtins.int
    INSTANCE_MATCH_CRITERIA_FIELD_NUMBER: builtins.int
    END_DATE_FIELD_NUMBER: builtins.int
    EBS_OPTIMIZED_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    tenancy: builtins.str
    end_date_type: builtins.str
    instance_count: builtins.int
    @property
    def tag_specifications(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___CapacityReservationTagSpecification]: ...
    availability_zone: builtins.str
    instance_platform: builtins.str
    instance_type: builtins.str
    ephemeral_storage: builtins.bool
    instance_match_criteria: builtins.str
    end_date: builtins.str
    ebs_optimized: builtins.bool
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        tenancy: builtins.str = ...,
        end_date_type: builtins.str = ...,
        instance_count: builtins.int = ...,
        tag_specifications: collections.abc.Iterable[global___CapacityReservationTagSpecification] | None = ...,
        availability_zone: builtins.str = ...,
        instance_platform: builtins.str = ...,
        instance_type: builtins.str = ...,
        ephemeral_storage: builtins.bool = ...,
        instance_match_criteria: builtins.str = ...,
        end_date: builtins.str = ...,
        ebs_optimized: 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["availability_zone", b"availability_zone", "ebs_optimized", b"ebs_optimized", "end_date", b"end_date", "end_date_type", b"end_date_type", "ephemeral_storage", b"ephemeral_storage", "instance_count", b"instance_count", "instance_match_criteria", b"instance_match_criteria", "instance_platform", b"instance_platform", "instance_type", b"instance_type", "resource_info", b"resource_info", "tag_specifications", b"tag_specifications", "tenancy", b"tenancy"]) -> None: ...

global___CapacityReservation = CapacityReservation

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

    CAPACITY_RESERVATION_FIELD_NUMBER: builtins.int
    CLIENT_VPN_AUTHORIZATION_RULE_FIELD_NUMBER: builtins.int
    CLIENT_VPN_ENDPOINT_FIELD_NUMBER: builtins.int
    CLIENT_VPN_ROUTE_FIELD_NUMBER: builtins.int
    CLIENT_VPN_TARGET_NETWORK_ASSOCIATION_FIELD_NUMBER: builtins.int
    CUSTOMER_GATEWAY_FIELD_NUMBER: builtins.int
    E_C2_FLEET_FIELD_NUMBER: builtins.int
    E_IP_FIELD_NUMBER: builtins.int
    E_IP_ASSOCIATION_FIELD_NUMBER: builtins.int
    EGRESS_ONLY_INTERNET_GATEWAY_FIELD_NUMBER: builtins.int
    FLOW_LOG_FIELD_NUMBER: builtins.int
    GATEWAY_ROUTE_TABLE_ASSOCIATION_FIELD_NUMBER: builtins.int
    HOST_FIELD_NUMBER: builtins.int
    INTERNET_GATEWAY_FIELD_NUMBER: builtins.int
    LOCAL_GATEWAY_ROUTE_FIELD_NUMBER: builtins.int
    LOCAL_GATEWAY_ROUTE_TABLE_VPC_ASSOCIATION_FIELD_NUMBER: builtins.int
    NAT_GATEWAY_FIELD_NUMBER: builtins.int
    NETWORK_INTERFACE_FIELD_NUMBER: builtins.int
    NETWORK_INTERFACE_ATTACHMENT_FIELD_NUMBER: builtins.int
    NETWORK_INTERFACE_PERMISSION_FIELD_NUMBER: builtins.int
    PLACEMENT_GROUP_FIELD_NUMBER: builtins.int
    PREFIX_LIST_FIELD_NUMBER: builtins.int
    SPOT_FLEET_FIELD_NUMBER: builtins.int
    TRAFFIC_MIRROR_FILTER_FIELD_NUMBER: builtins.int
    TRAFFIC_MIRROR_FILTER_RULE_FIELD_NUMBER: builtins.int
    TRAFFIC_MIRROR_SESSION_FIELD_NUMBER: builtins.int
    TRAFFIC_MIRROR_TARGET_FIELD_NUMBER: builtins.int
    TRANSIT_GATEWAY_FIELD_NUMBER: builtins.int
    TRANSIT_GATEWAY_ATTACHMENT_FIELD_NUMBER: builtins.int
    TRANSIT_GATEWAY_ROUTE_FIELD_NUMBER: builtins.int
    TRANSIT_GATEWAY_ROUTE_TABLE_FIELD_NUMBER: builtins.int
    TRANSIT_GATEWAY_ROUTE_TABLE_ASSOCIATION_FIELD_NUMBER: builtins.int
    TRANSIT_GATEWAY_ROUTE_TABLE_PROPAGATION_FIELD_NUMBER: builtins.int
    VPC_GATEWAY_ATTACHMENT_FIELD_NUMBER: builtins.int
    VPN_CONNECTION_FIELD_NUMBER: builtins.int
    VPN_CONNECTION_ROUTE_FIELD_NUMBER: builtins.int
    VPN_GATEWAY_FIELD_NUMBER: builtins.int
    VPN_GATEWAY_ROUTE_PROPAGATION_FIELD_NUMBER: builtins.int
    VOLUME_FIELD_NUMBER: builtins.int
    VOLUME_ATTACHMENT_FIELD_NUMBER: builtins.int
    INSTANCE_ASSOCIATION_PARAMETER_FIELD_NUMBER: builtins.int
    INSTANCE_BLOCK_DEVICE_MAPPING_FIELD_NUMBER: builtins.int
    INSTANCE_CPU_OPTIONS_FIELD_NUMBER: builtins.int
    INSTANCE_CREDIT_SPECIFICATION_FIELD_NUMBER: builtins.int
    INSTANCE_ELASTIC_GPU_SPECIFICATION_FIELD_NUMBER: builtins.int
    INSTANCE_ELASTIC_INFERENCE_ACCELERATOR_FIELD_NUMBER: builtins.int
    INSTANCE_HIBERNATION_OPTIONS_FIELD_NUMBER: builtins.int
    INSTANCE_INSTANCE_IPV6_ADDRESS_FIELD_NUMBER: builtins.int
    INSTANCE_LAUNCH_TEMPLATE_SPECIFICATION_FIELD_NUMBER: builtins.int
    INSTANCE_LICENSE_SPECIFICATION_FIELD_NUMBER: builtins.int
    INSTANCE_NETWORK_INTERFACE_FIELD_NUMBER: builtins.int
    INSTANCE_SSM_ASSOCIATION_FIELD_NUMBER: builtins.int
    INSTANCE_VOLUME_FIELD_NUMBER: builtins.int
    LAUNCH_TEMPLATE_BLOCK_DEVICE_MAPPING_FIELD_NUMBER: builtins.int
    LAUNCH_TEMPLATE_CAPACITY_RESERVATION_SPECIFICATION_FIELD_NUMBER: builtins.int
    LAUNCH_TEMPLATE_CPU_OPTIONS_FIELD_NUMBER: builtins.int
    LAUNCH_TEMPLATE_CREDIT_SPECIFICATION_FIELD_NUMBER: builtins.int
    LAUNCH_TEMPLATE_ELASTIC_GPU_SPECIFICATION_FIELD_NUMBER: builtins.int
    LAUNCH_TEMPLATE_HIBERNATION_OPTIONS_FIELD_NUMBER: builtins.int
    LAUNCH_TEMPLATE_IAM_INSTANCE_PROFILE_FIELD_NUMBER: builtins.int
    LAUNCH_TEMPLATE_INSTANCE_MARKET_OPTIONS_FIELD_NUMBER: builtins.int
    LAUNCH_TEMPLATE_IPV6_ADD_FIELD_NUMBER: builtins.int
    LAUNCH_TEMPLATE_LAUNCH_TEMPLATE_DATA_FIELD_NUMBER: builtins.int
    NETWORK_ACL_ENTRY_ICMP_FIELD_NUMBER: builtins.int
    NETWORK_ACL_ENTRY_PORT_RANGE_FIELD_NUMBER: builtins.int
    SECURITY_GROUP_EGRESS_FIELD_NUMBER: builtins.int
    SECURITY_GROUP_INGRESS_FIELD_NUMBER: builtins.int
    @property
    def capacity_reservation(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___CapacityReservation]: ...
    @property
    def client_vpn_authorization_rule(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ClientVpnAuthorizationRule]: ...
    @property
    def client_vpn_endpoint(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ClientVpnEndpoint]: ...
    @property
    def client_vpn_route(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ClientVpnRoute]: ...
    @property
    def client_vpn_target_network_association(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ClientVpnTargetNetworkAssociation]: ...
    @property
    def customer_gateway(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___CustomerGateway]: ...
    @property
    def e_c2_fleet(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___EC2Fleet]: ...
    @property
    def e_ip(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___EIP]: ...
    @property
    def e_ip_association(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___EIPAssociation]: ...
    @property
    def egress_only_internet_gateway(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___EgressOnlyInternetGateway]: ...
    @property
    def flow_log(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___FlowLog]: ...
    @property
    def gateway_route_table_association(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___GatewayRouteTableAssociation]: ...
    @property
    def host(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Host]: ...
    @property
    def internet_gateway(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___InternetGateway]: ...
    @property
    def local_gateway_route(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___LocalGatewayRoute]: ...
    @property
    def local_gateway_route_table_vpc_association(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___LocalGatewayRouteTableVPCAssociation]: ...
    @property
    def nat_gateway(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___NatGateway]: ...
    @property
    def network_interface(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___NetworkInterface]: ...
    @property
    def network_interface_attachment(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___NetworkInterfaceAttachment]: ...
    @property
    def network_interface_permission(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___NetworkInterfacePermission]: ...
    @property
    def placement_group(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___PlacementGroup]: ...
    @property
    def prefix_list(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___PrefixList]: ...
    @property
    def spot_fleet(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___SpotFleet]: ...
    @property
    def traffic_mirror_filter(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___TrafficMirrorFilter]: ...
    @property
    def traffic_mirror_filter_rule(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___TrafficMirrorFilterRule]: ...
    @property
    def traffic_mirror_session(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___TrafficMirrorSession]: ...
    @property
    def traffic_mirror_target(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___TrafficMirrorTarget]: ...
    @property
    def transit_gateway(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___TransitGateway]: ...
    @property
    def transit_gateway_attachment(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___TransitGatewayAttachment]: ...
    @property
    def transit_gateway_route(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___TransitGatewayRoute]: ...
    @property
    def transit_gateway_route_table(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___TransitGatewayRouteTable]: ...
    @property
    def transit_gateway_route_table_association(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___TransitGatewayRouteTableAssociation]: ...
    @property
    def transit_gateway_route_table_propagation(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___TransitGatewayRouteTablePropagation]: ...
    @property
    def vpc_gateway_attachment(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___VPCGatewayAttachment]: ...
    @property
    def vpn_connection(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___VPNConnection]: ...
    @property
    def vpn_connection_route(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___VPNConnectionRoute]: ...
    @property
    def vpn_gateway(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___VPNGateway]: ...
    @property
    def vpn_gateway_route_propagation(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___VPNGatewayRoutePropagation]: ...
    @property
    def volume(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Volume]: ...
    @property
    def volume_attachment(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___VolumeAttachment]: ...
    @property
    def instance_association_parameter(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___InstanceAssociationParameter]: ...
    @property
    def instance_block_device_mapping(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___InstanceBlockDeviceMapping]: ...
    @property
    def instance_cpu_options(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___InstanceCpuOptions]: ...
    @property
    def instance_credit_specification(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___InstanceCreditSpecification]: ...
    @property
    def instance_elastic_gpu_specification(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___InstanceElasticGpuSpecification]: ...
    @property
    def instance_elastic_inference_accelerator(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___InstanceElasticInferenceAccelerator]: ...
    @property
    def instance_hibernation_options(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___InstanceHibernationOptions]: ...
    @property
    def instance_instance_ipv6_address(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___InstanceInstanceIpv6Address]: ...
    @property
    def instance_launch_template_specification(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___InstanceLaunchTemplateSpecification]: ...
    @property
    def instance_license_specification(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___InstanceLicenseSpecification]: ...
    @property
    def instance_network_interface(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___InstanceNetworkInterface]: ...
    @property
    def instance_ssm_association(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___InstanceSsmAssociation]: ...
    @property
    def instance_volume(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___InstanceVolume]: ...
    @property
    def launch_template_block_device_mapping(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___LaunchTemplateBlockDeviceMapping]: ...
    @property
    def launch_template_capacity_reservation_specification(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___LaunchTemplateCapacityReservationSpecification]: ...
    @property
    def launch_template_cpu_options(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___LaunchTemplateCpuOptions]: ...
    @property
    def launch_template_credit_specification(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___LaunchTemplateCreditSpecification]: ...
    @property
    def launch_template_elastic_gpu_specification(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___LaunchTemplateElasticGpuSpecification]: ...
    @property
    def launch_template_hibernation_options(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___LaunchTemplateHibernationOptions]: ...
    @property
    def launch_template_iam_instance_profile(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___LaunchTemplateIamInstanceProfile]: ...
    @property
    def launch_template_instance_market_options(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___LaunchTemplateInstanceMarketOptions]: ...
    @property
    def launch_template_ipv6_add(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___LaunchTemplateIpv6Add]: ...
    @property
    def launch_template_launch_template_data(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___LaunchTemplateLaunchTemplateData]: ...
    @property
    def network_acl_entry_icmp(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___NetworkAclEntryIcmp]: ...
    @property
    def network_acl_entry_port_range(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___NetworkAclEntryPortRange]: ...
    @property
    def security_group_egress(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___SecurityGroupEgress]: ...
    @property
    def security_group_ingress(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___SecurityGroupIngress]: ...
    def __init__(
        self,
        *,
        capacity_reservation: collections.abc.Iterable[global___CapacityReservation] | None = ...,
        client_vpn_authorization_rule: collections.abc.Iterable[global___ClientVpnAuthorizationRule] | None = ...,
        client_vpn_endpoint: collections.abc.Iterable[global___ClientVpnEndpoint] | None = ...,
        client_vpn_route: collections.abc.Iterable[global___ClientVpnRoute] | None = ...,
        client_vpn_target_network_association: collections.abc.Iterable[global___ClientVpnTargetNetworkAssociation] | None = ...,
        customer_gateway: collections.abc.Iterable[global___CustomerGateway] | None = ...,
        e_c2_fleet: collections.abc.Iterable[global___EC2Fleet] | None = ...,
        e_ip: collections.abc.Iterable[global___EIP] | None = ...,
        e_ip_association: collections.abc.Iterable[global___EIPAssociation] | None = ...,
        egress_only_internet_gateway: collections.abc.Iterable[global___EgressOnlyInternetGateway] | None = ...,
        flow_log: collections.abc.Iterable[global___FlowLog] | None = ...,
        gateway_route_table_association: collections.abc.Iterable[global___GatewayRouteTableAssociation] | None = ...,
        host: collections.abc.Iterable[global___Host] | None = ...,
        internet_gateway: collections.abc.Iterable[global___InternetGateway] | None = ...,
        local_gateway_route: collections.abc.Iterable[global___LocalGatewayRoute] | None = ...,
        local_gateway_route_table_vpc_association: collections.abc.Iterable[global___LocalGatewayRouteTableVPCAssociation] | None = ...,
        nat_gateway: collections.abc.Iterable[global___NatGateway] | None = ...,
        network_interface: collections.abc.Iterable[global___NetworkInterface] | None = ...,
        network_interface_attachment: collections.abc.Iterable[global___NetworkInterfaceAttachment] | None = ...,
        network_interface_permission: collections.abc.Iterable[global___NetworkInterfacePermission] | None = ...,
        placement_group: collections.abc.Iterable[global___PlacementGroup] | None = ...,
        prefix_list: collections.abc.Iterable[global___PrefixList] | None = ...,
        spot_fleet: collections.abc.Iterable[global___SpotFleet] | None = ...,
        traffic_mirror_filter: collections.abc.Iterable[global___TrafficMirrorFilter] | None = ...,
        traffic_mirror_filter_rule: collections.abc.Iterable[global___TrafficMirrorFilterRule] | None = ...,
        traffic_mirror_session: collections.abc.Iterable[global___TrafficMirrorSession] | None = ...,
        traffic_mirror_target: collections.abc.Iterable[global___TrafficMirrorTarget] | None = ...,
        transit_gateway: collections.abc.Iterable[global___TransitGateway] | None = ...,
        transit_gateway_attachment: collections.abc.Iterable[global___TransitGatewayAttachment] | None = ...,
        transit_gateway_route: collections.abc.Iterable[global___TransitGatewayRoute] | None = ...,
        transit_gateway_route_table: collections.abc.Iterable[global___TransitGatewayRouteTable] | None = ...,
        transit_gateway_route_table_association: collections.abc.Iterable[global___TransitGatewayRouteTableAssociation] | None = ...,
        transit_gateway_route_table_propagation: collections.abc.Iterable[global___TransitGatewayRouteTablePropagation] | None = ...,
        vpc_gateway_attachment: collections.abc.Iterable[global___VPCGatewayAttachment] | None = ...,
        vpn_connection: collections.abc.Iterable[global___VPNConnection] | None = ...,
        vpn_connection_route: collections.abc.Iterable[global___VPNConnectionRoute] | None = ...,
        vpn_gateway: collections.abc.Iterable[global___VPNGateway] | None = ...,
        vpn_gateway_route_propagation: collections.abc.Iterable[global___VPNGatewayRoutePropagation] | None = ...,
        volume: collections.abc.Iterable[global___Volume] | None = ...,
        volume_attachment: collections.abc.Iterable[global___VolumeAttachment] | None = ...,
        instance_association_parameter: collections.abc.Iterable[global___InstanceAssociationParameter] | None = ...,
        instance_block_device_mapping: collections.abc.Iterable[global___InstanceBlockDeviceMapping] | None = ...,
        instance_cpu_options: collections.abc.Iterable[global___InstanceCpuOptions] | None = ...,
        instance_credit_specification: collections.abc.Iterable[global___InstanceCreditSpecification] | None = ...,
        instance_elastic_gpu_specification: collections.abc.Iterable[global___InstanceElasticGpuSpecification] | None = ...,
        instance_elastic_inference_accelerator: collections.abc.Iterable[global___InstanceElasticInferenceAccelerator] | None = ...,
        instance_hibernation_options: collections.abc.Iterable[global___InstanceHibernationOptions] | None = ...,
        instance_instance_ipv6_address: collections.abc.Iterable[global___InstanceInstanceIpv6Address] | None = ...,
        instance_launch_template_specification: collections.abc.Iterable[global___InstanceLaunchTemplateSpecification] | None = ...,
        instance_license_specification: collections.abc.Iterable[global___InstanceLicenseSpecification] | None = ...,
        instance_network_interface: collections.abc.Iterable[global___InstanceNetworkInterface] | None = ...,
        instance_ssm_association: collections.abc.Iterable[global___InstanceSsmAssociation] | None = ...,
        instance_volume: collections.abc.Iterable[global___InstanceVolume] | None = ...,
        launch_template_block_device_mapping: collections.abc.Iterable[global___LaunchTemplateBlockDeviceMapping] | None = ...,
        launch_template_capacity_reservation_specification: collections.abc.Iterable[global___LaunchTemplateCapacityReservationSpecification] | None = ...,
        launch_template_cpu_options: collections.abc.Iterable[global___LaunchTemplateCpuOptions] | None = ...,
        launch_template_credit_specification: collections.abc.Iterable[global___LaunchTemplateCreditSpecification] | None = ...,
        launch_template_elastic_gpu_specification: collections.abc.Iterable[global___LaunchTemplateElasticGpuSpecification] | None = ...,
        launch_template_hibernation_options: collections.abc.Iterable[global___LaunchTemplateHibernationOptions] | None = ...,
        launch_template_iam_instance_profile: collections.abc.Iterable[global___LaunchTemplateIamInstanceProfile] | None = ...,
        launch_template_instance_market_options: collections.abc.Iterable[global___LaunchTemplateInstanceMarketOptions] | None = ...,
        launch_template_ipv6_add: collections.abc.Iterable[global___LaunchTemplateIpv6Add] | None = ...,
        launch_template_launch_template_data: collections.abc.Iterable[global___LaunchTemplateLaunchTemplateData] | None = ...,
        network_acl_entry_icmp: collections.abc.Iterable[global___NetworkAclEntryIcmp] | None = ...,
        network_acl_entry_port_range: collections.abc.Iterable[global___NetworkAclEntryPortRange] | None = ...,
        security_group_egress: collections.abc.Iterable[global___SecurityGroupEgress] | None = ...,
        security_group_ingress: collections.abc.Iterable[global___SecurityGroupIngress] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["capacity_reservation", b"capacity_reservation", "client_vpn_authorization_rule", b"client_vpn_authorization_rule", "client_vpn_endpoint", b"client_vpn_endpoint", "client_vpn_route", b"client_vpn_route", "client_vpn_target_network_association", b"client_vpn_target_network_association", "customer_gateway", b"customer_gateway", "e_c2_fleet", b"e_c2_fleet", "e_ip", b"e_ip", "e_ip_association", b"e_ip_association", "egress_only_internet_gateway", b"egress_only_internet_gateway", "flow_log", b"flow_log", "gateway_route_table_association", b"gateway_route_table_association", "host", b"host", "instance_association_parameter", b"instance_association_parameter", "instance_block_device_mapping", b"instance_block_device_mapping", "instance_cpu_options", b"instance_cpu_options", "instance_credit_specification", b"instance_credit_specification", "instance_elastic_gpu_specification", b"instance_elastic_gpu_specification", "instance_elastic_inference_accelerator", b"instance_elastic_inference_accelerator", "instance_hibernation_options", b"instance_hibernation_options", "instance_instance_ipv6_address", b"instance_instance_ipv6_address", "instance_launch_template_specification", b"instance_launch_template_specification", "instance_license_specification", b"instance_license_specification", "instance_network_interface", b"instance_network_interface", "instance_ssm_association", b"instance_ssm_association", "instance_volume", b"instance_volume", "internet_gateway", b"internet_gateway", "launch_template_block_device_mapping", b"launch_template_block_device_mapping", "launch_template_capacity_reservation_specification", b"launch_template_capacity_reservation_specification", "launch_template_cpu_options", b"launch_template_cpu_options", "launch_template_credit_specification", b"launch_template_credit_specification", "launch_template_elastic_gpu_specification", b"launch_template_elastic_gpu_specification", "launch_template_hibernation_options", b"launch_template_hibernation_options", "launch_template_iam_instance_profile", b"launch_template_iam_instance_profile", "launch_template_instance_market_options", b"launch_template_instance_market_options", "launch_template_ipv6_add", b"launch_template_ipv6_add", "launch_template_launch_template_data", b"launch_template_launch_template_data", "local_gateway_route", b"local_gateway_route", "local_gateway_route_table_vpc_association", b"local_gateway_route_table_vpc_association", "nat_gateway", b"nat_gateway", "network_acl_entry_icmp", b"network_acl_entry_icmp", "network_acl_entry_port_range", b"network_acl_entry_port_range", "network_interface", b"network_interface", "network_interface_attachment", b"network_interface_attachment", "network_interface_permission", b"network_interface_permission", "placement_group", b"placement_group", "prefix_list", b"prefix_list", "security_group_egress", b"security_group_egress", "security_group_ingress", b"security_group_ingress", "spot_fleet", b"spot_fleet", "traffic_mirror_filter", b"traffic_mirror_filter", "traffic_mirror_filter_rule", b"traffic_mirror_filter_rule", "traffic_mirror_session", b"traffic_mirror_session", "traffic_mirror_target", b"traffic_mirror_target", "transit_gateway", b"transit_gateway", "transit_gateway_attachment", b"transit_gateway_attachment", "transit_gateway_route", b"transit_gateway_route", "transit_gateway_route_table", b"transit_gateway_route_table", "transit_gateway_route_table_association", b"transit_gateway_route_table_association", "transit_gateway_route_table_propagation", b"transit_gateway_route_table_propagation", "volume", b"volume", "volume_attachment", b"volume_attachment", "vpc_gateway_attachment", b"vpc_gateway_attachment", "vpn_connection", b"vpn_connection", "vpn_connection_route", b"vpn_connection_route", "vpn_gateway", b"vpn_gateway", "vpn_gateway_route_propagation", b"vpn_gateway_route_propagation"]) -> None: ...

global___EC2 = EC2

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

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    CLIENT_VPN_ENDPOINT_ID_FIELD_NUMBER: builtins.int
    DESCRIPTION_FIELD_NUMBER: builtins.int
    ACCESS_GROUP_ID_FIELD_NUMBER: builtins.int
    TARGET_NETWORK_CIDR_FIELD_NUMBER: builtins.int
    AUTHORIZE_ALL_GROUPS_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    client_vpn_endpoint_id: builtins.str
    description: builtins.str
    access_group_id: builtins.str
    target_network_cidr: builtins.str
    authorize_all_groups: builtins.bool
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        client_vpn_endpoint_id: builtins.str = ...,
        description: builtins.str = ...,
        access_group_id: builtins.str = ...,
        target_network_cidr: builtins.str = ...,
        authorize_all_groups: 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["access_group_id", b"access_group_id", "authorize_all_groups", b"authorize_all_groups", "client_vpn_endpoint_id", b"client_vpn_endpoint_id", "description", b"description", "resource_info", b"resource_info", "target_network_cidr", b"target_network_cidr"]) -> None: ...

global___ClientVpnAuthorizationRule = ClientVpnAuthorizationRule

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

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    CLOUDWATCH_LOG_STREAM_FIELD_NUMBER: builtins.int
    ENABLED_FIELD_NUMBER: builtins.int
    CLOUDWATCH_LOG_GROUP_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    cloudwatch_log_stream: builtins.str
    enabled: builtins.bool
    cloudwatch_log_group: builtins.str
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        cloudwatch_log_stream: builtins.str = ...,
        enabled: builtins.bool = ...,
        cloudwatch_log_group: 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["cloudwatch_log_group", b"cloudwatch_log_group", "cloudwatch_log_stream", b"cloudwatch_log_stream", "enabled", b"enabled", "resource_info", b"resource_info"]) -> None: ...

global___ClientVpnEndpointConnectionLogOptions = ClientVpnEndpointConnectionLogOptions

@typing_extensions.final
class ClientVpnEndpointTagSpecification(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___ClientVpnEndpointTagSpecification = ClientVpnEndpointTagSpecification

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

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

global___ClientVpnEndpointCertificateAuthenticationRequest = ClientVpnEndpointCertificateAuthenticationRequest

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

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

global___ClientVpnEndpointFederatedAuthenticationRequest = ClientVpnEndpointFederatedAuthenticationRequest

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

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

global___ClientVpnEndpointDirectoryServiceAuthenticationRequest = ClientVpnEndpointDirectoryServiceAuthenticationRequest

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

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    MUTUAL_AUTHENTICATION_FIELD_NUMBER: builtins.int
    FEDERATED_AUTHENTICATION_FIELD_NUMBER: builtins.int
    ACTIVE_DIRECTORY_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    @property
    def mutual_authentication(self) -> global___ClientVpnEndpointCertificateAuthenticationRequest: ...
    @property
    def federated_authentication(self) -> global___ClientVpnEndpointFederatedAuthenticationRequest: ...
    @property
    def active_directory(self) -> global___ClientVpnEndpointDirectoryServiceAuthenticationRequest: ...
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        mutual_authentication: global___ClientVpnEndpointCertificateAuthenticationRequest | None = ...,
        federated_authentication: global___ClientVpnEndpointFederatedAuthenticationRequest | None = ...,
        active_directory: global___ClientVpnEndpointDirectoryServiceAuthenticationRequest | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["active_directory", b"active_directory", "federated_authentication", b"federated_authentication", "mutual_authentication", b"mutual_authentication", "resource_info", b"resource_info"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["active_directory", b"active_directory", "federated_authentication", b"federated_authentication", "mutual_authentication", b"mutual_authentication", "resource_info", b"resource_info"]) -> None: ...

global___ClientVpnEndpointClientAuthenticationRequest = ClientVpnEndpointClientAuthenticationRequest

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

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    CLIENT_CIDR_BLOCK_FIELD_NUMBER: builtins.int
    CONNECTION_LOG_OPTIONS_FIELD_NUMBER: builtins.int
    SPLIT_TUNNEL_FIELD_NUMBER: builtins.int
    DESCRIPTION_FIELD_NUMBER: builtins.int
    TAG_SPECIFICATIONS_FIELD_NUMBER: builtins.int
    VPC_ID_FIELD_NUMBER: builtins.int
    AUTHENTICATION_OPTIONS_FIELD_NUMBER: builtins.int
    SERVER_CERTIFICATE_ARN_FIELD_NUMBER: builtins.int
    DNS_SERVERS_FIELD_NUMBER: builtins.int
    TRANSPORT_PROTOCOL_FIELD_NUMBER: builtins.int
    SECURITY_GROUP_IDS_FIELD_NUMBER: builtins.int
    VPN_PORT_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    client_cidr_block: builtins.str
    @property
    def connection_log_options(self) -> global___ClientVpnEndpointConnectionLogOptions: ...
    split_tunnel: builtins.bool
    description: builtins.str
    @property
    def tag_specifications(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ClientVpnEndpointTagSpecification]: ...
    vpc_id: builtins.str
    @property
    def authentication_options(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ClientVpnEndpointClientAuthenticationRequest]: ...
    server_certificate_arn: builtins.str
    @property
    def dns_servers(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    transport_protocol: builtins.str
    @property
    def security_group_ids(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    vpn_port: builtins.int
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        client_cidr_block: builtins.str = ...,
        connection_log_options: global___ClientVpnEndpointConnectionLogOptions | None = ...,
        split_tunnel: builtins.bool = ...,
        description: builtins.str = ...,
        tag_specifications: collections.abc.Iterable[global___ClientVpnEndpointTagSpecification] | None = ...,
        vpc_id: builtins.str = ...,
        authentication_options: collections.abc.Iterable[global___ClientVpnEndpointClientAuthenticationRequest] | None = ...,
        server_certificate_arn: builtins.str = ...,
        dns_servers: collections.abc.Iterable[builtins.str] | None = ...,
        transport_protocol: builtins.str = ...,
        security_group_ids: collections.abc.Iterable[builtins.str] | None = ...,
        vpn_port: builtins.int = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["connection_log_options", b"connection_log_options", "resource_info", b"resource_info"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["authentication_options", b"authentication_options", "client_cidr_block", b"client_cidr_block", "connection_log_options", b"connection_log_options", "description", b"description", "dns_servers", b"dns_servers", "resource_info", b"resource_info", "security_group_ids", b"security_group_ids", "server_certificate_arn", b"server_certificate_arn", "split_tunnel", b"split_tunnel", "tag_specifications", b"tag_specifications", "transport_protocol", b"transport_protocol", "vpc_id", b"vpc_id", "vpn_port", b"vpn_port"]) -> None: ...

global___ClientVpnEndpoint = ClientVpnEndpoint

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

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    CLIENT_VPN_ENDPOINT_ID_FIELD_NUMBER: builtins.int
    TARGET_VPC_SUBNET_ID_FIELD_NUMBER: builtins.int
    DESCRIPTION_FIELD_NUMBER: builtins.int
    DESTINATION_CIDR_BLOCK_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    client_vpn_endpoint_id: builtins.str
    target_vpc_subnet_id: builtins.str
    description: builtins.str
    destination_cidr_block: builtins.str
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        client_vpn_endpoint_id: builtins.str = ...,
        target_vpc_subnet_id: builtins.str = ...,
        description: builtins.str = ...,
        destination_cidr_block: 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["client_vpn_endpoint_id", b"client_vpn_endpoint_id", "description", b"description", "destination_cidr_block", b"destination_cidr_block", "resource_info", b"resource_info", "target_vpc_subnet_id", b"target_vpc_subnet_id"]) -> None: ...

global___ClientVpnRoute = ClientVpnRoute

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

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

global___ClientVpnTargetNetworkAssociation = ClientVpnTargetNetworkAssociation

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

global___CustomerGateway = CustomerGateway

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

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    DEFAULT_TARGET_CAPACITY_TYPE_FIELD_NUMBER: builtins.int
    TOTAL_TARGET_CAPACITY_FIELD_NUMBER: builtins.int
    ON_DEMAND_TARGET_CAPACITY_FIELD_NUMBER: builtins.int
    SPOT_TARGET_CAPACITY_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    default_target_capacity_type: builtins.str
    total_target_capacity: builtins.int
    on_demand_target_capacity: builtins.int
    spot_target_capacity: builtins.int
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        default_target_capacity_type: builtins.str = ...,
        total_target_capacity: builtins.int = ...,
        on_demand_target_capacity: builtins.int = ...,
        spot_target_capacity: 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["default_target_capacity_type", b"default_target_capacity_type", "on_demand_target_capacity", b"on_demand_target_capacity", "resource_info", b"resource_info", "spot_target_capacity", b"spot_target_capacity", "total_target_capacity", b"total_target_capacity"]) -> None: ...

global___EC2FleetTargetCapacitySpecificationRequest = EC2FleetTargetCapacitySpecificationRequest

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

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

global___EC2FleetCapacityReservationOptionsRequest = EC2FleetCapacityReservationOptionsRequest

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

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    SINGLE_AVAILABILITY_ZONE_FIELD_NUMBER: builtins.int
    ALLOCATION_STRATEGY_FIELD_NUMBER: builtins.int
    SINGLE_INSTANCE_TYPE_FIELD_NUMBER: builtins.int
    MIN_TARGET_CAPACITY_FIELD_NUMBER: builtins.int
    MAX_TOTAL_PRICE_FIELD_NUMBER: builtins.int
    CAPACITY_RESERVATION_OPTIONS_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    single_availability_zone: builtins.bool
    allocation_strategy: builtins.str
    single_instance_type: builtins.bool
    min_target_capacity: builtins.int
    max_total_price: builtins.str
    @property
    def capacity_reservation_options(self) -> global___EC2FleetCapacityReservationOptionsRequest: ...
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        single_availability_zone: builtins.bool = ...,
        allocation_strategy: builtins.str = ...,
        single_instance_type: builtins.bool = ...,
        min_target_capacity: builtins.int = ...,
        max_total_price: builtins.str = ...,
        capacity_reservation_options: global___EC2FleetCapacityReservationOptionsRequest | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["capacity_reservation_options", b"capacity_reservation_options", "resource_info", b"resource_info"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["allocation_strategy", b"allocation_strategy", "capacity_reservation_options", b"capacity_reservation_options", "max_total_price", b"max_total_price", "min_target_capacity", b"min_target_capacity", "resource_info", b"resource_info", "single_availability_zone", b"single_availability_zone", "single_instance_type", b"single_instance_type"]) -> None: ...

global___EC2FleetOnDemandOptionsRequest = EC2FleetOnDemandOptionsRequest

@typing_extensions.final
class EC2FleetTagSpecification(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___EC2FleetTagSpecification = EC2FleetTagSpecification

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

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    SINGLE_AVAILABILITY_ZONE_FIELD_NUMBER: builtins.int
    ALLOCATION_STRATEGY_FIELD_NUMBER: builtins.int
    SINGLE_INSTANCE_TYPE_FIELD_NUMBER: builtins.int
    MIN_TARGET_CAPACITY_FIELD_NUMBER: builtins.int
    MAX_TOTAL_PRICE_FIELD_NUMBER: builtins.int
    INSTANCE_INTERRUPTION_BEHAVIOR_FIELD_NUMBER: builtins.int
    INSTANCE_POOLS_TO_USE_COUNT_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    single_availability_zone: builtins.bool
    allocation_strategy: builtins.str
    single_instance_type: builtins.bool
    min_target_capacity: builtins.int
    max_total_price: builtins.str
    instance_interruption_behavior: builtins.str
    instance_pools_to_use_count: builtins.int
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        single_availability_zone: builtins.bool = ...,
        allocation_strategy: builtins.str = ...,
        single_instance_type: builtins.bool = ...,
        min_target_capacity: builtins.int = ...,
        max_total_price: builtins.str = ...,
        instance_interruption_behavior: builtins.str = ...,
        instance_pools_to_use_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["allocation_strategy", b"allocation_strategy", "instance_interruption_behavior", b"instance_interruption_behavior", "instance_pools_to_use_count", b"instance_pools_to_use_count", "max_total_price", b"max_total_price", "min_target_capacity", b"min_target_capacity", "resource_info", b"resource_info", "single_availability_zone", b"single_availability_zone", "single_instance_type", b"single_instance_type"]) -> None: ...

global___EC2FleetSpotOptionsRequest = EC2FleetSpotOptionsRequest

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

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

global___EC2FleetFleetLaunchTemplateSpecificationRequest = EC2FleetFleetLaunchTemplateSpecificationRequest

@typing_extensions.final
class EC2FleetPlacement(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___EC2FleetPlacement = EC2FleetPlacement

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

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    WEIGHTED_CAPACITY_FIELD_NUMBER: builtins.int
    PLACEMENT_FIELD_NUMBER: builtins.int
    PRIORITY_FIELD_NUMBER: builtins.int
    AVAILABILITY_ZONE_FIELD_NUMBER: builtins.int
    SUBNET_ID_FIELD_NUMBER: builtins.int
    INSTANCE_TYPE_FIELD_NUMBER: builtins.int
    MAX_PRICE_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    weighted_capacity: builtins.float
    @property
    def placement(self) -> global___EC2FleetPlacement: ...
    priority: builtins.float
    availability_zone: builtins.str
    subnet_id: builtins.str
    instance_type: builtins.str
    max_price: builtins.str
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        weighted_capacity: builtins.float = ...,
        placement: global___EC2FleetPlacement | None = ...,
        priority: builtins.float = ...,
        availability_zone: builtins.str = ...,
        subnet_id: builtins.str = ...,
        instance_type: builtins.str = ...,
        max_price: builtins.str = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["placement", b"placement", "resource_info", b"resource_info"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["availability_zone", b"availability_zone", "instance_type", b"instance_type", "max_price", b"max_price", "placement", b"placement", "priority", b"priority", "resource_info", b"resource_info", "subnet_id", b"subnet_id", "weighted_capacity", b"weighted_capacity"]) -> None: ...

global___EC2FleetFleetLaunchTemplateOverridesRequest = EC2FleetFleetLaunchTemplateOverridesRequest

@typing_extensions.final
class EC2FleetFleetLaunchTemplateConfigRequest(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___EC2FleetFleetLaunchTemplateSpecificationRequest: ...
    @property
    def overrides(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___EC2FleetFleetLaunchTemplateOverridesRequest]: ...
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        launch_template_specification: global___EC2FleetFleetLaunchTemplateSpecificationRequest | None = ...,
        overrides: collections.abc.Iterable[global___EC2FleetFleetLaunchTemplateOverridesRequest] | 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___EC2FleetFleetLaunchTemplateConfigRequest = EC2FleetFleetLaunchTemplateConfigRequest

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

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    TARGET_CAPACITY_SPECIFICATION_FIELD_NUMBER: builtins.int
    ON_DEMAND_OPTIONS_FIELD_NUMBER: builtins.int
    TYPE_FIELD_NUMBER: builtins.int
    EXCESS_CAPACITY_TERMINATION_POLICY_FIELD_NUMBER: builtins.int
    TAG_SPECIFICATIONS_FIELD_NUMBER: builtins.int
    SPOT_OPTIONS_FIELD_NUMBER: builtins.int
    VALID_FROM_FIELD_NUMBER: builtins.int
    REPLACE_UNHEALTHY_INSTANCES_FIELD_NUMBER: builtins.int
    LAUNCH_TEMPLATE_CONFIGS_FIELD_NUMBER: builtins.int
    TERMINATE_INSTANCES_WITH_EXPIRATION_FIELD_NUMBER: builtins.int
    VALID_UNTIL_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    @property
    def target_capacity_specification(self) -> global___EC2FleetTargetCapacitySpecificationRequest: ...
    @property
    def on_demand_options(self) -> global___EC2FleetOnDemandOptionsRequest: ...
    type: builtins.str
    excess_capacity_termination_policy: builtins.str
    @property
    def tag_specifications(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___EC2FleetTagSpecification]: ...
    @property
    def spot_options(self) -> global___EC2FleetSpotOptionsRequest: ...
    valid_from: builtins.str
    replace_unhealthy_instances: builtins.bool
    @property
    def launch_template_configs(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___EC2FleetFleetLaunchTemplateConfigRequest]: ...
    terminate_instances_with_expiration: builtins.bool
    valid_until: builtins.str
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        target_capacity_specification: global___EC2FleetTargetCapacitySpecificationRequest | None = ...,
        on_demand_options: global___EC2FleetOnDemandOptionsRequest | None = ...,
        type: builtins.str = ...,
        excess_capacity_termination_policy: builtins.str = ...,
        tag_specifications: collections.abc.Iterable[global___EC2FleetTagSpecification] | None = ...,
        spot_options: global___EC2FleetSpotOptionsRequest | None = ...,
        valid_from: builtins.str = ...,
        replace_unhealthy_instances: builtins.bool = ...,
        launch_template_configs: collections.abc.Iterable[global___EC2FleetFleetLaunchTemplateConfigRequest] | None = ...,
        terminate_instances_with_expiration: builtins.bool = ...,
        valid_until: builtins.str = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["on_demand_options", b"on_demand_options", "resource_info", b"resource_info", "spot_options", b"spot_options", "target_capacity_specification", b"target_capacity_specification"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["excess_capacity_termination_policy", b"excess_capacity_termination_policy", "launch_template_configs", b"launch_template_configs", "on_demand_options", b"on_demand_options", "replace_unhealthy_instances", b"replace_unhealthy_instances", "resource_info", b"resource_info", "spot_options", b"spot_options", "tag_specifications", b"tag_specifications", "target_capacity_specification", b"target_capacity_specification", "terminate_instances_with_expiration", b"terminate_instances_with_expiration", "type", b"type", "valid_from", b"valid_from", "valid_until", b"valid_until"]) -> None: ...

global___EC2Fleet = EC2Fleet

@typing_extensions.final
class EIP(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
    DOMAIN_FIELD_NUMBER: builtins.int
    INSTANCE_ID_FIELD_NUMBER: builtins.int
    PUBLIC_IPV4_POOL_FIELD_NUMBER: builtins.int
    TAGS_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    domain: builtins.str
    instance_id: builtins.str
    public_ipv4_pool: 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 = ...,
        domain: builtins.str = ...,
        instance_id: builtins.str = ...,
        public_ipv4_pool: 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["domain", b"domain", "instance_id", b"instance_id", "public_ipv4_pool", b"public_ipv4_pool", "resource_info", b"resource_info", "tags", b"tags"]) -> None: ...

global___EIP = EIP

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

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    ALLOCATION_ID_FIELD_NUMBER: builtins.int
    E_IP_FIELD_NUMBER: builtins.int
    INSTANCE_ID_FIELD_NUMBER: builtins.int
    NETWORK_INTERFACE_ID_FIELD_NUMBER: builtins.int
    PRIVATE_IP_ADDRESS_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    allocation_id: builtins.str
    e_ip: builtins.str
    instance_id: builtins.str
    network_interface_id: builtins.str
    private_ip_address: builtins.str
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        allocation_id: builtins.str = ...,
        e_ip: builtins.str = ...,
        instance_id: builtins.str = ...,
        network_interface_id: builtins.str = ...,
        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["allocation_id", b"allocation_id", "e_ip", b"e_ip", "instance_id", b"instance_id", "network_interface_id", b"network_interface_id", "private_ip_address", b"private_ip_address", "resource_info", b"resource_info"]) -> None: ...

global___EIPAssociation = EIPAssociation

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

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

global___EgressOnlyInternetGateway = EgressOnlyInternetGateway

@typing_extensions.final
class FlowLog(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
    DELIVER_LOGS_PERMISSION_ARN_FIELD_NUMBER: builtins.int
    LOG_DESTINATION_FIELD_NUMBER: builtins.int
    LOG_DESTINATION_TYPE_FIELD_NUMBER: builtins.int
    LOG_FORMAT_FIELD_NUMBER: builtins.int
    LOG_GROUP_NAME_FIELD_NUMBER: builtins.int
    MAX_AGGREGATION_INTERVAL_FIELD_NUMBER: builtins.int
    RESOURCE_ID_FIELD_NUMBER: builtins.int
    RESOURCE_TYPE_FIELD_NUMBER: builtins.int
    TAGS_FIELD_NUMBER: builtins.int
    TRAFFIC_TYPE_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    deliver_logs_permission_arn: builtins.str
    log_destination: builtins.str
    log_destination_type: builtins.str
    log_format: builtins.str
    log_group_name: builtins.str
    max_aggregation_interval: builtins.int
    resource_id: builtins.str
    resource_type: builtins.str
    @property
    def tags(self) -> google.protobuf.internal.containers.ScalarMap[builtins.str, builtins.str]: ...
    traffic_type: builtins.str
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        deliver_logs_permission_arn: builtins.str = ...,
        log_destination: builtins.str = ...,
        log_destination_type: builtins.str = ...,
        log_format: builtins.str = ...,
        log_group_name: builtins.str = ...,
        max_aggregation_interval: builtins.int = ...,
        resource_id: builtins.str = ...,
        resource_type: builtins.str = ...,
        tags: collections.abc.Mapping[builtins.str, builtins.str] | None = ...,
        traffic_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["deliver_logs_permission_arn", b"deliver_logs_permission_arn", "log_destination", b"log_destination", "log_destination_type", b"log_destination_type", "log_format", b"log_format", "log_group_name", b"log_group_name", "max_aggregation_interval", b"max_aggregation_interval", "resource_id", b"resource_id", "resource_info", b"resource_info", "resource_type", b"resource_type", "tags", b"tags", "traffic_type", b"traffic_type"]) -> None: ...

global___FlowLog = FlowLog

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

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

global___GatewayRouteTableAssociation = GatewayRouteTableAssociation

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

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    AUTO_PLACEMENT_FIELD_NUMBER: builtins.int
    AVAILABILITY_ZONE_FIELD_NUMBER: builtins.int
    HOST_RECOVERY_FIELD_NUMBER: builtins.int
    INSTANCE_TYPE_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    auto_placement: builtins.str
    availability_zone: builtins.str
    host_recovery: builtins.str
    instance_type: builtins.str
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        auto_placement: builtins.str = ...,
        availability_zone: builtins.str = ...,
        host_recovery: builtins.str = ...,
        instance_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["auto_placement", b"auto_placement", "availability_zone", b"availability_zone", "host_recovery", b"host_recovery", "instance_type", b"instance_type", "resource_info", b"resource_info"]) -> None: ...

global___Host = Host

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

global___InternetGateway = InternetGateway

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

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    DESTINATION_CIDR_BLOCK_FIELD_NUMBER: builtins.int
    LOCAL_GATEWAY_ROUTE_TABLE_ID_FIELD_NUMBER: builtins.int
    LOCAL_GATEWAY_VIRTUAL_INTERFACE_GROUP_ID_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    destination_cidr_block: builtins.str
    local_gateway_route_table_id: builtins.str
    local_gateway_virtual_interface_group_id: builtins.str
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        destination_cidr_block: builtins.str = ...,
        local_gateway_route_table_id: builtins.str = ...,
        local_gateway_virtual_interface_group_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["destination_cidr_block", b"destination_cidr_block", "local_gateway_route_table_id", b"local_gateway_route_table_id", "local_gateway_virtual_interface_group_id", b"local_gateway_virtual_interface_group_id", "resource_info", b"resource_info"]) -> None: ...

global___LocalGatewayRoute = LocalGatewayRoute

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

global___LocalGatewayRouteTableVPCAssociationTags = LocalGatewayRouteTableVPCAssociationTags

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

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

global___LocalGatewayRouteTableVPCAssociation = LocalGatewayRouteTableVPCAssociation

@typing_extensions.final
class NatGateway(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
    ALLOCATION_ID_FIELD_NUMBER: builtins.int
    SUBNET_ID_FIELD_NUMBER: builtins.int
    TAGS_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    allocation_id: builtins.str
    subnet_id: 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 = ...,
        allocation_id: builtins.str = ...,
        subnet_id: 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["allocation_id", b"allocation_id", "resource_info", b"resource_info", "subnet_id", b"subnet_id", "tags", b"tags"]) -> None: ...

global___NatGateway = NatGateway

@typing_extensions.final
class NetworkInterfaceInstanceIpv6Address(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___NetworkInterfaceInstanceIpv6Address = NetworkInterfaceInstanceIpv6Address

@typing_extensions.final
class NetworkInterfacePrivateIpAddressSpecification(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___NetworkInterfacePrivateIpAddressSpecification = NetworkInterfacePrivateIpAddressSpecification

@typing_extensions.final
class NetworkInterface(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
    DESCRIPTION_FIELD_NUMBER: builtins.int
    GROUP_SET_FIELD_NUMBER: builtins.int
    INTERFACE_TYPE_FIELD_NUMBER: builtins.int
    IPV6_ADDRESS_COUNT_FIELD_NUMBER: builtins.int
    IPV6_ADDRESSES_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
    SOURCE_DEST_CHECK_FIELD_NUMBER: builtins.int
    SUBNET_ID_FIELD_NUMBER: builtins.int
    TAGS_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    description: builtins.str
    @property
    def group_set(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    interface_type: builtins.str
    ipv6_address_count: builtins.int
    @property
    def ipv6_addresses(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___NetworkInterfaceInstanceIpv6Address]: ...
    private_ip_address: builtins.str
    @property
    def private_ip_addresses(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___NetworkInterfacePrivateIpAddressSpecification]: ...
    secondary_private_ip_address_count: builtins.int
    source_dest_check: builtins.bool
    subnet_id: 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 = ...,
        description: builtins.str = ...,
        group_set: collections.abc.Iterable[builtins.str] | None = ...,
        interface_type: builtins.str = ...,
        ipv6_address_count: builtins.int = ...,
        ipv6_addresses: collections.abc.Iterable[global___NetworkInterfaceInstanceIpv6Address] | None = ...,
        private_ip_address: builtins.str = ...,
        private_ip_addresses: collections.abc.Iterable[global___NetworkInterfacePrivateIpAddressSpecification] | None = ...,
        secondary_private_ip_address_count: builtins.int = ...,
        source_dest_check: builtins.bool = ...,
        subnet_id: 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["description", b"description", "group_set", b"group_set", "interface_type", b"interface_type", "ipv6_address_count", b"ipv6_address_count", "ipv6_addresses", b"ipv6_addresses", "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", "source_dest_check", b"source_dest_check", "subnet_id", b"subnet_id", "tags", b"tags"]) -> None: ...

global___NetworkInterface = NetworkInterface

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

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    DELETE_ON_TERMINATION_FIELD_NUMBER: builtins.int
    DEVICE_INDEX_FIELD_NUMBER: builtins.int
    INSTANCE_ID_FIELD_NUMBER: builtins.int
    NETWORK_INTERFACE_ID_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    delete_on_termination: builtins.bool
    device_index: builtins.str
    instance_id: builtins.str
    network_interface_id: builtins.str
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        delete_on_termination: builtins.bool = ...,
        device_index: builtins.str = ...,
        instance_id: builtins.str = ...,
        network_interface_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["delete_on_termination", b"delete_on_termination", "device_index", b"device_index", "instance_id", b"instance_id", "network_interface_id", b"network_interface_id", "resource_info", b"resource_info"]) -> None: ...

global___NetworkInterfaceAttachment = NetworkInterfaceAttachment

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

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

global___NetworkInterfacePermission = NetworkInterfacePermission

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

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

global___PlacementGroup = PlacementGroup

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

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

global___PrefixListEntry = PrefixListEntry

@typing_extensions.final
class PrefixList(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
    PREFIX_LIST_NAME_FIELD_NUMBER: builtins.int
    ADDRESS_FAMILY_FIELD_NUMBER: builtins.int
    MAX_ENTRIES_FIELD_NUMBER: builtins.int
    TAGS_FIELD_NUMBER: builtins.int
    ENTRIES_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    prefix_list_name: builtins.str
    address_family: builtins.str
    max_entries: builtins.int
    @property
    def tags(self) -> google.protobuf.internal.containers.ScalarMap[builtins.str, builtins.str]: ...
    @property
    def entries(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___PrefixListEntry]: ...
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        prefix_list_name: builtins.str = ...,
        address_family: builtins.str = ...,
        max_entries: builtins.int = ...,
        tags: collections.abc.Mapping[builtins.str, builtins.str] | None = ...,
        entries: collections.abc.Iterable[global___PrefixListEntry] | 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["address_family", b"address_family", "entries", b"entries", "max_entries", b"max_entries", "prefix_list_name", b"prefix_list_name", "resource_info", b"resource_info", "tags", b"tags"]) -> None: ...

global___PrefixList = PrefixList

@typing_extensions.final
class SpotFleetEbsBlockDevice(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___SpotFleetEbsBlockDevice = SpotFleetEbsBlockDevice

@typing_extensions.final
class SpotFleetBlockDeviceMapping(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___SpotFleetEbsBlockDevice: ...
    no_device: builtins.str
    virtual_name: builtins.str
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        device_name: builtins.str = ...,
        ebs: global___SpotFleetEbsBlockDevice | None = ...,
        no_device: builtins.str = ...,
        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___SpotFleetBlockDeviceMapping = SpotFleetBlockDeviceMapping

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

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

global___SpotFleetIamInstanceProfileSpecification = SpotFleetIamInstanceProfileSpecification

@typing_extensions.final
class SpotFleetSpotFleetMonitoring(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___SpotFleetSpotFleetMonitoring = SpotFleetSpotFleetMonitoring

@typing_extensions.final
class SpotFleetInstanceIpv6Address(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___SpotFleetInstanceIpv6Address = SpotFleetInstanceIpv6Address

@typing_extensions.final
class SpotFleetPrivateIpAddressSpecification(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___SpotFleetPrivateIpAddressSpecification = SpotFleetPrivateIpAddressSpecification

@typing_extensions.final
class SpotFleetInstanceNetworkInterfaceSpecification(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
    GROUPS_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_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.int
    @property
    def groups(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    ipv6_address_count: builtins.int
    @property
    def ipv6_addresses(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___SpotFleetInstanceIpv6Address]: ...
    network_interface_id: builtins.str
    @property
    def private_ip_addresses(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___SpotFleetPrivateIpAddressSpecification]: ...
    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.int = ...,
        groups: collections.abc.Iterable[builtins.str] | None = ...,
        ipv6_address_count: builtins.int = ...,
        ipv6_addresses: collections.abc.Iterable[global___SpotFleetInstanceIpv6Address] | None = ...,
        network_interface_id: builtins.str = ...,
        private_ip_addresses: collections.abc.Iterable[global___SpotFleetPrivateIpAddressSpecification] | 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", "groups", b"groups", "ipv6_address_count", b"ipv6_address_count", "ipv6_addresses", b"ipv6_addresses", "network_interface_id", b"network_interface_id", "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___SpotFleetInstanceNetworkInterfaceSpecification = SpotFleetInstanceNetworkInterfaceSpecification

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

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

global___SpotFleetSpotPlacement = SpotFleetSpotPlacement

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

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

global___SpotFleetGroupIdentifier = SpotFleetGroupIdentifier

@typing_extensions.final
class SpotFleetSpotFleetTagSpecification(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___SpotFleetSpotFleetTagSpecification = SpotFleetSpotFleetTagSpecification

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

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    BLOCK_DEVICE_MAPPINGS_FIELD_NUMBER: builtins.int
    EBS_OPTIMIZED_FIELD_NUMBER: builtins.int
    IAM_INSTANCE_PROFILE_FIELD_NUMBER: builtins.int
    IMAGE_ID_FIELD_NUMBER: builtins.int
    INSTANCE_TYPE_FIELD_NUMBER: builtins.int
    KERNEL_ID_FIELD_NUMBER: builtins.int
    KEY_NAME_FIELD_NUMBER: builtins.int
    MONITORING_FIELD_NUMBER: builtins.int
    NETWORK_INTERFACES_FIELD_NUMBER: builtins.int
    PLACEMENT_FIELD_NUMBER: builtins.int
    RAMDISK_ID_FIELD_NUMBER: builtins.int
    SECURITY_GROUPS_FIELD_NUMBER: builtins.int
    SPOT_PRICE_FIELD_NUMBER: builtins.int
    SUBNET_ID_FIELD_NUMBER: builtins.int
    TAG_SPECIFICATIONS_FIELD_NUMBER: builtins.int
    USER_DATA_FIELD_NUMBER: builtins.int
    WEIGHTED_CAPACITY_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    @property
    def block_device_mappings(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___SpotFleetBlockDeviceMapping]: ...
    ebs_optimized: builtins.bool
    @property
    def iam_instance_profile(self) -> global___SpotFleetIamInstanceProfileSpecification: ...
    image_id: builtins.str
    instance_type: builtins.str
    kernel_id: builtins.str
    key_name: builtins.str
    @property
    def monitoring(self) -> global___SpotFleetSpotFleetMonitoring: ...
    @property
    def network_interfaces(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___SpotFleetInstanceNetworkInterfaceSpecification]: ...
    @property
    def placement(self) -> global___SpotFleetSpotPlacement: ...
    ramdisk_id: builtins.str
    @property
    def security_groups(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___SpotFleetGroupIdentifier]: ...
    spot_price: builtins.str
    subnet_id: builtins.str
    @property
    def tag_specifications(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___SpotFleetSpotFleetTagSpecification]: ...
    user_data: builtins.str
    weighted_capacity: builtins.float
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        block_device_mappings: collections.abc.Iterable[global___SpotFleetBlockDeviceMapping] | None = ...,
        ebs_optimized: builtins.bool = ...,
        iam_instance_profile: global___SpotFleetIamInstanceProfileSpecification | None = ...,
        image_id: builtins.str = ...,
        instance_type: builtins.str = ...,
        kernel_id: builtins.str = ...,
        key_name: builtins.str = ...,
        monitoring: global___SpotFleetSpotFleetMonitoring | None = ...,
        network_interfaces: collections.abc.Iterable[global___SpotFleetInstanceNetworkInterfaceSpecification] | None = ...,
        placement: global___SpotFleetSpotPlacement | None = ...,
        ramdisk_id: builtins.str = ...,
        security_groups: collections.abc.Iterable[global___SpotFleetGroupIdentifier] | None = ...,
        spot_price: builtins.str = ...,
        subnet_id: builtins.str = ...,
        tag_specifications: collections.abc.Iterable[global___SpotFleetSpotFleetTagSpecification] | None = ...,
        user_data: builtins.str = ...,
        weighted_capacity: builtins.float = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["iam_instance_profile", b"iam_instance_profile", "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", "ebs_optimized", b"ebs_optimized", "iam_instance_profile", b"iam_instance_profile", "image_id", b"image_id", "instance_type", b"instance_type", "kernel_id", b"kernel_id", "key_name", b"key_name", "monitoring", b"monitoring", "network_interfaces", b"network_interfaces", "placement", b"placement", "ramdisk_id", b"ramdisk_id", "resource_info", b"resource_info", "security_groups", b"security_groups", "spot_price", b"spot_price", "subnet_id", b"subnet_id", "tag_specifications", b"tag_specifications", "user_data", b"user_data", "weighted_capacity", b"weighted_capacity"]) -> None: ...

global___SpotFleetSpotFleetLaunchSpecification = SpotFleetSpotFleetLaunchSpecification

@typing_extensions.final
class SpotFleetFleetLaunchTemplateSpecification(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___SpotFleetFleetLaunchTemplateSpecification = SpotFleetFleetLaunchTemplateSpecification

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

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    AVAILABILITY_ZONE_FIELD_NUMBER: builtins.int
    INSTANCE_TYPE_FIELD_NUMBER: builtins.int
    SPOT_PRICE_FIELD_NUMBER: builtins.int
    SUBNET_ID_FIELD_NUMBER: builtins.int
    WEIGHTED_CAPACITY_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    availability_zone: builtins.str
    instance_type: builtins.str
    spot_price: builtins.str
    subnet_id: builtins.str
    weighted_capacity: builtins.float
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        availability_zone: builtins.str = ...,
        instance_type: builtins.str = ...,
        spot_price: builtins.str = ...,
        subnet_id: builtins.str = ...,
        weighted_capacity: builtins.float = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["resource_info", b"resource_info"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["availability_zone", b"availability_zone", "instance_type", b"instance_type", "resource_info", b"resource_info", "spot_price", b"spot_price", "subnet_id", b"subnet_id", "weighted_capacity", b"weighted_capacity"]) -> None: ...

global___SpotFleetLaunchTemplateOverrides = SpotFleetLaunchTemplateOverrides

@typing_extensions.final
class SpotFleetLaunchTemplateConfig(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___SpotFleetFleetLaunchTemplateSpecification: ...
    @property
    def overrides(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___SpotFleetLaunchTemplateOverrides]: ...
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        launch_template_specification: global___SpotFleetFleetLaunchTemplateSpecification | None = ...,
        overrides: collections.abc.Iterable[global___SpotFleetLaunchTemplateOverrides] | 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___SpotFleetLaunchTemplateConfig = SpotFleetLaunchTemplateConfig

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

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

global___SpotFleetClassicLoadBalancer = SpotFleetClassicLoadBalancer

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

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

global___SpotFleetClassicLoadBalancersConfig = SpotFleetClassicLoadBalancersConfig

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

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

global___SpotFleetTargetGroup = SpotFleetTargetGroup

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

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

global___SpotFleetTargetGroupsConfig = SpotFleetTargetGroupsConfig

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

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

global___SpotFleetLoadBalancersConfig = SpotFleetLoadBalancersConfig

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

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    ALLOCATION_STRATEGY_FIELD_NUMBER: builtins.int
    EXCESS_CAPACITY_TERMINATION_POLICY_FIELD_NUMBER: builtins.int
    IAM_FLEET_ROLE_FIELD_NUMBER: builtins.int
    INSTANCE_INTERRUPTION_BEHAVIOR_FIELD_NUMBER: builtins.int
    LAUNCH_SPECIFICATIONS_FIELD_NUMBER: builtins.int
    LAUNCH_TEMPLATE_CONFIGS_FIELD_NUMBER: builtins.int
    LOAD_BALANCERS_CONFIG_FIELD_NUMBER: builtins.int
    REPLACE_UNHEALTHY_INSTANCES_FIELD_NUMBER: builtins.int
    SPOT_PRICE_FIELD_NUMBER: builtins.int
    TARGET_CAPACITY_FIELD_NUMBER: builtins.int
    TERMINATE_INSTANCES_WITH_EXPIRATION_FIELD_NUMBER: builtins.int
    VALID_FROM_FIELD_NUMBER: builtins.int
    VALID_UNTIL_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    allocation_strategy: builtins.str
    excess_capacity_termination_policy: builtins.str
    iam_fleet_role: builtins.str
    instance_interruption_behavior: builtins.str
    @property
    def launch_specifications(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___SpotFleetSpotFleetLaunchSpecification]: ...
    @property
    def launch_template_configs(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___SpotFleetLaunchTemplateConfig]: ...
    @property
    def load_balancers_config(self) -> global___SpotFleetLoadBalancersConfig: ...
    replace_unhealthy_instances: builtins.bool
    spot_price: builtins.str
    target_capacity: builtins.int
    terminate_instances_with_expiration: builtins.bool
    valid_from: builtins.str
    valid_until: builtins.str
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        allocation_strategy: builtins.str = ...,
        excess_capacity_termination_policy: builtins.str = ...,
        iam_fleet_role: builtins.str = ...,
        instance_interruption_behavior: builtins.str = ...,
        launch_specifications: collections.abc.Iterable[global___SpotFleetSpotFleetLaunchSpecification] | None = ...,
        launch_template_configs: collections.abc.Iterable[global___SpotFleetLaunchTemplateConfig] | None = ...,
        load_balancers_config: global___SpotFleetLoadBalancersConfig | None = ...,
        replace_unhealthy_instances: builtins.bool = ...,
        spot_price: builtins.str = ...,
        target_capacity: builtins.int = ...,
        terminate_instances_with_expiration: builtins.bool = ...,
        valid_from: builtins.str = ...,
        valid_until: builtins.str = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["load_balancers_config", b"load_balancers_config", "resource_info", b"resource_info"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["allocation_strategy", b"allocation_strategy", "excess_capacity_termination_policy", b"excess_capacity_termination_policy", "iam_fleet_role", b"iam_fleet_role", "instance_interruption_behavior", b"instance_interruption_behavior", "launch_specifications", b"launch_specifications", "launch_template_configs", b"launch_template_configs", "load_balancers_config", b"load_balancers_config", "replace_unhealthy_instances", b"replace_unhealthy_instances", "resource_info", b"resource_info", "spot_price", b"spot_price", "target_capacity", b"target_capacity", "terminate_instances_with_expiration", b"terminate_instances_with_expiration", "valid_from", b"valid_from", "valid_until", b"valid_until"]) -> None: ...

global___SpotFleetSpotFleetRequestConfigData = SpotFleetSpotFleetRequestConfigData

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

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

global___SpotFleet = SpotFleet

@typing_extensions.final
class TrafficMirrorFilter(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
    DESCRIPTION_FIELD_NUMBER: builtins.int
    NETWORK_SERVICES_FIELD_NUMBER: builtins.int
    TAGS_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    description: builtins.str
    @property
    def network_services(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[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 = ...,
        description: builtins.str = ...,
        network_services: collections.abc.Iterable[builtins.str] | None = ...,
        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["description", b"description", "network_services", b"network_services", "resource_info", b"resource_info", "tags", b"tags"]) -> None: ...

global___TrafficMirrorFilter = TrafficMirrorFilter

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

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

global___TrafficMirrorFilterRuleTrafficMirrorPortRange = TrafficMirrorFilterRuleTrafficMirrorPortRange

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

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    DESTINATION_PORT_RANGE_FIELD_NUMBER: builtins.int
    DESCRIPTION_FIELD_NUMBER: builtins.int
    SOURCE_PORT_RANGE_FIELD_NUMBER: builtins.int
    RULE_ACTION_FIELD_NUMBER: builtins.int
    SOURCE_CIDR_BLOCK_FIELD_NUMBER: builtins.int
    RULE_NUMBER_FIELD_NUMBER: builtins.int
    DESTINATION_CIDR_BLOCK_FIELD_NUMBER: builtins.int
    TRAFFIC_MIRROR_FILTER_ID_FIELD_NUMBER: builtins.int
    TRAFFIC_DIRECTION_FIELD_NUMBER: builtins.int
    PROTOCOL_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    @property
    def destination_port_range(self) -> global___TrafficMirrorFilterRuleTrafficMirrorPortRange: ...
    description: builtins.str
    @property
    def source_port_range(self) -> global___TrafficMirrorFilterRuleTrafficMirrorPortRange: ...
    rule_action: builtins.str
    source_cidr_block: builtins.str
    rule_number: builtins.int
    destination_cidr_block: builtins.str
    traffic_mirror_filter_id: builtins.str
    traffic_direction: builtins.str
    protocol: builtins.int
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        destination_port_range: global___TrafficMirrorFilterRuleTrafficMirrorPortRange | None = ...,
        description: builtins.str = ...,
        source_port_range: global___TrafficMirrorFilterRuleTrafficMirrorPortRange | None = ...,
        rule_action: builtins.str = ...,
        source_cidr_block: builtins.str = ...,
        rule_number: builtins.int = ...,
        destination_cidr_block: builtins.str = ...,
        traffic_mirror_filter_id: builtins.str = ...,
        traffic_direction: builtins.str = ...,
        protocol: builtins.int = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["destination_port_range", b"destination_port_range", "resource_info", b"resource_info", "source_port_range", b"source_port_range"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["description", b"description", "destination_cidr_block", b"destination_cidr_block", "destination_port_range", b"destination_port_range", "protocol", b"protocol", "resource_info", b"resource_info", "rule_action", b"rule_action", "rule_number", b"rule_number", "source_cidr_block", b"source_cidr_block", "source_port_range", b"source_port_range", "traffic_direction", b"traffic_direction", "traffic_mirror_filter_id", b"traffic_mirror_filter_id"]) -> None: ...

global___TrafficMirrorFilterRule = TrafficMirrorFilterRule

@typing_extensions.final
class TrafficMirrorSession(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
    TRAFFIC_MIRROR_TARGET_ID_FIELD_NUMBER: builtins.int
    DESCRIPTION_FIELD_NUMBER: builtins.int
    SESSION_NUMBER_FIELD_NUMBER: builtins.int
    VIRTUAL_NETWORK_ID_FIELD_NUMBER: builtins.int
    PACKET_LENGTH_FIELD_NUMBER: builtins.int
    NETWORK_INTERFACE_ID_FIELD_NUMBER: builtins.int
    TRAFFIC_MIRROR_FILTER_ID_FIELD_NUMBER: builtins.int
    TAGS_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    traffic_mirror_target_id: builtins.str
    description: builtins.str
    session_number: builtins.int
    virtual_network_id: builtins.int
    packet_length: builtins.int
    network_interface_id: builtins.str
    traffic_mirror_filter_id: 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 = ...,
        traffic_mirror_target_id: builtins.str = ...,
        description: builtins.str = ...,
        session_number: builtins.int = ...,
        virtual_network_id: builtins.int = ...,
        packet_length: builtins.int = ...,
        network_interface_id: builtins.str = ...,
        traffic_mirror_filter_id: 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["description", b"description", "network_interface_id", b"network_interface_id", "packet_length", b"packet_length", "resource_info", b"resource_info", "session_number", b"session_number", "tags", b"tags", "traffic_mirror_filter_id", b"traffic_mirror_filter_id", "traffic_mirror_target_id", b"traffic_mirror_target_id", "virtual_network_id", b"virtual_network_id"]) -> None: ...

global___TrafficMirrorSession = TrafficMirrorSession

@typing_extensions.final
class TrafficMirrorTarget(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
    NETWORK_LOAD_BALANCER_ARN_FIELD_NUMBER: builtins.int
    DESCRIPTION_FIELD_NUMBER: builtins.int
    NETWORK_INTERFACE_ID_FIELD_NUMBER: builtins.int
    TAGS_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    network_load_balancer_arn: builtins.str
    description: builtins.str
    network_interface_id: 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 = ...,
        network_load_balancer_arn: builtins.str = ...,
        description: builtins.str = ...,
        network_interface_id: 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["description", b"description", "network_interface_id", b"network_interface_id", "network_load_balancer_arn", b"network_load_balancer_arn", "resource_info", b"resource_info", "tags", b"tags"]) -> None: ...

global___TrafficMirrorTarget = TrafficMirrorTarget

@typing_extensions.final
class TransitGateway(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
    DEFAULT_ROUTE_TABLE_PROPAGATION_FIELD_NUMBER: builtins.int
    DESCRIPTION_FIELD_NUMBER: builtins.int
    AUTO_ACCEPT_SHARED_ATTACHMENTS_FIELD_NUMBER: builtins.int
    DEFAULT_ROUTE_TABLE_ASSOCIATION_FIELD_NUMBER: builtins.int
    VPN_ECMP_SUPPORT_FIELD_NUMBER: builtins.int
    DNS_SUPPORT_FIELD_NUMBER: builtins.int
    MULTICAST_SUPPORT_FIELD_NUMBER: builtins.int
    AMAZON_SIDE_ASN_FIELD_NUMBER: builtins.int
    TAGS_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    default_route_table_propagation: builtins.str
    description: builtins.str
    auto_accept_shared_attachments: builtins.str
    default_route_table_association: builtins.str
    vpn_ecmp_support: builtins.str
    dns_support: builtins.str
    multicast_support: builtins.str
    amazon_side_asn: builtins.int
    @property
    def tags(self) -> google.protobuf.internal.containers.ScalarMap[builtins.str, builtins.str]: ...
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        default_route_table_propagation: builtins.str = ...,
        description: builtins.str = ...,
        auto_accept_shared_attachments: builtins.str = ...,
        default_route_table_association: builtins.str = ...,
        vpn_ecmp_support: builtins.str = ...,
        dns_support: builtins.str = ...,
        multicast_support: builtins.str = ...,
        amazon_side_asn: builtins.int = ...,
        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["amazon_side_asn", b"amazon_side_asn", "auto_accept_shared_attachments", b"auto_accept_shared_attachments", "default_route_table_association", b"default_route_table_association", "default_route_table_propagation", b"default_route_table_propagation", "description", b"description", "dns_support", b"dns_support", "multicast_support", b"multicast_support", "resource_info", b"resource_info", "tags", b"tags", "vpn_ecmp_support", b"vpn_ecmp_support"]) -> None: ...

global___TransitGateway = TransitGateway

@typing_extensions.final
class TransitGatewayAttachment(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
    TRANSIT_GATEWAY_ID_FIELD_NUMBER: builtins.int
    VPC_ID_FIELD_NUMBER: builtins.int
    SUBNET_IDS_FIELD_NUMBER: builtins.int
    TAGS_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    transit_gateway_id: builtins.str
    vpc_id: builtins.str
    @property
    def subnet_ids(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[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 = ...,
        transit_gateway_id: builtins.str = ...,
        vpc_id: builtins.str = ...,
        subnet_ids: collections.abc.Iterable[builtins.str] | None = ...,
        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", "subnet_ids", b"subnet_ids", "tags", b"tags", "transit_gateway_id", b"transit_gateway_id", "vpc_id", b"vpc_id"]) -> None: ...

global___TransitGatewayAttachment = TransitGatewayAttachment

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

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    TRANSIT_GATEWAY_ROUTE_TABLE_ID_FIELD_NUMBER: builtins.int
    DESTINATION_CIDR_BLOCK_FIELD_NUMBER: builtins.int
    BLACKHOLE_FIELD_NUMBER: builtins.int
    TRANSIT_GATEWAY_ATTACHMENT_ID_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    transit_gateway_route_table_id: builtins.str
    destination_cidr_block: builtins.str
    blackhole: builtins.bool
    transit_gateway_attachment_id: builtins.str
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        transit_gateway_route_table_id: builtins.str = ...,
        destination_cidr_block: builtins.str = ...,
        blackhole: builtins.bool = ...,
        transit_gateway_attachment_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["blackhole", b"blackhole", "destination_cidr_block", b"destination_cidr_block", "resource_info", b"resource_info", "transit_gateway_attachment_id", b"transit_gateway_attachment_id", "transit_gateway_route_table_id", b"transit_gateway_route_table_id"]) -> None: ...

global___TransitGatewayRoute = TransitGatewayRoute

@typing_extensions.final
class TransitGatewayRouteTable(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
    TRANSIT_GATEWAY_ID_FIELD_NUMBER: builtins.int
    TAGS_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    transit_gateway_id: 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 = ...,
        transit_gateway_id: 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", "tags", b"tags", "transit_gateway_id", b"transit_gateway_id"]) -> None: ...

global___TransitGatewayRouteTable = TransitGatewayRouteTable

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

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

global___TransitGatewayRouteTableAssociation = TransitGatewayRouteTableAssociation

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

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

global___TransitGatewayRouteTablePropagation = TransitGatewayRouteTablePropagation

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

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    INTERNET_GATEWAY_ID_FIELD_NUMBER: builtins.int
    VPC_ID_FIELD_NUMBER: builtins.int
    VPN_GATEWAY_ID_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    internet_gateway_id: builtins.str
    vpc_id: builtins.str
    vpn_gateway_id: builtins.str
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        internet_gateway_id: builtins.str = ...,
        vpc_id: builtins.str = ...,
        vpn_gateway_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["internet_gateway_id", b"internet_gateway_id", "resource_info", b"resource_info", "vpc_id", b"vpc_id", "vpn_gateway_id", b"vpn_gateway_id"]) -> None: ...

global___VPCGatewayAttachment = VPCGatewayAttachment

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

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

global___VPNConnectionVpnTunnelOptionsSpecification = VPNConnectionVpnTunnelOptionsSpecification

@typing_extensions.final
class VPNConnection(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
    CUSTOMER_GATEWAY_ID_FIELD_NUMBER: builtins.int
    STATIC_ROUTES_ONLY_FIELD_NUMBER: builtins.int
    TAGS_FIELD_NUMBER: builtins.int
    TRANSIT_GATEWAY_ID_FIELD_NUMBER: builtins.int
    TYPE_FIELD_NUMBER: builtins.int
    VPN_GATEWAY_ID_FIELD_NUMBER: builtins.int
    VPN_TUNNEL_OPTIONS_SPECIFICATIONS_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    customer_gateway_id: builtins.str
    static_routes_only: builtins.bool
    @property
    def tags(self) -> google.protobuf.internal.containers.ScalarMap[builtins.str, builtins.str]: ...
    transit_gateway_id: builtins.str
    type: builtins.str
    vpn_gateway_id: builtins.str
    @property
    def vpn_tunnel_options_specifications(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___VPNConnectionVpnTunnelOptionsSpecification]: ...
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        customer_gateway_id: builtins.str = ...,
        static_routes_only: builtins.bool = ...,
        tags: collections.abc.Mapping[builtins.str, builtins.str] | None = ...,
        transit_gateway_id: builtins.str = ...,
        type: builtins.str = ...,
        vpn_gateway_id: builtins.str = ...,
        vpn_tunnel_options_specifications: collections.abc.Iterable[global___VPNConnectionVpnTunnelOptionsSpecification] | 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["customer_gateway_id", b"customer_gateway_id", "resource_info", b"resource_info", "static_routes_only", b"static_routes_only", "tags", b"tags", "transit_gateway_id", b"transit_gateway_id", "type", b"type", "vpn_gateway_id", b"vpn_gateway_id", "vpn_tunnel_options_specifications", b"vpn_tunnel_options_specifications"]) -> None: ...

global___VPNConnection = VPNConnection

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

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

global___VPNConnectionRoute = VPNConnectionRoute

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

global___VPNGateway = VPNGateway

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

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

global___VPNGatewayRoutePropagation = VPNGatewayRoutePropagation

@typing_extensions.final
class Volume(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
    AUTO_ENABLE_IO_FIELD_NUMBER: builtins.int
    AVAILABILITY_ZONE_FIELD_NUMBER: builtins.int
    ENCRYPTED_FIELD_NUMBER: builtins.int
    IOPS_FIELD_NUMBER: builtins.int
    KMS_KEY_ID_FIELD_NUMBER: builtins.int
    MULTI_ATTACH_ENABLED_FIELD_NUMBER: builtins.int
    OUTPOST_ARN_FIELD_NUMBER: builtins.int
    SIZE_FIELD_NUMBER: builtins.int
    SNAPSHOT_ID_FIELD_NUMBER: builtins.int
    TAGS_FIELD_NUMBER: builtins.int
    VOLUME_TYPE_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    auto_enable_io: builtins.bool
    availability_zone: builtins.str
    encrypted: builtins.bool
    iops: builtins.int
    kms_key_id: builtins.str
    multi_attach_enabled: builtins.bool
    outpost_arn: builtins.str
    size: builtins.int
    snapshot_id: builtins.str
    @property
    def tags(self) -> google.protobuf.internal.containers.ScalarMap[builtins.str, builtins.str]: ...
    volume_type: builtins.str
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        auto_enable_io: builtins.bool = ...,
        availability_zone: builtins.str = ...,
        encrypted: builtins.bool = ...,
        iops: builtins.int = ...,
        kms_key_id: builtins.str = ...,
        multi_attach_enabled: builtins.bool = ...,
        outpost_arn: builtins.str = ...,
        size: builtins.int = ...,
        snapshot_id: builtins.str = ...,
        tags: collections.abc.Mapping[builtins.str, builtins.str] | None = ...,
        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["auto_enable_io", b"auto_enable_io", "availability_zone", b"availability_zone", "encrypted", b"encrypted", "iops", b"iops", "kms_key_id", b"kms_key_id", "multi_attach_enabled", b"multi_attach_enabled", "outpost_arn", b"outpost_arn", "resource_info", b"resource_info", "size", b"size", "snapshot_id", b"snapshot_id", "tags", b"tags", "volume_type", b"volume_type"]) -> None: ...

global___Volume = Volume

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

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

global___VolumeAttachment = VolumeAttachment

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

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

global___NetworkAclEntryIcmp = NetworkAclEntryIcmp

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

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

global___NetworkAclEntryPortRange = NetworkAclEntryPortRange

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

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    CIDR_IP_FIELD_NUMBER: builtins.int
    CIDR_IPV6_FIELD_NUMBER: builtins.int
    DESCRIPTION_FIELD_NUMBER: builtins.int
    DESTINATION_PREFIX_LIST_ID_FIELD_NUMBER: builtins.int
    DESTINATION_SECURITY_GROUP_ID_FIELD_NUMBER: builtins.int
    FROM_PORT_FIELD_NUMBER: builtins.int
    IP_PROTOCOL_FIELD_NUMBER: builtins.int
    TO_PORT_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    cidr_ip: builtins.str
    cidr_ipv6: builtins.str
    description: builtins.str
    destination_prefix_list_id: builtins.str
    destination_security_group_id: builtins.str
    from_port: builtins.int
    ip_protocol: builtins.str
    to_port: builtins.int
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        cidr_ip: builtins.str = ...,
        cidr_ipv6: builtins.str = ...,
        description: builtins.str = ...,
        destination_prefix_list_id: builtins.str = ...,
        destination_security_group_id: builtins.str = ...,
        from_port: builtins.int = ...,
        ip_protocol: builtins.str = ...,
        to_port: 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["cidr_ip", b"cidr_ip", "cidr_ipv6", b"cidr_ipv6", "description", b"description", "destination_prefix_list_id", b"destination_prefix_list_id", "destination_security_group_id", b"destination_security_group_id", "from_port", b"from_port", "ip_protocol", b"ip_protocol", "resource_info", b"resource_info", "to_port", b"to_port"]) -> None: ...

global___SecurityGroupEgress = SecurityGroupEgress

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

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    CIDR_IP_FIELD_NUMBER: builtins.int
    CIDR_IPV6_FIELD_NUMBER: builtins.int
    DESCRIPTION_FIELD_NUMBER: builtins.int
    FROM_PORT_FIELD_NUMBER: builtins.int
    IP_PROTOCOL_FIELD_NUMBER: builtins.int
    SOURCE_PREFIX_LIST_ID_FIELD_NUMBER: builtins.int
    SOURCE_SECURITY_GROUP_ID_FIELD_NUMBER: builtins.int
    SOURCE_SECURITY_GROUP_NAME_FIELD_NUMBER: builtins.int
    SOURCE_SECURITY_GROUP_OWNER_ID_FIELD_NUMBER: builtins.int
    TO_PORT_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    cidr_ip: builtins.str
    cidr_ipv6: builtins.str
    description: builtins.str
    from_port: builtins.int
    ip_protocol: builtins.str
    source_prefix_list_id: builtins.str
    source_security_group_id: builtins.str
    source_security_group_name: builtins.str
    source_security_group_owner_id: builtins.str
    to_port: builtins.int
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        cidr_ip: builtins.str = ...,
        cidr_ipv6: builtins.str = ...,
        description: builtins.str = ...,
        from_port: builtins.int = ...,
        ip_protocol: builtins.str = ...,
        source_prefix_list_id: builtins.str = ...,
        source_security_group_id: builtins.str = ...,
        source_security_group_name: builtins.str = ...,
        source_security_group_owner_id: builtins.str = ...,
        to_port: 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["cidr_ip", b"cidr_ip", "cidr_ipv6", b"cidr_ipv6", "description", b"description", "from_port", b"from_port", "ip_protocol", b"ip_protocol", "resource_info", b"resource_info", "source_prefix_list_id", b"source_prefix_list_id", "source_security_group_id", b"source_security_group_id", "source_security_group_name", b"source_security_group_name", "source_security_group_owner_id", b"source_security_group_owner_id", "to_port", b"to_port"]) -> None: ...

global___SecurityGroupIngress = SecurityGroupIngress
