J'utilise ansible 1.9.4 et j'aimerais obtenir la liste des fichiers à partir d'un répertoire local.
Dans la version 2.0, il y a le module de recherche mais cette version est beta.
Comment faire cela en <2.0?
Il y a quelque temps, je construisais une automatisation qui nécessitait quelque chose comme ça - voir Ansible envoyer le fichier à la première destination rencontrée .
Avant ansible 2.0, il n'y avait aucun moyen de le faire sans utiliser command
ou Shell
.
Si vous ne pouvez vraiment pas passer à ansible 2.0, utilisez le module command
:
vars:
directory: /path/to/dir
tasks:
- command: "ls {{directory}}"
register: dir_out
- debug: var={{item}}
with_items: dir_out.stdout_lines
Ceci est un exemple de liste de tous les fichiers avec l'extension .j2 dans les modèles de répertoire et de les transmettre à un module.
template: src="{{ item }}" dest="generated/{{ inventory_hostname }}/{{ item | basename | replace('.j2', '')}}"
delegate_to: 127.0.0.1
with_fileglob: templates/*.j2