58 lines
1.9 KiB
YAML
58 lines
1.9 KiB
YAML
- name: Local or remote backend selector (remote)
|
|
template:
|
|
src: roles/main_infra/templates/remote-backend-selector.tf.j2
|
|
dest: roles/main_infra/files/remote-backend-selector.tf
|
|
when:
|
|
- backend|bool == true
|
|
|
|
- name: Local or remote backend selector (local)
|
|
file:
|
|
state: absent
|
|
dest: roles/main_infra/files/remote-backend-selector.tf
|
|
when:
|
|
- backend | default ('false') | bool != true
|
|
|
|
- name: Generating variables file
|
|
template:
|
|
src: roles/main_infra/templates/terraform.tfvars.j2
|
|
dest: roles/main_infra/files/terraform.tfvars
|
|
vars:
|
|
db_iops: "{{ chain_db_iops | default({}) }}"
|
|
|
|
- name: Generating backend file
|
|
template:
|
|
src: roles/main_infra/templates/backend.tfvars.j2
|
|
dest: roles/main_infra/files/backend.tfvars
|
|
when: backend|bool == true
|
|
|
|
- name: Generate Terraform files
|
|
template:
|
|
src: "{{ item.key }}"
|
|
dest: "{{ item.value }}"
|
|
with_dict: {roles/main_infra/templates/hosts.tf.j2: roles/main_infra/files/hosts.tf,roles/main_infra/templates/routing.tf.j2: roles/main_infra/files/routing.tf,roles/main_infra/templates/provider.tf.j2: roles/main_infra/files/provider.tf}
|
|
|
|
- name: Check if .terraform folder exists
|
|
stat:
|
|
path: "roles/main_infra/files/.terraform/"
|
|
register: stat_result
|
|
|
|
- name: Remove .terraform folder
|
|
file:
|
|
path: roles/main_infra/files/.terraform/
|
|
state: absent
|
|
when: stat_result.stat.exists == True
|
|
|
|
#Workaround since terraform module return unexpected error.
|
|
- name: Initialize Terraform
|
|
shell: "echo yes | {{ terraform_location }} init{{ ' -backend-config=backend.tfvars' if backend|bool == true else '' }}"
|
|
args:
|
|
chdir: "roles/main_infra/files"
|
|
|
|
- name: Attach existing DB instances
|
|
shell: "echo yes | {{ terraform_location }} import aws_db_instance.default[{{ index }}] {{ prefix }}-{{ item.value }}"
|
|
args:
|
|
chdir: "roles/main_infra/files"
|
|
loop: "{{ chain_db_id|dict2items }}"
|
|
loop_control:
|
|
index_var: index
|