2017-11-30 6 views
0

ボールトで単一変数を暗号化する方法を理解しようとしています。最初に文字列をansible-vault encrypt_string -n -pで暗号化して、出力を自分のプレイブックに書き込みます。私がプレイブックを実行すると、解読された文字列はJSONのシリアライズ可能ではないと言われています。JSONシリアライズ可能でないインライン暗号化変数

暗号化文字列:"inline_name" 同じ結果を得るたびに、毎回inline_nameinlinenameで試してみました。

マイ脚本:

--- 
- 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 }}" 

エラーメッセージ:

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": ""} 
+0

を**として[docs suggest](http://docs.ansible.com/ansible/latest/playbooks_vault.html#single-encrypted-variable)?私。変数として。 – techraf

答えて

2

は、タスクレベルの変数を追加:あなたはアーチ型**変数を使用していないのはなぜ

- name: Create 
    mysql_db: 
     state: present 
     name: "{{ mysql_name }}" 
     login_host: "{{ mysql_host }}" 
     login_user: "{{ mysql_user }}" 
     login_password: "{{ mysql_pass }}" 
    vars: 
     mysql_name: !vault | 
      $ANSIBLE_VAULT;1.1;AES256 
      39613261386438623937643062636166663638633062323939343734306334346537613233623064 
      3761633832326365356231633338396132646532313861350a316666376566616633376238313636 
      39343833306462323534623238333639663734626662623731666239366566643636386261643164 
      3861363730336331660a316165633232323732633364346636363764623639356562336536636136 
      6364 
関連する問題