Я не видел примеров этого в Интернете, поэтому решил опубликовать решение здесь.
ВНИМАНИЕ: UltraDNS API попытается «помочь» вам, поставив окончание «. по имени. Это заставит Terraform думать, что есть изменения каждый раз, когда вы планируете или подаете заявку.
PowerDNS:
locals {
sorted_pdns_hostnames = "${sort(module.server.hostnames)}"
records = "${formatlist("10 10 80 %s.${var.vpc}.${var.region}.private.", local.sorted_pdns_hostnames)}"
}
resource "powerdns_record" "pool" {
zone = "${var.pdns_zone}"
name = "${var.pdns_name}"
type = "SRV"
ttl = 300
records = ["${local.records}"]
}
UltraDNS:
locals {
sorted_hostnames = "${sort(module.server.hostnames)}"
rdata = "${formatlist("10 10 80 %s.${var.vpc}.${var.region}.private.", local.sorted_hostnames)}"
}
resource "ultradns_record" "pool" {
zone = "${var.zone_domain}"
name = "${var.ultradns_record_name}"
rdata = ["${local.rdata}"]
type = "SRV"
ttl = 300
}