Как пройти через вложенную структуру dict с помощью Ansible?
У меня есть следующая переменная структуры dict в ANSIBLE playbook:
apache_vhosts:
- name: foo
server_name: foo.com
server_aliases:
- a.foo.com
- b.foo.com
- c.foo.com
- name: bar
server_name: bar.com
server_aliases:
- d.bar.com
- e.bar.com
- f.bar.com
Мне нужно создать символическую ссылку для каждого изserver_name
а такжеserver_aliases
домены, например:
/tmp/foo.com -> /var/www/foo
/tmp/a.foo.com -> /var/www/foo
/tmp/b.foo.com -> /var/www/foo
/tmp/c.foo.com -> /var/www/foo
/tmp/bar.com -> /var/www/bar
/tmp/d.bar.com -> /var/www/bar
/tmp/e.bar.com -> /var/www/bar
/tmp/f.bar.com -> /var/www/bar
У меня есть следующая задача, которая работает дляserver_name
:
- name: Add a domain symlinks /tmp for server_name.
file:
src: "/var/www/{{ item.name }}"
dest: "/tmp/{{ item.server_name }}"
state: link
with_items: apache_vhosts
Но я не уверен, как я могу сделать то же самое для массиваserver_aliases
.
Я рад использовать две отдельные задачи, если это необходимо, но я стараюсь не добавлять отдельныеdomains
переменная, которая дублирует список доменов в плоской структуре.
этоСообщение групп Google близко, но я не могу понять, как заставить его работать для нескольких виртуальных хостов.
Это возможно? Или это принципиально неправильный подход?