Connecting minds

Ideas, concepts and PoC

A place to write down what's on my mind

Terraform Search Ami

Search AMI with Terraform

Eduardo Arias

1 minute read

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"]
  }
}

Recent posts

Categories

About

A place to find technical how-tos, ideas or tricks.