forked from ansible/ansible
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdo.py
84 lines (71 loc) · 1.9 KB
/
do.py
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
#!/usr/bin/python
# -*- coding: utf-8 -*-
# Copyright: Ansible Project
# Copyright: Estelle Poulin <[email protected]>
# 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: Estelle Poulin ([email protected])
module: do
short_description: Dynamically include a task block
description:
- Includes a block with a list of tasks to be executed in the current playbook.
version_added: '2.10'
options:
apply:
description:
- Accepts a hash of task keywords (e.g. C(tags), C(become)) that will be applied to the tasks within the include.
type: str
version_added: '2.7'
free-form:
description:
- |
Accepts a list of tasks specificed in the same manner as C(block).
notes:
- This is a core feature of the Ansible, rather than a module, and cannot be overridden like a module.
seealso:
- module: ansible.builtin.include
- module: ansible.builtin.include_tasks
- module: ansible.builtin.include_role
- ref: playbooks_reuse_includes
description: More information related to including and importing playbooks, roles and tasks.
'''
EXAMPLES = r'''
- hosts: all
tasks:
- debug:
msg: task1
- name: Run a task list within a play.
do:
- debug:
msg: stuff
- debug:
msg: task10
- hosts: all
tasks:
- debug:
msg: task1
- name: Run the task list only if the condition is true.
do:
- debug:
msg: stuff
when: hostvar is defined
- name: Apply tags to tasks within included file
do:
- debug:
msg: stuff
args:
apply:
tags: [install]
tags: [always]
- name: Loop over a block of tasks.
do:
- debug:
var: item
loop: [1, 2, 3]
'''
RETURN = r'''
# This module does not return anything except tasks to execute.
'''