我有一个看起来像这样的json数据结构。
"napalm_interfaces_ip": {
"GigabitEthernet0/0": {
"ipv4": {
"10.23.160.110": {
"prefix_length": 22
},
"10.23.160.114": {
"prefix_length": 22
}
}
},
"GigabitEthernet1/0/1": {
"ipv4": {
"10.23.160.112": {
"prefix_length": 22
}
}
}
},
我想使用Ansible来查找分配了特定IP地址的接口。
我以为我可以使用 with_dict 循环遍历字典, 时可以找到匹配的IP接口。像这样......
- name: Testing with_dict
debug:
msg: "Interface is {{ item.key }}"
when: 10.23.160.114 == item.value.ipv4.keys()
with_dict: "{{ napalm_device_data.ansible_facts.napalm_interfaces_ip }}"
这不会起作用,因为item.value.ipv4是一个字典,我真正想做的是将item.value.ipv4中的每个键与IP地址进行比较。我想我需要一种方法来循环字典中的字典,但我不是100%肯定。
我不想展平数据结构。我只是想找一种在字典中引用字典键的方法。
非常感谢任何帮助。