如何在Terraform中转换嵌套数组

如何在Terraform中转换嵌套数组,terraform,terraform-provider-aws,terraform0.12+,Terraform,Terraform Provider Aws,Terraform0.12+,如何使用map检索嵌套数组? 我想将要注册的记录从本地传送到Route53 范例 locals { cname = { "bbb.example.io" = { records = ["example"] } "aaa.example.io" = { records = [ "example1", "example2&qu

如何使用map检索嵌套数组? 我想将要注册的记录从本地传送到Route53

范例

locals {

  cname = {
    "bbb.example.io" = {
      records = ["example"]
    }
    "aaa.example.io" = {
      records = [
        "example1",
        "example2",
        "example3"
      ]
    }
  }
}

resource "aws_route53_record" "cname" {
  for_each = local.cname
  name     = each.key
  records  = [] ←Problem areas
  ttl      = 300
  type     = "CNAME"
  zone_id  = aws_route53_zone.example.zone_id
}


根据您在本例中为每个设置
的方式,该块中的每个.value
都将是您的
local.cname
映射中的相应对象,因此您可以以通常的方式访问该对象的
记录
属性:

resource "aws_route53_record" "cname" {
  for_each = local.cname
  name     = each.key
  records  = each.value.records
  ttl      = 300
  type     = "CNAME"
  zone_id  = aws_route53_zone.example.zone_id
}

谢谢评论!!我试着这样做,但当我仔细查看我的代码时,我发现我在数组中放入了相同的值,它没有按我预期的方式工作。