未读取输入环境变量
Input Environment Variables not being read
我试图在我的 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"
时它会起作用。
我也试过在没有类型和描述的情况下声明变量。
附加信息:
- 使用 AWS Cloud9
- terraform 版本 Terraform v0.11.5
- 遵循此文档:https://www.terraform.io/docs/configuration-0-11/variables.html
- 另请阅读 post:
感谢您的帮助!
您需要导出变量。
export TF_VAR_source_ami=ami-048e57a7474e7284d
或运行为一行
TF_VAR_source_ami=ami-048e57a7474e7284d terraform plan
进一步阅读此内容Defining a variable with or without export
我试图在我的 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"
时它会起作用。
我也试过在没有类型和描述的情况下声明变量。
附加信息:
- 使用 AWS Cloud9
- terraform 版本 Terraform v0.11.5
- 遵循此文档:https://www.terraform.io/docs/configuration-0-11/variables.html
- 另请阅读 post:
感谢您的帮助!
您需要导出变量。
export TF_VAR_source_ami=ami-048e57a7474e7284d
或运行为一行
TF_VAR_source_ami=ami-048e57a7474e7284d terraform plan
进一步阅读此内容Defining a variable with or without export