Defining a change
Similar to defining a task failure, it is also possible to define what constitutes a changed task result. This capability is particularly useful with the ansible.builtin.command
family of modules (command
, shell
, raw
, and script
). Unlike most other modules, the modules of this family do not have an inherent idea of what a change may be. In fact, unless otherwise directed, these modules only result in failed
, changed
, or skipped
. There is simply no way for these modules to assume a changed versus unchanged condition, as they cannot be expected to understand or interpret every possible shell command you might execute using them.
The changed_when
condition allows a playbook author to instruct a module on how to interpret a change. Just like failed_when
, changed_when
performs a test to generate a Boolean result. Frequently, the tasks used with changed_when
are commands that will exit...