我正在使用Terraform来构建我们的AWS基础设施项目。我需要能够将多个变量输出到一个文件中,然后将该文件加载回另一个Terraform脚本中。
现在,我可以输出变量,但它们的值没有被引用:
variable = value
然而,当将变量文件加载到Terraform中时,它希望所有值都被引用,如下所示:
variable = "value"
所以我不明白为什么地狱Terraform一开始就不以这种方式导出变量。
有没有办法让它做到这一点而不需要我做额外的工作?
编辑:我使用Terraform v0.11.13,由于安全限制无法升级
以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
呢?