import_role - Import a role into a play
New in version 2.4.
Synopsis
- Much like the
roles:
keyword, this task loads a role, but it allows you to control it when the role tasks run in between other tasks of the play. - Most keywords, loops and conditionals will only be applied to the imported tasks, not to this statement itself. If you want the opposite behavior, use include_role instead. To better understand the difference you can read the Including and Importing Guide.
Parameters
Parameter | Choices/Defaults | Comments |
---|---|---|
allow_duplicates | Default: yes | Overrides the role's metadata setting to allow using a role more than once with the same parameters. |
defaults_from | Default: main | File to load from a role's defaults/ directory. |
name required | The name of the role to be executed. | |
private | Default: 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 | Default: main | File to load from a role's tasks/ directory. |
vars_from | Default: main | File to load from a role's vars/ directory. |
Notes
Note
- Handlers are made available to the whole play.
Examples
- hosts: all tasks: - import_role: name: myrole - name: Run tasks/other.yaml 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
Status
This module is flagged as preview which means that it is not guaranteed to have a backwards compatible interface.
Support
For more information about Red Hat’s support of this module, please refer to this Knowledge Base article
Author
- Ansible Core Team (@ansible)
Hint
If you notice any issues in this documentation you can edit this document to improve it.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.5/modules/import_role_module.html