Это отличается от " Выходной сигнал Terraform Capture Terraform? ".У меня есть ресурс (в данном случае null_resource
) с инициатором count
и local-exec
, который имеет несколько сложных интерполированных аргументов:
resource "null_resource" "complex-provisioning" {
count = "${var.count}"
triggers {
server_triggers = "${null_resource.api-setup.*.id[count.index]}"
db_triggers = "${var.db_id}"
}
provisioner "local-exec" {
command = <<EOF
${var.init_command}
do-lots-of-stuff --target=${aws_instance.api.*.private_ip[count.index]} --bastion=${aws_instance.bastion.public_ip} --db=${var.db_name}
EOF
}
}
Я хочу показать, что предоставляетсделал как вывод (это недопустимый Terraform, просто макет того, что я хочу):
output "provisioner_commands" {
value = {
api_commands = "${null_resource.complex-provisioning.*.provisioner.0.command}"
}
}
Моя цель - получить вывод наподобие
provisioner_commands = {
api_commands = [
"do-lots-of-stuff --target=10.0.0.1 --bastion=77.2.4.34 --db=mydb.local",
"do-lots-of-stuff --target=10.0.0.2 --bastion=77.2.4.34 --db=mydb.local",
"do-lots-of-stuff --target=10.0.0.3 --bastion=77.2.4.34 --db=mydb.local",
]
}
Могу ли я прочитать инициатораконфигурация и вывод это так?Если нет, есть ли другой способ получить то, что я хочу?(Если бы мне не нужно было работать с массивом ресурсов, я бы определил команду в переменной local
и сослался бы на нее как в инициаторе, так и в выводе.)