Terraform Merge

Input

# local.tf

test2 = [
    {
      "peering_connection_id" = "pcx-987654321"
      "subnets" = [
        "192.168.11.0/24",
        "192.168.12.0/24",
        "192.168.13.0/24",
        "192.168.14.0/24",
      ]
    },
    {
      "peering_connection_id" = "pcx-123456789"
      "subnets" = [
        "192.168.1.0/24",
        "192.168.2.0/24",
        "192.168.3.0/24",
        "192.168.4.0/24",
      ]
    },    
  ]

1. No Merge

# main.tf

output "c_simplemapvariable_7" {
  value = [
    for i in local.test2: {
        for sn in i.subnets: format("%s_%s", i.peering_connection_id, sn) => {
          connection_id = i.peering_connection_id
          subnet = sn
        }
        
    }
  ]
}

c_simplemapvariable_7 = [
  {
    "pcx-987654321_192.168.11.0/24" = {
      "connection_id" = "pcx-987654321"
      "subnet" = "192.168.11.0/24"
    }
    "pcx-987654321_192.168.12.0/24" = {
      "connection_id" = "pcx-987654321"
      "subnet" = "192.168.12.0/24"
    }
    "pcx-987654321_192.168.13.0/24" = {
      "connection_id" = "pcx-987654321"
      "subnet" = "192.168.13.0/24"
    }
    "pcx-987654321_192.168.14.0/24" = {
      "connection_id" = "pcx-987654321"
      "subnet" = "192.168.14.0/24"
    }
  },
  {
    "pcx-123456789_192.168.1.0/24" = {
      "connection_id" = "pcx-123456789"
      "subnet" = "192.168.1.0/24"
    }
    "pcx-123456789_192.168.2.0/24" = {
      "connection_id" = "pcx-123456789"
      "subnet" = "192.168.2.0/24"
    }
    "pcx-123456789_192.168.3.0/24" = {
      "connection_id" = "pcx-123456789"
      "subnet" = "192.168.3.0/24"
    }
    "pcx-123456789_192.168.4.0/24" = {
      "connection_id" = "pcx-123456789"
      "subnet" = "192.168.4.0/24"
    }
  },
]

2. With Merge

# main.tf
output "c_simplemapvariable_7" {
  value = merge([
    for i in local.test2: {
        for sn in i.subnets: format("%s_%s", i.peering_connection_id, sn) => {
          connection_id = i.peering_connection_id
          subnet = sn
        }
        
    }
  ]...)
}

c_simplemapvariable_8 = {
  "pcx-123456789_192.168.1.0/24" = {
    "connection_id" = "pcx-123456789"
    "subnet" = "192.168.1.0/24"
  }
  "pcx-123456789_192.168.2.0/24" = {
    "connection_id" = "pcx-123456789"
    "subnet" = "192.168.2.0/24"
  }
  "pcx-123456789_192.168.3.0/24" = {
    "connection_id" = "pcx-123456789"
    "subnet" = "192.168.3.0/24"
  }
  "pcx-123456789_192.168.4.0/24" = {
    "connection_id" = "pcx-123456789"
    "subnet" = "192.168.4.0/24"
  }
  "pcx-987654321_192.168.11.0/24" = {
    "connection_id" = "pcx-987654321"
    "subnet" = "192.168.11.0/24"
  }
  "pcx-987654321_192.168.12.0/24" = {
    "connection_id" = "pcx-987654321"
    "subnet" = "192.168.12.0/24"
  }
  "pcx-987654321_192.168.13.0/24" = {
    "connection_id" = "pcx-987654321"
    "subnet" = "192.168.13.0/24"
  }
  "pcx-987654321_192.168.14.0/24" = {
    "connection_id" = "pcx-987654321"
    "subnet" = "192.168.14.0/24"
  }
}