aws_ami_copy

The "AMI copy" resource allows duplication of an Amazon Machine Image (AMI), including cross-region copies.

If the source AMI has associated EBS snapshots, those will also be duplicated along with the AMI.

This is useful for taking a single AMI provisioned in one region and making it available in another for a multi-region deployment.

Copying an AMI can take several minutes. The creation of this resource will block until the new AMI is available for use on new instances.

Example Usage

resource "aws_ami_copy" "example" {
  name              = "terraform-example"
  description       = "A copy of ami-xxxxxxxx"
  source_ami_id     = "ami-xxxxxxxx"
  source_ami_region = "us-west-1"

  tags {
    Name = "HelloWorld"
  }
}

Argument Reference

The following arguments are supported:

  • name - (Required) A region-unique name for the AMI.
  • source_ami_id - (Required) The id of the AMI to copy. This id must be valid in the region given by source_ami_region.
  • source_ami_region - (Required) The region from which the AMI will be copied. This may be the same as the AWS provider region in order to create a copy within the same region.
  • encrypted - (Optional) Specifies whether the destination snapshots of the copied image should be encrypted. Defaults to false
  • kms_key_id - (Optional) The full ARN of the KMS Key to use when encrypting the snapshots of an image during a copy operation. If not specified, then the default AWS KMS Key will be used

This resource also exposes the full set of arguments from the aws_ami resource.

Timeouts

The timeouts block allows you to specify timeouts for certain actions:

  • create - (Defaults to 40 mins) Used when creating the AMI
  • update - (Defaults to 40 mins) Used when updating the AMI
  • delete - (Defaults to 90 mins) Used when deregistering the AMI

Attributes Reference

In addition to all arguments above, the following attributes are exported:

  • id - The ID of the created AMI.

This resource also exports a full set of attributes corresponding to the arguments of the aws_ami resource, allowing the properties of the created AMI to be used elsewhere in the configuration.

© 2018 HashiCorp
Licensed under the MPL 2.0 License.
https://www.terraform.io/docs/providers/aws/r/ami_copy.html