未读取输入环境变量

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" 时它会起作用。

我也试过在没有类型和描述的情况下声明变量。

附加信息:

感谢您的帮助!

您需要导出变量。

export TF_VAR_source_ami=ami-048e57a7474e7284d

或运行为一行

TF_VAR_source_ami=ami-048e57a7474e7284d terraform plan

进一步阅读此内容Defining a variable with or without export