It is possible to create files with tasks and variables definitions to reuse in many playbooks. To use them in the playbook scripts is required to include them as the following example.
--- - name: Example of playbook with include tasks and variable files hosts: myexample tasks: - name: Include the variable file include_vars: vars/vars.yml - name: Include the tasks include: tasks/tasks.yml - name: Install the firewall yum: name: "{{ firewall }}" state: latest ...
--- # It is the vars/vars.yml file firewall: firewalld path: /var/www/html/
--- # It is the tasks/tasks.yml file # All tasks defined here will be executed when it is include - name: Create index.html copy: content: "here is the content\n" dest:"{{ path }}index.html"
Following the tree of this example.
$ tree ├── ansible.cfg ├── inventory ├── myplaybook.yml ├── tasks │ └── tasks.yml └── vars └── vars.yml
For further information check the Ansible documentation Load variables from files, dynamically within a task and Sets attributes of files