Terraform: создание нескольких экземпляров и записей DNS.Создана только одна DNS-запись для первой капли номер 01 - PullRequest
0 голосов
/ 22 ноября 2018

Я хотел бы создать несколько экземпляров и записей DNS.Но создает только одну запись DNS для первых капель с номером 01.

Может кто-нибудь может мне помочь, пожалуйста?Я хотел бы иметь записи DNS для всех капель.

[Droplets[1] DNS

resource "digitalocean_droplet" "puppet" {
  count = "${var.numberofservers}"
  name = "${var.servername}-${format("%02d", count.index+1)}"
  image = "${var.ubuntu_18}"
  region = "${var.do_fra1}"
  size = "${var.s_1vcpu_1gb}"
  ipv6 = true
  backups = false
  monitoring = true
  private_networking = true
  tags = ["${digitalocean_tag.puppet.name}"]
  ssh_keys = [
    "${var.ssh_fingerprint}"
    ]

DNS

# Create DNS zone
resource "digitalocean_domain" "puppet_dns" {
  name         = "test-${var.domain_name}"
}

# Add A records to the domain
resource "digitalocean_record" "pupet_a" {
  //domain = "${var.servername}" // fetching the domain name created above.
  domain = "${digitalocean_domain.puppet_dns.name}"
  type   = "A"
  name   = "${element(digitalocean_droplet.puppet.*.name, count.index)}"
  value  = "${element(digitalocean_droplet.puppet.*.ipv4_address, count.index)}"
}

1 Ответ

0 голосов
/ 22 ноября 2018

Вам также нужно перебрать капли, созданные для вашей DNS-записи:

resource "digitalocean_record" "pupet_a" {
  count  = "${var.numberofservers}"
  domain = "${digitalocean_domain.puppet_dns.name}"
  type   = "A"
  name   = "${element(digitalocean_droplet.puppet.*.name, count.index)}"
  value  = "${element(digitalocean_droplet.puppet.*.ipv4_address, count.index)}"
}

Сейчас вы просто создаете один ресурс записи и передаете в него имя первой капли и IP-адрес.

...