Terraform 使用;计数“;在aws_route53_中,从资源中记录地形

Terraform 使用;计数“;在aws_route53_中,从资源中记录地形,terraform,terraform-provider-aws,Terraform,Terraform Provider Aws,我开始使用(并学习)地形,现在,我需要创建多个DO液滴并将它们连接到aws route53区域,我正在尝试做的是: 我的地形文件: # Configure the DigitalOcean Provider provider "digitalocean" { token = var.do_token } # Create a new tag resource "digitalocean_tag" "victor" { name = "victor-fee1good22" } reso

我开始使用(并学习)地形,现在,我需要创建多个DO液滴并将它们连接到aws route53区域,我正在尝试做的是:

我的地形文件:

# 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]
}
我的路由器53文件:

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]
}
但是我总是得到
“count”对象只能在“resource”和“data”块中使用,并且只能在
设置“count”参数时。
error,我做错了什么

谢谢

更新:

我已经解决了这个问题,比如-添加
c count=2
而不是
c count=length(digitalocean\u droplet.web)


它可以工作,但最好使用动态变量,而不是常量
count
:)

那是满的吗?乍一看,这不应该导致这个问题,所以看起来你可能遗漏了什么。是的,这似乎是一个完全最小的、可复制的示例,我只是用敏感数据隐藏了variables.tf文件:)它不应该看起来像
count=length(digitalocean\u droplet.web.*.id)
?不管这是一条奇怪的错误消息。@ptierno谢谢,但也尝试了这条消息,结果相同。顺便说一句,我已经添加了我任期的屏幕截图,其中包含详细信息
digitalocean\u droplet.*。web
仍然是无效语法。