Lors de la création d'un nouveau rôle Ansible, le modèle crée à la fois un varset un defaultsrépertoire avec un main.ymlfichier vide . Lors de la définition de mon rôle, je peux placer des définitions de variables dans l'un ou l'autre de ces éléments, et elles seront disponibles dans mes tâches.
Quelle est la différence entre mettre les définitions dans defaultset vars? Qu'est-ce qui devrait entrer defaultset que devrait entrer vars? Est-il judicieux d'utiliser les deux pour les mêmes données?
Je sais qu'il y a une différence de priorité / priorité entre les deux, mais j'aimerais comprendre ce qui devrait aller où.
Disons que mon rôle créerait une liste de répertoires sur le système cible. Je voudrais fournir une liste de répertoires par défaut à créer, mais je voudrais permettre à l'utilisateur de les remplacer lors de l'utilisation du rôle.
Voici à quoi cela ressemblerait:
---
- directories:
- foo
- bar
- baz
Je pourrais placer cela dans le defaults/main.ymlou dans le vars/main.yml, du point de vue de l'exécution, cela ne ferait aucune différence - mais où devrait-il aller?
defaultset ce qu'il y avarsplus bas.