我需要检查两个子字典中是否没有使用同一个端口。在
my_dict:
first:
redis:
port: 1234
second:
redis:
port: 1235
third:
redis:
port: 1234
在任务中,我可以使用以下方法:
^{pr2}$
这将返回:
['1234', '1235', '1234']
我需要的是,用某种方法只过滤重复项。所以我得到:
['1234', '1234']
回来了。在
基本上,我需要检查端口是否重复,如果它们应用了fail任务,检查并显示哪些项导致了冲突。在
有什么想法吗?在
Tags:
非常感谢你的帮助马修!在
我觉得有点太难看了,有事实,等等,所以我决定只做一个过滤器插件迅速。。。或者更重要的是,对mathstuff.py文件进行添加。在
添加:
在文件的主体部分,并添加:
^{pr2}$进入:
所以
Jinja2
知道过滤器。在当我有时间的时候,我会发出一个请求,但是如果有人同时发现这个请求,或者如果您不想/不能更新Ansible,那么下面的方法非常有用:
退货:
我用大得多的样本做了一些测试,结果如愿。在
享受吧!
@stacksonstacks链接到的过滤器在这种特定情况下是没有帮助的,因为端口的填充总是相同的,只是它们的数量发生变化:
set([1,2,2,2]) == set([1,2])
总是True
所以我们真正想要的是按端口分组,寻找长度大于1的子节点。然后,我们可以提取导致冲突的密钥的名称,以便报告它们。在
相关问题 更多 >
编程相关推荐