我在ansible中有两个列表:
toto:
- name: titi
- name: tata
titi:
- name: titi
ack: true
是否可以通过名称键将这两个列表合并以获取以下信息:
new_list:
- name: titi
ack: true
- name: tata
我不知道是否可以执行以下操作来组合字典,组合列表。
谢谢。
答案 0 :(得分:1)
Q:Is it possible to combine these two lists by the name key?
A:是的。过滤器selectattr是可能的。以下任务
- set_fact:
new_list: "{{ new_list|default([]) +
[ item|
combine(titi|selectattr('name', 'match', item.name)|
list) ] }}"
loop: "{{ toto }}"
- debug:
var: new_list
给予
"new_list": [
{
"ack": true,
"name": "titi"
},
{
"name": "tata"
}
]