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 show all
Defined in:
aws-sdk-resources/lib/aws-sdk-resources/services/ec2/instance.rb

Instance Attribute Summary collapse

Attributes inherited from Resources::Resource

#client, #identifiers

Instance Method Summary collapse

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

Overloads:

  • #initialize(id, options = {}) ⇒ Object

    Parameters:

    • id (String)

    Options Hash (options):

    • :client (Client)

      When `:client is not given, the options hash is used to construct a new Client object.

  • #initialize(options = {}) ⇒ Object

    Options Hash (options):

    • :id (required, String)
    • :client (Client)

      When `:client is not given, the options hash is used to construct a new Client object.

Instance Attribute Details

#ami_launch_indexInteger (readonly)

The AMI launch index, which can be used to find this instance in the launch group.

Returns:

  • (Integer)

    The AMI launch index, which can be used to find this instance in the launch group.

#architectureString (readonly)

The architecture of the image.

Possible values:

  • i386
  • x86_64
  • arm64

Returns:

  • (String)

    The architecture of the image.

#block_device_mappingsArray<Types::InstanceBlockDeviceMapping> (readonly)

Any block device mapping entries for the instance.

Returns:

#capacity_reservation_idString (readonly)

The ID of the Capacity Reservation.

Returns:

  • (String)

    The ID of the Capacity Reservation.

#capacity_reservation_specificationTypes::CapacityReservationSpecificationResponse (readonly)

Information about the Capacity Reservation targeting option.

Returns:

#client_tokenString (readonly)

The idempotency token you provided when you launched the instance, if applicable.

Returns:

  • (String)

    The idempotency token you provided when you launched the instance, if applicable.

#cpu_optionsTypes::CpuOptions (readonly)

The CPU options for the instance.

Returns:

#ebs_optimizedBoolean (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.

Returns:

  • (Boolean)

    Indicates whether the instance is optimized for Amazon EBS I/O.

#elastic_gpu_associationsArray<Types::ElasticGpuAssociation> (readonly)

The Elastic GPU associated with the instance.

Returns:

#elastic_inference_accelerator_associationsArray<Types::ElasticInferenceAcceleratorAssociation> (readonly)

The elastic inference accelerator associated with the instance.

Returns:

#ena_supportBoolean (readonly)

Specifies whether enhanced networking with ENA is enabled.

Returns:

  • (Boolean)

    Specifies whether enhanced networking with ENA is enabled.

#enclave_optionsTypes::EnclaveOptions (readonly)

Indicates whether the instance is enabled for AWS Nitro Enclaves.

Returns:

#hibernation_optionsTypes::HibernationOptions (readonly)

Indicates whether the instance is enabled for hibernation.

Returns:

#hypervisorString (readonly)

The hypervisor type of the instance. The value xen is used for both Xen and Nitro hypervisors.

Possible values:

  • ovm
  • xen

Returns:

  • (String)

    The hypervisor type of the instance.

#iam_instance_profileTypes::IamInstanceProfile (readonly)

The IAM instance profile associated with the instance, if applicable.

Returns:

#idString (readonly)

Returns:

  • (String)

#image_idString (readonly)

The ID of the AMI used to launch the instance.

Returns:

  • (String)

    The ID of the AMI used to launch the instance.

#instance_idString (readonly)

The ID of the instance.

Returns:

  • (String)

    The ID of the instance.

#instance_lifecycleString (readonly)

Indicates whether this is a Spot Instance or a Scheduled Instance.

Possible values:

  • spot
  • scheduled

Returns:

  • (String)

    Indicates whether this is a Spot Instance or a Scheduled Instance.

#instance_typeString (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

Returns:

  • (String)

    The instance type.

#kernel_idString (readonly)

The kernel associated with this instance, if applicable.

Returns:

  • (String)

    The kernel associated with this instance, if applicable.

#key_nameString (readonly)

