Class AWS::EC2::Image
In: lib/aws/ec2/image.rb
Parent: Resource

Represents an Amazon Machine Image (AMI).

@attr_reader [String] name The name of the AMI that was provided

  during image creation.

@attr [String] description A description of the image.

@attr_reader [String] location The location of the AMI.

@attr_reader [Symbol] state Current state of the AMI. If the

  state is `:available`, the image is successfully registered
  and available for launching.  Valid values:

    * `:available`
    * `:pending`
    * `:failed`

@attr_reader [String] owner_id The AWS account ID of the image owner.

@attr_reader [String] owner_alias The AWS account alias (e.g.,

  `"amazon"`) or AWS account ID that owns the AMI.

@attr_reader [Symbol] architecture The architecture of the

  image (e.g. `:i386`).

@attr_reader [Symbol] type The type of image.

  Valid values are:

    * `:machine`
    * `:kernel`
    * `:ramdisk`

@attr_reader [String] kernel_id The kernel ID associated with

  the image, if any. Only applicable for machine images.

@attr_reader [String] ramdisk_id The RAM disk ID associated

  with the image, if any. Only applicable for machine images.

@attr_reader [String] platform Value is `windows` for Windows

  AMIs; otherwise blank.

@attr_reader [Object] state_reason The reason for the image‘s

  most recent state change.  The return value is an object with
  the following methods:

    * `code` - Reason code for the state change.
    * `message` - A textual description of the state change.

@attr_reader [Symbol] root_device_type The root device type

  used by the AMI. Possible values:

    * `:ebs`
    * `:instance_store`

@attr_reader [String] root_device_name The root device name

  (e.g., `"/dev/sda1"`, or `"xvda"`).

@attr_reader [Symbol] virtualization_type The type of

  virtualization of the AMI.  Possible values:

    * `:paravirtual`
    * `:hvm`

@attr_reader [Symbol] hypervisor The image‘s hypervisor type.

  Possible values are:

    * `:ovm`
    * `:xen`

@attr_reader [Array<String>] product_codes Returns an array of

  product codes attached to this instance.

Methods

Included Modules

TaggedItem HasPermissions

External Aliases

image_id -> id
permissions -> launch_permissions

Attributes

image_id  [R]  @return [String] The ID of the AMI.

Public Class methods

@param [String] image_id

Public Instance methods

Adds one or more product codes:

    image.add_product_codes 'ABCXYZ', 'MNOPQR'

You can also pass an array of product codes:

    image.add_product_codes ['ABCXYZ', 'MNOPQR']

@param [Array<String>] product_codes

@return [nil]

@note This method will not return data for ephemeral volumes. @return [Hash] Returns a hash of block

  device mappings for the image.  In each entry, the key is
  the device name (e.g. `"/dev/sda1"`) and the value is an
  hash with the following keys that return information
  about the block device:

    * `:snapshot_id` - The ID of the snapshot that will be used to
      create this device (may be `nil`).
    * `:volume_size` - The size of the volume, in GiBs.
    * `:delete_on_termination` - True if the Amazon EBS volume is
      deleted on instance termination.

@see {block_devices}

@return [Array<Hash>] Returns a list of all block device mappings.

  This list may contain ephemeral volumes.
delete()

Alias for deregister

Deregisters this AMI. Once deregistered, the AMI cannot be used to launch new instances. @return [nil]

@return [Boolean] Returns `true` if the AMI exists (is returned by

  the DescribeImages action).

@return [Image] The kernel associated with the image, if

  any. Only applicable for machine images.

@return [Image] The RAM disk associated with the image, if

  any. Only applicable for machine images.

Runs a single instance of this image.

@param [Hash] options @option (see InstanceCollection#create) @return (see InstanceCollection#create)

Runs multiple instances of this image.

@param [Integer] count How many instances to request. You can specify

  this either as an integer or as a Range, to indicate the
  minimum and maximum number of instances to run.  Note that
  for a new account you can request at most 20 instances at
  a time.

@param [Hash] options @option (see InstanceCollection#create) @return [Array<Instance>] An array containing an {Instance} object for

  each instance that was run.

[Validate]