VickyW
VickyW

Reputation: 11

Terraform merge values in maps into sinlge using key lookup

I have a locals block which returns data in list of maps

    ids = [
  {
    "d81f6779-031f-4aa6-8e88-3242f65e35c0" = "478da44dc0aa8b0cdce5e7448c9509a5095a0f93"
  },
  {
    "d81f6779-031f-4aa6-8e88-3242f65e35c0" = "131e25de9ffd028fc9dab497f537eecb6d1b0faf"
  },
  {
    "e2e6deb4-8512-4089-b2ec-ef77447dabb7" = "f8ea0d6234a8ee2858a3ae04952c6c974337cf6a"
  },
  {
    "e2e6deb4-8512-4089-b2ec-ef77447dabb7" = "143b826f93e78d5a18ac9276972e80414262755e"
  },
  {
    "e2e6deb4-8512-4089-b2ec-ef77447dabb7" = "e7fe936edcc34c258c35aa19b9c702e553e3b265"
  },
]

I am looking for an output like below. any function I can use or have to write some for loops?

ids = 
{
    "d81f6779-031f-4aa6-8e88-3242f65e35c0" = ["478da44dc0aa8b0cdce5e7448c9509a5095a0f93", "131e25de9ffd028fc9dab497f537eecb6d1b0faf"],
    "e2e6deb4-8512-4089-b2ec-ef77447dabb7" = ["f8ea0d6234a8ee2858a3ae04952c6c974337cf6a", "143b826f93e78d5a18ac9276972e80414262755e","e7fe936edcc34c258c35aa19b9c702e553e3b265"]
}

Upvotes: 0

Views: 533

Answers (1)

VickyW
VickyW

Reputation: 11

This worked by manipulating local variable with grouping mode as described in documentation. I didn't had to write another block.

    locals {
  ids = {for vfc in data.vra_fabric_compute.this : vfc.custom_properties.vcUuid => vfc.id... } 
}

Upvotes: 1

Related Questions