The name of the key pair, if this instance was launched with an associated key pair.

Returns:

  • (String)

    The name of the key pair, if this instance was launched with an associated key pair.

#launch_timeTime (readonly)

The time the instance was launched.

Returns:

  • (Time)

    The time the instance was launched.

#licensesArray<Types::LicenseConfiguration> (readonly)

The license configurations.

Returns:

#metadata_optionsTypes::InstanceMetadataOptionsResponse (readonly)

The metadata options for the instance.

Returns:

#monitoringTypes::Monitoring (readonly)

The monitoring for the instance.

Returns:

#outpost_arnString (readonly)

The Amazon Resource Name (ARN) of the Outpost.

Returns:

  • (String)

    The Amazon Resource Name (ARN) of the Outpost.

#placementTypes::Placement (readonly)

The location where the instance launched, if applicable.

Returns:

  • (Types::Placement)

    The location where the instance launched, if applicable.

#platformString (readonly)

The value is Windows for Windows instances; otherwise blank.

Possible values:

  • Windows

Returns:

  • (String)

    The value is Windows for Windows instances; otherwise blank.

#private_dns_nameString (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.

Returns:

  • (String)

    (IPv4 only) The private DNS hostname name assigned to the instance.

#private_ip_addressString (readonly)

The private IPv4 address assigned to the instance.

Returns:

  • (String)

    The private IPv4 address assigned to the instance.

#product_codesArray<Types::ProductCode> (readonly)

The product codes attached to this instance, if applicable.

Returns:

  • (Array<Types::ProductCode>)

    The product codes attached to this instance, if applicable.

#public_dns_nameString (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.

Returns:

  • (String)

    (IPv4 only) The public DNS name assigned to the instance.

#public_ip_addressString (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.

Returns:

  • (String)

    The public IPv4 address, or the Carrier IP address assigned to the instance, if applicable.

#ramdisk_idString (readonly)

The RAM disk associated with this instance, if applicable.

Returns:

  • (String)

    The RAM disk associated with this instance, if applicable.

#root_device_nameString (readonly)

The device name of the root device volume (for example, /dev/sda1).

Returns:

  • (String)

    The device name of the root device volume (for example, /dev/sda1).

#root_device_typeString (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

Returns:

  • (String)

    The root device type used by the AMI.

#security_groupsArray<Types::GroupIdentifier> (readonly)

The security groups for the instance.

Returns:

#source_dest_checkBoolean (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.

Returns:

  • (Boolean)

    Specifies whether to enable an instance launched in a VPC to perform NAT.

#spot_instance_request_idString (readonly)

If the request is a Spot Instance request, the ID of the request.

Returns:

  • (String)

    If the request is a Spot Instance request, the ID of the request.

#sriov_net_supportString (readonly)

Specifies whether enhanced networking with the Intel 82599 Virtual Function interface is enabled.

Returns:

  • (String)

    Specifies whether enhanced networking with the Intel 82599 Virtual Function interface is enabled.

#stateTypes::InstanceState (readonly)

The current state of the instance.

Returns:

#state_reasonTypes::StateReason (readonly)

The reason for the most recent state transition.

Returns:

#state_transition_reasonString (readonly)

The reason for the most recent state transition. This might be an empty string.

Returns:

  • (String)

    The reason for the most recent state transition.

#subnet_idString (readonly)

[EC2-VPC] The ID of the subnet in which the instance is running.

Returns:

  • (String)

    [EC2-VPC] The ID of the subnet in which the instance is running.

#tagsArray<Types::Tag> (readonly)

Any tags assigned to the instance.

Returns:

  • (Array<Types::Tag>)

    Any tags assigned to the instance.

#virtualization_typeString (readonly)

The virtualization type of the instance.

Possible values:

  • hvm
  • paravirtual

Returns:

  • (String)

    The virtualization type of the instance.

#vpc_idString (readonly)

[EC2-VPC] The ID of the VPC in which the instance is running.

