Hide keyboard shortcuts

Hot-keys on this page

r m x p   toggle line displays

j k   next/prev highlighted chunk

0   (zero) top of page

1   (one) first highlighted chunk

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

# (c) 2012, Michael DeHaan <michael.dehaan@gmail.com> 

# (c) 2017 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 = """ 

lookup: items 

author: Michael DeHaan <michael.dehaan@gmail.com> 

version_added: historical 

short_description: list of items 

description: 

- this looup returns a list of items given to it, if any of the top level items is also a list it will flatten it, but it will not recurse 

notes: 

- this is the standard lookup used for loops in most examples 

- check out the 'flattened' lookup for recursive flattening 

- if you dont want flattening nor any other tranformation look at the 'list' lookup. 

options: 

_terms: 

description: list of items 

required: True 

""" 

 

EXAMPLES = """ 

- name: "loop through list" 

debug: 

msg: "An item: {{item}}" 

with_items: 

- 1 

- 2 

- 3 

 

- name: add several users 

user: 

name: "{{ item }}" 

groups: "wheel" 

state: present 

with_items: 

- testuser1 

- testuser2 

 

- name: "loop through list from a variable" 

debug: msg="An item: {{item}}" 

with_items: "{{ somelist }}" 

 

- name: more complex items to add several users 

user: 

name: "{{ item.name }}" 

uid: "{{ item.uid }}" 

groups: "{{ item.groups }}" 

state: present 

with_items: 

- { name: testuser1, uid: 1002, groups: "wheel, staff" } 

- { name: testuser2, uid: 1003, groups: staff } 

 

""" 

 

RETURN = """ 

_raw: 

description: 

- once flattened list 

type: list 

""" 

 

from ansible.plugins.lookup import LookupBase 

 

 

class LookupModule(LookupBase): 

 

def run(self, terms, **kwargs): 

 

return self._flatten(terms)