2025-04-11 20:53:10 +00:00

25 lines
1000 B
YAML

---
- name: Deploy a Terraform infrastructure
delegate_to: localhost
cloud.terraform.terraform:
project_path: "{{ terraform_vm_project_path }}"
state: "{{ terraform_vm_state }}"
workspace: "{{ terraform_vars_vm_env | default(omit)}}"
parallelism: 3
complex_vars: true
variables:
multi_node_deployment: "{{ terraform_vars_multi_node_deployment | default(omit)}}"
target_node: "{{ terraform_vars_target_node | default(omit)}}"
vm_attr: "{{ terraform_vars_vm_attr | default(omit)}}"
vm_env: "{{ terraform_vars_vm_env | default(omit)}}"
vm_tags: "{{ terraform_vars_vm_tags | default(omit)}}"
- name: Update Terraform workspace path
ansible.builtin.lineinfile:
path: "{{ terraform_ansible_inventory }}"
regexp: '^state_file:.*tfstate$'
line: "state_file: terraform.tfstate.d/{{ terraform_vars_vm_env }}/terraform.tfstate"
when: terraform_vars_vm_env is defined
- name: Refresh inventory
ansible.builtin.meta: refresh_inventory