Documentation

import_role - Import a role into a play

New in version 2.4.

Synopsis

  • Mostly like the roles: keyword this action loads a role, but it allows you to control when the tasks run in between other playbook tasks.
  • Most keyworkds, loops and conditionals will not be applied to this action, but to the imported tasks instead. If you want the opposite behaviour, use import_role instead.

Options

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.

Examples

- 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

Notes

Note

  • Handlers are made available to the whole play.

Status

This module is flagged as preview which means that it is not guaranteed to have a backwards compatible interface.

Maintenance Info

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.