The Ansible template - Jinja filters
We have seen in the second chapter that templates allow you to dynamically complete your playbook and place files on servers based on dynamic data such as host
and group
variables. In this section, we will move forward and see how Jinja2 filters work with Ansible.
Jinja2 filters are simple Python functions that take some arguments, process them, and return the result. For example, consider the following command:
{{ myvar | filter }}
In the preceding example, myvar
is a variable; Ansible will pass myvar
to the Jinja2 filter as an argument. The Jinja2 filter will then process it and return the resulting data. Jinja2 filters even accept additional arguments as follows:
{{ myvar | filter(2) }}
In this example, Ansible will now pass two arguments, that is, myvar
and 2
. Likewise, you can pass multiple arguments to filters separated by commas.
Ansible supports a wide variety of Jinja2 filters, we will see some of the important Jinja2 filters that you might need...