将 Ansible 模板渲染到事实变量中
Rendering Ansible template into the fact variable
有没有办法将Ansible模板渲染成事实?我试图找到解决方案,但看起来临时文件是唯一的方法。
我想你可能只是在寻找 template
lookup plugin:
- set_fact:
rendered_template: "{{ lookup('template', './template.j2') }}"
用法示例:
template.j2
Hello {{ value_for_template }}
playbook.yml
---
- hosts: localhost
gather_facts: no
connection: local
vars:
value_for_template: world
tasks:
- debug:
var: rendered_template
vars:
rendered_template: "{{ lookup('template', './template.j2') }}"
结果:
TASK [debug] *******************************************************************
ok: [localhost] => {
"rendered_template": "Hello world\n"
}
有没有办法将Ansible模板渲染成事实?我试图找到解决方案,但看起来临时文件是唯一的方法。
我想你可能只是在寻找 template
lookup plugin:
- set_fact:
rendered_template: "{{ lookup('template', './template.j2') }}"
用法示例:
template.j2
Hello {{ value_for_template }}
playbook.yml
--- - hosts: localhost gather_facts: no connection: local vars: value_for_template: world tasks: - debug: var: rendered_template vars: rendered_template: "{{ lookup('template', './template.j2') }}"
结果:
TASK [debug] ******************************************************************* ok: [localhost] => { "rendered_template": "Hello world\n" }