输入环境变量未读取

时间:2019-07-22 23:08:01

标签: terraform cloud9

我正在尝试在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"时,它会起作用。

我也尝试过声明没有类型和描述的变量。

其他信息:

谢谢您的帮助!

1 个答案:

答案 0 :(得分:0)

您需要导出变量。

export TF_VAR_source_ami=ami-048e57a7474e7284d

或一行运行

TF_VAR_source_ami=ami-048e57a7474e7284d terraform plan

对此Defining a variable with or without export

进行进一步阅读