Я создал зону в AWS Route53, как показано ниже
resource "aws_route53_zone" "my-app" {
name = "${var.zone_name}"
}
data "aws_route53_zone" "selected" {
name = "appgggghello.com."
}
output "ns" {
value = "${data.aws_route53_zone.selected.name_servers}"
}
, она будет отображаться, как показано ниже
ns = [
ns-754.awsdns-350.net,
ns-555.awsdns-0553.org,
ns-555.awsdns-25552.co.uk,
ns-45569.awsdns-55555.com
]
Теперь у меня есть вопрос, как я могу использовать этот вывод NS в качестве входных данных в Cloudfalre, как здесь
resource "cloudflare_record" "aws-ns-record" {
domain = "${var.domain}"
name = "appgggghello.com"
value = ["${data.aws_route53_zone.selected.name_servers}"]
type = "NS"
priority = 1
}
В Route53 я могу установить NS с помощью
records = ["${data.aws_route53_zone.selected.name_servers}"]
Пожалуйста, дайте мне знать, как я могу этого добиться?
cloudflare_record
принимает строку для значения, а не список
value - (Optional) The (string) value of the record. Either this or data must be specified
Поэтому нам нужно добавить туда счетчик
Теперь у меня вопрос, как я могу использовать этот вывод NS в качестве ввод в Cloudfalre как здесь. Затем вытащите элемент из списка по счетчику
resource "cloudflare_record" "aws-ns-record" {
count = "${length(data.aws_route53_zone.selected.name_servers)}"
domain = "${var.domain}"
name = "appgggghello.com"
value = "${element(data.aws_route53_zone.selected.name_servers, count.index)}"
type = "NS"
priority = 1
}