Мне нужно значение конечной точки домена кластера Elasticsearch, но я не нашел, как получить эту информацию с использованием источников данных (то же самое для EMR и, возможно, других ресурсов)
Итак, я попробовал это решение:
Я создал сценарий оболочки, который будет выполнять команду вывода Terraform, чтобы получить конечную точку ElasticSearch:
#!bin/bash
es_domain_endpoint=$(cd ../04_elasticsearch && terraform output es_domain_endpoint)
printf '{"es_domain_endpoint":"%s"}\n' "$es_domain_endpoint"
Затем в Terraform я сделал это:
data "external" "es_endpoint" {
program = ["bash", "get_es_endpoint.sh"]
}
output "es_endpoint_result" {
value = "${data.external.es_endpoint.result.es_domain_endpoint}"
}
Единственная проблема заключается в том, что в результате появляется небольшая новая строка в начале конечной точки.Поэтому вместо:
vpc-dev-zp7kxv6wsxph5ibkcmwfhl2.eu-west-1.es.amazonaws.com
У меня есть это:
o: vpc-dev-zp7kxv6wsxph5ibkcmwfhl2.eu-west-1.es.amazonaws.com
Не 0: в начале
У вас есть идея, откуда она взялась?
Спасибо.