Creé el siguiente script de Ansible donde verifico si un directorio está presente o no con un comodín, pero falló:
- host: windows
vars:
dir: 'c:\inetpub\wwwroot\mysite*' # without * playbook working well
tasks:
- name : check dir
win_stat:
path: "{{ dir }}"
register: dirdata
- name: check
fail:
msg: not present
when: dirdata.stat.exists == false
Obteniendo el siguiente error:
FAILED: => { " argument for the path is of type System.String and we were unable to convert to path: Illaegel characters in path.”}
¿Alguien puede sugerirme lo mismo? Gracias de antemano.
Respuesta1
El error se debe a que el Nodo de Control Ansible no puede expandir una ruta en un Nodo Remoto sin haber realizado una conexión y buscado en él. Entonces es el comportamiento esperado.
Hay módulos para usar con comodines comoBúsqueda de fileglob: enumera archivos que coinciden con un patrón, pero
La coincidencia se realiza con archivos del sistema local en el controlador Ansible. Para iterar una lista de archivos en un nodo remoto, utilice el
ansible.builtin.find
módulo.
en tu casowin_find
a
devolver una lista de archivos basada en criterios específicos.