web-dev-qa-db-fra.com

Ansible: obtenir la liste des fichiers à partir du répertoire local

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?

14
Kiva

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
16
Bernardo Vale

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
9
user43731