Предположим, у меня есть следующие vars_file
:
mappings:
- primary: 1.1.1.1
secondary: 2.2.2.2
- primary: 12.12.12.12
secondary: 11.11.11.11
и файл hosts
1.1.1.1
12.12.12.12
5.5.5.5
и следующая задача playbook
- name: Extract secondary from list
debug:
msg: "{{ (mappings | selectattr('primary', 'search', inventory_hostname) | list | first | default({'secondary':None})).secondary }}"
Текущая задачаработает и выдаст пустую строку, когда совпадений не будет найдено, но я хотел бы знать, есть ли лучший способ сделать это без передачи словаря в конструктор по умолчанию.