#terraform
Вопрос:
Есть ли у Terraform простой способ получить IP-адрес с имени хоста?
Что-то вроде этого
data "some_data" "fetch_ip" {
url = "https://google.com"
}
resource "null_resource" "temp" {
google_ip = data.some_data.fetch_ip.ip // ipv4: 123.123.123.123
}
Ответ №1:
dns
Поставщик Terraform предоставляет источники данных для чтения записей DNS для данного хоста.
Если вы ищете IPv4-адреса, например google.com
, тогда вам нужно будет использовать dns_a_record_set
источник данных. Фактически, в документации источника данных приведен пример, который ищет запись A для google.com
:
data "dns_a_record_set" "google" {
host = "google.com"
}
output "google_addrs" {
value = "${join(",", data.dns_a_record_set.google.addrs)}"
}
или для синтаксиса HCL2/Terraform 0.12 :
data "dns_a_record_set" "google" {
host = "google.com"
}
output "google_addrs" {
value = join(",", data.dns_a_record_set.google.addrs)
}