Skip to content

Instantly share code, notes, and snippets.

@mlabouardy
Created January 5, 2019 11:11
Show Gist options
  • Select an option

  • Save mlabouardy/fa7c8245bff6d704b868e85ba71231e9 to your computer and use it in GitHub Desktop.

Select an option

Save mlabouardy/fa7c8245bff6d704b868e85ba71231e9 to your computer and use it in GitHub Desktop.
Generate host inventory for Ansible with Terraform
data "template_file" "inventory" {
template = "${file("templates/inventory.tpl")}"
depends_on = [
"google_compute_instance.managers",
"google_compute_instance.workers",
]
vars {
managers = "${join("\n", google_compute_instance.managers.*.network_interface.0.access_config.0.nat_ip)}"
workers = "${join("\n", google_compute_instance.workers.*.network_interface.0.access_config.0.nat_ip)}"
}
}
resource "null_resource" "cmd" {
triggers {
template_rendered = "${data.template_file.inventory.rendered}"
}
provisioner "local-exec" {
command = "echo '${data.template_file.inventory.rendered}' > ../ansible/inventory"
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment