1- hosts: localhost 2 vars: 3 vaulted_value: !vault | 4 $ANSIBLE_VAULT;1.1;AES256 5 35323961353038346165643738646465376139363061353835303739663538343266303232326635 6 3365353662646236356665323135633630656238316530640a663362363763633436373439663031 7 33663433383037396438656464636433653837376361313638366362333037323961316364363363 8 3835616438623261650a636164376534376661393134326662326362323131373964313961623365 9 3833 10 tasks: 11 - debug: 12 msg: "{{ vaulted_value }}" 13 14 - debug: 15 msg: "{{ vaulted_value|type_debug }}" 16 17 - assert: 18 that: 19 - vaulted_value is vault_encrypted 20 - vaulted_value == 'foo bar' 21 - vaulted_value|string == 'foo bar' 22 - vaulted_value|quote == "'foo bar'" 23 - vaulted_value|capitalize == 'Foo bar' 24 - vaulted_value|center(width=9) == ' foo bar ' 25 - vaulted_value|default('monkey') == 'foo bar' 26 - vaulted_value|escape == 'foo bar' 27 - vaulted_value|forceescape == 'foo bar' 28 - vaulted_value|first == 'f' 29 - "'%s'|format(vaulted_value) == 'foo bar'" 30 - vaulted_value|indent(indentfirst=True) == ' foo bar' 31 - vaulted_value.split() == ['foo', 'bar'] 32 - vaulted_value|join('-') == 'f-o-o- -b-a-r' 33 - vaulted_value|last == 'r' 34 - vaulted_value|length == 7 35 - vaulted_value|list == ['f', 'o', 'o', ' ', 'b', 'a', 'r'] 36 - vaulted_value|lower == 'foo bar' 37 - vaulted_value|replace('foo', 'baz') == 'baz bar' 38 - vaulted_value|reverse|string == 'rab oof' 39 - vaulted_value|safe == 'foo bar' 40 - vaulted_value|slice(2)|list == [['f', 'o', 'o', ' '], ['b', 'a', 'r']] 41 - vaulted_value|sort|list == [" ", "a", "b", "f", "o", "o", "r"] 42 - vaulted_value|trim == 'foo bar' 43 - vaulted_value|upper == 'FOO BAR' 44 # jinja2.filters.do_urlencode uses an isinstance against string_types 45 # - vaulted_value|urlencode == 'foo%20bar' 46 - vaulted_value|urlize == 'foo bar' 47 - vaulted_value is not callable 48 - vaulted_value is iterable 49 - vaulted_value is lower 50 - vaulted_value is not none 51 # This is not exactly a string, and UserString doesn't fulfill this 52 # - vaulted_value is string 53 - vaulted_value is not upper 54 55 - vaulted_value|b64encode == 'Zm9vIGJhcg==' 56 - vaulted_value|to_uuid == '0271fe51-bb26-560f-b118-5d6513850860' 57 - vaulted_value|string|to_json == '"foo bar"' 58 - vaulted_value|md5 == '327b6f07435811239bc47e1544353273' 59 - vaulted_value|sha1 == '3773dea65156909838fa6c22825cafe090ff8030' 60 - vaulted_value|hash == '3773dea65156909838fa6c22825cafe090ff8030' 61 - vaulted_value|regex_replace('foo', 'baz') == 'baz bar' 62 - vaulted_value|regex_escape == 'foo\ bar' 63 - vaulted_value|regex_search('foo') == 'foo' 64 - vaulted_value|regex_findall('foo') == ['foo'] 65 - vaulted_value|comment == '#\n# foo bar\n#' 66 67 - assert: 68 that: 69 - vaulted_value|random(seed='foo') == ' ' 70 - vaulted_value|shuffle(seed='foo') == ["o", "f", "r", "b", "o", "a", " "] 71 - vaulted_value|pprint == "'foo bar'" 72 when: ansible_python.version.major == 3 73 74 - assert: 75 that: 76 - vaulted_value|random(seed='foo') == 'r' 77 - vaulted_value|shuffle(seed='foo') == ["b", "o", "a", " ", "o", "f", "r"] 78 - vaulted_value|pprint == "u'foo bar'" 79 when: ansible_python.version.major == 2 80 81 - assert: 82 that: 83 - vaulted_value|map('upper')|list == ['F', 'O', 'O', ' ', 'B', 'A', 'R'] 84 when: lookup('pipe', ansible_python.executable ~ ' -c "import jinja2; print(jinja2.__version__)"') is version('2.7', '>=') 85 86 87 - assert: 88 that: 89 - vaulted_value.split()|first|int(base=36) == 20328 90 - vaulted_value|select('equalto', 'o')|list == ['o', 'o'] 91 - vaulted_value|title == 'Foo Bar' 92 - vaulted_value is equalto('foo bar') 93 when: lookup('pipe', ansible_python.executable ~ ' -c "import jinja2; print(jinja2.__version__)"') is version('2.8', '>=') 94 95 - assert: 96 that: 97 - vaulted_value|string|tojson == '"foo bar"' 98 - vaulted_value|truncate(4) == 'foo bar' 99 when: lookup('pipe', ansible_python.executable ~ ' -c "import jinja2; print(jinja2.__version__)"') is version('2.9', '>=') 100 101 - assert: 102 that: 103 - vaulted_value|wordwrap(4) == 'foo\nbar' 104 when: lookup('pipe', ansible_python.executable ~ ' -c "import jinja2; print(jinja2.__version__)"') is version('2.11', '>=') 105 106 - assert: 107 that: 108 - vaulted_value|wordcount == 2 109 when: lookup('pipe', ansible_python.executable ~ ' -c "import jinja2; print(jinja2.__version__)"') is version('2.11.2', '>=') 110 111 - ping: 112 data: !vault | 113 $ANSIBLE_VAULT;1.1;AES256 114 35323961353038346165643738646465376139363061353835303739663538343266303232326635 115 3365353662646236356665323135633630656238316530640a663362363763633436373439663031 116 33663433383037396438656464636433653837376361313638366362333037323961316364363363 117 3835616438623261650a636164376534376661393134326662326362323131373964313961623365 118 3833 119 register: ping_result 120 121 - assert: 122 that: 123 - ping_result.ping == 'foo bar' 124