Lors de la création d'un nouveau rôle Ansible, le modèle crée à la fois un vars
et un defaults
répertoire avec un main.yml
fichier 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 defaults
et vars
? Qu'est-ce qui devrait entrer defaults
et 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.yml
ou dans le vars/main.yml
, du point de vue de l'exécution, cela ne ferait aucune différence - mais où devrait-il aller?
defaults
et ce qu'il y avars
plus bas.