我试图检查 Ansible 的字典列表中是否存在某个键/值对。
我发现了这个问题,但是我不确定Python和ansible的语法是否不同(我从未在ansible中见过if语句!)检查字典列表中是否已存在值? https://stackoverflow.com/questions/3897499/check-if-value-already-exists-within-list-of-dictionaries
我已经尝试过when条件:
when: '"value" not in list'
然而我对此没有任何运气。
例如,列表看起来像:
list: [
{
"key1" : "value1",
"key2" : "value2",
"key3" : "value3"
},
{
"key1" : "value4",
"key2" : "value5",
"key3" : "value6"
},
and so on
例如,我试图找出这对是否"key2":"value5"
存在于列表中的任何字典中。希望有一种方法可以做到这一点,如果该对存在则给出 true,如果不存在则给出 false?
任何提示将非常感谢!谢谢。
干得好:
- hosts: localhost
gather_facts: no
vars:
list_of_dicts: [
{
"key1" : "value1",
"key2" : "value2",
"key3" : "value3"
},
{
"key1" : "value4",
"key2" : "value5",
"key3" : "value3"
}]
tasks:
- debug:
msg: found
when: list_of_dicts | selectattr(search_key,'equalto',search_val) | list | count > 0
vars:
search_key: key3
search_val: value3
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)