25 lines
1000 B
YAML
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 |