ansible.builtin.template – 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 even without specifying the collections: keyword. However, we recommend you use the FQCN for easy linking to the plugin documentation and to avoid conflicting with other collections that may have the same lookup plugin name.

New in version 0.9: of ansible.builtin

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.

Parameters

Parameter Choices/Defaults Configuration Comments
_terms
string
list of files to template
comment_end_string
string
added in 2.12 of ansible.builtin
The string marking the end of a comment statement.
comment_start_string
string
added in 2.12 of ansible.builtin
The string marking the beginning of a comment statement.
convert_data
boolean
    Choices:
  • no
  • yes
Whether to convert YAML into data. If False, strings that are YAML will be left untouched.
Mutually exclusive with the jinja2_native option.
jinja2_native
boolean
added in 2.11 of ansible.builtin
    Choices:
  • no ←
  • yes
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.
template_vars
dictionary
added in 2.3 of ansible.builtin
Default:
{}
A dictionary, the keys become additional variables available for templating.
variable_end_string
string
added in 2.8 of ansible.builtin
Default:
"}}"
The string marking the end of a print statement.
variable_start_string
string
added in 2.8 of ansible.builtin
Default:
"{{"
The string marking the beginning of a print statement.

Examples

- name: show templating results
  debug:
    msg: "{{ lookup('template', './some_template.j2') }}"

- name: show templating results with different variable start and end string
  debug:
    msg: "{{ lookup('template', './some_template.j2', variable_start_string='[%', variable_end_string='%]') }}"

- name: show templating results with different comment start and end string
  debug:
    msg: "{{ lookup('template', './some_template.j2', comment_start_string='[#', comment_end_string='#]') }}"

Return Values

Common return values are documented here, the following are the fields unique to this lookup:

Key Returned Description
_raw
list / elements=any
success
file(s) content after templating



Authors

  • Michael DeHaan