【问题标题】:Can I expose all the attributes for a terraform resource in a single output variable?我可以在单个输出变量中公开 terraform 资源的所有属性吗?
【发布时间】:2020-10-25 05:04:45
【问题描述】:

我需要在 terraform 模块的单个输出变量中公开特定资源的所有属性。

这在 terraform 中可行吗?

【问题讨论】:

  • 您的意思是要连接单个属性中的所有资源属性吗?或者,您是否期待构建具有所有资源属性的地图或列表输出变量?两者都可以在 terraform 中使用。您能否详细说明您的问题,以便我(或其他任何人)为您提供具体信息。
  • @Avnish 我想构建一个包含所有资源属性的地图。

标签: terraform


【解决方案1】:

是的,

output "my_vm" {
  value = aws_instance.my_vm
}

但是你会在那里得到大量奇怪的垃圾,所以它可能不值得。

【讨论】:

  • 奇怪,这个输出变量的terraform官方文档中没有提到。但它工作得很好。
  • 这绝对是奇怪的。在许多情况下,这是一个有用的功能。
  • aws_instance.my_vm 这样的表达式只生成一个表示资源实例的对象值,因此 Terraform 文档没有特别提及它,因为它只是其他语言功能如何协同工作的自然结果.话虽如此,在编写创建抽象的模块时,我们通常希望封装资源的细节,这意味着返回整个资源并不像您想象的那么普遍。需要时可以这样做,但我不建议在所有情况下都这样做。
猜你喜欢
  • 2019-11-20
  • 1970-01-01
  • 2021-01-12
  • 2018-09-18
  • 2021-03-26
  • 1970-01-01
  • 1970-01-01
  • 2022-06-22
  • 1970-01-01
相关资源
最近更新 更多