我一直试图在ansible剧本中避免使用较旧的with_ *语法,但是有一个我没有设法用loop重新创建:
- include: copy_files.yml cb="{{ item.cb }}"
with_flattened:
- "{{ configs }}"
when: item.service|upper in group_names
配置包含:
configs:
- { service: foo, cb: bar }
- { service: blaat, cb: blurt }
我只想返回configs.cb,其中configs.service在目标服务器的组名中。
如果我将其转换为:
loop:
- "{{ configs | flatten(levels=1) }}"
我一直收到以下错误消息:列表项不包含服务。
(另:还有一种更好的格式化该数据集的方法吗?)