我有以下json
{
"applications": [
{"abc": {"app": "myapp", "org": "myorg_a"}},
{"bcd": {"app": "myapp2", "org": "myorg_b"}}
]
}
我需要在harness提供程序块中使用org =“myorg_a”https://registry.terraform.io/providers/harness/harness/latest/docs
#Configure the Harness provider for Next Gen resources
provider "harness" {
endpoint = "https://app.harness.io/gateway"
account_id = myorg_a
platform_api_key = "mike"
}
我需要动态读取myorg_a,因为明天json可能会更改为myorg_c。我需要帮助才能实现它。
使用 (data.http.myapi.body).applications.abc.org 我可以读取 myorg_a 但无法硬编码 abc。
当我尝试 (data.http.myapi.body).applications[0]["org"] 时,出现错误“给定的键无法识别此集合值中的元素。对象仅支持按名称查找属性,不是按数字索引。”
我使用局部变量创建了这个提案,并使用嵌套迭代展平了该对象。
locals {
data = {
"applications": [
{"abc": {"app": "myapp", "org": "myorg_a"}},
{"bcd": {"app": "myapp2", "org": "myorg_b"}}
]
}
data_org = flatten([ for k,v in local.data["applications"] : [
for x,z in v :[
{org = z.org}
]
]])
}
output "get_values" {
value = local.data_org
}
我希望这个解决方案可以帮助您实现您的目标。让我知道我愿意与您合作。
[![在此处输入图像描述][1]][1]