Добавляйте creates/removes, проверяйте stat + when, пишите скрипт с ранним выходом, или сделайте свой module. Сырой shell без охраны — главный источник non-idempotent playbooks.
Разбор
changed_when/failed_when калибруют результат.
- Предпочитайте
command без shell-expansion, если возможно.
- Регистрируйте output и анализируйте.
- Идеал — оформить module в collection.
Итог
shell допустим с creates/when/changed_when; иначе пишите module.