Terraform - AWS Route53 предотвращает удаление домена - PullRequest
0 голосов
/ 26 апреля 2018

Я использую terraform с AWS для управления средой и хочу иметь возможность ссылаться на существующий домен route53, добавлять / изменять записи в домене и т. Д.

Если я запускаю «terraform destroy», я хочу удалить все записи, добавленные в код terraform, но я не хочу удалять сам домен.

Есть ли "правильный" метод для достижения этой цели в конфигурации terraform? В настоящее время у меня есть информация о домене (идентификатор зоны и т. Д.), Жестко запрограммированная в файлы .tf, но если есть способ ссылаться на нее из самого ресурса, не позволяя TF уничтожить домен, который кажется идеальным.

Любая помощь будет оценена!

Спасибо

Chris

Ответы [ 2 ]

0 голосов
/ 27 апреля 2018

Мне кажется, я нашел ответ на то, что я ищу, - определить домен как «данные», а не как ресурс в моем коде TF.

data "aws_route53_zone" "my_zone" {
  name = "myzone.net"
}

resource "aws_route53_record" "myzone_net_mx_record" {
  zone_id = "${data.aws_route53_zone.my_zone.zone_id}"
  name    = "*.myzone.net."
  type    = "MX"

  records = [
    "10 inbound-smtp.us-west-1.amazonaws.com"
  ]

  ttl = "300"
}

Это позволяет мне ссылаться на идентификатор зоны без жесткого кодирования случайной строки, но не затрагивает основание самого домена.

Спасибо!

0 голосов
/ 26 апреля 2018

Я думаю, вы просто ищете опцию жизненного цикла ресурсов Terraform, предотвращение уничтожения. https://www.terraform.io/docs/configuration/resources.html#prevent_destroy. Добавьте это к своему ресурсу aws_route53_zone.

...