Ich versuche zu verstehen, wie einzelne Variablen mit Vault zu verschlüsseln. Zuerst verschlüssele ich die Zeichenfolge mit ansible-vault encrypt_string -n -p
, dann schreibe ich die Ausgabe in mein Playbook. Wenn ich das Playbook ausführe, sagt es, dass der entschlüsselte String nicht serialisierbar ist.Inline verschlüsselte Variable nicht JSON serialisierbar
Verschlüsselt string: "inline_name"
Ich versuchte es auch mit inline_name
und inlinename
, jedes Mal mit dem gleichen Ergebnis.
Mein Textbuch:
---
- name: Build System
hosts: dev
tasks:
- name: Create
mysql_db:
state: present
name: !vault |
$ANSIBLE_VAULT;1.1;AES256
39613261386438623937643062636166663638633062323939343734306334346537613233623064
3761633832326365356231633338396132646532313861350a316666376566616633376238313636
39343833306462323534623238333639663734626662623731666239366566643636386261643164
3861363730336331660a316165633232323732633364346636363764623639356562336536636136
6364
login_host: "{{ mysql_host }}"
login_user: "{{ mysql_user }}"
login_password: "{{ mysql_pass }}"
- name: Check if can access plain text vars
debug:
msg: "{{ my_plain_txt }}"
Fehlermeldung:
An exception occurred during task execution. To see the full traceback, use -vvv.
The error was: TypeError: u'"inline_name"' is not JSON serializable
fatal: [127.0.0.1]: FAILED! => {"failed": true, "msg": "Unexpected failure during module execution.", "stdout": ""}
Warum nicht eine gewölbte ** Variable ** als [Dokumente vorschlagen] (http://docs.ansible.com/ansible/latest/playbooks_vault.html#single-encrypted-variable)? I.e. als eine Variable. – techraf