thorughループ:各デバイスは、辞書の構造である:Ansible - 私はいくつかの問題以下のネストされた構造のために働くのループを作成する必要があり、ネストされた辞書のリスト
1レベル:
DeviceList = [Device1, Device2, Device3, etc..]
第二レベルを
Device1 = {
"description" : "string",
"Id": "Value",
"DeviceIPs": Dictionary
}
第3レベル:DeviceIPは、デバイスに割り当てられたIPの1つが文字列に変換された辞書です。
"DeviceIPs" = {
"IP1": { "description": "string1", "interface": "eth0", "mask":"subnet_mask1" },
"IP2": { "description": "string2", "interface": "eth1", "mask":"subnet_mask2" },
"IP3": { "description": "string3", "interface": "eth2", "mask":"subnet_mask3" },
etc..
}
理想的には、私が「DeviceIPs」のキーのループを作成する必要がありますおそらく一致インスタンスの内側値(に基づく 「IP1」 「IP2」 「IP3」 "interface ==" eth1 "のような条件)
私はさまざまな方法で試してみましたが、実際には動作するものはありません。
ご協力いただきましてありがとうございます。
ありがとうございました
正確な質問を投稿できますか?私は 'json_query'が収まると思うが、あなたが本当に必要なものを投稿しないので、わからない。 –
こんにちはコンスタンチン、 私は実際にjson_queryフィルターで動作させることができました。 私の問題は、DeviceListの指定されたDeviceListのキーとして使用されているIPをループすることでした。 DeviceDictを、次のようにjson_query使用: 私は辞書であることをDEVICELISTを変更 タスク: - デバッグ: MSG: "IP:{{項目}}" with_items:「{{DeviceDict | json_query( '*。 DeviceIPs.keys(@) ')}} " これは、DeviceDictのすべての可能なデバイスレコードをループし、実際にIPであるDeviceIPsのキーを取得します。 ありがとう! – ValerioG