данных set создал, т.е уникальные значения толкьо оставил в объединяющем списке?
---
- hosts: localhost
connection: local
vars:
my_list:
- { name: foo, settings: [ 'x', 'y', 'z' ] }
- { name: bar, settings: [ 'x', 'y', 'q', 'w' ] }
tasks:
- name: Set fact union_list
set_fact:
union_list: "{{ union_list | default([]) | union(item.settings) }}"
loop: "{{ my_list }}"
- name: Prins union_list
debug:
msg: "{{ union_list }}"
на выходе
ok: [127.0.0.1] => {
"msg": [
"x",
"y",
"z",
"q",
"w"
]
}
Вместо ожидаемого [ 'x', 'y', 'z', 'x', 'y', 'q', 'w' ]
Он сделал ровно то, что по документации положено: https://docs.ansible.com/ansible/latest/user_guide/playbooks_filters.html#selecting-from-sets-or-lists-set-theory.
Обсуждают сегодня