Las tareas que responden deben ser idempotentes . P.ej. Si la tarea no modifica nada, debería volver en ok
lugar de changed
. La mayoría de los módulos y tareas integradas ya están disponibles, pero para tareas como command
y shell
necesita ayudar un poco.
Para una tarea que simplemente verifica y no modifica nada, debe agregar:
changed_when: False
always_run: yes
Este último permite que la tarea se ejecute incluso en modo de verificación .
En aras de la exhaustividad, tales tareas generalmente se combinan con otra que realiza la modificación real, por ejemplo:
- command: check command that returns true when no change needed
register: result
changed_when: False
always_run: yes
- command: modify command
when: result.rc != 0