我正在努力構建打包管道,該管道將使用市場 ami 來安裝某些軟體并創建一個 ami。我創建了運行良好的 json 模板,但根據打包程式的建議,我正在努力將其升級到 hcl2 模板。
當我運行 hcl2_upgrade 命令時。我看到 json 模板被轉換為 .pkr.hcl 模板,但在運行它時。我已經按照打包程式檔案中的推薦對模板進行了一些自定義。它給了我以下錯誤。
data "amazon-ami" "autogenerated_1"{
access_key = "${var.aws_access_key}"
filters = {
root-device-type = "ebs"
virtualization-type = "hvm"
name = "**** Linux *"
}
most_recent = true
region = "${var.aws_region}"
owners = ["${var.owner_id}"]
secret_key = "${var.aws_secret_key}"
}
when I am trying to consume this ami id in the source block It gives me error.
ami_name = "${var.ami_name}"
associate_public_ip_address = false
force_deregister = true
iam_instance_profile = "abc"
instance_type = "****"
region = "${var.aws_region}"
source_ami = "{data.amazon-ami.autogenerated_1.id}"
ssh_interface = "private_ip"
ssh_username = "user"
subnet_id = "subnet-********"
vpc_id = "vpc-***********"
}
錯誤詳情如下:
amazon-ebs.pqr_ami: status code: 400, request id: *********
Build 'amazon-ebs.pqr_ami' errored after 1 second 49 milliseconds: Error querying AMI: InvalidAMIID.Malformed: Invalid id: "{data.amazon-ami.autogenerated_1.id}" (expecting "ami-...")
status code: 400, request id: ************
uj5u.com熱心網友回復:
您的 AMI 就是一個字串 source_ami = "{data.amazon-ami.autogenerated_1.id}"。它應該是:
source_ami = "${data.amazon-ami.autogenerated_1.id}"
或對于 HCL2:
source_ami = data.amazon-ami.autogenerated_1.id
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/346023.html
