From d0d7f7d362759e6bff489e7a9cef96397045b843 Mon Sep 17 00:00:00 2001 From: Mandar Kulkarni Date: Sun, 11 Jul 2021 22:39:10 -0700 Subject: [PATCH] Adding parameter to synchronize module to suppress verbose output and print error only --- plugins/modules/synchronize.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/plugins/modules/synchronize.py b/plugins/modules/synchronize.py index 40fae71..8444de7 100644 --- a/plugins/modules/synchronize.py +++ b/plugins/modules/synchronize.py @@ -419,6 +419,7 @@ def main(): delay_updates=dict(type='bool', default=True), mode=dict(type='str', default='push', choices=['pull', 'push']), link_dest=dict(type='list', elements='str'), + print_err_only=dict(type='bool',default=False) ), supports_check_mode=True, ) @@ -459,6 +460,7 @@ def main(): verify_host = module.params['verify_host'] link_dest = module.params['link_dest'] delay_updates = module.params['delay_updates'] + print_err_only = module.params['print_err_only'] if '/' not in rsync: rsync = module.get_bin_path(rsync, required=True) @@ -608,6 +610,10 @@ def main(): else: (rc, out, err) = module.run_command(cmdstr) + # If print_errors_only is true, supress the verbose output by suppressing changes but allowing errors + if print_err_only: + return module.fail_json(msg=err) + if rc: return module.fail_json(msg=err, rc=rc, cmd=cmdstr)