Использование "count" в ресурсе aws_route53_record terrafrom - PullRequest
2 голосов
/ 13 марта 2020

Я начинаю использовать (и изучать) terraform, сейчас мне нужно создать несколько капель DO и прикрепить их к зоне aws route53, что я пытаюсь сделать:

Мой файл terraform DO:

# Configure the DigitalOcean Provider
provider "digitalocean" {
  token = var.do_token
}

# Create a new tag
resource "digitalocean_tag" "victor" {
  name = "victor-fee1good22"
}

resource "digitalocean_droplet" "web" {
  count = 2

  image    = var.do_config["image"]
  name     = "web-${count.index}"
  region   = var.do_config["region"]
  size     = var.do_config["size"]
  ssh_keys = [var.public_ssh_key, var.pv_ssh_key]
  tags     = [digitalocean_tag.victor.name]
}

Мой файл route53:

provider "aws" {
  version    = "~> 2.0"
  region     = "us-east-1"
  access_key = var.aws_a_key
  secret_key = var.aws_s_key
}

data "aws_route53_zone" "selected" {
  name = "devops.rebrain.srwx.net"
}

resource "aws_route53_record" "www" {
  сount = length(digitalocean_droplet.web)

  zone_id = data.aws_route53_zone.selected.zone_id
  name    = "web_${count.index}"
  type    = "A"
  ttl     = "300"
  records = [digitalocean_droplet.web[count.index].ipv4_address]
}

Но я всегда получаю ошибку The "count" object can be used only in "resource" and "data" blocks, and only when the "count" argument is set., что я не так сделал?

Спасибо!

ОБНОВЛЕНИЕ: stack trace

1 Ответ

0 голосов
/ 16 марта 2020

Я решил это как - добавить сount = 2 вместо сount = length(digitalocean_droplet.web)

. Это работает, но было бы лучше иметь переменную Dynami c вместо константы count. :)

...