我正在尝试在terraform main.tf文件中使用环境变量。我在开发环境中运行了以下命令:
TF_VAR_source_ami=ami-048e57a7474e7284d
echo $TF_VAR_source_ami
ami-048e57a7474e7284d
这是main.tf的内容:
variable "source_ami" {
type = "string"
description = "AMI to copy this account"
}
data "aws_ami" "ami_to_be_shared" {
owners = ["self"]
most_recent = true
filter {
name = "image-id"
values = ["${var.source_ami}"]
}
}
output "ami_creation_date" {
value = "${data.aws_ami.ami_to_be_shared.tags.AMICoreEngDate}"
}
当我运行terraform plan
时,它会提示我输入var.source_ami
,但是当我运行terraform apply -var="source_ami=ami-048
e57a7474e7284d"
时,它会起作用。
我也尝试过声明没有类型和描述的变量。
其他信息:
谢谢您的帮助!
答案 0 :(得分:0)
您需要导出变量。
export TF_VAR_source_ami=ami-048e57a7474e7284d
或一行运行
TF_VAR_source_ami=ami-048e57a7474e7284d terraform plan
进行进一步阅读