Файл вара определяются следующим образом:Выбор переменных динамически в анзибле
packages:
- python-pycurl
- name: tmux
files:
tmux.conf: /etc/tmux/conf
tmux2.conf: /etc/tmux/conf2
Так пакет список имен пакетов или словарей, если требуется расширенная настройка. Я хотел бы установить все пакеты с помощью одной задачи независимо от того, определено ли имя пакета в списке или с помощью словаря. Я прыгал то вроде следующего может быть достигнуто:
- name: Install Base Packages
apt: name={{ [item.name, item] | select('defined') }}
with_items: packages
Я знаю, что я могу сделать это с 2 TAKS использованием when
строфу, но это не то, что я хочу, как это не DRY.
Вторая часть также представляет проблему, так как первый пакет не имеет файлы, определенные таким образом, это жалуется:
- name: Copy package customizations
copy: src={{item.key}} dest={{item.value}}
with_subelements:
- packages
- files
ли это вообще возможно, чтобы использовать этот вид установки или я должен быть слишком разговорчивым, даже для те элементы, которые этого не требуют?