我正在使用名称服务器选项为 CloudFlare 资源编写 terraform 模块。在我的情况下,如果用户设置 route53 名称服务器,模块会将记录设置为 cloudflare 作为 NS 记录,否则用户 NameServers 设置为 CloudFlare 的记录
locals {
ns = "${var.use_route53_ns_record == true ? length(data.aws_route53_zone.main.name_servers) : length(var.name_servers)}"
}
resource "cloudflare_record" "ns" {
count = "${local.ns}"
domain = "${var.domain}"
name = "${var.domain}"
value = "${var.use_route53_ns_record == true ? data.aws_route53_zone.main.name_servers[count.index]:var.name_servers[count.index]}"
type = "NS"
ttl = 1
}
data "aws_route53_zone" "main" {
name = "${var.domain}."
}
当我运行这个模块时,它给出了一个错误显示如下。
找不到变量“data.aws_route53_zone.main.name_servers”的资源“data.aws_route53_zone.main”
如何将变量设置为条件?
谢谢请帮忙!