ansible.builtin.template lookup – retrieve contents of file after templating with Jinja2
Note
This lookup plugin is part of ansible-core
and included in all Ansible
installations. In most cases, you can use the short
plugin name
template
.
However, we recommend you use the Fully Qualified Collection Name (FQCN) ansible.builtin.template
for easy linking to the
plugin documentation and to avoid conflicting with other collections that may have
the same lookup plugin name.
Synopsis
Returns a list of strings; for each template in the list of templates you pass in, returns a string containing the results of processing that template.
Terms
Parameter |
Comments |
---|---|
list of files to template |
Keyword parameters
This describes keyword parameters of the lookup. These are the values key1=value1
, key2=value2
and so on in the following
examples: lookup('ansible.builtin.template', key1=value1, key2=value2, ...)
and query('ansible.builtin.template', key1=value1, key2=value2, ...)
Parameter |
Comments |
---|---|
The string marking the end of a comment statement. Default: |
|
The string marking the beginning of a comment statement. Default: |
|
Whether to convert YAML into data. If False, strings that are YAML will be left untouched. Mutually exclusive with the jinja2_native option. Choices:
|
|
Controls whether to use Jinja2 native types. It is off by default even if global jinja2_native is True. Has no effect if global jinja2_native is False. This offers more flexibility than the template module which does not use Jinja2 native types at all. Mutually exclusive with the convert_data option. Choices:
|
|
A dictionary, the keys become additional variables available for templating. Default: |
|
The string marking the end of a print statement. Default: |
|
The string marking the beginning of a print statement. Default: |
Notes
Note
When keyword and positional parameters are used together, positional parameters must be listed before keyword parameters:
lookup('ansible.builtin.template', term1, term2, key1=value1, key2=value2)
andquery('ansible.builtin.template', term1, term2, key1=value1, key2=value2)
See Also
See also
- Task paths
Search paths used for relative templates.
Examples
- name: show templating results
ansible.builtin.debug:
msg: "{{ lookup('ansible.builtin.template', './some_template.j2') }}"
- name: show templating results with different variable start and end string
ansible.builtin.debug:
msg: "{{ lookup('ansible.builtin.template', './some_template.j2', variable_start_string='[%', variable_end_string='%]') }}"
- name: show templating results with different comment start and end string
ansible.builtin.debug:
msg: "{{ lookup('ansible.builtin.template', './some_template.j2', comment_start_string='[#', comment_end_string='#]') }}"
Return Value
Key |
Description |
---|---|
file(s) content after templating Returned: success |