Returns:

  • (String)

    [EC2-VPC] The ID of the VPC in which the instance is running.

Instance Method Details

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.

Examples:

Request syntax example with placeholder values


instance.attach_classic_link_vpc({
  dry_run: false,
  groups: ["String"], # required
  vpc_id: "VpcId", # required
})

Options Hash (options):

  • :dry_run (Boolean)

    Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

  • :groups (required, Array<String>)

    The ID of one or more of the VPC\'s security groups. You cannot specify security groups from a different VPC.

  • :vpc_id (required, String)

    The ID of a ClassicLink-enabled VPC.

Returns:

See Also:

#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.

Examples:

Request syntax example with placeholder values


instance.attach_volume({
  device: "String", # required
  volume_id: "VolumeId", # required
  dry_run: false,
})

Options Hash (options):

  • :device (required, String)

    The device name (for example, /dev/sdh or xvdh).

  • :volume_id (required, String)

    The ID of the EBS volume. The volume and instance must be within the same Availability Zone.

  • :dry_run (Boolean)

    Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

Returns:

See Also:

#classic_addressClassicAddress?

Returns:

#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.

Examples:

Request syntax example with placeholder values


instance.console_output({
  dry_run: false,
  latest: false,
})

Options Hash (options):

  • :dry_run (Boolean)

    Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

  • :latest (Boolean)

    When enabled, retrieves the latest console output for the instance.

    Default: disabled (false)

Returns:

See Also:

#create_image(options = {}) ⇒ Image

Examples:

Request syntax example with placeholder values


instance.create_image({
  block_device_mappings: [
    {
      device_name: "String",
      virtual_name: "String",
      ebs: {
        delete_on_termination: false,
        iops: 1,
        snapshot_id: "String",
        volume_size: 1,
        volume_type: "standard", # accepts standard, io1, io2, gp2, sc1, st1
        kms_key_id: "String",
        encrypted: false,
      },
      no_device: "String",
    },
  ],
  description: "String",
  dry_run: false,
  name: "String", # required
  no_reboot: false,
})

Basic usage

image = instance.create_image(options)
image.id
#=> "image-id"

