Terraform - Передача переменной в файл шаблона во время рендеринга? - PullRequest
0 голосов
/ 09 января 2019

В 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}"

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

Есть предложения?

...