我如何在 for_each 中使用条件,以便仅当 validation_method == "DNS" else 忽略资源的创建时才创建/触发以下资源。但是在早期的 terraform(11 个版本)中,我们可以使用
计数 = var.validation_method == "DNS" ?长度(var.domain_names):0
我的 var.domain_names 是 map(list(string)) ,例如
domain_names = {
"foo.com" = ["*.foo.com"]
}
请给我一些解决方案。使用 terraform 0.12.20 版本
resource "aws_route53_record" "validation" {
for_each = var.validation_method == "DNS" ? var.domain_names :
name = aws_acm_certificate.certificate[each.key].domain_validation_options.0.resource_record_name
type = aws_acm_certificate.certificate[each.key].domain_validation_options.0.resource_record_type
zone_id = data.aws_route53_zone.selected[each.key].zone_id
ttl = "300"
records = [aws_acm_certificate.certificate.domain_validation_options.0.resource_record_value]
depends_on = [aws_acm_certificate.certificate.domain_name]
}