Доступ к переменным Terraform в файле шаблона провайдера user_data - PullRequest
0 голосов
/ 13 июня 2018

Я запускаю aws_launch_configuration экземпляр, используя terraform.

Я использую сценарий оболочки для переменной user_data, например:

resource "aws_launch_configuration" "launch_config" {
    ...
     user_data                     = "${file("router-init.sh")}"
    ....  
}

В этом router-init.sh, одна из вещей, которые я хотел бы сделать,должен иметь доступ к IP-адресам для других экземпляров, которые я запускаю через terraform.

Я знаю, что могу использовать сплат для доступа ко всем IP-адресам этого экземпляра, например:

output ip_address {
    value = ${aws_instance.myAWSInstance.*.private_ip}"
}

Есть ли способ передать / получить доступ к этим IP-адресам в скрипте router-init.sh?

1 Ответ

0 голосов
/ 13 июня 2018

Вы можете сделать это, используя template_file источник данных :

data "template_file" "init" {
  template = "${file("router-init.sh.tpl")}"

  vars {
    some_address = "${aws_instance.some.private_ip}"
  }
}

Затем сослаться на него внутри шаблона как:

#!/bin/bash

echo "SOME_ADDRESS = ${some_address}" > /tmp/

Затем используйте этодля user_data:

 user_data = ${data.template_file.init.rendered}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...