diff options
Diffstat (limited to 'lib/ansible/modules/_include.py')
-rw-r--r-- | lib/ansible/modules/_include.py | 80 |
1 files changed, 80 insertions, 0 deletions
diff --git a/lib/ansible/modules/_include.py b/lib/ansible/modules/_include.py new file mode 100644 index 0000000..60deb94 --- /dev/null +++ b/lib/ansible/modules/_include.py @@ -0,0 +1,80 @@ +# -*- 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. +''' |