Terraform-输出变量作为引用值

时间:2020-03-19 18:37:41

标签: amazon-web-services terraform terraform-provider-aws infrastructure

我正在使用Terraform来构建我们的AWS基础设施项目。我需要能够将多个变量输出到一个文件,然后将该文件加载回另一个Terraform脚本。

现在,我可以输出变量,但它们的值不带引号:

variable = value

但是,当将变量文件加载到Terraform中时,它希望所有值都用引号引起来,如下所示:

variable = "value"

所以我不明白为什么地狱Terraform不会首先以这种方式导出变量。

有什么办法可以做到这一点,而无需我做更多的工作吗?

编辑:我正在使用Terraform v0.11.13,并且由于安全限制而无法升级

1 个答案:

答案 0 :(得分:0)

以JSON输出并使用JQ转换为您想要的内容。

terraform output -json

main.tf

output "hogehoge" {
  value = "hogehoge"
}

执行

$ terraform apply
Outputs:
hogehoge = hogehoge

$ terraform output -json
{
  "hogehoge": {
    "sensitive": false,
    "type": "string",
    "value": "hogehoge"
  }
}

但是,正如@ydaetskcoR所说,为什么不使用data.terraform_remote_state