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
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
|
- hosts: localhost
vars:
vaulted_value: !vault |
$ANSIBLE_VAULT;1.1;AES256
35323961353038346165643738646465376139363061353835303739663538343266303232326635
3365353662646236356665323135633630656238316530640a663362363763633436373439663031
33663433383037396438656464636433653837376361313638366362333037323961316364363363
3835616438623261650a636164376534376661393134326662326362323131373964313961623365
3833
tasks:
- debug:
msg: "{{ vaulted_value }}"
- debug:
msg: "{{ vaulted_value|type_debug }}"
- assert:
that:
- vaulted_value is vault_encrypted
- vaulted_value == 'foo bar'
- vaulted_value|string == 'foo bar'
- vaulted_value|quote == "'foo bar'"
- vaulted_value|capitalize == 'Foo bar'
- vaulted_value|center(width=9) == ' foo bar '
- vaulted_value|default('monkey') == 'foo bar'
- vaulted_value|escape == 'foo bar'
- vaulted_value|forceescape == 'foo bar'
- vaulted_value|first == 'f'
- "'%s'|format(vaulted_value) == 'foo bar'"
- vaulted_value|indent(first=True) == ' foo bar'
- vaulted_value.split() == ['foo', 'bar']
- vaulted_value|join('-') == 'f-o-o- -b-a-r'
- vaulted_value|last == 'r'
- vaulted_value|length == 7
- vaulted_value|list == ['f', 'o', 'o', ' ', 'b', 'a', 'r']
- vaulted_value|lower == 'foo bar'
- vaulted_value|replace('foo', 'baz') == 'baz bar'
- vaulted_value|reverse|string == 'rab oof'
- vaulted_value|safe == 'foo bar'
- vaulted_value|slice(2)|list == [['f', 'o', 'o', ' '], ['b', 'a', 'r']]
- vaulted_value|sort|list == [" ", "a", "b", "f", "o", "o", "r"]
- vaulted_value|trim == 'foo bar'
- vaulted_value|upper == 'FOO BAR'
# jinja2.filters.do_urlencode uses an isinstance against string_types
# - vaulted_value|urlencode == 'foo%20bar'
- vaulted_value|urlize == 'foo bar'
- vaulted_value is not callable
- vaulted_value is iterable
- vaulted_value is lower
- vaulted_value is not none
# This is not exactly a string, and UserString doesn't fulfill this
# - vaulted_value is string
- vaulted_value is not upper
- vaulted_value|b64encode == 'Zm9vIGJhcg=='
- vaulted_value|to_uuid == '0271fe51-bb26-560f-b118-5d6513850860'
- vaulted_value|string|to_json == '"foo bar"'
- vaulted_value|md5 == '327b6f07435811239bc47e1544353273'
- vaulted_value|sha1 == '3773dea65156909838fa6c22825cafe090ff8030'
- vaulted_value|hash == '3773dea65156909838fa6c22825cafe090ff8030'
- vaulted_value|regex_replace('foo', 'baz') == 'baz bar'
- vaulted_value|regex_escape == 'foo\ bar'
- vaulted_value|regex_search('foo') == 'foo'
- vaulted_value|regex_findall('foo') == ['foo']
- vaulted_value|comment == '#\n# foo bar\n#'
- assert:
that:
- vaulted_value|random(seed='foo') == ' '
- vaulted_value|shuffle(seed='foo') == ["o", "f", "r", "b", "o", "a", " "]
- vaulted_value|pprint == "'foo bar'"
when: ansible_python.version.major == 3
- assert:
that:
- vaulted_value|random(seed='foo') == 'r'
- vaulted_value|shuffle(seed='foo') == ["b", "o", "a", " ", "o", "f", "r"]
- vaulted_value|pprint == "u'foo bar'"
when: ansible_python.version.major == 2
- assert:
that:
- vaulted_value|map('upper')|list == ['F', 'O', 'O', ' ', 'B', 'A', 'R']
when: lookup('pipe', ansible_python.executable ~ ' -c "import jinja2; print(jinja2.__version__)"') is version('2.7', '>=')
- assert:
that:
- vaulted_value.split()|first|int(base=36) == 20328
- vaulted_value|select('equalto', 'o')|list == ['o', 'o']
- vaulted_value|title == 'Foo Bar'
- vaulted_value is equalto('foo bar')
when: lookup('pipe', ansible_python.executable ~ ' -c "import jinja2; print(jinja2.__version__)"') is version('2.8', '>=')
- assert:
that:
- vaulted_value|string|tojson == '"foo bar"'
- vaulted_value|truncate(4) == 'foo bar'
when: lookup('pipe', ansible_python.executable ~ ' -c "import jinja2; print(jinja2.__version__)"') is version('2.9', '>=')
- assert:
that:
- vaulted_value|wordwrap(4) == 'foo\nbar'
when: lookup('pipe', ansible_python.executable ~ ' -c "import jinja2; print(jinja2.__version__)"') is version('2.11', '>=')
- assert:
that:
- vaulted_value|wordcount == 2
when: lookup('pipe', ansible_python.executable ~ ' -c "import jinja2; print(jinja2.__version__)"') is version('2.11.2', '>=')
- ping:
data: !vault |
$ANSIBLE_VAULT;1.1;AES256
35323961353038346165643738646465376139363061353835303739663538343266303232326635
3365353662646236356665323135633630656238316530640a663362363763633436373439663031
33663433383037396438656464636433653837376361313638366362333037323961316364363363
3835616438623261650a636164376534376661393134326662326362323131373964313961623365
3833
register: ping_result
- assert:
that:
- ping_result.ping == 'foo bar'
|