我想提取来自 的数据terraform state show
。根据文档我们应该使用terraform show -json
. https://www.terraform.io/docs/cli/commands/state/show.html
terraform state show 的输出旨在供人类消费,而不是程序消费。要提取状态数据以在其他软件中使用,请使用 terraform show -json 并使用记录的结构解码结果。
不知道如何terrafrom state show
结合使用terrafrom show
$ terraform state show 'packet_device.worker'
# packet_device.worker:
resource "packet_device" "worker" {
billing_cycle = "hourly"
created = "2015-12-17T00:06:56Z"
facility = "ewr1"
hostname = "prod-xyz01"
id = "6015bg2b-b8c4-4925-aad2-f0671d5d3b13"
locked = false
}
Run Code Online (Sandbox Code Playgroud)
Sem*_*oor 12
该terraform state show
命令显示有关单个 Terraform 资源的信息,并且不支持该-json
标志。该命令terraform show
转储整个状态,并且支持该-json
标志。与 的输出不同terraform state show
, 的输出terraform show -json
已记录并用于程序化使用。
如果您想获取 显示的特定资源的信息terraform state show
,您可以从完整状态 JSON 中提取它,例如使用jq
:
terraform show -json | \
jq '.values.root_module.resources[] | select(.address == "packet_device.worker") | .values'
Run Code Online (Sandbox Code Playgroud)
这是否有意义取决于您想要做什么。
归档时间: |
|
查看次数: |
7958 次 |
最近记录: |