首页 > 解决方案 > Terraform - 将变量输出为引用值

问题描述

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

现在,我可以输出变量,但它们的值没有被引用:

variable = value

但是,当将变量文件加载到 Terraform 中时,它需要引用所有值,如下所示:

variable = "value"

所以我不明白为什么 Terraform 一开始不只是以这种方式导出变量。

有没有什么方法可以做到这一点而不需要我做额外的工作?

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

标签: amazon-web-servicesterraformterraform-provider-awsinfrastructure

解决方案


以 JSON 格式输出并使用 JQ 转换为您喜欢的内容。

terraform output -json

主文件

output "hogehoge" {
  value = "hogehoge"
}

执行

$ terraform apply
Outputs:
hogehoge = hogehoge

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

但是,正如@ydaetskcoR 评论的那样,为什么不使用data.terraform_remote_state


推荐阅读