Compare commits

...

12 commits

Author SHA1 Message Date
Mandar Kulkarni
a072f0b2ef Minor fix, with_items 2021-08-05 17:00:03 -07:00
Mandar Kulkarni
c8790770da Minor fix, remove ignore_errors 2021-08-05 16:58:51 -07:00
Mandar Kulkarni
d5f7cf0b22 Modify based on feedback 2021-08-05 16:15:45 -07:00
Mandar Kulkarni
01f599cd7a Modifying output to be displayed based on feedback 2021-07-28 15:11:25 -07:00
Mandar Kulkarni
fd4e362d16 Modifying based on feedback 2021-07-27 15:21:23 -07:00
Mandar Kulkarni
f5088453d2 Modifying based on feedback 2021-07-27 15:16:58 -07:00
mandar
39930cac21 Adding tests, corrections 2021-07-14 09:40:23 +05:30
Mandar Kulkarni
8ceac49534 Added Changelog fragment 2021-07-12 12:00:24 -07:00
Mandar Kulkarni
afe4ec8334 Fix: moving conditional to correct place 2021-07-12 10:21:36 -07:00
Mandar Kulkarni
112fe9e9d0 Added documentation and example for quiet option 2021-07-12 09:13:16 -07:00
Mandar Kulkarni
6e96120b14 Adding rsync parameter 'quiet' to synchronize 2021-07-12 09:00:16 -07:00
Mandar Kulkarni
5149c41229 Adding parameter to synchronize module to suppress verbose output and print error only 2021-07-11 22:39:10 -07:00
3 changed files with 57 additions and 8 deletions

View file

@ -0,0 +1,2 @@
minor_changes:
- synchronize - add the ``quiet`` option to suppress output messages (https://github.com/ansible-collections/ansible.posix/issues/171).

View file

@ -8,7 +8,6 @@
from __future__ import absolute_import, division, print_function
__metaclass__ = type
DOCUMENTATION = r'''
---
module: synchronize
@ -184,6 +183,12 @@ options:
type: bool
default: yes
version_added: '1.3.0'
quiet:
description:
- This option specifies quiet option which on true suppresses the output.
type: bool
default: no
version_added: '1.3.0'
notes:
- rsync must be installed on both the local and remote host.
@ -341,6 +346,12 @@ EXAMPLES = r'''
src: /tmp/localpath/
dest: /tmp/remotepath
rsync_path: /usr/gnu/bin/rsync
- name: Synchronization with quiet option enabled
ansible.posix.synchronize:
src: some/relative/path
dest: /some/absolute/path
quiet: yes
'''
@ -417,6 +428,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'),
quiet=dict(type='bool', default=False)
),
supports_check_mode=True,
)
@ -457,6 +469,7 @@ def main():
verify_host = module.params['verify_host']
link_dest = module.params['link_dest']
delay_updates = module.params['delay_updates']
quiet = module.params['quiet']
if '/' not in rsync:
rsync = module.get_bin_path(rsync, required=True)
@ -619,14 +632,17 @@ def main():
out_lines = out_clean.split('\n')
while '' in out_lines:
out_lines.remove('')
if module._diff:
diff = {'prepared': out_clean}
return module.exit_json(changed=changed, msg=out_clean,
rc=rc, cmd=cmdstr, stdout_lines=out_lines,
diff=diff)
return module.exit_json(changed=changed, msg=out_clean,
rc=rc, cmd=cmdstr, stdout_lines=out_lines)
result = dict(changed=changed, rc=rc, cmd=cmdstr, stdout_lines=out_lines, msg=out_clean)
if quiet:
changes = out.count(changed_marker) if changed else 0
result['msg'] = "%s files/directories have been synchronized" % changes
if module._diff:
result['diff'] = {'prepared': out_clean}
return module.exit_json(**result)
if __name__ == '__main__':

View file

@ -227,3 +227,34 @@
- directory_a/foo.txt
- directory_a
- directory_b
- name: synchronize files with quiet option
synchronize:
src: '{{ output_dir }}/foo.txt'
dest: '{{ output_dir }}/foo.result'
quiet: true
register: sync_result
- assert:
that:
- '''files/directories have been synchronized'' in sync_result.msg'
- name: Cleanup
file:
state: absent
path: '{{ output_dir }}/{{ item }}'
loop:
- foo.result
- bar.result
- name: synchronize files without quiet option
synchronize:
src: '{{ output_dir }}/foo.txt'
dest: '{{ output_dir }}/foo.result'
register: sync_result
- assert:
that:
- '''files/directories have been synchronized'' not in sync_result.msg'
- name: Cleanup
file:
state: absent
path: '{{ output_dir }}/{{ item }}'
loop:
- foo.result
- bar.result