2016-05-17 12 views
1

にネストされた変数をレンダリング。Ansible - 私はansibleでテンプレートを使用してファイルにはいくつかのネストされた変数をレンダリングしようとしているテンプレート

支配脚本は、次のようになります。簡単にするため

--- 

- hosts: tag_Cluster_restore 
    vars: 
    pg_password: 
     qa: blah 
     staging: blahblah 
     production: blahblahblah 
    roles: 
    - role: psql_helper 

、私の役割のタスク/ main.ymlは、次のようになります。

--- 
- debug: msg="Password is {{ pg_password.[env] }}" 

そして、私は、コマンドにenv変数を指定したいです

ansible-playbook playbook.yml -e "env=qa" 

...これをqa pa ssword。しかし、現時点では私はfatal: [1.1.1.1]: FAILED! => {"failed": true, "msg": "ERROR! template error while templating string: expected name or number"}

はもちろん、私がどこか間違った構文を持ってもらう、または私は間違って何かを指定しています。誰も助けることができますか?

変数をループしたくないことに注意してください。私はこれを行う方法を尋ねました。私が必要とするネストされた変数にドリルダウンしたいと思います。可能な事実...

おかげ

答えて

1

はあなたのデバッグ作業は、呼び出しに.を持つべきではありません。

- debug: msg="Password is {{ pg_password[env] }}" 

これは単にあなたが辞書0123からキーenvを取得していること

関連する問題