Files
private-ai-platform/terraform/stacks/powerdns/main.tf
Hrankin, Aleksandr (contracted) f243f440c3 init
2026-02-19 11:34:13 +00:00

42 lines
1012 B
HCL

# ---------------------------
# Zones (many)
# ---------------------------
module "zones" {
for_each = var.zones
source = "../../modules/powerdns/zone"
zone_name = each.key
zone_kind = each.value.zone_kind
soa_edit_api = each.value.soa_edit_api
zone_nameservers = each.value.zone_nameservers
}
# ---------------------------
# Records (flatten -> many)
# ---------------------------
locals {
records_flat = merge([
for zone_name, z in var.zones : {
for rec_key, rec in z.records :
"${zone_name}::${rec_key}" => {
zone_name = zone_name
name = rec.name
type = rec.type
ttl = rec.ttl
records = rec.records
}
}
]...)
}
module "records" {
for_each = local.records_flat
source = "../../modules/powerdns/record"
zone_name = module.zones[each.value.zone_name].name
name = each.value.name
type = each.value.type
ttl = each.value.ttl
records = each.value.records
}