ansible.builtin.include (v2.11.12) — module

Include a play or task list

| "added in version" 0.6 of ansible.builtin"

Authors: Ansible Core Team (@ansible)

Install Ansible via pip

Install with pip install ansible-core==2.11.12

Description

Includes a file with a list of plays or tasks to be executed in the current playbook.

Files with a list of plays can only be included at the top level. Lists of tasks can only be included where tasks normally run (in play).

Before Ansible 2.0, all includes were 'static' and were executed when the play was compiled.

Static includes are not subject to most directives. For example, loops or conditionals are applied instead to each inherited task.

Since Ansible 2.0, task includes are dynamic and behave more like real tasks. This means they can be looped, skipped and use variables from any source. Ansible tries to auto detect this, but you can use the C(static) directive (which was added in Ansible 2.1) to bypass autodetection.

This module is also supported for Windows targets.

Usage examples

  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- hosts: localhost
  tasks:
    - debug:
        msg: play1
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Include a play after another play
  include: otherplays.yaml
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.

- hosts: all
  tasks:
    - debug:
        msg: task1

    - name: Include task list in play
      include: stuff.yaml

    - debug:
        msg: task10
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- hosts: all
  tasks:
    - debug:
        msg: task1

    - name: Include task list in play only if the condition is true
      include: "{{ hostvar }}.yaml"
      static: no
      when: hostvar is defined

Inputs

    
free-form:
    description:
    - This module allows you to specify the name of the file directly without any other
      options.

See also