将 terraform (HCL) 对象压平到列表中

问题描述 投票:0回答:1

我有一个这样的对象列表

secret_list = [
 { 
   secret1 = {}
   secret2 = {}
 },
 {
   secret3 = {}
 }
]

我想将其展平,以便它们成为 3 个对象的列表或地图,例如:

secret_list = [
 { 
   secret1 = {}
 },
 {
   secret2 = {}
 },
 {
   secret3 = {}
 }
]
list dictionary terraform flatten hcl
1个回答
0
投票

以下解决方案假设所有映射中的所有键都是唯一的。

locals {
  secret_list = [
    {
      secret1 = {}
      secret2 = {}
    },
    {
      secret3 = {}
    }
  ]
  secret_list2 = [for k, v in merge(local.secret_list...): {(k): v}]
}

output "foo" {
  value = local.secret_list2
}

输出


Outputs:

foo = [
  {
    "secret1" = {}
  },
  {
    "secret2" = {}
  },
  {
    "secret3" = {}
  },
]
© www.soinside.com 2019 - 2024. All rights reserved.