Working with include
The include
feature helps you to reduce duplicity while writing tasks. This also allows us to have smaller playbooks by including reusable code in separate tasks using the Don't Repeat Yourself (DRY) principle.
To trigger the inclusion of another file, you need to put the following under the tasks object:
- include: FILENAME.yaml
You can also pass some variables to the included file. To do so, we can specify them in the following way:
- include: FILENAME.yaml variable1="value1" variable2="value2"
In addition of passing variables, you can also use conditionals to include a file only when certain conditions are matched, for instance to include the redhat.yaml
file only if the machine is running an OS in the Red Hat family using the following code:
- name: Include the file only for Red Hat OSes
include: redhat.yaml
when: ansible_os_family == "RedHat"