Al crear una nueva función Ansible, la plantilla crea vars
un defaults
directorio ay un directorio con un main.yml
archivo vacío . Al definir mi rol, puedo colocar definiciones variables en cualquiera de estos, y estarán disponibles en mis tareas.
¿Cuál es la diferencia entre poner las definiciones en defaults
y vars
? ¿Qué debería entrar defaults
y qué debería entrar vars
? ¿Tiene sentido usar ambos para los mismos datos?
Sé que hay una diferencia de precedencia / prioridad entre los dos, pero me gustaría entender qué debería ir a dónde.
Digamos que mi rol crearía una lista de directorios en el sistema de destino. Me gustaría proporcionar una lista de directorios predeterminados que se crearán, pero me gustaría permitir que el usuario los anule al usar el rol.
Así es como se vería esto:
---
- directories:
- foo
- bar
- baz
Podría colocar esto en el defaults/main.yml
o en el vars/main.yml
, desde una perspectiva de ejecución, no haría ninguna diferencia, pero ¿a dónde debería ir?
defaults
y quévars
más abajo.