Ao criar uma nova função Ansible, o modelo cria a varse um defaultsdiretório com um main.ymlarquivo 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 defaultse vars? O que deve entrar defaultse 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.ymlou no vars/main.yml, de uma perspectiva de execução, não faria diferença - mas para onde deveria ir?
defaultse o quevarsmais adiante.