检查Ansible中是否存在元素
在我的职责范围内,我有:检查Ansible中是否存在元素,ansible,Ansible,在我的职责范围内,我有: rcube_plugins_repo: - name: 'account_details' repo: 'https://github.com/texxasrulez/account_details' config: 'yes' - name: 'delete_old' repo: 'https://github.com/ron4mac/roundcube_delete_old' and so on... 在我的一项
rcube_plugins_repo:
- name: 'account_details'
repo: 'https://github.com/texxasrulez/account_details'
config: 'yes'
- name: 'delete_old'
repo: 'https://github.com/ron4mac/roundcube_delete_old'
and so on...
在我的一项任务中,我需要检查rcube\u plugins\u repo中是否存在account\u details
我该怎么做
我想到了这样的事情:
when: "rcube_plugins_repo.name['account_details'] is defined"
但是它不起作用,我知道如何正确地写这个
非常感谢 rcube\u plugins\u repo
是一个dict
列表,因此rcube\u plugins\u repo.name
首先不起作用。即使您得到了一个值,您也必须与account\u details进行比较,而不是检查account\u details
子元素
筛选器允许您根据筛选器筛选DICT列表。在这里,您希望根据name属性的值进行筛选
我尝试了以下方法,似乎有效:
when: "{{ rcube_plugins_repo|selectattr('name', 'eq', 'account_details')|list }}"
如果筛选列表为空,则不满足条件