Options Hash (options):

  • :block_device_mappings (Array<Types::BlockDeviceMapping>)

    The block device mappings. This parameter cannot be used to modify the encryption status of existing volumes or snapshots. To create an AMI with encrypted snapshots, use the CopyImage action.

  • :description (String)

    A description for the new image.

  • :dry_run (Boolean)

    Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

  • :name (required, String)

    A name for the new image.

    Constraints: 3-128 alphanumeric characters, parentheses (()), square brackets ([]), spaces ( ), periods (.), slashes (/), dashes (-), single quotes (\'), at-signs (@), or underscores(_)

  • :no_reboot (Boolean)

    By default, Amazon EC2 attempts to shut down and reboot the instance before creating the image. If the \'No Reboot\' option is set, Amazon EC2 doesn\'t shut down the instance before creating the image. When this option is used, file system integrity on the created image can\'t be guaranteed.

Returns:

See Also:

#create_tags(options = {}) ⇒ Array<Tag>

Examples:

Request syntax example with placeholder values


instance.create_tags({
  dry_run: false,
  tags: [ # required
    {
      key: "String",
      value: "String",
    },
  ],
})

Basic usage

tags = instance.create_tags(options)
tags.map(&:value)
#=> ["tag-value", ...]

Options Hash (options):

  • :dry_run (Boolean)

    Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

  • :tags (required, Array<Types::Tag>)

    The tags. The value parameter is required, but if you don\'t want the tag to have a value, specify the parameter with no value, and we set the value to an empty string.

Returns:

See Also:

#decrypt_windows_password(key_pair_path) ⇒ String

Parameters:

  • key_pair_path (String, Pathname)

Returns:

  • (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>

Examples:

Request syntax example with placeholder values


instance.delete_tags({
  dry_run: false,
  tags: [
    {
      key: "String",
      value: "String",
    },
  ],
})

Basic usage

tags = instance.delete_tags(options)
tags.map(&:value)
#=> ["tag-value", ...]

Options Hash (options):

  • :dry_run (Boolean)

    Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

  • :tags (Array<Types::Tag>)

    The tags to delete. Specify a tag key and an optional tag value to delete specific tags. If you specify a tag key without a tag value, we delete any tag with this key regardless of its value. If you specify a tag key with an empty string as the tag value, we delete the tag only if its value is an empty string.

    If you omit this parameter, we delete all user-defined tags for the specified resources. We do not delete AWS-generated tags (tags that have the aws: prefix).

Returns:

See Also:

#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

Examples:

Request syntax example with placeholder values


instance.describe_attribute({
  attribute: "instanceType", # required, accepts instanceType, kernel, ramdisk, userData, disableApiTermination, instanceInitiatedShutdownBehavior, rootDeviceName, blockDeviceMapping, productCodes, sourceDestCheck, groupSet, ebsOptimized, sriovNetSupport, enaSupport, enclaveOptions
  dry_run: false,
})

Options Hash (options):

  • :attribute (required, String)

    The instance attribute.

    Note: The enaSupport attribute is not supported at this time.

  • :dry_run (Boolean)

    Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

Returns:

See Also:

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.

Examples:

Request syntax example with placeholder values


instance.detach_classic_link_vpc({
  dry_run: false,
  vpc_id: "VpcId", # required
})

Options Hash (options):

  • :dry_run (Boolean)

    Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

  • :vpc_id (required, String)

    The ID of the VPC to which the instance is linked.

Returns:

See Also:

#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.

Examples:

Request syntax example with placeholder values


instance.detach_volume({
  device: "String",
  force: false,
  volume_id: "VolumeId", # required
  dry_run: false,
})

Options Hash (options):

  • :device (String)

    The device name.

  • :force (Boolean)

    Forces detachment if the previous detachment attempt did not occur cleanly (for example, logging into an instance, unmounting the volume, and detaching normally). This option can lead to data loss or a corrupted file system. Use this option only as a last resort to detach a volume from a failed instance. The instance won\'t have an opportunity to flush file system caches or file system metadata. If you use this option, you must perform file system check and repair procedures.

  • :volume_id (required, String)

    The ID of the volume.

  • :dry_run (Boolean)

    Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

Returns:

See Also:

#exists?Boolean

Returns true if this Instance exists. Returns false otherwise.

Returns:

  • (Boolean)

    Returns true if this Instance exists. Returns false otherwise.

#imageImage?

Returns:

See Also:

#key_pairKeyPairInfo?

Returns:

#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.

Examples:

Request syntax example with placeholder values


instance.modify_attribute({
  source_dest_check: {
    value: false,
  },
  attribute: "instanceType", # accepts instanceType, kernel, ramdisk, userData, disableApiTermination, instanceInitiatedShutdownBehavior, rootDeviceName, blockDeviceMapping, productCodes, sourceDestCheck, groupSet, ebsOptimized, sriovNetSupport, enaSupport, enclaveOptions
  block_device_mappings: [
    {
      device_name: "String",
      ebs: {
        delete_on_termination: false,
        volume_id: "VolumeId",
      },
      no_device: "String",
      virtual_name: "String",
    },
  ],
  disable_api_termination: {
    value: false,
  },
  dry_run: false,
  ebs_optimized: {
    value: false,
  },
  ena_support: {
    value: false,
  },
  groups: ["String"],
  instance_initiated_shutdown_behavior: "value", # value <Hash,Array,String,Numeric,Boolean,IO,Set,nil>
  instance_type: "value", # value <Hash,Array,String,Numeric,Boolean,IO,Set,nil>
  kernel: "value", # value <Hash,Array,String,Numeric,Boolean,IO,Set,nil>
  ramdisk: "value", # value <Hash,Array,String,Numeric,Boolean,IO,Set,nil>
  sriov_net_support: "value", # value <Hash,Array,String,Numeric,Boolean,IO,Set,nil>
  user_data: {
    value: "data",
  },
  value: "String",
})

Options Hash (options):

  • :source_dest_check (Types::AttributeBooleanValue)

    Specifies whether source/destination checking is enabled. A value of true means that checking is enabled, and false means that checking is disabled. This value must be false for a NAT instance to perform NAT.

  • :attribute (String)

    The name of the attribute.

  • :block_device_mappings (Array<Types::InstanceBlockDeviceMappingSpecification>)

    Modifies the DeleteOnTermination attribute for volumes that are currently attached. The volume must be owned by the caller. If no value is specified for DeleteOnTermination, the default is true and the volume is deleted when the instance is terminated.

    To add instance store volumes to an Amazon EBS-backed instance, you must add them when you launch the instance. For more information, see Updating the block device mapping when launching an instance in the Amazon Elastic Compute Cloud User Guide.

  • :disable_api_termination (Types::AttributeBooleanValue)

    If the value is true, you can\'t terminate the instance using the Amazon EC2 console, CLI, or API; otherwise, you can. You cannot use this parameter for Spot Instances.

  • :dry_run (Boolean)

    Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

  • :ebs_optimized (Types::AttributeBooleanValue)

    Specifies 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 EBS I/O performance. This optimization isn\'t available with all instance types. Additional usage charges apply when using an EBS Optimized instance.

  • :ena_support (Types::AttributeBooleanValue)

    Set to true to enable enhanced networking with ENA for the instance.

    This option is supported only for HVM instances. Specifying this option with a PV instance can make it unreachable.

  • :groups (Array<String>)

    [EC2-VPC] Changes the security groups of the instance. You must specify at least one security group, even if it\'s just the default security group for the VPC. You must specify the security group ID, not the security group name.

  • :instance_initiated_shutdown_behavior (Types::AttributeValue)

    Specifies whether an instance stops or terminates when you initiate shutdown from the instance (using the operating system command for system shutdown).

  • :instance_type (Types::AttributeValue)

    Changes the instance type to the specified value. For more information, see Instance types. If the instance type is not valid, the error returned is InvalidInstanceAttributeValue.

  • :kernel (Types::AttributeValue)

    Changes the instance\'s kernel to the specified value. We recommend that you use PV-GRUB instead of kernels and RAM disks. For more information, see PV-GRUB.

  • :ramdisk (Types::AttributeValue)

    Changes the instance\'s RAM disk to the specified value. We recommend that you use PV-GRUB instead of kernels and RAM disks. For more information, see PV-GRUB.

  • :sriov_net_support (Types::AttributeValue)

    Set to simple to enable enhanced networking with the Intel 82599 Virtual Function interface for the instance.

    There is no way to disable enhanced networking with the Intel 82599 Virtual Function interface at this time.

    This option is supported only for HVM instances. Specifying this option with a PV instance can make it unreachable.

  • :user_data (Types::BlobAttributeValue)

    Changes the instance\'s user data to the specified value. If you are using an AWS SDK or command line tool, base64-encoding is performed for you, and you can load the text from a file. Otherwise, you must provide base64-encoded text.

  • :value (String)

    A new value for the attribute. Use only with the kernel, ramdisk, userData, disableApiTermination, or instanceInitiatedShutdownBehavior attribute.

Returns:

  • (Struct)

    Returns an empty response.

See Also:

#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 .

Examples:

Request syntax example with placeholder values


instance.monitor({
  dry_run: false,
})

Options Hash (options):

  • :dry_run (Boolean)

    Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

Returns:

See Also:

#network_interfacesArray<NetworkInterface>?

Returns:

#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.

Examples:

Request syntax example with placeholder values


instance.password_data({
  dry_run: false,
})

Options Hash (options):

  • :dry_run (Boolean)

    Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

Returns:

See Also:

#placement_groupPlacementGroup?

Returns:

#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.

Examples:

Request syntax example with placeholder values


instance.reboot({
  dry_run: false,
})

Options Hash (options):

  • :dry_run (Boolean)

    Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

Returns:

  • (Struct)

    Returns an empty response.

See Also:

#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.

Examples:

Request syntax example with placeholder values


instance.report_status({
  description: "String",
  dry_run: false,
  end_time: Time.now,
  reason_codes: ["instance-stuck-in-state"], # required, accepts instance-stuck-in-state, unresponsive, not-accepting-credentials, password-not-available, performance-network, performance-instance-store, performance-ebs-volume, performance-other, other
  start_time: Time.now,
  status: "ok", # required, accepts ok, impaired
})

Options Hash (options):

  • :description (String)

    Descriptive text about the health state of your instance.

  • :dry_run (Boolean)

    Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

  • :end_time (Time)

    The time at which the reported instance health state ended.

  • :reason_codes (required, Array<String>)

    The reason codes that describe the health state of your instance.

    • instance-stuck-in-state: My instance is stuck in a state.

    • unresponsive: My instance is unresponsive.

    • not-accepting-credentials: My instance is not accepting my credentials.

    • password-not-available: A password is not available for my instance.

    • performance-network: My instance is experiencing performance problems that I believe are network related.

    • performance-instance-store: My instance is experiencing performance problems that I believe are related to the instance stores.

    • performance-ebs-volume: My instance is experiencing performance problems that I believe are related to an EBS volume.

    • performance-other: My instance is experiencing performance problems.

    • other: [explain using the description parameter]

  • :start_time (Time)

    The time at which the reported instance health state began.

  • :status (required, String)

    The status of all instances listed.

Returns:

  • (Struct)

    Returns an empty response.

See Also:

#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.

Examples:

Request syntax example with placeholder values


instance.reset_attribute({
  attribute: "instanceType", # required, accepts instanceType, kernel, ramdisk, userData, disableApiTermination, instanceInitiatedShutdownBehavior, rootDeviceName, blockDeviceMapping, productCodes, sourceDestCheck, groupSet, ebsOptimized, sriovNetSupport, enaSupport, enclaveOptions
  dry_run: false,
})

Options Hash (options):

  • :attribute (required, String)

    The attribute to reset.

    You can only reset the following attributes: kernel | ramdisk | sourceDestCheck. To change an instance attribute, use ModifyInstanceAttribute.

  • :dry_run (Boolean)

    Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

Returns:

  • (Struct)

    Returns an empty response.

See Also:

#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.

Examples:

Request syntax example with placeholder values


instance.reset_kernel({
  dry_run: false,
})

Options Hash (options):

  • :dry_run (Boolean)

    Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

Returns:

  • (Struct)

    Returns an empty response.

See Also:

#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.

Examples:

Request syntax example with placeholder values


instance.reset_ramdisk({
  dry_run: false,
})

Options Hash (options):

  • :dry_run (Boolean)

    Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

Returns:

  • (Struct)

    Returns an empty response.

See Also:

#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.

Examples:

Request syntax example with placeholder values


instance.reset_source_dest_check({
  dry_run: false,
})

Options Hash (options):

  • :dry_run (Boolean)

    Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

Returns:

  • (Struct)

    Returns an empty response.

See Also:

#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.

Examples:

Request syntax example with placeholder values


instance.start({
  additional_info: "String",
  dry_run: false,
})

Options Hash (options):

  • :additional_info (String)

    Reserved.

  • :dry_run (Boolean)

    Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

Returns:

See Also:

#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.

Examples:

Request syntax example with placeholder values


instance.stop({
  hibernate: false,
  dry_run: false,
  force: false,
})

Options Hash (options):

  • :hibernate (Boolean)

    Hibernates the instance if the instance was enabled for hibernation at launch. If the instance cannot hibernate successfully, a normal shutdown occurs. For more information, see Hibernate your instance in the Amazon Elastic Compute Cloud User Guide.

    Default: false

  • :dry_run (Boolean)

    Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

  • :force (Boolean)

    Forces the instances to stop. The instances do not have an opportunity to flush file system caches or file system metadata. If you use this option, you must perform file system check and repair procedures. This option is not recommended for Windows instances.

    Default: false

Returns:

See Also:

#subnetSubnet?

Returns:

#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.

Examples:

Request syntax example with placeholder values


instance.terminate({
  dry_run: false,
})

Options Hash (options):

  • :dry_run (Boolean)

    Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

Returns:

See Also:

#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.

Examples:

Request syntax example with placeholder values


instance.unmonitor({
  dry_run: false,
})

Options Hash (options):

  • :dry_run (Boolean)

    Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

Returns:

See Also:

#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.

Examples:

Request syntax example with placeholder values


instance.volumes({
  volume_ids: ["VolumeId"],
  dry_run: false,
  max_results: 1,
  next_token: "String",
})

Enumerating Volume resources.

instance.volumes.each do |volume|
  # yields each volume
end

Enumerating Volume resources with a limit.

instance.volumes.limit(10).each do |volume|
  # yields at most 10 volumes
end

Options Hash (options):

  • :volume_ids (Array<String>)

    The volume IDs.

  • :dry_run (Boolean)

    Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

  • :max_results (Integer)

    The maximum number of volume results returned by DescribeVolumes in paginated output. When this parameter is used, DescribeVolumes only returns MaxResults results in a single page along with a NextToken response element. The remaining results of the initial request can be seen by sending another DescribeVolumes request with the returned NextToken value. This value can be between 5 and 500; if MaxResults is given a value larger than 500, only 500 results are returned. If this parameter is not used, then DescribeVolumes returns all results. You cannot specify this parameter and the volume IDs parameter in the same request.

  • :next_token (String)

    The NextToken value returned from a previous paginated DescribeVolumes request where MaxResults was used and the results exceeded the value of that parameter. Pagination continues from the end of the previous results that returned the NextToken value. This value is null when there are no more results to return.

Returns:

See Also:

#vpcVpc?

Returns:

#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.

Examples:

Request syntax example with placeholder values


instance.vpc_addresses({
  public_ips: ["String"],
  allocation_ids: ["AllocationId"],
  dry_run: false,
})

Enumerating VpcAddress resources.

instance.vpc_addresses.each do |vpcaddress|
  # yields each vpcaddress
end

Enumerating VpcAddress resources with a limit.

instance.vpc_addresses.limit(10).each do |vpcaddress|
  # yields at most 10 vpc_addresses
end

Options Hash (options):

  • :public_ips (Array<String>)

    One or more Elastic IP addresses.

    Default: Describes all your Elastic IP addresses.

  • :allocation_ids (Array<String>)

    [EC2-VPC] Information about the allocation IDs.

  • :dry_run (Boolean)

    Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

Returns:

See Also:

#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.

Examples:

Basic usage

instance.wait_until_exists

Yield Parameters:

Returns:

  • (Instance)

    Returns a copy of this Instance with loaded data.

Raises:

See Also:

#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.

Examples:

Basic usage

instance.wait_until_running

Yield Parameters:

Returns:

  • (Instance)

    Returns a copy of this Instance with loaded data.

Raises:

See Also:

#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.

Examples:

Basic usage

instance.wait_until_stopped

Yield Parameters:

Returns:

  • (Instance)

    Returns a copy of this Instance with loaded data.

Raises:

See Also:

#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.

Examples:

Basic usage

instance.wait_until_terminated

Yield Parameters:

Returns:

  • (Instance)

    Returns a copy of this Instance with loaded data.

Raises:

See Also: