Is there a way to render Ansible template into the fact? I tried to find a solution but it looks like temp file is the the only way.
I think you might be just looking for the template
lookup plugin:
- set_fact:
rendered_template: "{{ lookup('template', './template.j2') }}"
Usage example:
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') }}"
The result:
TASK [debug] *******************************************************************
ok: [localhost] => {
"rendered_template": "Hello world\n"
}