簡體   English   中英

如何將 AMI 名稱放入打包程序清單中

[英]how to put AMI name in packer manifest

我想將 AMI 名稱添加到打包程序清單中。 我了解如何為 AMI id 獲取此信息,但名稱不同。 我有:

data "amazon-ami" "ubuntu" {
  filters = {
     name = "ubuntu-minimal/images/hvm-ssd/ubuntu-focal-20.04-amd64-minimal-*"
     root-device-type    = "ebs"
     virtualization-type = "hvm"
  }
  most_recent = true
  region      = "us-east-1"
}
source "amazon-ebs" "ui" {
  ami_name      = "my-ami-${formatdate("YYYY-MM-DD-hhmmss", timestamp())}"
  instance_type = "t3.small"
  region        = "us-east-1"
  source_ami    = "${data.amazon-ami.ubuntu.id}"
  ssh_pty       = true
  ssh_username  = "ubuntu"
}
build {
  sources = ["source.amazon-ebs.ui"]
  
  post-processor "manifest" {
    output = "manifest.json"
    strip_path = true
    custom_data = {
      version = "${source.ami_name}"
    }
  }
}

我得到的錯誤是Unsupported attribute; This object does not have an attribute named "ami_name". Unsupported attribute; This object does not have an attribute named "ami_name". 根據這個: https : //www.packer.io/docs/templates/hcl_templates/blocks/source看起來我可以訪問的唯一屬性是名稱和類型。 如何將ami_name放入清單?

我不認為你可以得到這樣的名字,但你可以把它放在本地,然后在你的構建器和清單中使用它,如下所示:

locals { 
  my_ami_name = "my-ami-${formatdate("YYYY-MM-DD-hhmmss", timestamp())}"
}
data "amazon-ami" "ubuntu" {
  filters = {
     name = "ubuntu-minimal/images/hvm-ssd/ubuntu-focal-20.04-amd64-minimal-*"
     root-device-type    = "ebs"
     virtualization-type = "hvm"
  }
  owners      = ["099720109477"]
  most_recent = true
  region      = "us-east-1"
}
source "amazon-ebs" "ui" {
  ami_name      = local.my_ami_name
  instance_type = "t3.small"
  region        = "us-east-1"
  source_ami    = "${data.amazon-ami.ubuntu.id}"
  ssh_pty       = true
  ssh_username  = "ubuntu"
}
build {
  sources = ["source.amazon-ebs.ui"]
  
  post-processor "manifest" {
    output = "manifest.json"
    strip_path = true
    custom_data = {
      version = local.my_ami_name
    }
  }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM