【问题标题】:How to turn a nested array in Terraform如何在 Terraform 中转换嵌套数组
【发布时间】:2021-02-13 02:07:08
【问题描述】:

如何使用 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
}

【问题讨论】:

    标签: terraform terraform-provider-aws terraform0.12+


    【解决方案1】:

    鉴于您在此示例中设置 for_each 的方式,该块中的 each.value 将是您的 local.cname 映射中的相应对象,因此您可以访问该对象的 records 属性常规方式:

    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
    }
    

    【讨论】:

    • 感谢评论!!我试图这样做,但是当我仔细查看我的代码时,我发现我在数组中放入了相同的值,但它并没有按我预期的方式工作。
    猜你喜欢
    • 1970-01-01
    • 2018-06-06
    • 1970-01-01
    • 1970-01-01
    • 2015-05-28
    • 1970-01-01
    • 1970-01-01
    • 2022-11-17
    • 2023-01-21
    相关资源
    最近更新 更多