Syntax

A filter is applied to a variable by way of the pipe symbol |, followed by the name of the filter, and then any arguments for the filter inside parentheses. There can be a space between the variable name and the pipe symbol, as well as a space between the pipe symbol and the filter name. For example, if we wanted to apply the lower filter (which makes all the characters lowercase) to the my_word variable, we would use the following syntax:

{{ my_word | lower }} 

Because the lower filter does not take any arguments, it is not necessary to attach an empty parentheses set to it. If we use a different filter that requires arguments, this all changes. Let's use the replace filter, which allows us to replace all occurrences of a substring with another substring. In this example, we want to replace all occurrences of the substring no with yes in the answers variable:

{{ answers | replace('no', 'yes') }} 

Applying multiple filters is accomplished by simply adding more pipe symbols and more filter names. Let's combine both replace and lower to demonstrate the syntax:

{{ answers | replace('no', 'yes') | lower }} 

We can easily demonstrate this with a simple play that uses the debug command to render the line:

---
- name: demo the template
hosts: localhost
gather_facts: false
vars:
answers: "no so YES no"
tasks:
- name: debug the template
debug:
msg: "{{ answers | replace('no', 'yes') | lower }}"

Now, we can execute the playbook and provide a value for answers at runtime, as shown in the following code:

As we can see here, our variable has had all instances of the word no replaced with yes, and the letters are now all lower case.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
18.227.111.208