Dns Terraform仍在尝试解决计数为零的资源中的插值问题

Dns Terraform仍在尝试解决计数为零的资源中的插值问题,dns,terraform,Dns,Terraform,我正在尝试为服务器部署创建PTR记录。下面的服务器需要在应用了一组依赖的服务器后进行部署,因此我们目前通过运行一个应用程序部署这些服务器模块,然后运行第二个部署,在第二个部署中,我们将这些资源的数量从0更改为我们希望部署的数量。我添加了一个新的资源来为这些服务器创建一个PTR记录,即使计数设置为0,Terraform也会尝试解析插值。它不会对A记录资源执行此操作,只会对PTR记录资源执行此操作 这是代码,我甚至将计数硬编码为0,以查看变量是否存在问题。计数为0时,列表应为空。我希望Terrafo

我正在尝试为服务器部署创建PTR记录。下面的服务器需要在应用了一组依赖的服务器后进行部署,因此我们目前通过运行一个应用程序部署这些服务器模块,然后运行第二个部署,在第二个部署中,我们将这些资源的数量从0更改为我们希望部署的数量。我添加了一个新的资源来为这些服务器创建一个PTR记录,即使计数设置为0,Terraform也会尝试解析插值。它不会对A记录资源执行此操作,只会对PTR记录资源执行此操作

这是代码,我甚至将计数硬编码为0,以查看变量是否存在问题。计数为0时,列表应为空。我希望Terraform不会试图解决插值问题

resource "aws_route53_record" "ds_sync_A_records" {
  // same number of records as instances
  provider = "aws.dns"
  count = 0
  // count = "${var.ping_sync_cluster_count}"
  zone_id = "${data.aws_route53_zone.zone_company_io.zone_id}"
  name = "ping-sync-0${count.index}.${var.domain_name}"
  type = "A"
  ttl = "10"
  // matches up record N to instance N
  records = ["${element(module.ping_sync_hot_server.private_server_ips, count.index)}"]
}

resource "aws_route53_record" "ds_sync_PTR_records" {
  // same number of records as instances
  provider = "aws.dns"
  count = 0
  // count = "${var.ping_sync_cluster_count}"
  zone_id = "${data.aws_route53_zone.zone_company_io.zone_id}"
  name = "${format(
    "%s.%s.%s.$s.in-appr.arpa",
    element(split(".", element(module.ping_sync_hot_server.private_server_ips, count.index)), 3), 
    element(split(".", element(module.ping_sync_hot_server.private_server_ips, count.index)), 2),
    element(split(".", element(module.ping_sync_hot_server.private_server_ips, count.index)), 1), 
    element(split(".", element(module.ping_sync_hot_server.private_server_ips, count.index)), 0) 
  )}"
  type = "PTR"
  ttl = "10"
  // matches up record N to instance N
  records = ["${element(module.ping_sync_hot_server.private_server_ips, count.index)}"]
}
应用时出现错误消息:

Error running plan: 3 error(s) occurred:

* element: element() may not be used with an empty list in:

${element(module.ping_sync_hot_server.private_server_ips, count.index)}
* element: element() may not be used with an empty list in:

${element(module.ping_sync_hot_server.private_server_ips, count.index)}
* element: element() may not be used with an empty list in:

${element(module.ping_sync_hot_server.private_server_ips, count.index)}
当返回的记录是列表时,使用splat语法(
*

records = [
  "${element(module.ping_sync_hot_server.*.private_server_ips, count.index)}",
]
当返回的记录是列表时,使用splat语法(
*

records = [
  "${element(module.ping_sync_hot_server.*.private_server_ips, count.index)}",
]