Ao escrever papéis Ansible, vale a pena deixar espaço para a inserção de tarefas (como callbacks ou ganchos).
Por exemplo, em [role] /tasks/main.yml:
- task 1
- task 2
<--- you want to allow something to happen here.
- task 3
Para fazer isso, adicione um arquivo vazio em (por exemplo) [role]/hooks/empty.yml
e adicione uma instrução de inserção como a seguinte:
- include: "{{ hook_variable | default(lookup('pipe', 'pwd') ~ '/hooks/empty.yml') }}"
Onde hook_variable
é um caminho completo para o arquivo de tarefas a ser incluído.
Um exemplo que usa o playbook_dir
:
hook_variable: "{{ playbook_dir }}/hooks/tasks-file.yml"
A razão pela qual o default
filtro é usado é porque é necessário apontar para um arquivo existente com include
. O exemplo acima usa o lookup
plugin para encontrar o caminho da sua função.