tfvars2facts
Tfvars2facts (Роль Ansible)
Эта роль Ansible преобразует файл Terraform tfvars в локальные факты Ansible. Результат сохраняется на удаленных хостах в директории /etc/ansible/facts.d/ в формате JSON.
Вы можете запрашивать переменные tfvars в Ansible, используя следующий синтаксис {{ ansible_local['tfvars']['my_variable'] }}
.
Примечание:
Поскольку имена переменных Ansible не могут содержать знак дефиса, дефисы будут заменены на подчеркивания.
Например, my-var-1
станет my_var_1
.
Требования
Ansible 2.8+
Роль должна выполняться в привилегированном режиме (
become: yes
)
Переменные роли
Это копия из defaults/main.yml
# Путь к локальным фактам Ansible
local_facts_path: /etc/ansible/facts.d
# Имя файла локальных фактов. Если измените, например, на "different_file.facts",
# также ключ будет {{ ansible_local['different_file']['some_variable'] }}
local_facts_file: tfvars.fact
# Включить, если используется с DT Pan-Net ALiEn (Двигатель жизненного цикла приложений)
ALiEn: false
# Путь к файлу переменных Terraform
# (пропущен, если переменная ALiEn истинна)
tfvars_path: files
# Имя файла переменных Terraform
tfvars_file: vars.tfvars
# Перезагрузка фактов Ansible после создания локальных фактов
reload_facts: false
Пример плейбука
В этом примере роль преобразует переменные Terraform в files/vars.tfvars
и загружает их как файл фактов Ansible на удаленные хосты.
Роль также перезагрузит факты Ansible, так что новые факты будут готовы для следующей роли/post_task.
---
- name: Простой пример
hosts: all
become: yes
vars:
reload_facts: yes
roles:
- role: ansible-tfvars2facts
Лицензия
MIT
Информация об авторе
Создано в 2020 году Михаилом Муранским/DT Pan-Net
Translate the Terraform tfvars to the Ansible local facts.
ansible-galaxy install MonolithProjects/ansible-tfvars2facts