monolithprojects.tfvars2facts
Tfvars2facts(Ansible角色)
这个Ansible角色将Terraform的tfvars文件转换为Ansible本地事实。
结果将保存到远程主机的 /etc/ansible/facts.d/
目录下的JSON文件中。
您可以通过以下语法在Ansible中查询tfvars变量 {{ 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
示例剧本
在此示例中,角色将翻译 files/vars.tfvars
中的Terraform变量,并将其作为Ansible事实文件上传到远程主机。
该角色还将重新加载Ansible事实,以便新的事实为下一个角色/后期任务做好准备。
---
- name: 简单示例
hosts: all
become: yes
vars:
reload_facts: yes
roles:
- role: ansible-tfvars2facts
许可证
MIT
作者信息
由Michal Muransky/DT Pan-Net于2020年创建