我需要Elasticsearch集群的域端点的值,但是我没有找到如何使用数据源(对于EMR可能还有其他资源)获取此信息的方法
所以我尝试了这个解决方案:
我创建了一个shell脚本,该脚本将执行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:
您知道它来自哪里吗?
谢谢。