如何计算与Ansible中的条件匹配的哈希中某个对象的出现次数?
在ansible变量中给定此列表:如何计算与Ansible中的条件匹配的哈希中某个对象的出现次数?,ansible,jinja2,Ansible,Jinja2,在ansible变量中给定此列表: --- 主持人: -地址:host1.local 集群: 姓名:红色 -地址:host2.local 集群: 姓名:红色 -地址:host3.local 集群: 姓名:格林 -地址:host4.local 集群: 姓名:蓝色 现在我想以某种方式计算每个集群中的主机数量。因此,我想以: hosts_per_cluster: RED: 2 BLUE: 1 GREEN: 1 这件事怎么办 我的第一次尝试是这样的: - name: Get num
---
主持人:
-地址:host1.local
集群:
姓名:红色
-地址:host2.local
集群:
姓名:红色
-地址:host3.local
集群:
姓名:格林
-地址:host4.local
集群:
姓名:蓝色
现在我想以某种方式计算每个集群中的主机数量。因此,我想以:
hosts_per_cluster:
RED: 2
BLUE: 1
GREEN: 1
这件事怎么办
我的第一次尝试是这样的:
- name: Get number of hosts per cluster
set_fact:
hosts_per_cluster[item.cluster.name]={{ hosts_per_cluster[item.cluster.name] | default(0) | int +1 }}
loop: "{{ hosts }}"
但是,这不起作用…下面的任务创建字典
-设置事实:
hpc:{hpc |默认({})|组合({item.0:item.1 | length}}})
循环:“{{u hosts}groupby('cluster.name')}”
给予
hpc:
蓝色:1
绿色:1
红色:2
您是否已经尝试过过滤器,但发现它缺少?请勿在变量中使用保留名称。任务应显示[警告]:找到使用保留名称的变量:hosts