Фильтр dict служит для создания словаря из списка пар ключ-значение. Воспользуемся фильтром продукт для создания списка. Например,
- set_fact:
my_fact: "{{ dict(list1|product(list2)) }}"
vars:
list1:
- 1
- 2
- 3
list2:
- ['some string value']
- debug:
var: my_fact
- debug:
msg: "{{ my_fact|to_json }}"
дает ожидаемый результат
my_fact:
1:
- some string value
2:
- some string value
3:
- some string value
msg: '{"1": ["some string value"], "2": ["some string value"], "3": ["some string value"]}'
Ниже приведен пример использования фильтра zip для создания словаря из двух списков . Например,
- set_fact:
my_fact: "{{ dict(list1|zip(list2)) }}"
vars:
list1:
- 1
- 2
- 3
list2:
- [value-1a, value-1b, value-1c]
- [value-2a, value-2b, value-2c]
- [value-3a, value-3b, value-3c]
- debug:
var: my_fact
дает
my_fact:
1:
- value-1a
- value-1b
- value-1c
2:
- value-2a
- value-2b
- value-2c
3:
- value-3a
- value-3b
- value-3c