diff --git a/docs/docsite/rst/user_guide/playbooks_error_handling.rst b/docs/docsite/rst/user_guide/playbooks_error_handling.rst index c5dc68ecbcb..d77482003a6 100644 --- a/docs/docsite/rst/user_guide/playbooks_error_handling.rst +++ b/docs/docsite/rst/user_guide/playbooks_error_handling.rst @@ -100,10 +100,21 @@ You can also combine multiple conditions for failure. This task will fail if bot - result.rc == 0 - '"No such" not in result.stdout' - If you want the task to fail when only one condition is satisfied, change the ``failed_when`` definition to:: +If you want the task to fail when only one condition is satisfied, change the ``failed_when`` definition to:: failed_when: result.rc == 0 or "No such" not in result.stdout +If you have too many conditions to fit neatly into one line, you can split it into a multi-line yaml value with ``>``:: + + + - name: example of many failed_when conditions with OR + shell: "./myBinary" + register: ret + failed_when: > + ("No such file or directory" in ret.stdout) or + (ret.stderr != '') or + (ret.rc == 10) + .. _override_the_changed_result: Overriding The Changed Result