Terraform Search Ami
Search AMI with Terraform
Nowadays Terraform is a great option to provide infrastructure as a code. When working with EC2 AWS is necessary to give an AMI ID, since many times a user may want just the last version of an image looking by its name, it’s possible to configure a search in the Terraform script using filters as shown.
provider "aws" {
profile = "default"
region = "eu-west-1"
version = "~> 2.50"
}
resource "aws_instance" "my_first_instance" {
ami = data.aws_ami.latest-ubuntu.id
instance_type = "t2.micro"
}
data "aws_ami" "latest-ubuntu" {
most_recent = true
owners = ["099720109477"] # Canonical
filter {
name = "name"
values = ["ubuntu/images/hvm-ssd/ubuntu-*-18.04-amd64-server-*"]
}
filter {
name = "virtualization-type"
values = ["hvm"]
}
}