web-dev-qa-db-ja.com

TerraformのUltraDNSまたはPowerDNSプロバイダーでSRVレコードを作成するにはどうすればよいですか?

インターネット上でこの例を見たことがなかったので、ここに解決策を投稿しようと思いました。

2
nowthatsamatt

警告: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
}
2
nowthatsamatt