¿Cómo atravesar una estructura dictada anidada con Ansible?
Tengo la siguiente variable de estructura dict en un libro de jugadas ansible:
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
Necesito crear un enlace simbólico para cada uno de losserver_name
yserver_aliases
dominios, por ejemplo:
/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
Tengo la siguiente tarea que funciona para elserver_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
Pero no estoy seguro de cómo puedo hacer lo mismo para la variedad deserver_aliases
.
Estoy feliz de usar dos tareas separadas si es necesario, pero estoy interesado en evitar tener que agregar unadomains
variable que duplica la lista de dominios en una estructura plana.
EstaPublicación de Grupos de Google está cerca, pero no puedo entender cómo hacer que funcione para múltiples hosts virtuales.
es posible? ¿O este es fundamentalmente el enfoque equivocado?