azure 两次迭代地形动态分块

cgfeq70w  于 2023-10-22  发布在  其他
关注(0)|答案(1)|浏览(96)

我在terraform中有一个动态块,它的内容有两个动态参数,因为我们不能在同一个块中使用for_each两次,在这种情况下有没有一种方法可以使用动态块

locals {  
   mx_server = [ "smtp.mydomain.com.", "mail.mydomain.com."]
   preference = [ 5, 10 ]
}

resource "dns_mx_record_set" "mx" {
  for_each = toset(var.dns_zones)
  zone = "${each.value}."
  ttl  = 300

  dynamic "mx" {
    for_each = toset(local.mx_server)
    content {
      exchange = mx.value
      preference = 10
    }    
  }
}

在这里,我也想谈谈偏好的论点。

mwecs4sa

mwecs4sa1#

可以使用setproduct

resource "dns_mx_record_set" "mx" {
  for_each = toset(var.dns_zones)
  zone = "${each.value}."
  ttl  = 300

  dynamic "mx" {
    for_each = setproduct(local.mx_server, local.preference)
    content {
      exchange = mx.value[0]
      preference = mx.value[1]
    }    
  }
}

相关问题