blob: 54e3346640d3f6da3f87df7c34ede92ea5ec6196 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
variable "vm_ip" {
default = null
}
variable "inventory_file_path" {
default = null
}
variable "vm_username" {}
variable "ssh_private_key_path" {}
variable "ansible_playbook_path" {}
resource "null_resource" "ansible_provisioner" {
triggers = {
ip_or_inventory = coalesce(var.vm_ip, var.inventory_file_path) # Choose based on what is provided
}
provisioner "local-exec" {
command = <<-EOT
ANSIBLE_HOST_KEY_CHECKING=False ANSIBLE_CONFIG=${path.root}/../ansible/ansible.cfg ansible-playbook \
-i ${var.inventory_file_path != null ? var.inventory_file_path : "${var.vm_ip},"} \
-u ${var.vm_username} \
--private-key ${var.ssh_private_key_path} \
${var.ansible_playbook_path}
EOT
}
}
|