Как использовать вывод NS Route53 для установки NS для субдомена Cloudflare с помощью terraform?

Я создал зону в 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}"]

Пожалуйста, дайте мне знать, как я могу этого добиться?

1
задан 25 April 2019 в 17:48
1 ответ

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
}
2
ответ дан 3 December 2019 в 20:08

Теги

Похожие вопросы