mirror of https://github.com/ansible/ansible.git
You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
81 lines
3.1 KiB
Python
81 lines
3.1 KiB
Python
# -*- coding: utf-8 -*-
|
|
|
|
# Copyright: Ansible Project
|
|
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
|
|
|
|
from __future__ import absolute_import, division, print_function
|
|
__metaclass__ = type
|
|
|
|
|
|
DOCUMENTATION = r'''
|
|
---
|
|
author: Ansible Core Team (@ansible)
|
|
module: include
|
|
short_description: Include a task list
|
|
description:
|
|
- Includes a file with a list of tasks to be executed in the current playbook.
|
|
- 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.
|
|
version_added: "0.6"
|
|
deprecated:
|
|
why: it has too many conflicting behaviours depending on keyword combinations and it was unclear how it should behave in each case.
|
|
new actions were developed that were specific about each case and related behaviours.
|
|
alternative: include_tasks, import_tasks, import_playbook
|
|
removed_in: "2.16"
|
|
removed_from_collection: 'ansible.builtin'
|
|
options:
|
|
free-form:
|
|
description:
|
|
- This module allows you to specify the name of the file directly without any other options.
|
|
notes:
|
|
- This is a core feature of Ansible, rather than a module, and cannot be overridden like a module.
|
|
- Include has some unintuitive behaviours depending on if it is running in a static or dynamic in play or in playbook context,
|
|
in an effort to clarify behaviours we are moving to a new set modules (M(ansible.builtin.include_tasks),
|
|
M(ansible.builtin.include_role), M(ansible.builtin.import_playbook), M(ansible.builtin.import_tasks))
|
|
that have well established and clear behaviours.
|
|
- This module no longer supporst including plays. Use M(ansible.builtin.import_playbook) instead.
|
|
seealso:
|
|
- module: ansible.builtin.import_playbook
|
|
- module: ansible.builtin.import_role
|
|
- module: ansible.builtin.import_tasks
|
|
- module: ansible.builtin.include_role
|
|
- module: ansible.builtin.include_tasks
|
|
- ref: playbooks_reuse_includes
|
|
description: More information related to including and importing playbooks, roles and tasks.
|
|
'''
|
|
|
|
EXAMPLES = r'''
|
|
|
|
- hosts: all
|
|
tasks:
|
|
- ansible.builtin.debug:
|
|
msg: task1
|
|
|
|
- name: Include task list in play
|
|
ansible.builtin.include: stuff.yaml
|
|
|
|
- ansible.builtin.debug:
|
|
msg: task10
|
|
|
|
- hosts: all
|
|
tasks:
|
|
- ansible.builtin.debug:
|
|
msg: task1
|
|
|
|
- name: Include task list in play only if the condition is true
|
|
ansible.builtin.include: "{{ hostvar }}.yaml"
|
|
static: no
|
|
when: hostvar is defined
|
|
'''
|
|
|
|
RETURN = r'''
|
|
# This module does not return anything except tasks to execute.
|
|
'''
|