You are viewing documentation for version 2 of the AWS SDK for Ruby. Version 3 documentation can be found here.
Class: Aws::EC2::Instance
- Inherits:
-
Resources::Resource
- Object
- Resources::Resource
- Aws::EC2::Instance
- Defined in:
- aws-sdk-resources/lib/aws-sdk-resources/services/ec2/instance.rb
Instance Attribute Summary collapse
-
#ami_launch_index ⇒ Integer
readonly
The AMI launch index, which can be used to find this instance in the launch group.
-
#architecture ⇒ String
readonly
The architecture of the image.
-
#block_device_mappings ⇒ Array<Types::InstanceBlockDeviceMapping>
readonly
Any block device mapping entries for the instance.
-
#capacity_reservation_id ⇒ String
readonly
The ID of the Capacity Reservation.
-
#capacity_reservation_specification ⇒ Types::CapacityReservationSpecificationResponse
readonly
Information about the Capacity Reservation targeting option.
-
#client_token ⇒ String
readonly
The idempotency token you provided when you launched the instance, if applicable.
-
#cpu_options ⇒ Types::CpuOptions
readonly
The CPU options for the instance.
-
#ebs_optimized ⇒ Boolean
readonly
Indicates whether the instance is optimized for Amazon EBS I/O.
-
#elastic_gpu_associations ⇒ Array<Types::ElasticGpuAssociation>
readonly
The Elastic GPU associated with the instance.
-
#elastic_inference_accelerator_associations ⇒ Array<Types::ElasticInferenceAcceleratorAssociation>
readonly
The elastic inference accelerator associated with the instance.
-
#ena_support ⇒ Boolean
readonly
Specifies whether enhanced networking with ENA is enabled.
-
#enclave_options ⇒ Types::EnclaveOptions
readonly
Indicates whether the instance is enabled for AWS Nitro Enclaves.
-
#hibernation_options ⇒ Types::HibernationOptions
readonly
Indicates whether the instance is enabled for hibernation.
-
#hypervisor ⇒ String
readonly
The hypervisor type of the instance.
-
#iam_instance_profile ⇒ Types::IamInstanceProfile
readonly
The IAM instance profile associated with the instance, if applicable.
-
#id ⇒ String
readonly
-
#image_id ⇒ String
readonly
The ID of the AMI used to launch the instance.
-
#instance_id ⇒ String
readonly
The ID of the instance.
-
#instance_lifecycle ⇒ String
readonly
Indicates whether this is a Spot Instance or a Scheduled Instance.
-
#instance_type ⇒ String
readonly
The instance type.
-
#kernel_id ⇒ String
readonly
The kernel associated with this instance, if applicable.
-
#key_name ⇒ String
readonly
The name of the key pair, if this instance was launched with an associated key pair.
-
#launch_time ⇒ Time
readonly
The time the instance was launched.
-
#licenses ⇒ Array<Types::LicenseConfiguration>
readonly
The license configurations.
-
#metadata_options ⇒ Types::InstanceMetadataOptionsResponse
readonly
The metadata options for the instance.
-
#monitoring ⇒ Types::Monitoring
readonly
The monitoring for the instance.
-
#outpost_arn ⇒ String
readonly
The Amazon Resource Name (ARN) of the Outpost.
-
#placement ⇒ Types::Placement
readonly
The location where the instance launched, if applicable.
-
#platform ⇒ String
readonly
The value is
Windows
for Windows instances; otherwise blank. -
#private_dns_name ⇒ String
readonly
(IPv4 only) The private DNS hostname name assigned to the instance.
-
#private_ip_address ⇒ String
readonly
The private IPv4 address assigned to the instance.
-
#product_codes ⇒ Array<Types::ProductCode>
readonly
The product codes attached to this instance, if applicable.
-
#public_dns_name ⇒ String
readonly
(IPv4 only) The public DNS name assigned to the instance.
-
#public_ip_address ⇒ String
readonly
The public IPv4 address, or the Carrier IP address assigned to the instance, if applicable.
-
#ramdisk_id ⇒ String
readonly
The RAM disk associated with this instance, if applicable.
-
#root_device_name ⇒ String
readonly
The device name of the root device volume (for example,
/dev/sda1
). -
#root_device_type ⇒ String
readonly
The root device type used by the AMI.
-
#security_groups ⇒ Array<Types::GroupIdentifier>
readonly
The security groups for the instance.
-
#source_dest_check ⇒ Boolean
readonly
Specifies whether to enable an instance launched in a VPC to perform NAT.
-
#spot_instance_request_id ⇒ String
readonly
If the request is a Spot Instance request, the ID of the request.
-
#sriov_net_support ⇒ String
readonly
Specifies whether enhanced networking with the Intel 82599 Virtual Function interface is enabled.
-
#state ⇒ Types::InstanceState
readonly
The current state of the instance.
-
#state_reason ⇒ Types::StateReason
readonly
The reason for the most recent state transition.
-
#state_transition_reason ⇒ String
readonly
The reason for the most recent state transition.
-
#subnet_id ⇒ String
readonly
[EC2-VPC] The ID of the subnet in which the instance is running.
-
#tags ⇒ Array<Types::Tag>
readonly
Any tags assigned to the instance.
-
#virtualization_type ⇒ String
readonly
The virtualization type of the instance.
-
#vpc_id ⇒ String
readonly
[EC2-VPC] The ID of the VPC in which the instance is running.
Attributes inherited from Resources::Resource
Instance Method Summary collapse
-
#attach_classic_link_vpc(options = {}) ⇒ Types::AttachClassicLinkVpcResult
Links an EC2-Classic instance to a ClassicLink-enabled VPC through one or more of the VPC's security groups.
-
#attach_volume(options = {}) ⇒ Types::VolumeAttachment
Attaches an EBS volume to a running or stopped instance and exposes it to the instance with the specified device name.
Encrypted EBS volumes must be attached to instances that support Amazon EBS encryption.
-
#classic_address ⇒ ClassicAddress?
-
#console_output(options = {}) ⇒ Types::GetConsoleOutputResult
Gets the console output for the specified instance.
-
#create_image(options = {}) ⇒ Image
-
#create_tags(options = {}) ⇒ Array<Tag>
-
#decrypt_windows_password(key_pair_path) ⇒ String
-
#delete_tags(options = {}) ⇒ Array<Tag>
-
#describe_attribute(options = {}) ⇒ Types::InstanceAttribute
Describes the specified attribute of the specified instance.
-
#detach_classic_link_vpc(options = {}) ⇒ Types::DetachClassicLinkVpcResult
Unlinks (detaches) a linked EC2-Classic instance from a VPC.
-
#detach_volume(options = {}) ⇒ Types::VolumeAttachment
Detaches an EBS volume from an instance.
-
#exists? ⇒ Boolean
Returns
true
if this Instance exists. -
#image ⇒ Image?
-
#initialize ⇒ Object
constructor
-
#key_pair ⇒ KeyPairInfo?
-
#modify_attribute(options = {}) ⇒ Struct
Modifies the specified attribute of the specified instance.
-
#monitor(options = {}) ⇒ Types::MonitorInstancesResult
Enables detailed monitoring for a running instance.
-
#network_interfaces ⇒ Array<NetworkInterface>?
-
#password_data(options = {}) ⇒ Types::GetPasswordDataResult
Retrieves the encrypted administrator password for a running Windows instance.
The Windows password is generated at boot by the
EC2Config
service orEC2Launch
scripts (Windows Server 2016 and later). -
#placement_group ⇒ PlacementGroup?
-
#reboot(options = {}) ⇒ Struct
Requests a reboot of the specified instances.
-
#report_status(options = {}) ⇒ Struct
Submits feedback about the status of an instance.
-
#reset_attribute(options = {}) ⇒ Struct
Resets an attribute of an instance to its default value.
-
#reset_kernel(options = {}) ⇒ Struct
Resets an attribute of an instance to its default value.
-
#reset_ramdisk(options = {}) ⇒ Struct
Resets an attribute of an instance to its default value.
-
#reset_source_dest_check(options = {}) ⇒ Struct
Resets an attribute of an instance to its default value.
-
#start(options = {}) ⇒ Types::StartInstancesResult
Starts an Amazon EBS-backed instance that you've previously stopped.
Instances that use Amazon EBS volumes as their root devices can be quickly stopped and started.
-
#stop(options = {}) ⇒ Types::StopInstancesResult
Stops an Amazon EBS-backed instance.
You can use the Stop action to hibernate an instance if the instance is enabled for hibernation and it meets the hibernation prerequisites.
-
#subnet ⇒ Subnet?
-
#terminate(options = {}) ⇒ Types::TerminateInstancesResult
Shuts down the specified instances.
-
#unmonitor(options = {}) ⇒ Types::UnmonitorInstancesResult
Disables detailed monitoring for a running instance.
-
#volumes(options = {}) ⇒ Collection<Volume>
Returns a Collection of Volume resources.
-
#vpc ⇒ Vpc?
-
#vpc_addresses(options = {}) ⇒ Collection<VpcAddress>
Returns a Collection of VpcAddress resources.
-
#wait_until_exists {|waiter| ... } ⇒ Instance
Waits until this Instance is exists.
-
#wait_until_running {|waiter| ... } ⇒ Instance
Waits until this Instance is running.
-
#wait_until_stopped {|waiter| ... } ⇒ Instance
Waits until this Instance is stopped.
-
#wait_until_terminated {|waiter| ... } ⇒ Instance
Waits until this Instance is terminated.
Methods inherited from Resources::Resource
add_data_attribute, add_identifier, #data, data_attributes, #data_loaded?, identifiers, #load, #wait_until
Methods included from Resources::OperationMethods
#add_batch_operation, #add_operation, #batch_operation, #batch_operation_names, #batch_operations, #operation, #operation_names, #operations
Constructor Details
#initialize(id, options = {}) ⇒ Object #initialize(options = {}) ⇒ Object
Instance Attribute Details
#ami_launch_index ⇒ Integer (readonly)
The AMI launch index, which can be used to find this instance in the launch group.
#architecture ⇒ String (readonly)
The architecture of the image.
Possible values:
- i386
- x86_64
- arm64
#block_device_mappings ⇒ Array<Types::InstanceBlockDeviceMapping> (readonly)
Any block device mapping entries for the instance.
#capacity_reservation_id ⇒ String (readonly)
The ID of the Capacity Reservation.
#capacity_reservation_specification ⇒ Types::CapacityReservationSpecificationResponse (readonly)
Information about the Capacity Reservation targeting option.
#client_token ⇒ String (readonly)
The idempotency token you provided when you launched the instance, if applicable.
#cpu_options ⇒ Types::CpuOptions (readonly)
The CPU options for the instance.
#ebs_optimized ⇒ Boolean (readonly)
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.
#elastic_gpu_associations ⇒ Array<Types::ElasticGpuAssociation> (readonly)
The Elastic GPU associated with the instance.
#elastic_inference_accelerator_associations ⇒ Array<Types::ElasticInferenceAcceleratorAssociation> (readonly)
The elastic inference accelerator associated with the instance.
#ena_support ⇒ Boolean (readonly)
Specifies whether enhanced networking with ENA is enabled.
#enclave_options ⇒ Types::EnclaveOptions (readonly)
Indicates whether the instance is enabled for AWS Nitro Enclaves.
#hibernation_options ⇒ Types::HibernationOptions (readonly)
Indicates whether the instance is enabled for hibernation.
#hypervisor ⇒ String (readonly)
The hypervisor type of the instance. The value xen
is used for both
Xen and Nitro hypervisors.
Possible values:
- ovm
- xen
#iam_instance_profile ⇒ Types::IamInstanceProfile (readonly)
The IAM instance profile associated with the instance, if applicable.
#id ⇒ String (readonly)
#image_id ⇒ String (readonly)
The ID of the AMI used to launch the instance.
#instance_id ⇒ String (readonly)
The ID of the instance.
#instance_lifecycle ⇒ String (readonly)
Indicates whether this is a Spot Instance or a Scheduled Instance.
Possible values:
- spot
- scheduled
#instance_type ⇒ String (readonly)
The instance type.
Possible values:
- 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
- m1.small
- m1.medium
- m1.large
- m1.xlarge
- m3.medium
- m3.large
- m3.xlarge
- m3.2xlarge
- m4.large
- m4.xlarge
- m4.2xlarge
- m4.4xlarge
- m4.10xlarge
- m4.16xlarge
- m2.xlarge
- m2.2xlarge
- m2.4xlarge
- cr1.8xlarge
- 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
- r5d.large
- r5d.xlarge
- r5d.2xlarge
- r5d.4xlarge
- r5d.8xlarge
- r5d.12xlarge
- r5d.16xlarge
- r5d.24xlarge
- r5d.metal
- r5ad.large
- r5ad.xlarge
- r5ad.2xlarge
- r5ad.4xlarge
- r5ad.8xlarge
- r5ad.12xlarge
- r5ad.16xlarge
- r5ad.24xlarge
- r6g.metal
- r6g.medium
- r6g.large
- r6g.xlarge
- r6g.2xlarge
- r6g.4xlarge
- r6g.8xlarge
- r6g.12xlarge
- r6g.16xlarge
- r6gd.metal
- r6gd.medium
- r6gd.large
- r6gd.xlarge
- r6gd.2xlarge
- r6gd.4xlarge
- r6gd.8xlarge
- r6gd.12xlarge
- r6gd.16xlarge
- x1.16xlarge
- x1.32xlarge
- x1e.xlarge
- x1e.2xlarge
- x1e.4xlarge
- x1e.8xlarge
- x1e.16xlarge
- x1e.32xlarge
- 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
- hi1.4xlarge
- hs1.8xlarge
- 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
- c6g.metal
- c6g.medium
- c6g.large
- c6g.xlarge
- c6g.2xlarge
- c6g.4xlarge
- c6g.8xlarge
- c6g.12xlarge
- c6g.16xlarge
- c6gd.metal
- c6gd.medium
- c6gd.large
- c6gd.xlarge
- c6gd.2xlarge
- c6gd.4xlarge
- c6gd.8xlarge
- c6gd.12xlarge
- c6gd.16xlarge
- cc1.4xlarge
- cc2.8xlarge
- g2.2xlarge
- g2.8xlarge
- g3.4xlarge
- g3.8xlarge
- g3.16xlarge
- g3s.xlarge
- g4dn.xlarge
- g4dn.2xlarge
- g4dn.4xlarge
- g4dn.8xlarge
- g4dn.12xlarge
- g4dn.16xlarge
- g4dn.metal
- cg1.4xlarge
- p2.xlarge
- p2.8xlarge
- p2.16xlarge
- p3.2xlarge
- p3.8xlarge
- p3.16xlarge
- p3dn.24xlarge
- p4d.24xlarge
- d2.xlarge
- d2.2xlarge
- d2.4xlarge
- d2.8xlarge
- f1.2xlarge
- f1.4xlarge
- f1.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
- m5d.large
- m5d.xlarge
- m5d.2xlarge
- m5d.4xlarge
- m5d.8xlarge
- m5d.12xlarge
- m5d.16xlarge
- m5d.24xlarge
- m5d.metal
- m5ad.large
- m5ad.xlarge
- m5ad.2xlarge
- m5ad.4xlarge
- m5ad.8xlarge
- m5ad.12xlarge
- m5ad.16xlarge
- m5ad.24xlarge
- h1.2xlarge
- h1.4xlarge
- h1.8xlarge
- h1.16xlarge
- z1d.large
- z1d.xlarge
- z1d.2xlarge
- z1d.3xlarge
- z1d.6xlarge
- z1d.12xlarge
- z1d.metal
- u-6tb1.metal
- u-9tb1.metal
- u-12tb1.metal
- u-18tb1.metal
- u-24tb1.metal
- a1.medium
- a1.large
- a1.xlarge
- a1.2xlarge
- a1.4xlarge
- a1.metal
- m5dn.large
- m5dn.xlarge
- m5dn.2xlarge
- m5dn.4xlarge
- m5dn.8xlarge
- m5dn.12xlarge
- m5dn.16xlarge
- m5dn.24xlarge
- m5n.large
- m5n.xlarge
- m5n.2xlarge
- m5n.4xlarge
- m5n.8xlarge
- m5n.12xlarge
- m5n.16xlarge
- m5n.24xlarge
- r5dn.large
- r5dn.xlarge
- r5dn.2xlarge
- r5dn.4xlarge
- r5dn.8xlarge
- r5dn.12xlarge
- r5dn.16xlarge
- r5dn.24xlarge
- r5n.large
- r5n.xlarge
- r5n.2xlarge
- r5n.4xlarge
- r5n.8xlarge
- r5n.12xlarge
- r5n.16xlarge
- r5n.24xlarge
- inf1.xlarge
- inf1.2xlarge
- inf1.6xlarge
- inf1.24xlarge
- 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
#kernel_id ⇒ String (readonly)
The kernel associated with this instance, if applicable.
#key_name ⇒ String (readonly)
The name of the key pair, if this instance was launched with an associated key pair.
#launch_time ⇒ Time (readonly)
The time the instance was launched.
#licenses ⇒ Array<Types::LicenseConfiguration> (readonly)
The license configurations.
#metadata_options ⇒ Types::InstanceMetadataOptionsResponse (readonly)
The metadata options for the instance.
#monitoring ⇒ Types::Monitoring (readonly)
The monitoring for the instance.
#outpost_arn ⇒ String (readonly)
The Amazon Resource Name (ARN) of the Outpost.
#placement ⇒ Types::Placement (readonly)
The location where the instance launched, if applicable.
#platform ⇒ String (readonly)
The value is Windows
for Windows instances; otherwise blank.
Possible values:
- Windows
#private_dns_name ⇒ String (readonly)
(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.
[EC2-VPC] 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.
#private_ip_address ⇒ String (readonly)
The private IPv4 address assigned to the instance.
#product_codes ⇒ Array<Types::ProductCode> (readonly)
The product codes attached to this instance, if applicable.
#public_dns_name ⇒ String (readonly)
(IPv4 only) The public DNS name assigned to the instance. This name is
not available until the instance enters the running
state. For
EC2-VPC, this name is only available if you\'ve enabled DNS hostnames
for your VPC.
#public_ip_address ⇒ String (readonly)
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.
#ramdisk_id ⇒ String (readonly)
The RAM disk associated with this instance, if applicable.
#root_device_name ⇒ String (readonly)
The device name of the root device volume (for example, /dev/sda1
).
#root_device_type ⇒ String (readonly)
The root device type used by the AMI. The AMI can use an EBS volume or an instance store volume.
Possible values:
- ebs
- instance-store
#security_groups ⇒ Array<Types::GroupIdentifier> (readonly)
The security groups for the instance.
#source_dest_check ⇒ Boolean (readonly)
Specifies whether to enable an instance launched in a VPC to perform
NAT. This controls whether source/destination checking is enabled on the
instance. A value of true
means that checking is enabled, and false
means that checking is disabled. The value must be false
for the
instance to perform NAT. For more information, see NAT Instances in
the Amazon Virtual Private Cloud User Guide.
#spot_instance_request_id ⇒ String (readonly)
If the request is a Spot Instance request, the ID of the request.
#sriov_net_support ⇒ String (readonly)
Specifies whether enhanced networking with the Intel 82599 Virtual Function interface is enabled.
#state ⇒ Types::InstanceState (readonly)
The current state of the instance.
#state_reason ⇒ Types::StateReason (readonly)
The reason for the most recent state transition.
#state_transition_reason ⇒ String (readonly)
The reason for the most recent state transition. This might be an empty string.
#subnet_id ⇒ String (readonly)
[EC2-VPC] The ID of the subnet in which the instance is running.
#tags ⇒ Array<Types::Tag> (readonly)
Any tags assigned to the instance.
#virtualization_type ⇒ String (readonly)
The virtualization type of the instance.
Possible values:
- hvm
- paravirtual
#vpc_id ⇒ String (readonly)
[EC2-VPC] The ID of the VPC in which the instance is running.
Instance Method Details
#attach_classic_link_vpc(options = {}) ⇒ Types::AttachClassicLinkVpcResult
Links an EC2-Classic instance to a ClassicLink-enabled VPC through one or more of the VPC's security groups. You cannot link an EC2-Classic instance to more than one VPC at a time. You can only link an instance that's in the running
state. An instance is automatically unlinked from a VPC when it's stopped - you can link it to the VPC again when you restart it.
After you've linked an instance, you cannot change the VPC security groups that are associated with it. To change the security groups, you must first unlink the instance, and then link it again.
Linking your instance to a VPC is sometimes referred to as attaching your instance.
#attach_volume(options = {}) ⇒ Types::VolumeAttachment
Attaches an EBS volume to a running or stopped instance and exposes it to the instance with the specified device name.
Encrypted EBS volumes must be attached to instances that support Amazon EBS encryption. For more information, see Amazon EBS Encryption in the Amazon Elastic Compute Cloud User Guide.
After you attach an EBS volume, you must make it available. For more information, see Making an EBS volume available for use.
If a volume has an AWS Marketplace product code:
-
The volume can be attached only to a stopped instance.
-
AWS Marketplace product codes are copied from the volume to the instance.
-
You must be subscribed to the product.
-
The instance type and operating system of the instance must support the product. For example, you can't detach a volume from a Windows instance and attach it to a Linux instance.
For more information, see Attaching Amazon EBS volumes in the Amazon Elastic Compute Cloud User Guide.
#classic_address ⇒ ClassicAddress?
#console_output(options = {}) ⇒ Types::GetConsoleOutputResult
Gets the console output for the specified instance. For Linux instances, the instance console output displays the exact console output that would normally be displayed on a physical monitor attached to a computer. For Windows instances, the instance console output includes the last three system event log errors.
By default, the console output returns buffered information that was posted shortly after an instance transition state (start, stop, reboot, or terminate). This information is available for at least one hour after the most recent post. Only the most recent 64 KB of console output is available.
You can optionally retrieve the latest serial console output at any time during the instance lifecycle. This option is supported on instance types that use the Nitro hypervisor.
For more information, see Instance Console Output in the Amazon Elastic Compute Cloud User Guide.
#create_image(options = {}) ⇒ Image
#create_tags(options = {}) ⇒ Array<Tag>
#decrypt_windows_password(key_pair_path) ⇒ String
9 10 11 12 13 14 |
# File 'aws-sdk-resources/lib/aws-sdk-resources/services/ec2/instance.rb', line 9 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 = {}) ⇒ Array<Tag>
#describe_attribute(options = {}) ⇒ Types::InstanceAttribute
Describes the specified attribute of the specified instance. You can specify only one attribute at a time. Valid attribute values are: instanceType
| kernel
| ramdisk
| userData
| disableApiTermination
| instanceInitiatedShutdownBehavior
| rootDeviceName
| blockDeviceMapping
| productCodes
| sourceDestCheck
| groupSet
| ebsOptimized
| sriovNetSupport
#detach_classic_link_vpc(options = {}) ⇒ Types::DetachClassicLinkVpcResult
Unlinks (detaches) a linked EC2-Classic instance from a VPC. After the instance has been unlinked, the VPC security groups are no longer associated with it. An instance is automatically unlinked from a VPC when it's stopped.
#detach_volume(options = {}) ⇒ Types::VolumeAttachment
Detaches an EBS volume from an instance. Make sure to unmount any file systems on the device within your operating system before detaching the volume. Failure to do so can result in the volume becoming stuck in the busy
state while detaching. If this happens, detachment can be delayed indefinitely until you unmount the volume, force detachment, reboot the instance, or all three. If an EBS volume is the root device of an instance, it can't be detached while the instance is running. To detach the root volume, stop the instance first.
When a volume with an AWS Marketplace product code is detached from an instance, the product code is no longer associated with the instance.
For more information, see Detaching an Amazon EBS volume in the Amazon Elastic Compute Cloud User Guide.
#exists? ⇒ Boolean
Returns true
if this Instance exists. Returns false
otherwise.
#image ⇒ Image?
#key_pair ⇒ KeyPairInfo?
#modify_attribute(options = {}) ⇒ Struct
Modifies the specified attribute of the specified instance. You can specify only one attribute at a time.
Note: Using this action to change the security groups associated with an elastic network interface (ENI) attached to an instance in a VPC can result in an error if the instance has more than one ENI. To change the security groups associated with an ENI attached to an instance that has multiple ENIs, we recommend that you use the ModifyNetworkInterfaceAttribute action.
To modify some attributes, the instance must be stopped. For more information, see Modifying attributes of a stopped instance in the Amazon Elastic Compute Cloud User Guide.
#monitor(options = {}) ⇒ Types::MonitorInstancesResult
Enables detailed monitoring for a running instance. Otherwise, basic monitoring is enabled. For more information, see Monitoring your instances and volumes in the Amazon Elastic Compute Cloud User Guide.
To disable detailed monitoring, see .
#network_interfaces ⇒ Array<NetworkInterface>?
#password_data(options = {}) ⇒ Types::GetPasswordDataResult
Retrieves the encrypted administrator password for a running Windows instance.
The Windows password is generated at boot by the EC2Config
service or EC2Launch
scripts (Windows Server 2016 and later). This usually only happens the first time an instance is launched. For more information, see EC2Config and EC2Launch in the Amazon Elastic Compute Cloud User Guide.
For the EC2Config
service, the password is not generated for rebundled AMIs unless Ec2SetPassword
is enabled before bundling.
The password is encrypted using the key pair that you specified when you launched the instance. You must provide the corresponding key pair file.
When you launch an instance, password generation and encryption may take a few minutes. If you try to retrieve the password before it's available, the output returns an empty string. We recommend that you wait up to 15 minutes after launching an instance before trying to retrieve the generated password.
#placement_group ⇒ PlacementGroup?
#reboot(options = {}) ⇒ Struct
Requests a reboot of the specified instances. This operation is asynchronous; it only queues a request to reboot the specified instances. The operation succeeds if the instances are valid and belong to you. Requests to reboot terminated instances are ignored.
If an instance does not cleanly shut down within a few minutes, Amazon EC2 performs a hard reboot.
For more information about troubleshooting, see Getting console output and rebooting instances in the Amazon Elastic Compute Cloud User Guide.
#report_status(options = {}) ⇒ Struct
Submits feedback about the status of an instance. The instance must be in the running
state. If your experience with the instance differs from the instance status returned by DescribeInstanceStatus, use ReportInstanceStatus to report your experience with the instance. Amazon EC2 collects this information to improve the accuracy of status checks.
Use of this action does not change the value returned by DescribeInstanceStatus.
#reset_attribute(options = {}) ⇒ Struct
Resets an attribute of an instance to its default value. To reset the kernel
or ramdisk
, the instance must be in a stopped state. To reset the sourceDestCheck
, the instance can be either running or stopped.
The sourceDestCheck
attribute controls whether source/destination checking is enabled. The default value is true
, which means checking is enabled. This value must be false
for a NAT instance to perform NAT. For more information, see NAT Instances in the Amazon Virtual Private Cloud User Guide.
#reset_kernel(options = {}) ⇒ Struct
Resets an attribute of an instance to its default value. To reset the kernel
or ramdisk
, the instance must be in a stopped state. To reset the sourceDestCheck
, the instance can be either running or stopped.
The sourceDestCheck
attribute controls whether source/destination checking is enabled. The default value is true
, which means checking is enabled. This value must be false
for a NAT instance to perform NAT. For more information, see NAT Instances in the Amazon Virtual Private Cloud User Guide.
#reset_ramdisk(options = {}) ⇒ Struct
Resets an attribute of an instance to its default value. To reset the kernel
or ramdisk
, the instance must be in a stopped state. To reset the sourceDestCheck
, the instance can be either running or stopped.
The sourceDestCheck
attribute controls whether source/destination checking is enabled. The default value is true
, which means checking is enabled. This value must be false
for a NAT instance to perform NAT. For more information, see NAT Instances in the Amazon Virtual Private Cloud User Guide.
#reset_source_dest_check(options = {}) ⇒ Struct
Resets an attribute of an instance to its default value. To reset the kernel
or ramdisk
, the instance must be in a stopped state. To reset the sourceDestCheck
, the instance can be either running or stopped.
The sourceDestCheck
attribute controls whether source/destination checking is enabled. The default value is true
, which means checking is enabled. This value must be false
for a NAT instance to perform NAT. For more information, see NAT Instances in the Amazon Virtual Private Cloud User Guide.
#start(options = {}) ⇒ Types::StartInstancesResult
Starts an Amazon EBS-backed instance that you've previously stopped.
Instances that use Amazon EBS volumes as their root devices can be quickly stopped and started. When an instance is stopped, the compute resources are released and you are not billed for instance usage. However, your root partition Amazon EBS volume remains and continues to persist your data, and you are charged for Amazon EBS volume usage. You can restart your instance at any time. Every time you start your Windows instance, Amazon EC2 charges you for a full instance hour. If you stop and restart your Windows instance, a new instance hour begins and Amazon EC2 charges you for another full instance hour even if you are still within the same 60-minute period when it was stopped. Every time you start your Linux instance, Amazon EC2 charges a one-minute minimum for instance usage, and thereafter charges per second for instance usage.
Before stopping an instance, make sure it is in a state from which it can be restarted. Stopping an instance does not preserve data stored in RAM.
Performing this operation on an instance that uses an instance store as its root device returns an error.
For more information, see Stopping instances in the Amazon Elastic Compute Cloud User Guide.
#stop(options = {}) ⇒ Types::StopInstancesResult
Stops an Amazon EBS-backed instance.
You can use the Stop action to hibernate an instance if the instance is enabled for hibernation and it meets the hibernation prerequisites. For more information, see Hibernate your instance in the Amazon Elastic Compute Cloud User Guide.
We don't charge usage for a stopped instance, or data transfer fees; however, your root partition Amazon EBS volume remains and continues to persist your data, and you are charged for Amazon EBS volume usage. Every time you start your Windows instance, Amazon EC2 charges you for a full instance hour. If you stop and restart your Windows instance, a new instance hour begins and Amazon EC2 charges you for another full instance hour even if you are still within the same 60-minute period when it was stopped. Every time you start your Linux instance, Amazon EC2 charges a one-minute minimum for instance usage, and thereafter charges per second for instance usage.
You can't stop or hibernate instance store-backed instances. You can't use the Stop action to hibernate Spot Instances, but you can specify that Amazon EC2 should hibernate Spot Instances when they are interrupted. For more information, see Hibernating interrupted Spot Instances in the Amazon Elastic Compute Cloud User Guide.
When you stop or hibernate an instance, we shut it down. You can restart your instance at any time. Before stopping or hibernating an instance, make sure it is in a state from which it can be restarted. Stopping an instance does not preserve data stored in RAM, but hibernating an instance does preserve data stored in RAM. If an instance cannot hibernate successfully, a normal shutdown occurs.
Stopping and hibernating an instance is different to rebooting or terminating it. For example, when you stop or hibernate an instance, the root device and any other devices attached to the instance persist. When you terminate an instance, the root device and any other devices attached during the instance launch are automatically deleted. For more information about the differences between rebooting, stopping, hibernating, and terminating instances, see Instance lifecycle in the Amazon Elastic Compute Cloud User Guide.
When you stop an instance, we attempt to shut it down forcibly after a short while. If your instance appears stuck in the stopping state after a period of time, there may be an issue with the underlying host computer. For more information, see Troubleshooting stopping your instance in the Amazon Elastic Compute Cloud User Guide.
#subnet ⇒ Subnet?
#terminate(options = {}) ⇒ Types::TerminateInstancesResult
Shuts down the specified instances. This operation is idempotent; if you terminate an instance more than once, each call succeeds.
If you specify multiple instances and the request fails (for example, because of a single incorrect instance ID), none of the instances are terminated.
Terminated instances remain visible after termination (for approximately one hour).
By default, Amazon EC2 deletes all EBS volumes that were attached when the instance launched. Volumes attached after instance launch continue running.
You can stop, start, and terminate EBS-backed instances. You can only terminate instance store-backed instances. What happens to an instance differs if you stop it or terminate it. For example, when you stop an instance, the root device and any other devices attached to the instance persist. When you terminate an instance, any attached EBS volumes with the DeleteOnTermination
block device mapping parameter set to true
are automatically deleted. For more information about the differences between stopping and terminating instances, see Instance lifecycle in the Amazon Elastic Compute Cloud User Guide.
For more information about troubleshooting, see Troubleshooting terminating your instance in the Amazon Elastic Compute Cloud User Guide.
#unmonitor(options = {}) ⇒ Types::UnmonitorInstancesResult
Disables detailed monitoring for a running instance. For more information, see Monitoring your instances and volumes in the Amazon Elastic Compute Cloud User Guide.
#volumes(options = {}) ⇒ Collection<Volume>
Returns a Collection of Volume resources. No API requests are made until you call an enumerable method on the collection. Client#describe_volumes will be called multiple times until every Volume has been yielded.
#vpc ⇒ Vpc?
#vpc_addresses(options = {}) ⇒ Collection<VpcAddress>
Returns a Collection of VpcAddress resources. No API requests are made until you call an enumerable method on the collection. Client#describe_addresses will be called multiple times until every VpcAddress has been yielded.
#wait_until_exists {|waiter| ... } ⇒ Instance
Waits until this Instance is exists. This method waits by polling Client#describe_instances until successful. An error is raised after a configurable number of failed checks.
This waiter uses the following defaults:
Configuration | Default |
---|---|
#delay |
5 |
#max_attempts |
40 |
You can modify defaults and register callbacks by passing a block argument.
#wait_until_running {|waiter| ... } ⇒ Instance
Waits until this Instance is running. This method waits by polling Client#describe_instances until successful. An error is raised after a configurable number of failed checks.
This waiter uses the following defaults:
Configuration | Default |
---|---|
#delay |
15 |
#max_attempts |
40 |
You can modify defaults and register callbacks by passing a block argument.
#wait_until_stopped {|waiter| ... } ⇒ Instance
Waits until this Instance is stopped. This method waits by polling Client#describe_instances until successful. An error is raised after a configurable number of failed checks.
This waiter uses the following defaults:
Configuration | Default |
---|---|
#delay |
15 |
#max_attempts |
40 |
You can modify defaults and register callbacks by passing a block argument.
#wait_until_terminated {|waiter| ... } ⇒ Instance
Waits until this Instance is terminated. This method waits by polling Client#describe_instances until successful. An error is raised after a configurable number of failed checks.
This waiter uses the following defaults:
Configuration | Default |
---|---|
#delay |
15 |
#max_attempts |
40 |
You can modify defaults and register callbacks by passing a block argument.