New in version 2.4.
roles: keyword this action loads a role, but it allows you to control when the tasks run in between other playbook tasks.| parameter | required | default | choices | comments |
|---|---|---|---|---|
| allow_duplicates | no | True | Overrides the role's metadata setting to allow using a role more than once with the same parameters. | |
| defaults_from | no | main | File to load from a Role's defaults/ directory. | |
| name | yes | The name of the role to be executed. | ||
| private | no | None | If True the variables from defaults/ and vars/ in a role will not be made available to the rest of the play. | |
| tasks_from | no | main | File to load from a Role's tasks/ directory. | |
| vars_from | no | main | File to load from a Role's vars/ directory. |
- hosts: all
tasks:
- import_role:
name: myrole
- name: Run tasks/other.yml instead of 'main'
import_role:
name: myrole
tasks_from: other
- name: Pass variables to role
import_role:
name: myrole
vars:
rolevar1: 'value from task'
- name: Apply loop to each task in role
import_role:
name: myrole
with_items:
- '{{ roleinput1 }}'
- '{{ roleinput2 }}'
loop_control:
loop_var: roleinputvar
- name: Apply condition to each task in role
import_role:
name: myrole
when: not idontwanttorun
Note
This module is flagged as preview which means that it is not guaranteed to have a backwards compatible interface.
For more information about Red Hat’s this support of this module, please refer to this knowledge base article<https://access.redhat.com/articles/rhel-top-support-policies>
For help in developing on modules, should you be so inclined, please read Community Information & Contributing, Testing Ansible and Developing Modules.
© 2012–2017 Michael DeHaan
© 2017 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/import_role_module.html