は、私はこの辞書この辞書をAnsibleでループする方法は?
war_files:
server1:
- file1.war
- file2.war
server2:
- file1.war
- file2.war
- file3.war
、今、私はちょうどキー(値)の各項目(キー)を超えるし、各項目をループにしたいために持っていると言います。私はこれをした
- name: Loop over the dictionary
debug: msg="Key={{ item.key }} value={{ item.value }}"
with_dict: "{{ war_files }}"
私はこれを取得します。それはもちろん正しいですが、私が望むものではありません。
ok: [localhost] => (item={'value': [u'file1.war', u'file2.war'], 'key': u'server1'}) => {
"item": {
"key": "server1",
"value": [
"file1.war",
"file2.war"
]
},
"msg": "Server=server1, WAR=[u'file1.war', u'file2.war']"
}
ok: [localhost] => (item={'value': [u'file1.war', u'file2.war', u'file3.war'], 'key': u'server2'}) => {
"item": {
"key": "server2",
"value": [
"file1.war",
"file2.war",
"file3.war"
]
},
"msg": "Server=server2, WAR=[u'file1.war', u'file2.war', u'file3.war']"
}
私が言うの出力を取得したい
"msg": "Server=server1, WAR=file1.war"
"msg": "Server=server1, WAR=file2.war"
"msg": "Server=server2, WAR=file1.war"
"msg": "Server=server2, WAR=file2.war"
"msg": "Server=server2, WAR=file3.war"
IOW、それは各キー内の各キーを通過した後、アイテムので、私は辞書を反復にタスクを書き込むことができますか?本質的に、私はネストされた配列を持っており、それを反復処理したいのですか?
はありがとうございことができます!これは私がChef over Anecessが好きな場所です。ここでRubyを書いてデータ構造を反復することができます。本質的には、これはPythonでここで行ったことですが、その構文はちょっと醜いです。 –
@ChrisF私は、pythonではなくjinja2を書いています。 –
はい、私はあなたに同意します。 PuppetとChefはこれのためにAnsibleを上回ります。 –