1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98
|
# -*- 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 annotations
DOCUMENTATION = r"""
---
author: Ansible Core Team (@ansible)
module: include_tasks
short_description: Dynamically include a task list
description:
- Includes a file with a list of tasks to be executed in the current playbook.
version_added: '2.4'
options:
file:
description:
- Specifies the name of the file that lists tasks to add to the current playbook.
type: str
version_added: '2.7'
apply:
description:
- Accepts a hash of task keywords (for example C(tags), C(become)) that will be applied to the tasks within the include.
type: str
version_added: '2.7'
free-form:
description:
- |
Specifies the name of the imported file directly without any other option C(- include_tasks: file.yml).
- Is the equivalent of specifying an argument for the O(file) parameter.
- Most keywords, including loop, with_items, and conditionals, apply to this statement unlike M(ansible.builtin.import_tasks).
- The do-until loop is not supported.
extends_documentation_fragment:
- action_common_attributes
- action_common_attributes.conn
- action_common_attributes.flow
- action_core
- action_core.include
attributes:
check_mode:
support: none
diff_mode:
support: none
seealso:
- module: ansible.builtin.import_playbook
- module: ansible.builtin.import_role
- module: ansible.builtin.import_tasks
- module: ansible.builtin.include_role
- ref: playbooks_reuse
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_tasks:
file: 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_tasks: "{{ hostvar }}.yaml"
when: hostvar is defined
- name: Apply tags to tasks within included file
ansible.builtin.include_tasks:
file: install.yml
apply:
tags:
- install
tags:
- always
- name: Apply tags to tasks within included file when using free-form
ansible.builtin.include_tasks: install.yml
args:
apply:
tags:
- install
tags:
- always
"""
RETURN = r"""
# This module does not return anything except tasks to execute.
"""
|