Class: Aws::EC2::Instance
- Inherits:
-
Object
- Object
- Aws::EC2::Instance
- Extended by:
- Deprecations
- Defined in:
- sig/instance.rbs,
lib/aws-sdk-ec2/customizations/instance.rb,
lib/aws-sdk-ec2/instance.rb
Overview
Defined Under Namespace
Classes: Collection
Read-Only Attributes collapse
-
#ami_launch_index ⇒ Integer
The AMI launch index, which can be used to find this instance in the launch group.
-
#architecture ⇒ String
The architecture of the image.
-
#block_device_mappings ⇒ Array<Types::InstanceBlockDeviceMapping>
Any block device mapping entries for the instance.
-
#boot_mode ⇒ String
The boot mode that was specified by the AMI.
-
#capacity_block_id ⇒ String
The ID of the Capacity Block.
-
#capacity_reservation_id ⇒ String
The ID of the Capacity Reservation.
-
#capacity_reservation_specification ⇒ Types::CapacityReservationSpecificationResponse
Information about the Capacity Reservation targeting option.
-
#client_token ⇒ String
The idempotency token you provided when you launched the instance, if applicable.
-
#cpu_options ⇒ Types::CpuOptions
The CPU options for the instance.
-
#current_instance_boot_mode ⇒ String
The boot mode that is used to boot the instance at launch or start.
-
#ebs_optimized ⇒ Boolean
Indicates whether the instance is optimized for Amazon EBS I/O.
-
#elastic_gpu_associations ⇒ Array<Types::ElasticGpuAssociation>
Deprecated.
-
#elastic_inference_accelerator_associations ⇒ Array<Types::ElasticInferenceAcceleratorAssociation>
Deprecated.
-
#ena_support ⇒ Boolean
Specifies whether enhanced networking with ENA is enabled.
-
#enclave_options ⇒ Types::EnclaveOptions
Indicates whether the instance is enabled for Amazon Web Services Nitro Enclaves.
-
#hibernation_options ⇒ Types::HibernationOptions
Indicates whether the instance is enabled for hibernation.
-
#hypervisor ⇒ String
The hypervisor type of the instance.
-
#iam_instance_profile ⇒ Types::IamInstanceProfile
The IAM instance profile associated with the instance, if applicable.
- #id ⇒ String (also: #instance_id)
-
#image_id ⇒ String
The ID of the AMI used to launch the instance.
-
#instance_lifecycle ⇒ String
Indicates whether this is a Spot Instance or a Scheduled Instance.
-
#instance_type ⇒ String
The instance type.
-
#ipv_6_address ⇒ String
The IPv6 address assigned to the instance.
-
#kernel_id ⇒ String
The kernel associated with this instance, if applicable.
-
#key_name ⇒ String
The name of the key pair, if this instance was launched with an associated key pair.
-
#launch_time ⇒ Time
The time that the instance was last launched.
-
#licenses ⇒ Array<Types::LicenseConfiguration>
The license configurations for the instance.
-
#maintenance_options ⇒ Types::InstanceMaintenanceOptions
Provides information on the recovery and maintenance options of your instance.
-
#metadata_options ⇒ Types::InstanceMetadataOptionsResponse
The metadata options for the instance.
-
#monitoring ⇒ Types::Monitoring
The monitoring for the instance.
-
#network_performance_options ⇒ Types::InstanceNetworkPerformanceOptions
Contains settings for the network performance options for your instance.
-
#operator ⇒ Types::OperatorResponse
The service provider that manages the instance.
-
#outpost_arn ⇒ String
The Amazon Resource Name (ARN) of the Outpost.
-
#placement ⇒ Types::Placement
The location where the instance launched, if applicable.
-
#platform ⇒ String
The platform.
-
#platform_details ⇒ String
The platform details value for the instance.
-
#private_dns_name ⇒ String
[IPv4 only] The private DNS hostname name assigned to the instance.
-
#private_dns_name_options ⇒ Types::PrivateDnsNameOptionsResponse
The options for the instance hostname.
-
#private_ip_address ⇒ String
The private IPv4 address assigned to the instance.
-
#product_codes ⇒ Array<Types::ProductCode>
The product codes attached to this instance, if applicable.
-
#public_dns_name ⇒ String
The public DNS name assigned to the instance.
-
#public_ip_address ⇒ String
The public IPv4 address, or the Carrier IP address assigned to the instance, if applicable.
-
#ramdisk_id ⇒ String
The RAM disk associated with this instance, if applicable.
-
#root_device_name ⇒ String
The device name of the root device volume (for example,
/dev/sda1). -
#root_device_type ⇒ String
The root device type used by the AMI.
-
#secondary_interfaces ⇒ Array<Types::InstanceSecondaryInterface>
The secondary interfaces for the instance.
-
#security_groups ⇒ Array<Types::GroupIdentifier>
The security groups for the instance.
-
#source_dest_check ⇒ Boolean
Indicates whether source/destination checking is enabled.
-
#spot_instance_request_id ⇒ String
If the request is a Spot Instance request, the ID of the request.
-
#sriov_net_support ⇒ String
Specifies whether enhanced networking with the Intel 82599 Virtual Function interface is enabled.
-
#state ⇒ Types::InstanceState
The current state of the instance.
-
#state_reason ⇒ Types::StateReason
The reason for the most recent state transition.
-
#state_transition_reason ⇒ String
The reason for the most recent state transition.
-
#subnet_id ⇒ String
The ID of the subnet in which the instance is running.
-
#tags ⇒ Array<Types::Tag>
Any tags assigned to the instance.
-
#tpm_support ⇒ String
If the instance is configured for NitroTPM support, the value is
v2.0. -
#usage_operation ⇒ String
The usage operation value for the instance.
-
#usage_operation_update_time ⇒ Time
The time that the usage operation was last updated.
-
#virtualization_type ⇒ String
The virtualization type of the instance.
-
#vpc_id ⇒ String
The ID of the VPC in which the instance is running.
Actions collapse
- #attach_classic_link_vpc(options = {}) ⇒ Types::AttachClassicLinkVpcResult
- #attach_volume(options = {}) ⇒ Types::VolumeAttachment
- #console_output(options = {}) ⇒ Types::GetConsoleOutputResult
- #create_image(options = {}) ⇒ Image
- #create_tags(options = {}) ⇒ Tag::Collection
- #delete_tags(options = {}) ⇒ Tag::Collection
- #describe_attribute(options = {}) ⇒ Types::InstanceAttribute
- #detach_classic_link_vpc(options = {}) ⇒ Types::DetachClassicLinkVpcResult
- #detach_volume(options = {}) ⇒ Types::VolumeAttachment
- #modify_attribute(options = {}) ⇒ EmptyStructure
- #monitor(options = {}) ⇒ Types::MonitorInstancesResult
- #password_data(options = {}) ⇒ Types::GetPasswordDataResult
- #reboot(options = {}) ⇒ EmptyStructure
- #report_status(options = {}) ⇒ EmptyStructure
- #reset_attribute(options = {}) ⇒ EmptyStructure
- #reset_kernel(options = {}) ⇒ EmptyStructure
- #reset_ramdisk(options = {}) ⇒ EmptyStructure
- #reset_source_dest_check(options = {}) ⇒ EmptyStructure
- #start(options = {}) ⇒ Types::StartInstancesResult
- #stop(options = {}) ⇒ Types::StopInstancesResult
- #terminate(options = {}) ⇒ Types::TerminateInstancesResult
- #unmonitor(options = {}) ⇒ Types::UnmonitorInstancesResult
Associations collapse
- #classic_address ⇒ ClassicAddress?
- #identifiers ⇒ Object deprecated private Deprecated.
- #image ⇒ Image?
- #key_pair ⇒ KeyPairInfo?
- #network_interfaces ⇒ NetworkInterface::Collection
- #placement_group ⇒ PlacementGroup?
- #subnet ⇒ Subnet?
- #volumes(options = {}) ⇒ Volume::Collection
- #vpc ⇒ Vpc?
- #vpc_addresses(options = {}) ⇒ VpcAddress::Collection
Instance Method Summary collapse
- #client ⇒ Client
-
#data ⇒ Types::Instance
Returns the data for this Instance.
-
#data_loaded? ⇒ Boolean
Returns
trueif this resource is loaded. - #decrypt_windows_password(key_pair_path) ⇒ String
-
#exists?(options = {}) ⇒ Boolean
Returns
trueif the Instance exists. -
#initialize(*args) ⇒ Instance
constructor
A new instance of Instance.
- #load ⇒ self (also: #reload)
-
#wait_until(options = {}) {|resource| ... } ⇒ Resource
deprecated
Deprecated.
Use [Aws::EC2::Client] #wait_until instead
- #wait_until_exists(options = {}, &block) ⇒ Instance
- #wait_until_running(options = {}, &block) ⇒ Instance
- #wait_until_stopped(options = {}, &block) ⇒ Instance
- #wait_until_terminated(options = {}, &block) ⇒ Instance
Constructor Details
#initialize(id, options = {}) ⇒ Instance #initialize(options = {}) ⇒ Instance
Returns a new instance of Instance.
13 14 15 |
# File 'sig/instance.rbs', line 13
def initialize: (String id, Hash[Symbol, untyped] options) -> void
| (id: String, ?client: Client) -> void
| (Hash[Symbol, untyped] args) -> void
|
Instance Method Details
#ami_launch_index ⇒ Integer
The AMI launch index, which can be used to find this instance in the launch group.
160 |
# File 'sig/instance.rbs', line 160
def ami_launch_index: () -> ::Integer
|
#architecture ⇒ String
The architecture of the image.
22 |
# File 'sig/instance.rbs', line 22
def architecture: () -> ("i386" | "x86_64" | "arm64" | "x86_64_mac" | "arm64_mac")
|
#attach_classic_link_vpc(options = {}) ⇒ Types::AttachClassicLinkVpcResult
231 |
# File 'sig/instance.rbs', line 231
def attach_classic_link_vpc: (
|
#attach_volume(options = {}) ⇒ Types::VolumeAttachment
239 |
# File 'sig/instance.rbs', line 239
def attach_volume: (
|
#block_device_mappings ⇒ Array<Types::InstanceBlockDeviceMapping>
Any block device mapping entries for the instance.
25 |
# File 'sig/instance.rbs', line 25
def block_device_mappings: () -> ::Array[Types::InstanceBlockDeviceMapping]
|
#boot_mode ⇒ String
The boot mode that was specified by the AMI. If the value is
uefi-preferred, the AMI supports both UEFI and Legacy BIOS. The
currentInstanceBootMode parameter is the boot mode that is used to
boot the instance at launch or start.
For more information, see Boot modes in the Amazon EC2 User Guide.
106 |
# File 'sig/instance.rbs', line 106
def boot_mode: () -> ("legacy-bios" | "uefi" | "uefi-preferred")
|
#capacity_block_id ⇒ String
The ID of the Capacity Block.
85 |
# File 'sig/instance.rbs', line 85
def capacity_block_id: () -> ::String
|
#capacity_reservation_id ⇒ String
The ID of the Capacity Reservation.
88 |
# File 'sig/instance.rbs', line 88
def capacity_reservation_id: () -> ::String
|
#capacity_reservation_specification ⇒ Types::CapacityReservationSpecificationResponse
Information about the Capacity Reservation targeting option.
91 |
# File 'sig/instance.rbs', line 91
def capacity_reservation_specification: () -> Types::CapacityReservationSpecificationResponse
|
#classic_address ⇒ ClassicAddress?
475 |
# File 'sig/instance.rbs', line 475
def classic_address: () -> ClassicAddress?
|
#client_token ⇒ String
The idempotency token you provided when you launched the instance, if applicable.
28 |
# File 'sig/instance.rbs', line 28
def client_token: () -> ::String
|
#console_output(options = {}) ⇒ Types::GetConsoleOutputResult
248 |
# File 'sig/instance.rbs', line 248
def console_output: (
|
#cpu_options ⇒ Types::CpuOptions
The CPU options for the instance.
82 |
# File 'sig/instance.rbs', line 82
def cpu_options: () -> Types::CpuOptions
|
#create_tags(options = {}) ⇒ Tag::Collection
298 |
# File 'sig/instance.rbs', line 298
def create_tags: (
|
#current_instance_boot_mode ⇒ String
The boot mode that is used to boot the instance at launch or start. For more information, see Boot modes in the Amazon EC2 User Guide.
130 |
# File 'sig/instance.rbs', line 130
def current_instance_boot_mode: () -> ("legacy-bios" | "uefi")
|
#data ⇒ Types::Instance
Returns the data for this Aws::EC2::Instance. Calls
Client#describe_instances if #data_loaded? is false.
205 |
# File 'sig/instance.rbs', line 205
def data: () -> Types::Instance
|
#data_loaded? ⇒ Boolean
208 |
# File 'sig/instance.rbs', line 208
def data_loaded?: () -> bool
|
#decrypt_windows_password(key_pair_path) ⇒ String
11 12 13 14 15 16 |
# File 'lib/aws-sdk-ec2/customizations/instance.rb', line 11 def decrypt_windows_password(key_pair_path) decoded = Base64.decode64(encrypted_password) pem_bytes = File.open(key_pair_path, 'rb') { |f| f.read } private_key = OpenSSL::PKey::RSA.new(pem_bytes) private_key.private_decrypt(decoded) end |
#delete_tags(options = {}) ⇒ Tag::Collection
310 |
# File 'sig/instance.rbs', line 310
def delete_tags: (
|
#describe_attribute(options = {}) ⇒ Types::InstanceAttribute
322 |
# File 'sig/instance.rbs', line 322
def describe_attribute: (
|
#detach_classic_link_vpc(options = {}) ⇒ Types::DetachClassicLinkVpcResult
329 |
# File 'sig/instance.rbs', line 329
def detach_classic_link_vpc: (
|
#detach_volume(options = {}) ⇒ Types::VolumeAttachment
336 |
# File 'sig/instance.rbs', line 336
def detach_volume: (
|
#ebs_optimized ⇒ Boolean
Indicates whether the instance is optimized for Amazon EBS I/O. This optimization provides dedicated throughput to Amazon EBS and an optimized configuration stack to provide optimal I/O performance. This optimization isn't available with all instance types. Additional usage charges apply when using an EBS Optimized instance.
31 |
# File 'sig/instance.rbs', line 31
def ebs_optimized: () -> bool
|
#elastic_gpu_associations ⇒ Array<Types::ElasticGpuAssociation>
Deprecated.
46 |
# File 'sig/instance.rbs', line 46
def elastic_gpu_associations: () -> ::Array[Types::ElasticGpuAssociation]
|
#elastic_inference_accelerator_associations ⇒ Array<Types::ElasticInferenceAcceleratorAssociation>
Deprecated
49 |
# File 'sig/instance.rbs', line 49
def elastic_inference_accelerator_associations: () -> ::Array[Types::ElasticInferenceAcceleratorAssociation]
|
#ena_support ⇒ Boolean
Specifies whether enhanced networking with ENA is enabled.
34 |
# File 'sig/instance.rbs', line 34
def ena_support: () -> bool
|
#enclave_options ⇒ Types::EnclaveOptions
Indicates whether the instance is enabled for Amazon Web Services Nitro Enclaves.
103 |
# File 'sig/instance.rbs', line 103
def enclave_options: () -> Types::EnclaveOptions
|
#exists?(options = {}) ⇒ Boolean
Returns true if the Instance exists.
211 212 |
# File 'sig/instance.rbs', line 211
def exists?: (?max_attempts: Integer, ?delay: Numeric, ?before_attempt: (^(Integer attempts) -> void), ?before_wait: (^(Integer attempts, untyped response) -> void)) -> bool
| (?Hash[Symbol, untyped]) -> bool
|
#hibernation_options ⇒ Types::HibernationOptions
Indicates whether the instance is enabled for hibernation.
94 |
# File 'sig/instance.rbs', line 94
def hibernation_options: () -> Types::HibernationOptions
|
#hypervisor ⇒ String
The hypervisor type of the instance. The value xen is used for both
Xen and Nitro hypervisors.
37 |
# File 'sig/instance.rbs', line 37
def hypervisor: () -> ("ovm" | "xen")
|
#iam_instance_profile ⇒ Types::IamInstanceProfile
The IAM instance profile associated with the instance, if applicable.
40 |
# File 'sig/instance.rbs', line 40
def iam_instance_profile: () -> Types::IamInstanceProfile
|
#id ⇒ String Also known as: instance_id
18 |
# File 'sig/instance.rbs', line 18
def id: () -> String
|
#identifiers ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
1922 1923 1924 |
# File 'lib/aws-sdk-ec2/instance.rb', line 1922 def identifiers { id: @id } end |
#image_id ⇒ String
The ID of the AMI used to launch the instance.
142 |
# File 'sig/instance.rbs', line 142
def image_id: () -> ::String
|
#instance_lifecycle ⇒ String
Indicates whether this is a Spot Instance or a Scheduled Instance.
43 |
# File 'sig/instance.rbs', line 43
def instance_lifecycle: () -> ("spot" | "scheduled" | "capacity-block" | "interruptible-capacity-reservation")
|
#instance_type ⇒ String
The instance type.
166 |
# File 'sig/instance.rbs', line 166
def instance_type: () -> ("a1.medium" | "a1.large" | "a1.xlarge" | "a1.2xlarge" | "a1.4xlarge" | "a1.metal" | "c1.medium" | "c1.xlarge" | "c3.large" | "c3.xlarge" | "c3.2xlarge" | "c3.4xlarge" | "c3.8xlarge" | "c4.large" | "c4.xlarge" | "c4.2xlarge" | "c4.4xlarge" | "c4.8xlarge" | "c5.large" | "c5.xlarge" | "c5.2xlarge" | "c5.4xlarge" | "c5.9xlarge" | "c5.12xlarge" | "c5.18xlarge" | "c5.24xlarge" | "c5.metal" | "c5a.large" | "c5a.xlarge" | "c5a.2xlarge" | "c5a.4xlarge" | "c5a.8xlarge" | "c5a.12xlarge" | "c5a.16xlarge" | "c5a.24xlarge" | "c5ad.large" | "c5ad.xlarge" | "c5ad.2xlarge" | "c5ad.4xlarge" | "c5ad.8xlarge" | "c5ad.12xlarge" | "c5ad.16xlarge" | "c5ad.24xlarge" | "c5d.large" | "c5d.xlarge" | "c5d.2xlarge" | "c5d.4xlarge" | "c5d.9xlarge" | "c5d.12xlarge" | "c5d.18xlarge" | "c5d.24xlarge" | "c5d.metal" | "c5n.large" | "c5n.xlarge" | "c5n.2xlarge" | "c5n.4xlarge" | "c5n.9xlarge" | "c5n.18xlarge" | "c5n.metal" | "c6g.medium" | "c6g.large" | "c6g.xlarge" | "c6g.2xlarge" | "c6g.4xlarge" | "c6g.8xlarge" | "c6g.12xlarge" | "c6g.16xlarge" | "c6g.metal" | "c6gd.medium" | "c6gd.large" | "c6gd.xlarge" | "c6gd.2xlarge" | "c6gd.4xlarge" | "c6gd.8xlarge" | "c6gd.12xlarge" | "c6gd.16xlarge" | "c6gd.metal" | "c6gn.medium" | "c6gn.large" | "c6gn.xlarge" | "c6gn.2xlarge" | "c6gn.4xlarge" | "c6gn.8xlarge" | "c6gn.12xlarge" | "c6gn.16xlarge" | "c6i.large" | "c6i.xlarge" | "c6i.2xlarge" | "c6i.4xlarge" | "c6i.8xlarge" | "c6i.12xlarge" | "c6i.16xlarge" | "c6i.24xlarge" | "c6i.32xlarge" | "c6i.metal" | "cc1.4xlarge" | "cc2.8xlarge" | "cg1.4xlarge" | "cr1.8xlarge" | "d2.xlarge" | "d2.2xlarge" | "d2.4xlarge" | "d2.8xlarge" | "d3.xlarge" | "d3.2xlarge" | "d3.4xlarge" | "d3.8xlarge" | "d3en.xlarge" | "d3en.2xlarge" | "d3en.4xlarge" | "d3en.6xlarge" | "d3en.8xlarge" | "d3en.12xlarge" | "dl1.24xlarge" | "f1.2xlarge" | "f1.4xlarge" | "f1.16xlarge" | "g2.2xlarge" | "g2.8xlarge" | "g3.4xlarge" | "g3.8xlarge" | "g3.16xlarge" | "g3s.xlarge" | "g4ad.xlarge" | "g4ad.2xlarge" | "g4ad.4xlarge" | "g4ad.8xlarge" | "g4ad.16xlarge" | "g4dn.xlarge" | "g4dn.2xlarge" | "g4dn.4xlarge" | "g4dn.8xlarge" | "g4dn.12xlarge" | "g4dn.16xlarge" | "g4dn.metal" | "g5.xlarge" | "g5.2xlarge" | "g5.4xlarge" | "g5.8xlarge" | "g5.12xlarge" | "g5.16xlarge" | "g5.24xlarge" | "g5.48xlarge" | "g5g.xlarge" | "g5g.2xlarge" | "g5g.4xlarge" | "g5g.8xlarge" | "g5g.16xlarge" | "g5g.metal" | "hi1.4xlarge" | "hpc6a.48xlarge" | "hs1.8xlarge" | "h1.2xlarge" | "h1.4xlarge" | "h1.8xlarge" | "h1.16xlarge" | "i2.xlarge" | "i2.2xlarge" | "i2.4xlarge" | "i2.8xlarge" | "i3.large" | "i3.xlarge" | "i3.2xlarge" | "i3.4xlarge" | "i3.8xlarge" | "i3.16xlarge" | "i3.metal" | "i3en.large" | "i3en.xlarge" | "i3en.2xlarge" | "i3en.3xlarge" | "i3en.6xlarge" | "i3en.12xlarge" | "i3en.24xlarge" | "i3en.metal" | "im4gn.large" | "im4gn.xlarge" | "im4gn.2xlarge" | "im4gn.4xlarge" | "im4gn.8xlarge" | "im4gn.16xlarge" | "inf1.xlarge" | "inf1.2xlarge" | "inf1.6xlarge" | "inf1.24xlarge" | "is4gen.medium" | "is4gen.large" | "is4gen.xlarge" | "is4gen.2xlarge" | "is4gen.4xlarge" | "is4gen.8xlarge" | "m1.small" | "m1.medium" | "m1.large" | "m1.xlarge" | "m2.xlarge" | "m2.2xlarge" | "m2.4xlarge" | "m3.medium" | "m3.large" | "m3.xlarge" | "m3.2xlarge" | "m4.large" | "m4.xlarge" | "m4.2xlarge" | "m4.4xlarge" | "m4.10xlarge" | "m4.16xlarge" | "m5.large" | "m5.xlarge" | "m5.2xlarge" | "m5.4xlarge" | "m5.8xlarge" | "m5.12xlarge" | "m5.16xlarge" | "m5.24xlarge" | "m5.metal" | "m5a.large" | "m5a.xlarge" | "m5a.2xlarge" | "m5a.4xlarge" | "m5a.8xlarge" | "m5a.12xlarge" | "m5a.16xlarge" | "m5a.24xlarge" | "m5ad.large" | "m5ad.xlarge" | "m5ad.2xlarge" | "m5ad.4xlarge" | "m5ad.8xlarge" | "m5ad.12xlarge" | "m5ad.16xlarge" | "m5ad.24xlarge" | "m5d.large" | "m5d.xlarge" | "m5d.2xlarge" | "m5d.4xlarge" | "m5d.8xlarge" | "m5d.12xlarge" | "m5d.16xlarge" | "m5d.24xlarge" | "m5d.metal" | "m5dn.large" | "m5dn.xlarge" | "m5dn.2xlarge" | "m5dn.4xlarge" | "m5dn.8xlarge" | "m5dn.12xlarge" | "m5dn.16xlarge" | "m5dn.24xlarge" | "m5dn.metal" | "m5n.large" | "m5n.xlarge" | "m5n.2xlarge" | "m5n.4xlarge" | "m5n.8xlarge" | "m5n.12xlarge" | "m5n.16xlarge" | "m5n.24xlarge" | "m5n.metal" | "m5zn.large" | "m5zn.xlarge" | "m5zn.2xlarge" | "m5zn.3xlarge" | "m5zn.6xlarge" | "m5zn.12xlarge" | "m5zn.metal" | "m6a.large" | "m6a.xlarge" | "m6a.2xlarge" | "m6a.4xlarge" | "m6a.8xlarge" | "m6a.12xlarge" | "m6a.16xlarge" | "m6a.24xlarge" | "m6a.32xlarge" | "m6a.48xlarge" | "m6g.metal" | "m6g.medium" | "m6g.large" | "m6g.xlarge" | "m6g.2xlarge" | "m6g.4xlarge" | "m6g.8xlarge" | "m6g.12xlarge" | "m6g.16xlarge" | "m6gd.metal" | "m6gd.medium" | "m6gd.large" | "m6gd.xlarge" | "m6gd.2xlarge" | "m6gd.4xlarge" | "m6gd.8xlarge" | "m6gd.12xlarge" | "m6gd.16xlarge" | "m6i.large" | "m6i.xlarge" | "m6i.2xlarge" | "m6i.4xlarge" | "m6i.8xlarge" | "m6i.12xlarge" | "m6i.16xlarge" | "m6i.24xlarge" | "m6i.32xlarge" | "m6i.metal" | "mac1.metal" | "p2.xlarge" | "p2.8xlarge" | "p2.16xlarge" | "p3.2xlarge" | "p3.8xlarge" | "p3.16xlarge" | "p3dn.24xlarge" | "p4d.24xlarge" | "r3.large" | "r3.xlarge" | "r3.2xlarge" | "r3.4xlarge" | "r3.8xlarge" | "r4.large" | "r4.xlarge" | "r4.2xlarge" | "r4.4xlarge" | "r4.8xlarge" | "r4.16xlarge" | "r5.large" | "r5.xlarge" | "r5.2xlarge" | "r5.4xlarge" | "r5.8xlarge" | "r5.12xlarge" | "r5.16xlarge" | "r5.24xlarge" | "r5.metal" | "r5a.large" | "r5a.xlarge" | "r5a.2xlarge" | "r5a.4xlarge" | "r5a.8xlarge" | "r5a.12xlarge" | "r5a.16xlarge" | "r5a.24xlarge" | "r5ad.large" | "r5ad.xlarge" | "r5ad.2xlarge" | "r5ad.4xlarge" | "r5ad.8xlarge" | "r5ad.12xlarge" | "r5ad.16xlarge" | "r5ad.24xlarge" | "r5b.large" | "r5b.xlarge" | "r5b.2xlarge" | "r5b.4xlarge" | "r5b.8xlarge" | "r5b.12xlarge" | "r5b.16xlarge" | "r5b.24xlarge" | "r5b.metal" | "r5d.large" | "r5d.xlarge" | "r5d.2xlarge" | "r5d.4xlarge" | "r5d.8xlarge" | "r5d.12xlarge" | "r5d.16xlarge" | "r5d.24xlarge" | "r5d.metal" | "r5dn.large" | "r5dn.xlarge" | "r5dn.2xlarge" | "r5dn.4xlarge" | "r5dn.8xlarge" | "r5dn.12xlarge" | "r5dn.16xlarge" | "r5dn.24xlarge" | "r5dn.metal" | "r5n.large" | "r5n.xlarge" | "r5n.2xlarge" | "r5n.4xlarge" | "r5n.8xlarge" | "r5n.12xlarge" | "r5n.16xlarge" | "r5n.24xlarge" | "r5n.metal" | "r6g.medium" | "r6g.large" | "r6g.xlarge" | "r6g.2xlarge" | "r6g.4xlarge" | "r6g.8xlarge" | "r6g.12xlarge" | "r6g.16xlarge" | "r6g.metal" | "r6gd.medium" | "r6gd.large" | "r6gd.xlarge" | "r6gd.2xlarge" | "r6gd.4xlarge" | "r6gd.8xlarge" | "r6gd.12xlarge" | "r6gd.16xlarge" | "r6gd.metal" | "r6i.large" | "r6i.xlarge" | "r6i.2xlarge" | "r6i.4xlarge" | "r6i.8xlarge" | "r6i.12xlarge" | "r6i.16xlarge" | "r6i.24xlarge" | "r6i.32xlarge" | "r6i.metal" | "t1.micro" | "t2.nano" | "t2.micro" | "t2.small" | "t2.medium" | "t2.large" | "t2.xlarge" | "t2.2xlarge" | "t3.nano" | "t3.micro" | "t3.small" | "t3.medium" | "t3.large" | "t3.xlarge" | "t3.2xlarge" | "t3a.nano" | "t3a.micro" | "t3a.small" | "t3a.medium" | "t3a.large" | "t3a.xlarge" | "t3a.2xlarge" | "t4g.nano" | "t4g.micro" | "t4g.small" | "t4g.medium" | "t4g.large" | "t4g.xlarge" | "t4g.2xlarge" | "u-6tb1.56xlarge" | "u-6tb1.112xlarge" | "u-9tb1.112xlarge" | "u-12tb1.112xlarge" | "u-6tb1.metal" | "u-9tb1.metal" | "u-12tb1.metal" | "u-18tb1.metal" | "u-24tb1.metal" | "vt1.3xlarge" | "vt1.6xlarge" | "vt1.24xlarge" | "x1.16xlarge" | "x1.32xlarge" | "x1e.xlarge" | "x1e.2xlarge" | "x1e.4xlarge" | "x1e.8xlarge" | "x1e.16xlarge" | "x1e.32xlarge" | "x2iezn.2xlarge" | "x2iezn.4xlarge" | "x2iezn.6xlarge" | "x2iezn.8xlarge" | "x2iezn.12xlarge" | "x2iezn.metal" | "x2gd.medium" | "x2gd.large" | "x2gd.xlarge" | "x2gd.2xlarge" | "x2gd.4xlarge" | "x2gd.8xlarge" | "x2gd.12xlarge" | "x2gd.16xlarge" | "x2gd.metal" | "z1d.large" | "z1d.xlarge" | "z1d.2xlarge" | "z1d.3xlarge" | "z1d.6xlarge" | "z1d.12xlarge" | "z1d.metal" | "x2idn.16xlarge" | "x2idn.24xlarge" | "x2idn.32xlarge" | "x2iedn.xlarge" | "x2iedn.2xlarge" | "x2iedn.4xlarge" | "x2iedn.8xlarge" | "x2iedn.16xlarge" | "x2iedn.24xlarge" | "x2iedn.32xlarge" | "c6a.large" | "c6a.xlarge" | "c6a.2xlarge" | "c6a.4xlarge" | "c6a.8xlarge" | "c6a.12xlarge" | "c6a.16xlarge" | "c6a.24xlarge" | "c6a.32xlarge" | "c6a.48xlarge" | "c6a.metal" | "m6a.metal" | "i4i.large" | "i4i.xlarge" | "i4i.2xlarge" | "i4i.4xlarge" | "i4i.8xlarge" | "i4i.16xlarge" | "i4i.32xlarge" | "i4i.metal" | "x2idn.metal" | "x2iedn.metal" | "c7g.medium" | "c7g.large" | "c7g.xlarge" | "c7g.2xlarge" | "c7g.4xlarge" | "c7g.8xlarge" | "c7g.12xlarge" | "c7g.16xlarge" | "mac2.metal" | "c6id.large" | "c6id.xlarge" | "c6id.2xlarge" | "c6id.4xlarge" | "c6id.8xlarge" | "c6id.12xlarge" | "c6id.16xlarge" | "c6id.24xlarge" | "c6id.32xlarge" | "c6id.metal" | "m6id.large" | "m6id.xlarge" | "m6id.2xlarge" | "m6id.4xlarge" | "m6id.8xlarge" | "m6id.12xlarge" | "m6id.16xlarge" | "m6id.24xlarge" | "m6id.32xlarge" | "m6id.metal" | "r6id.large" | "r6id.xlarge" | "r6id.2xlarge" | "r6id.4xlarge" | "r6id.8xlarge" | "r6id.12xlarge" | "r6id.16xlarge" | "r6id.24xlarge" | "r6id.32xlarge" | "r6id.metal" | "r6a.large" | "r6a.xlarge" | "r6a.2xlarge" | "r6a.4xlarge" | "r6a.8xlarge" | "r6a.12xlarge" | "r6a.16xlarge" | "r6a.24xlarge" | "r6a.32xlarge" | "r6a.48xlarge" | "r6a.metal" | "p4de.24xlarge" | "u-3tb1.56xlarge" | "u-18tb1.112xlarge" | "u-24tb1.112xlarge" | "trn1.2xlarge" | "trn1.32xlarge" | "hpc6id.32xlarge" | "c6in.large" | "c6in.xlarge" | "c6in.2xlarge" | "c6in.4xlarge" | "c6in.8xlarge" | "c6in.12xlarge" | "c6in.16xlarge" | "c6in.24xlarge" | "c6in.32xlarge" | "m6in.large" | "m6in.xlarge" | "m6in.2xlarge" | "m6in.4xlarge" | "m6in.8xlarge" | "m6in.12xlarge" | "m6in.16xlarge" | "m6in.24xlarge" | "m6in.32xlarge" | "m6idn.large" | "m6idn.xlarge" | "m6idn.2xlarge" | "m6idn.4xlarge" | "m6idn.8xlarge" | "m6idn.12xlarge" | "m6idn.16xlarge" | "m6idn.24xlarge" | "m6idn.32xlarge" | "r6in.large" | "r6in.xlarge" | "r6in.2xlarge" | "r6in.4xlarge" | "r6in.8xlarge" | "r6in.12xlarge" | "r6in.16xlarge" | "r6in.24xlarge" | "r6in.32xlarge" | "r6idn.large" | "r6idn.xlarge" | "r6idn.2xlarge" | "r6idn.4xlarge" | "r6idn.8xlarge" | "r6idn.12xlarge" | "r6idn.16xlarge" | "r6idn.24xlarge" | "r6idn.32xlarge" | "c7g.metal" | "m7g.medium" | "m7g.large" | "m7g.xlarge" | "m7g.2xlarge" | "m7g.4xlarge" | "m7g.8xlarge" | "m7g.12xlarge" | "m7g.16xlarge" | "m7g.metal" | "r7g.medium" | "r7g.large" | "r7g.xlarge" | "r7g.2xlarge" | "r7g.4xlarge" | "r7g.8xlarge" | "r7g.12xlarge" | "r7g.16xlarge" | "r7g.metal" | "c6in.metal" | "m6in.metal" | "m6idn.metal" | "r6in.metal" | "r6idn.metal" | "inf2.xlarge" | "inf2.8xlarge" | "inf2.24xlarge" | "inf2.48xlarge" | "trn1n.32xlarge" | "i4g.large" | "i4g.xlarge" | "i4g.2xlarge" | "i4g.4xlarge" | "i4g.8xlarge" | "i4g.16xlarge" | "hpc7g.4xlarge" | "hpc7g.8xlarge" | "hpc7g.16xlarge" | "c7gn.medium" | "c7gn.large" | "c7gn.xlarge" | "c7gn.2xlarge" | "c7gn.4xlarge" | "c7gn.8xlarge" | "c7gn.12xlarge" | "c7gn.16xlarge" | "p5.48xlarge" | "m7i.large" | "m7i.xlarge" | "m7i.2xlarge" | "m7i.4xlarge" | "m7i.8xlarge" | "m7i.12xlarge" | "m7i.16xlarge" | "m7i.24xlarge" | "m7i.48xlarge" | "m7i-flex.large" | "m7i-flex.xlarge" | "m7i-flex.2xlarge" | "m7i-flex.4xlarge" | "m7i-flex.8xlarge" | "m7a.medium" | "m7a.large" | "m7a.xlarge" | "m7a.2xlarge" | "m7a.4xlarge" | "m7a.8xlarge" | "m7a.12xlarge" | "m7a.16xlarge" | "m7a.24xlarge" | "m7a.32xlarge" | "m7a.48xlarge" | "m7a.metal-48xl" | "hpc7a.12xlarge" | "hpc7a.24xlarge" | "hpc7a.48xlarge" | "hpc7a.96xlarge" | "c7gd.medium" | "c7gd.large" | "c7gd.xlarge" | "c7gd.2xlarge" | "c7gd.4xlarge" | "c7gd.8xlarge" | "c7gd.12xlarge" | "c7gd.16xlarge" | "m7gd.medium" | "m7gd.large" | "m7gd.xlarge" | "m7gd.2xlarge" | "m7gd.4xlarge" | "m7gd.8xlarge" | "m7gd.12xlarge" | "m7gd.16xlarge" | "r7gd.medium" | "r7gd.large" | "r7gd.xlarge" | "r7gd.2xlarge" | "r7gd.4xlarge" | "r7gd.8xlarge" | "r7gd.12xlarge" | "r7gd.16xlarge" | "r7a.medium" | "r7a.large" | "r7a.xlarge" | "r7a.2xlarge" | "r7a.4xlarge" | "r7a.8xlarge" | "r7a.12xlarge" | "r7a.16xlarge" | "r7a.24xlarge" | "r7a.32xlarge" | "r7a.48xlarge" | "c7i.large" | "c7i.xlarge" | "c7i.2xlarge" | "c7i.4xlarge" | "c7i.8xlarge" | "c7i.12xlarge" | "c7i.16xlarge" | "c7i.24xlarge" | "c7i.48xlarge" | "mac2-m2pro.metal" | "r7iz.large" | "r7iz.xlarge" | "r7iz.2xlarge" | "r7iz.4xlarge" | "r7iz.8xlarge" | "r7iz.12xlarge" | "r7iz.16xlarge" | "r7iz.32xlarge" | "c7a.medium" | "c7a.large" | "c7a.xlarge" | "c7a.2xlarge" | "c7a.4xlarge" | "c7a.8xlarge" | "c7a.12xlarge" | "c7a.16xlarge" | "c7a.24xlarge" | "c7a.32xlarge" | "c7a.48xlarge" | "c7a.metal-48xl" | "r7a.metal-48xl" | "r7i.large" | "r7i.xlarge" | "r7i.2xlarge" | "r7i.4xlarge" | "r7i.8xlarge" | "r7i.12xlarge" | "r7i.16xlarge" | "r7i.24xlarge" | "r7i.48xlarge" | "dl2q.24xlarge" | "mac2-m2.metal" | "i4i.12xlarge" | "i4i.24xlarge" | "c7i.metal-24xl" | "c7i.metal-48xl" | "m7i.metal-24xl" | "m7i.metal-48xl" | "r7i.metal-24xl" | "r7i.metal-48xl" | "r7iz.metal-16xl" | "r7iz.metal-32xl" | "c7gd.metal" | "m7gd.metal" | "r7gd.metal" | "g6.xlarge" | "g6.2xlarge" | "g6.4xlarge" | "g6.8xlarge" | "g6.12xlarge" | "g6.16xlarge" | "g6.24xlarge" | "g6.48xlarge" | "gr6.4xlarge" | "gr6.8xlarge" | "c7i-flex.large" | "c7i-flex.xlarge" | "c7i-flex.2xlarge" | "c7i-flex.4xlarge" | "c7i-flex.8xlarge" | "u7i-12tb.224xlarge" | "u7in-16tb.224xlarge" | "u7in-24tb.224xlarge" | "u7in-32tb.224xlarge" | "u7ib-12tb.224xlarge" | "c7gn.metal" | "r8g.medium" | "r8g.large" | "r8g.xlarge" | "r8g.2xlarge" | "r8g.4xlarge" | "r8g.8xlarge" | "r8g.12xlarge" | "r8g.16xlarge" | "r8g.24xlarge" | "r8g.48xlarge" | "r8g.metal-24xl" | "r8g.metal-48xl" | "mac2-m1ultra.metal" | "g6e.xlarge" | "g6e.2xlarge" | "g6e.4xlarge" | "g6e.8xlarge" | "g6e.12xlarge" | "g6e.16xlarge" | "g6e.24xlarge" | "g6e.48xlarge" | "c8g.medium" | "c8g.large" | "c8g.xlarge" | "c8g.2xlarge" | "c8g.4xlarge" | "c8g.8xlarge" | "c8g.12xlarge" | "c8g.16xlarge" | "c8g.24xlarge" | "c8g.48xlarge" | "c8g.metal-24xl" | "c8g.metal-48xl" | "m8g.medium" | "m8g.large" | "m8g.xlarge" | "m8g.2xlarge" | "m8g.4xlarge" | "m8g.8xlarge" | "m8g.12xlarge" | "m8g.16xlarge" | "m8g.24xlarge" | "m8g.48xlarge" | "m8g.metal-24xl" | "m8g.metal-48xl" | "x8g.medium" | "x8g.large" | "x8g.xlarge" | "x8g.2xlarge" | "x8g.4xlarge" | "x8g.8xlarge" | "x8g.12xlarge" | "x8g.16xlarge" | "x8g.24xlarge" | "x8g.48xlarge" | "x8g.metal-24xl" | "x8g.metal-48xl" | "i7ie.large" | "i7ie.xlarge" | "i7ie.2xlarge" | "i7ie.3xlarge" | "i7ie.6xlarge" | "i7ie.12xlarge" | "i7ie.18xlarge" | "i7ie.24xlarge" | "i7ie.48xlarge" | "i8g.large" | "i8g.xlarge" | "i8g.2xlarge" | "i8g.4xlarge" | "i8g.8xlarge" | "i8g.12xlarge" | "i8g.16xlarge" | "i8g.24xlarge" | "i8g.metal-24xl" | "u7i-6tb.112xlarge" | "u7i-8tb.112xlarge" | "u7inh-32tb.480xlarge" | "p5e.48xlarge" | "p5en.48xlarge" | "f2.12xlarge" | "f2.48xlarge" | "trn2.48xlarge" | "c7i-flex.12xlarge" | "c7i-flex.16xlarge" | "m7i-flex.12xlarge" | "m7i-flex.16xlarge" | "i7ie.metal-24xl" | "i7ie.metal-48xl" | "i8g.48xlarge" | "c8gd.medium" | "c8gd.large" | "c8gd.xlarge" | "c8gd.2xlarge" | "c8gd.4xlarge" | "c8gd.8xlarge" | "c8gd.12xlarge" | "c8gd.16xlarge" | "c8gd.24xlarge" | "c8gd.48xlarge" | "c8gd.metal-24xl" | "c8gd.metal-48xl" | "i7i.large" | "i7i.xlarge" | "i7i.2xlarge" | "i7i.4xlarge" | "i7i.8xlarge" | "i7i.12xlarge" | "i7i.16xlarge" | "i7i.24xlarge" | "i7i.48xlarge" | "i7i.metal-24xl" | "i7i.metal-48xl" | "p6-b200.48xlarge" | "m8gd.medium" | "m8gd.large" | "m8gd.xlarge" | "m8gd.2xlarge" | "m8gd.4xlarge" | "m8gd.8xlarge" | "m8gd.12xlarge" | "m8gd.16xlarge" | "m8gd.24xlarge" | "m8gd.48xlarge" | "m8gd.metal-24xl" | "m8gd.metal-48xl" | "r8gd.medium" | "r8gd.large" | "r8gd.xlarge" | "r8gd.2xlarge" | "r8gd.4xlarge" | "r8gd.8xlarge" | "r8gd.12xlarge" | "r8gd.16xlarge" | "r8gd.24xlarge" | "r8gd.48xlarge" | "r8gd.metal-24xl" | "r8gd.metal-48xl" | "c8gn.medium" | "c8gn.large" | "c8gn.xlarge" | "c8gn.2xlarge" | "c8gn.4xlarge" | "c8gn.8xlarge" | "c8gn.12xlarge" | "c8gn.16xlarge" | "c8gn.24xlarge" | "c8gn.48xlarge" | "c8gn.metal-24xl" | "c8gn.metal-48xl" | "f2.6xlarge" | "p6e-gb200.36xlarge" | "g6f.large" | "g6f.xlarge" | "g6f.2xlarge" | "g6f.4xlarge" | "gr6f.4xlarge" | "p5.4xlarge" | "r8i.large" | "r8i.xlarge" | "r8i.2xlarge" | "r8i.4xlarge" | "r8i.8xlarge" | "r8i.12xlarge" | "r8i.16xlarge" | "r8i.24xlarge" | "r8i.32xlarge" | "r8i.48xlarge" | "r8i.96xlarge" | "r8i.metal-48xl" | "r8i.metal-96xl" | "r8i-flex.large" | "r8i-flex.xlarge" | "r8i-flex.2xlarge" | "r8i-flex.4xlarge" | "r8i-flex.8xlarge" | "r8i-flex.12xlarge" | "r8i-flex.16xlarge" | "m8i.large" | "m8i.xlarge" | "m8i.2xlarge" | "m8i.4xlarge" | "m8i.8xlarge" | "m8i.12xlarge" | "m8i.16xlarge" | "m8i.24xlarge" | "m8i.32xlarge" | "m8i.48xlarge" | "m8i.96xlarge" | "m8i.metal-48xl" | "m8i.metal-96xl" | "m8i-flex.large" | "m8i-flex.xlarge" | "m8i-flex.2xlarge" | "m8i-flex.4xlarge" | "m8i-flex.8xlarge" | "m8i-flex.12xlarge" | "m8i-flex.16xlarge" | "i8ge.large" | "i8ge.xlarge" | "i8ge.2xlarge" | "i8ge.3xlarge" | "i8ge.6xlarge" | "i8ge.12xlarge" | "i8ge.18xlarge" | "i8ge.24xlarge" | "i8ge.48xlarge" | "i8ge.metal-24xl" | "i8ge.metal-48xl" | "mac-m4.metal" | "mac-m4pro.metal" | "r8gn.medium" | "r8gn.large" | "r8gn.xlarge" | "r8gn.2xlarge" | "r8gn.4xlarge" | "r8gn.8xlarge" | "r8gn.12xlarge" | "r8gn.16xlarge" | "r8gn.24xlarge" | "r8gn.48xlarge" | "r8gn.metal-24xl" | "r8gn.metal-48xl" | "c8i.large" | "c8i.xlarge" | "c8i.2xlarge" | "c8i.4xlarge" | "c8i.8xlarge" | "c8i.12xlarge" | "c8i.16xlarge" | "c8i.24xlarge" | "c8i.32xlarge" | "c8i.48xlarge" | "c8i.96xlarge" | "c8i.metal-48xl" | "c8i.metal-96xl" | "c8i-flex.large" | "c8i-flex.xlarge" | "c8i-flex.2xlarge" | "c8i-flex.4xlarge" | "c8i-flex.8xlarge" | "c8i-flex.12xlarge" | "c8i-flex.16xlarge" | "r8gb.medium" | "r8gb.large" | "r8gb.xlarge" | "r8gb.2xlarge" | "r8gb.4xlarge" | "r8gb.8xlarge" | "r8gb.12xlarge" | "r8gb.16xlarge" | "r8gb.24xlarge" | "r8gb.metal-24xl" | "m8a.medium" | "m8a.large" | "m8a.xlarge" | "m8a.2xlarge" | "m8a.4xlarge" | "m8a.8xlarge" | "m8a.12xlarge" | "m8a.16xlarge" | "m8a.24xlarge" | "m8a.48xlarge" | "m8a.metal-24xl" | "m8a.metal-48xl" | "trn2.3xlarge" | "r8a.medium" | "r8a.large" | "r8a.xlarge" | "r8a.2xlarge" | "r8a.4xlarge" | "r8a.8xlarge" | "r8a.12xlarge" | "r8a.16xlarge" | "r8a.24xlarge" | "r8a.48xlarge" | "r8a.metal-24xl" | "r8a.metal-48xl" | "p6-b300.48xlarge" | "c8a.medium" | "c8a.large" | "c8a.xlarge" | "c8a.2xlarge" | "c8a.4xlarge" | "c8a.8xlarge" | "c8a.12xlarge" | "c8a.16xlarge" | "c8a.24xlarge" | "c8a.48xlarge" | "c8a.metal-24xl" | "c8a.metal-48xl" | "c8gb.12xlarge" | "c8gb.16xlarge" | "c8gb.24xlarge" | "c8gb.2xlarge" | "c8gb.4xlarge" | "c8gb.8xlarge" | "c8gb.large" | "c8gb.medium" | "c8gb.metal-24xl" | "c8gb.xlarge" | "c8gb.48xlarge" | "c8gb.metal-48xl" | "m8gb.12xlarge" | "m8gb.16xlarge" | "m8gb.24xlarge" | "m8gb.2xlarge" | "m8gb.4xlarge" | "m8gb.8xlarge" | "m8gb.large" | "m8gb.medium" | "m8gb.xlarge" | "m8gb.48xlarge" | "m8gb.metal-24xl" | "m8gb.metal-48xl" | "m8gn.12xlarge" | "m8gn.16xlarge" | "m8gn.24xlarge" | "m8gn.2xlarge" | "m8gn.48xlarge" | "m8gn.4xlarge" | "m8gn.8xlarge" | "m8gn.large" | "m8gn.medium" | "m8gn.xlarge" | "m8gn.metal-24xl" | "m8gn.metal-48xl" | "x8aedz.12xlarge" | "x8aedz.24xlarge" | "x8aedz.3xlarge" | "x8aedz.6xlarge" | "x8aedz.large" | "x8aedz.metal-12xl" | "x8aedz.metal-24xl" | "x8aedz.xlarge" | "m8azn.medium" | "m8azn.large" | "m8azn.xlarge" | "m8azn.3xlarge" | "m8azn.6xlarge" | "m8azn.12xlarge" | "m8azn.24xlarge" | "m8azn.metal-12xl" | "m8azn.metal-24xl" | "x8i.large" | "x8i.xlarge" | "x8i.2xlarge" | "x8i.4xlarge" | "x8i.8xlarge" | "x8i.12xlarge" | "x8i.16xlarge" | "x8i.24xlarge" | "x8i.32xlarge" | "x8i.48xlarge" | "x8i.64xlarge" | "x8i.96xlarge" | "x8i.metal-48xl" | "x8i.metal-96xl" | "mac-m4max.metal" | "g7e.2xlarge" | "g7e.4xlarge" | "g7e.8xlarge" | "g7e.12xlarge" | "g7e.24xlarge" | "g7e.48xlarge" | "r8id.large" | "r8id.xlarge" | "r8id.2xlarge" | "r8id.4xlarge" | "r8id.8xlarge" | "r8id.12xlarge" | "r8id.16xlarge" | "r8id.24xlarge" | "r8id.32xlarge" | "r8id.48xlarge" | "r8id.96xlarge" | "r8id.metal-48xl" | "r8id.metal-96xl" | "c8id.large" | "c8id.xlarge" | "c8id.2xlarge" | "c8id.4xlarge" | "c8id.8xlarge" | "c8id.12xlarge" | "c8id.16xlarge" | "c8id.24xlarge" | "c8id.32xlarge" | "c8id.48xlarge" | "c8id.96xlarge" | "c8id.metal-48xl" | "c8id.metal-96xl" | "m8id.large" | "m8id.xlarge" | "m8id.2xlarge" | "m8id.4xlarge" | "m8id.8xlarge" | "m8id.12xlarge" | "m8id.16xlarge" | "m8id.24xlarge" | "m8id.32xlarge" | "m8id.48xlarge" | "m8id.96xlarge" | "m8id.metal-48xl" | "m8id.metal-96xl" | "hpc8a.96xlarge")
|
#ipv_6_address ⇒ String
The IPv6 address assigned to the instance.
121 |
# File 'sig/instance.rbs', line 121
def ipv_6_address: () -> ::String
|
#kernel_id ⇒ String
The kernel associated with this instance, if applicable.
175 |
# File 'sig/instance.rbs', line 175
def kernel_id: () -> ::String
|
#key_name ⇒ String
The name of the key pair, if this instance was launched with an associated key pair.
157 |
# File 'sig/instance.rbs', line 157
def key_name: () -> ::String
|
#launch_time ⇒ Time
The time that the instance was last launched. To determine the time that instance was first launched, see the attachment time for the primary network interface.
169 |
# File 'sig/instance.rbs', line 169
def launch_time: () -> ::Time
|
#licenses ⇒ Array<Types::LicenseConfiguration>
The license configurations for the instance.
97 |
# File 'sig/instance.rbs', line 97
def licenses: () -> ::Array[Types::LicenseConfiguration]
|
#load ⇒ self Also known as: reload
Loads, or reloads #data for the current Aws::EC2::Instance.
Returns self making it possible to chain methods.
instance.reload.data
201 |
# File 'sig/instance.rbs', line 201
def load: () -> self
|
#maintenance_options ⇒ Types::InstanceMaintenanceOptions
Provides information on the recovery and maintenance options of your instance.
127 |
# File 'sig/instance.rbs', line 127
def maintenance_options: () -> Types::InstanceMaintenanceOptions
|
#metadata_options ⇒ Types::InstanceMetadataOptionsResponse
The metadata options for the instance.
100 |
# File 'sig/instance.rbs', line 100
def metadata_options: () -> Types::InstanceMetadataOptionsResponse
|
#modify_attribute(options = {}) ⇒ EmptyStructure
345 |
# File 'sig/instance.rbs', line 345
def modify_attribute: (
|
#monitor(options = {}) ⇒ Types::MonitorInstancesResult
391 |
# File 'sig/instance.rbs', line 391
def monitor: (
|
#monitoring ⇒ Types::Monitoring
The monitoring for the instance.
184 |
# File 'sig/instance.rbs', line 184
def monitoring: () -> Types::Monitoring
|
#network_interfaces ⇒ NetworkInterface::Collection
484 |
# File 'sig/instance.rbs', line 484
def network_interfaces: () -> NetworkInterface::Collection
|
#network_performance_options ⇒ Types::InstanceNetworkPerformanceOptions
Contains settings for the network performance options for your instance.
133 |
# File 'sig/instance.rbs', line 133
def network_performance_options: () -> Types::InstanceNetworkPerformanceOptions
|
#operator ⇒ Types::OperatorResponse
The service provider that manages the instance.
136 |
# File 'sig/instance.rbs', line 136
def operator: () -> Types::OperatorResponse
|
#outpost_arn ⇒ String
The Amazon Resource Name (ARN) of the Outpost.
52 |
# File 'sig/instance.rbs', line 52
def outpost_arn: () -> ::String
|
#password_data(options = {}) ⇒ Types::GetPasswordDataResult
397 |
# File 'sig/instance.rbs', line 397
def password_data: (
|
#placement ⇒ Types::Placement
The location where the instance launched, if applicable.
172 |
# File 'sig/instance.rbs', line 172
def placement: () -> Types::Placement
|
#placement_group ⇒ PlacementGroup?
487 |
# File 'sig/instance.rbs', line 487
def placement_group: () -> PlacementGroup?
|
#platform ⇒ String
The platform. This value is windows for Windows instances;
otherwise, it is empty.
181 |
# File 'sig/instance.rbs', line 181
def platform: () -> ("Windows")
|
#platform_details ⇒ String
The platform details value for the instance. For more information, see AMI billing information fields in the Amazon EC2 User Guide.
109 |
# File 'sig/instance.rbs', line 109
def platform_details: () -> ::String
|
#private_dns_name ⇒ String
[IPv4 only] The private DNS hostname name assigned to the instance.
This DNS hostname can only be used inside the Amazon EC2 network. This
name is not available until the instance enters the running state.
The Amazon-provided DNS server resolves Amazon-provided private DNS hostnames if you've enabled DNS resolution and DNS hostnames in your VPC. If you are not using the Amazon-provided DNS server in your VPC, your custom domain name servers must resolve the hostname as appropriate.
148 |
# File 'sig/instance.rbs', line 148
def private_dns_name: () -> ::String
|
#private_dns_name_options ⇒ Types::PrivateDnsNameOptionsResponse
The options for the instance hostname.
118 |
# File 'sig/instance.rbs', line 118
def private_dns_name_options: () -> Types::PrivateDnsNameOptionsResponse
|
#private_ip_address ⇒ String
The private IPv4 address assigned to the instance.
193 |
# File 'sig/instance.rbs', line 193
def private_ip_address: () -> ::String
|
#product_codes ⇒ Array<Types::ProductCode>
The product codes attached to this instance, if applicable.
163 |
# File 'sig/instance.rbs', line 163
def product_codes: () -> ::Array[Types::ProductCode]
|
#public_dns_name ⇒ String
The public DNS name assigned to the instance. This name is not
available until the instance enters the running state. This name is
only available if you've enabled DNS hostnames for your VPC. The
format of this name depends on the public hostname type.
151 |
# File 'sig/instance.rbs', line 151
def public_dns_name: () -> ::String
|
#public_ip_address ⇒ String
The public IPv4 address, or the Carrier IP address assigned to the instance, if applicable.
A Carrier IP address only applies to an instance launched in a subnet associated with a Wavelength Zone.
196 |
# File 'sig/instance.rbs', line 196
def public_ip_address: () -> ::String
|
#ramdisk_id ⇒ String
The RAM disk associated with this instance, if applicable.
178 |
# File 'sig/instance.rbs', line 178
def ramdisk_id: () -> ::String
|
#reboot(options = {}) ⇒ EmptyStructure
403 |
# File 'sig/instance.rbs', line 403
def reboot: (
|
#report_status(options = {}) ⇒ EmptyStructure
409 |
# File 'sig/instance.rbs', line 409
def report_status: (
|
#reset_attribute(options = {}) ⇒ EmptyStructure
420 |
# File 'sig/instance.rbs', line 420
def reset_attribute: (
|
#reset_kernel(options = {}) ⇒ EmptyStructure
427 |
# File 'sig/instance.rbs', line 427
def reset_kernel: (
|
#reset_ramdisk(options = {}) ⇒ EmptyStructure
433 |
# File 'sig/instance.rbs', line 433
def reset_ramdisk: (
|
#reset_source_dest_check(options = {}) ⇒ EmptyStructure
439 |
# File 'sig/instance.rbs', line 439
def reset_source_dest_check: (
|
#root_device_name ⇒ String
The device name of the root device volume (for example, /dev/sda1).
55 |
# File 'sig/instance.rbs', line 55
def root_device_name: () -> ::String
|
#root_device_type ⇒ String
The root device type used by the AMI. The AMI can use an EBS volume or an instance store volume.
58 |
# File 'sig/instance.rbs', line 58
def root_device_type: () -> ("ebs" | "instance-store")
|
#secondary_interfaces ⇒ Array<Types::InstanceSecondaryInterface>
The secondary interfaces for the instance.
139 |
# File 'sig/instance.rbs', line 139
def secondary_interfaces: () -> ::Array[Types::InstanceSecondaryInterface]
|
#security_groups ⇒ Array<Types::GroupIdentifier>
The security groups for the instance.
61 |
# File 'sig/instance.rbs', line 61
def security_groups: () -> ::Array[Types::GroupIdentifier]
|
#source_dest_check ⇒ Boolean
Indicates whether source/destination checking is enabled.
64 |
# File 'sig/instance.rbs', line 64
def source_dest_check: () -> bool
|
#spot_instance_request_id ⇒ String
If the request is a Spot Instance request, the ID of the request.
67 |
# File 'sig/instance.rbs', line 67
def spot_instance_request_id: () -> ::String
|
#sriov_net_support ⇒ String
Specifies whether enhanced networking with the Intel 82599 Virtual Function interface is enabled.
70 |
# File 'sig/instance.rbs', line 70
def sriov_net_support: () -> ::String
|
#start(options = {}) ⇒ Types::StartInstancesResult
445 |
# File 'sig/instance.rbs', line 445
def start: (
|
#state ⇒ Types::InstanceState
The current state of the instance.
145 |
# File 'sig/instance.rbs', line 145
def state: () -> Types::InstanceState
|
#state_reason ⇒ Types::StateReason
The reason for the most recent state transition.
73 |
# File 'sig/instance.rbs', line 73
def state_reason: () -> Types::StateReason
|
#state_transition_reason ⇒ String
The reason for the most recent state transition. This might be an empty string.
154 |
# File 'sig/instance.rbs', line 154
def state_transition_reason: () -> ::String
|
#stop(options = {}) ⇒ Types::StopInstancesResult
452 |
# File 'sig/instance.rbs', line 452
def stop: (
|
#subnet_id ⇒ String
The ID of the subnet in which the instance is running.
187 |
# File 'sig/instance.rbs', line 187
def subnet_id: () -> ::String
|
#tags ⇒ Array<Types::Tag>
Any tags assigned to the instance.
76 |
# File 'sig/instance.rbs', line 76
def tags: () -> ::Array[Types::Tag]
|
#terminate(options = {}) ⇒ Types::TerminateInstancesResult
461 |
# File 'sig/instance.rbs', line 461
def terminate: (
|
#tpm_support ⇒ String
If the instance is configured for NitroTPM support, the value is
v2.0. For more information, see NitroTPM in the Amazon EC2
User Guide.
124 |
# File 'sig/instance.rbs', line 124
def tpm_support: () -> ::String
|
#unmonitor(options = {}) ⇒ Types::UnmonitorInstancesResult
469 |
# File 'sig/instance.rbs', line 469
def unmonitor: (
|
#usage_operation ⇒ String
The usage operation value for the instance. For more information, see AMI billing information fields in the Amazon EC2 User Guide.
112 |
# File 'sig/instance.rbs', line 112
def usage_operation: () -> ::String
|
#usage_operation_update_time ⇒ Time
The time that the usage operation was last updated.
115 |
# File 'sig/instance.rbs', line 115
def usage_operation_update_time: () -> ::Time
|
#virtualization_type ⇒ String
The virtualization type of the instance.
79 |
# File 'sig/instance.rbs', line 79
def virtualization_type: () -> ("hvm" | "paravirtual")
|
#vpc_addresses(options = {}) ⇒ VpcAddress::Collection
510 |
# File 'sig/instance.rbs', line 510
def vpc_addresses: (
|
#vpc_id ⇒ String
The ID of the VPC in which the instance is running.
190 |
# File 'sig/instance.rbs', line 190
def vpc_id: () -> ::String
|
#wait_until(options = {}) {|resource| ... } ⇒ Resource
Use [Aws::EC2::Client] #wait_until instead
The waiting operation is performed on a copy. The original resource remains unchanged.
Waiter polls an API operation until a resource enters a desired state.
Basic Usage
Waiter will polls until it is successful, it fails by entering a terminal state, or until a maximum number of attempts are made.
# polls in a loop until condition is true
resource.wait_until() {|resource| condition}
Example
instance.wait_until(max_attempts:10, delay:5) do |instance|
instance.state.name == 'running'
end
Configuration
You can configure the maximum number of polling attempts, and the delay (in seconds) between each polling attempt. The waiting condition is set by passing a block to #wait_until:
# poll for ~25 seconds
resource.wait_until(max_attempts:5,delay:5) {|resource|...}
Callbacks
You can be notified before each polling attempt and before each
delay. If you throw :success or :failure from these callbacks,
it will terminate the waiter.
started_at = Time.now
# poll for 1 hour, instead of a number of attempts
proc = Proc.new do |attempts, response|
throw :failure if Time.now - started_at > 3600
end
# disable max attempts
instance.wait_until(before_wait:proc, max_attempts:nil) {...}
Handling Errors
When a waiter is successful, it returns the Resource. When a waiter fails, it raises an error.
begin
resource.wait_until(...)
rescue Aws::Waiters::Errors::WaiterFailed
# resource did not enter the desired state in time
end
attempts attempt in seconds invoked before each attempt invoked before each wait
689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 |
# File 'lib/aws-sdk-ec2/instance.rb', line 689 def wait_until( = {}, &block) self_copy = self.dup attempts = 0 [:max_attempts] = 10 unless .key?(:max_attempts) [:delay] ||= 10 [:poller] = Proc.new do attempts += 1 if block.call(self_copy) [:success, self_copy] else self_copy.reload unless attempts == [:max_attempts] :retry end end Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do Aws::Waiters::Waiter.new().wait({}) end end |
#wait_until_exists(options = {}, &block) ⇒ Instance
215 216 |
# File 'sig/instance.rbs', line 215
def wait_until_exists: (?max_attempts: Integer, ?delay: Numeric, ?before_attempt: (^(Integer attempts) -> void), ?before_wait: (^(Integer attempts, untyped response) -> void)) ?{ (untyped waiter) -> void } -> Instance
| (?Hash[Symbol, untyped]) ?{ (untyped waiter) -> void } -> Instance
|
#wait_until_running(options = {}, &block) ⇒ Instance
219 220 |
# File 'sig/instance.rbs', line 219
def wait_until_running: (?max_attempts: Integer, ?delay: Numeric, ?before_attempt: (^(Integer attempts) -> void), ?before_wait: (^(Integer attempts, untyped response) -> void)) ?{ (untyped waiter) -> void } -> Instance
| (?Hash[Symbol, untyped]) ?{ (untyped waiter) -> void } -> Instance
|
#wait_until_stopped(options = {}, &block) ⇒ Instance
223 224 |
# File 'sig/instance.rbs', line 223
def wait_until_stopped: (?max_attempts: Integer, ?delay: Numeric, ?before_attempt: (^(Integer attempts) -> void), ?before_wait: (^(Integer attempts, untyped response) -> void)) ?{ (untyped waiter) -> void } -> Instance
| (?Hash[Symbol, untyped]) ?{ (untyped waiter) -> void } -> Instance
|
#wait_until_terminated(options = {}, &block) ⇒ Instance
227 228 |
# File 'sig/instance.rbs', line 227
def wait_until_terminated: (?max_attempts: Integer, ?delay: Numeric, ?before_attempt: (^(Integer attempts) -> void), ?before_wait: (^(Integer attempts, untyped response) -> void)) ?{ (untyped waiter) -> void } -> Instance
| (?Hash[Symbol, untyped]) ?{ (untyped waiter) -> void } -> Instance
|