5

I am building AWS AMI with Packer. The source image is defined by filter source_ami_filter and the source block looks like

source "amazon-ebs" "test-image" {
  ami_name      = "Some AMI Name"
  instance_type = "t2.micro"
  region        = "eu-central-1"
  source_ami_filter {
    filters = {
      name                = "ubuntu/images/hvm-ssd/ubuntu-focal-20.04-amd64-server-*"
      root-device-type    = "ebs"
      virtualization-type = "hvm"
    }
    most_recent = true
    owners      = ["099720109477"]
  }
  tags = {
//    source_ami_name = ...  # how to get it?
  }
  ssh_username = "ubuntu"
}

How to get the name of the used source AMI from canonical?

Andriy
  • 1,270
  • 3
  • 17
  • 35

1 Answers1

8

There are some shared information variables, for instance, SourceAMIName.

That means you can get your source AMI name and use it as a tag by doing this:

source_ami_name = "{{ .SourceAMIName }}"

Here's a full example: https://www.packer.io/docs/builders/amazon/ebs#tag-example

soltex
  • 2,993
  • 1
  • 18
  • 29