mirror of
https://github.com/thegeeklab/ansible-later.git
synced 2024-11-16 10:00:39 +00:00
136 lines
4.0 KiB
Python
136 lines
4.0 KiB
Python
|
#!/usr/bin/python
|
||
|
# -*- coding: utf-8 -*-
|
||
|
|
||
|
# Copyright: (c) 2015, Corwin Brown <blakfeld@gmail.com>
|
||
|
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
|
||
|
|
||
|
# this is a windows documentation stub. actual code lives in the .ps1
|
||
|
# file of the same name
|
||
|
|
||
|
ANSIBLE_METADATA = {'metadata_version': '1.1',
|
||
|
'status': ['preview'],
|
||
|
'supported_by': 'community'}
|
||
|
|
||
|
DOCUMENTATION = r'''
|
||
|
---
|
||
|
module: win_robocopy
|
||
|
version_added: '2.2'
|
||
|
short_description: Synchronizes the contents of two directories using Robocopy
|
||
|
description:
|
||
|
- Synchronizes the contents of two directories on the remote machine.
|
||
|
- Under the hood this just calls out to RoboCopy, since that should be available
|
||
|
on most modern Windows Systems.
|
||
|
options:
|
||
|
src:
|
||
|
description:
|
||
|
- Source file/directory to sync.
|
||
|
required: yes
|
||
|
type: path
|
||
|
dest:
|
||
|
description:
|
||
|
- Destination file/directory to sync (Will receive contents of src).
|
||
|
required: yes
|
||
|
type: path
|
||
|
recurse:
|
||
|
description:
|
||
|
- Includes all subdirectories (Toggles the C(/e) flag to RoboCopy).
|
||
|
- If C(flags) is set, this will be ignored.
|
||
|
type: bool
|
||
|
default: 'no'
|
||
|
purge:
|
||
|
description:
|
||
|
- Deletes any files/directories found in the destination that do not exist in the source.
|
||
|
- Toggles the C(/purge) flag to RoboCopy. If C(flags) is set, this will be ignored.
|
||
|
type: bool
|
||
|
default: 'no'
|
||
|
flags:
|
||
|
description:
|
||
|
- Directly supply Robocopy flags. If set, C(purge) and C(recurse) will be ignored.
|
||
|
author:
|
||
|
- Corwin Brown (@blakfeld)
|
||
|
notes:
|
||
|
- This is not a complete port of the M(synchronize) module. Unlike the M(synchronize) module this only performs the sync/copy on the remote machine,
|
||
|
not from the master to the remote machine.
|
||
|
- This module does not currently support all Robocopy flags.
|
||
|
'''
|
||
|
|
||
|
EXAMPLES = r'''
|
||
|
- name: Sync the contents of one directory to another
|
||
|
win_robocopy:
|
||
|
src: C:\DirectoryOne
|
||
|
dest: C:\DirectoryTwo
|
||
|
|
||
|
- name: Sync the contents of one directory to another, including subdirectories
|
||
|
win_robocopy:
|
||
|
src: C:\DirectoryOne
|
||
|
dest: C:\DirectoryTwo
|
||
|
recurse: yes
|
||
|
|
||
|
- name: Sync the contents of one directory to another, and remove any files/directories found in destination that do not exist in the source
|
||
|
win_robocopy:
|
||
|
src: C:\DirectoryOne
|
||
|
dest: C:\DirectoryTwo
|
||
|
purge: yes
|
||
|
|
||
|
- name: Sync content in recursive mode, removing any files/directories found in destination that do not exist in the source
|
||
|
win_robocopy:
|
||
|
src: C:\DirectoryOne
|
||
|
dest: C:\DirectoryTwo
|
||
|
recurse: yes
|
||
|
purge: yes
|
||
|
|
||
|
- name: Sync two directories in recursive and purging mode, specifying additional special flags
|
||
|
win_robocopy:
|
||
|
src: C:\DirectoryOne
|
||
|
dest: C:\DirectoryTwo
|
||
|
flags: /E /PURGE /XD SOME_DIR /XF SOME_FILE /MT:32
|
||
|
'''
|
||
|
|
||
|
RETURN = r'''
|
||
|
cmd:
|
||
|
description: The used command line
|
||
|
returned: always
|
||
|
type: string
|
||
|
sample: robocopy C:\DirectoryOne C:\DirectoryTwo /e /purge
|
||
|
src:
|
||
|
description: The Source file/directory of the sync.
|
||
|
returned: always
|
||
|
type: string
|
||
|
sample: C:\Some\Path
|
||
|
dest:
|
||
|
description: The Destination file/directory of the sync.
|
||
|
returned: always
|
||
|
type: string
|
||
|
sample: C:\Some\Path
|
||
|
recurse:
|
||
|
description: Whether or not the recurse flag was toggled.
|
||
|
returned: always
|
||
|
type: bool
|
||
|
sample: False
|
||
|
purge:
|
||
|
description: Whether or not the purge flag was toggled.
|
||
|
returned: always
|
||
|
type: bool
|
||
|
sample: False
|
||
|
flags:
|
||
|
description: Any flags passed in by the user.
|
||
|
returned: always
|
||
|
type: string
|
||
|
sample: /e /purge
|
||
|
rc:
|
||
|
description: The return code returned by robocopy.
|
||
|
returned: success
|
||
|
type: int
|
||
|
sample: 1
|
||
|
output:
|
||
|
description: The output of running the robocopy command.
|
||
|
returned: success
|
||
|
type: string
|
||
|
sample: "------------------------------------\\n ROBOCOPY :: Robust File Copy for Windows \\n------------------------------------\\n "
|
||
|
msg:
|
||
|
description: Output intrepreted into a concise message.
|
||
|
returned: always
|
||
|
type: string
|
||
|
sample: No files copied!
|
||
|
'''
|