From 7d5ada71616af96ceec7295aa089009c0ad12f92 Mon Sep 17 00:00:00 2001 From: Matthew Davis Date: Tue, 7 May 2019 00:11:27 +1000 Subject: [PATCH] add doc example of multiline failed_when with OR (#56007) * add doc example of multiline failed_when with OR * add variety to multiple OR failed_when doc example --- .../rst/user_guide/playbooks_error_handling.rst | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) 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