terraform/website/source/docs/providers/aws/d/ami.html.markdown

116 lines
4.7 KiB
Markdown
Raw Normal View History

---
layout: "aws"
page_title: "AWS: aws_ami"
sidebar_current: "docs-aws-datasource-ami"
description: |-
Get information on a Amazon Machine Image (AMI).
---
# aws\_ami
Use this data source to get the ID of a registered AMI for use in other
resources.
## Example Usage
```
data "aws_ami" "nat_ami" {
most_recent = true
executable_users = ["self"]
filter {
name = "owner-alias"
values = ["amazon"]
}
filter {
name = "name"
values = ["amzn-ami-vpc-nat*"]
}
local_name_filter = "^myami-\\d{3}"
owners = ["self"]
}
```
## Argument Reference
* `most_recent` - (Optional) If more than one result is returned, use the most
recent AMI.
* `executable_users` - (Optional) Limit search to users with *explicit* launch permission on
the image. Valid items are the numeric account ID or `self`.
* `filter` - (Optional) One or more name/value pairs to filter off of. There are
several valid keys, for a full reference, check out
[describe-images in the AWS CLI reference][1].
* `local_name_filter` - (Optional) A regex string to apply to the AMI list returned
by AWS. This allows more advanced filtering not supported from the AWS API.
* `owners` - (Optional) Limit search to specific AMI owners. Valid items are the numeric
account ID, `amazon`, or `self`.
~> **NOTE:** At least one of `executable_users`, `filter`, or `owners` must be specified.
~> **NOTE:** If more or less than a single match is returned by the search,
Terraform will fail. Ensure that your search is specific enough to return
a single AMI ID only, or use `most_recent` to choose the most recent one.
## Attributes Reference
`id` is set to the ID of the found AMI. In addition, the following attributes
are exported:
~> **NOTE:** Some values are not always set and may not be available for
interpolation.
* `architecture` - The OS architecture of the AMI (ie: `i368` or `x86_64`).
* `block_device_mappings` - The block device mappings of the AMI.
* `block_device_mappings.#.device_name` - The physical name of the device.
* `block_device_mappings.#.ebs.delete_on_termination` - `true` if the EBS volume
will be deleted on termination.
* `block_device_mappings.#.ebs.encrypted` - `true` if the EBS volume
is encrypted.
* `block_device_mappings.#.ebs.encrypted` - `0` if the EBS volume
not a provisioned IOPS image, otherwise the supported IOPS count.
* `block_device_mappings.#.ebs.snapshot_id` - The ID of the snapshot.
* `block_device_mappings.#.ebs.volume_size` - The size of the volume, in GiB.
* `block_device_mappings.#.ebs.volume_type` - The volume type.
* `block_device_mappings.#.no_device` - Suppresses the specified device
included in the block device mapping of the AMI.
* `block_device_mappings.#.virtual_name` - The virtual device name (for
instance stores).
* `creation_date` - The date and time the image was created.
* `description` - The description of the AMI that was provided during image
creation.
* `hypervisor` - The hypervisor type of the image.
* `image_id` - The ID of the AMI. Should be the same as the resource `id`.
* `image_location` - The location of the AMI.
* `image_owner_alias` - The AWS account alias (for example, `amazon`, `self`) or
the AWS account ID of the AMI owner.
* `image_type` - The type of image.
* `kernel_id` - The kernel associated with the image, if any. Only applicable
for machine images.
* `name` - The name of the AMI that was provided during image creation.
* `owner_id` - The AWS account ID of the image owner.
* `platform` - The value is Windows for `Windows` AMIs; otherwise blank.
* `product_codes` - Any product codes associated with the AMI.
* `product_codes.#.product_code_id` - The product code.
* `product_codes.#.product_code_type` - The type of product code.
* `public` - `true` if the image has public launch permissions.
* `ramdisk_id` - The RAM disk associated with the image, if any. Only applicable
for machine images.
* `root_device_name` - The device name of the root device.
* `root_device_type` - The type of root device (ie: `ebs` or `instance-store`).
* `sriov_net_support` - Specifies whether enhanced networking is enabled.
* `state` - The current state of the AMI. If the state is `available`, the image
is successfully registered and can be used to launch an instance.
* `state_reason` - Describes a state change. Fields are `UNSET` if not available.
* `state_reason.code` - The reason code for the state change.
* `state_reason.message` - The message for the state change.
* `tags` - Any tags assigned to the image.
* `tags.#.key` - The key name of the tag.
* `tags.#.value` - The value of the tag.
* `virtualization_type` - The type of virtualization of the AMI (ie: `hvm` or
`paravirtual`).
[1]: http://docs.aws.amazon.com/cli/latest/reference/ec2/describe-images.html