Terraform Invalid Index 如何解决?

How to solve the Invalid Index in Terraform?

当我尝试在 DNS 中添加 PTR 记录时,出现无效索引错误。我不确定如何消除错误。

resource "openstack_compute_instance_v2" "app-stage" {
  count             = length(var.datacenter)
  name              = "app-stage-${var.datacenter[count.index]}.example.com"
  flavor_name       = var.flavor["app-stage"]
  availability_zone = element(var.datacenter, count.index)
  key_pair          = var.key_pair
  image_id          = var.os_image
  config_drive      = true
  user_data         = data.template_file.app-stage[count.index].rendered
  scheduler_hints {
    group = openstack_compute_servergroup_v2.app_sg.id
  }
  network {
    port = openstack_networking_port_v2.app-stage[count.index].id
  }
}

resource "dns_aaaa_record_set" "app-stage-dns" {
  count     = length(var.datacenter)
  zone      = format("%s.", var.dns_zone)
  name      = "app-stage-${var.datacenter[count.index]}.example"
  addresses = [replace(openstack_compute_instance_v2.app-stage[count.index].access_ip_v6, "/\[|\]/", "")]
  ttl       = 300
}

resource "dns_ptr_record" "app-stage-dns-ptr" {
  count = length(var.datacenter)
  zone  = format("%s.", var.dns_ptr_zone)
  ptr   = "app-stage-${var.datacenter[count.index]}.example"
  name  = tolist(dns_aaaa_record_set.app-stage-dns)[count.index].addresses[0]
  ttl   = 300

这是我在应用 运行 terraform 时收到的错误消息,:

Error: Invalid index

  on app-stage.tf line 94, in resource "dns_ptr_record" "app-stage-dns-ptr":
  94:   name  = tolist(dns_aaaa_record_set.app-stage-dns)[count.index].addresses[0]
    |----------------
    | count.index is 1
    | dns_aaaa_record_set.app-stage-dns is tuple with 2 elements

This value does not have any indices.

这重复了 2 次,因为我尝试创建 2 machines/2records。

根据评论。

应该是:

name  = tolist(dns_aaaa_record_set.app-stage-dns[count.index].addresses)[0]

不是(右括号在不同的地方)

name  = tolist(dns_aaaa_record_set.app-stage-dns)[count.index].addresses[0]