home-cloud/main.tf
2019-05-12 20:57:52 +02:00

37 lines
912 B
HCL
Executable file

resource hcloud_server control {
count = 3
name = "control${count.index}"
image = "ubuntu-18.04"
server_type = "cx21"
}
resource hcloud_server compute {
count = 3
name = "compute${count.index}"
image = "ubuntu-18.04"
server_type = "cx21"
}
data "template_file" "ansible_inventory" {
template = "${file("${path.module}/templates/ansible_inventory.cfg")}"
depends_on = [
"hcloud_server.control",
"hcloud_server.compute",
]
vars {
control = "${join("\n", hcloud_server.control.*.ipv4_address)}"
compute = "${join("\n", hcloud_server.compute.*.ipv4_address)}"
}
}
resource "null_resource" "ansible_inventory" {
triggers {
template_rendered = "${data.template_file.ansible_inventory.rendered}"
}
provisioner "local-exec" {
command = "echo '${data.template_file.ansible_inventory.rendered}' > ansible_inventory"
}
}