Ao criar uma nova função Ansible, o modelo cria a vars
e um defaults
diretório com um main.yml
arquivo vazio . Ao definir minha função, posso colocar definições de variáveis em qualquer uma delas e elas estarão disponíveis em minhas tarefas.
Qual é a diferença entre colocar as definições em defaults
e vars
? O que deve entrar defaults
e o que deve entrar vars
? Faz sentido usar os dois para os mesmos dados?
Sei que há uma diferença de precedência / prioridade entre os dois, mas gostaria de entender o que deve ir aonde.
Digamos que minha função criaria uma lista de diretórios no sistema de destino. Gostaria de fornecer uma lista de diretórios padrão a serem criados, mas gostaria de permitir que o usuário os substitua ao usar a função.
Aqui está como isso seria:
---
- directories:
- foo
- bar
- baz
Eu poderia colocar isso no defaults/main.yml
ou no vars/main.yml
, de uma perspectiva de execução, não faria diferença - mas para onde deveria ir?
defaults
e o quevars
mais adiante.