В Terraform / HCL. Есть ли способ передать переменную в шаблон во время рендеринга или способ ссылки на переменную на основе триггера нулевого ресурса?
В настоящее время я использую нулевой ресурс, подобный этому:
resource "null_resource" "foo" {
count = "${var.node_count}"
triggers {
instance_ids = "${element(openstack_compute_instance_v2.nodes.*.id, count.index)}"
}
provisioner "local-exec" {
command = "foo ${element(openstack_compute_instance_v2.nodes.*.id, count.index)} bar ${element(openstack_networking_floatingip_v2.floating_ips.*.address, count.index)}"
Но я бы хотел переместить команду в шаблон (я использую это для нескольких разных типов узлов) и сделать что-то вроде этого:
data "template_file" "foo" {
template = "${file("${path.module}/templates/foo.tpl")}"
vars {
floating_ip = "${some kind of reference to the null resource instance that was triggered.floating_ips.address}"
instance_id = "${some kind of reference to the null resource instance that was triggered.floating_ips.address}"
}
}
resource "null_resource" "bar" {
count = "${var.node_count}"
triggers {
instance_ids = "${element(openstack_compute_instance_v2.nodes.*.id, count.index)}"
floating_ip_ids = "${element(openstack_networking_floatingip_v2.floating_ips.*.address, count.index)}"
}
}
provisioner "local-exec" {
command = "${data.template_file.ingress_allowed_address.rendered}"
Я не могу найти способ сослаться на конкретный экземпляр, который запускает нулевой ресурс в файле шаблона, или способ передать его непосредственно источнику данных шаблона.
Есть предложения?