Note
This plugin is part of the ansible.windows collection.
To install it use: ansible-galaxy collection install ansible.windows
.
To use it in a playbook, specify: ansible.windows.win_copy
.
win_copy
module copies a file on the local box to remote windows locations.Note
This module has a corresponding action plugin.
Parameter | Choices/Defaults | Comments |
---|---|---|
backup boolean |
| Determine whether a backup should be created. When set to yes , create a backup file including the timestamp information so you can get the original file back if you somehow clobbered it incorrectly.No backup is taken when remote_src=False and multiple files are being copied. |
content string | When used instead of src , sets the contents of a file directly to the specified value.This is for simple values, for anything complex or with formatting please switch to the ansible.windows.win_template module. | |
decrypt boolean |
| This option controls the autodecryption of source files using vault. |
dest path / required | Remote absolute path where the file should be copied to. If src is a directory, this must be a directory too.Use \ for path separators or \\ when in "double quotes". If dest ends with \ then source or the contents of source will be copied to the directory without renaming.If dest is a nonexistent path, it will only be created if dest ends with "/" or "\", or src is a directory.If src and dest are files and if the parent directory of dest doesn't exist, then the task will fail. | |
force boolean |
| If set to yes , the file will only be transferred if the content is different than destination.If set to no , the file will only be transferred if the destination does not exist.If set to no , no checksuming of the content is performed which can help improve performance on larger files. |
local_follow boolean |
| This flag indicates that filesystem links in the source tree, if they exist, should be followed. |
remote_src boolean |
| If no , it will search for src at originating/controller machine.If yes , it will go to the remote/target machine for the src. |
src path | Local path to a file to copy to the remote server; can be absolute or relative. If path is a directory, it is copied (including the source folder name) recursively to dest .If path is a directory and ends with "/", only the inside contents of that directory are copied to the destination. Otherwise, if it does not end with "/", the directory itself with all contents is copied. If path is a file and dest ends with "\", the file is copied to the folder with the same filename. Required unless using content . |
Note
\
are used instead of /
when dealing with remote paths.See also
The official documentation on the community.general.assemble module.
The official documentation on the ansible.builtin.copy module.
The official documentation on the ansible.windows.win_get_url module.
The official documentation on the community.windows.win_robocopy module.
- name: Copy a single file ansible.windows.win_copy: src: /srv/myfiles/foo.conf dest: C:\Temp\renamed-foo.conf - name: Copy a single file, but keep a backup ansible.windows.win_copy: src: /srv/myfiles/foo.conf dest: C:\Temp\renamed-foo.conf backup: yes - name: Copy a single file keeping the filename ansible.windows.win_copy: src: /src/myfiles/foo.conf dest: C:\Temp\ - name: Copy folder to C:\Temp (results in C:\Temp\temp_files) ansible.windows.win_copy: src: files/temp_files dest: C:\Temp - name: Copy folder contents recursively ansible.windows.win_copy: src: files/temp_files/ dest: C:\Temp - name: Copy a single file where the source is on the remote host ansible.windows.win_copy: src: C:\Temp\foo.txt dest: C:\ansible\foo.txt remote_src: yes - name: Copy a folder recursively where the source is on the remote host ansible.windows.win_copy: src: C:\Temp dest: C:\ansible remote_src: yes - name: Set the contents of a file ansible.windows.win_copy: content: abc123 dest: C:\Temp\foo.txt - name: Copy a single file as another user ansible.windows.win_copy: src: NuGet.config dest: '%AppData%\NuGet\NuGet.config' vars: ansible_become_user: user ansible_become_password: pass # The tmp dir must be set when using win_copy as another user # This ensures the become user will have permissions for the operation # Make sure to specify a folder both the ansible_user and the become_user have access to (i.e not %TEMP% which is user specific and requires Admin) ansible_remote_tmp: 'c:\tmp'
Common return values are documented here, the following are the fields unique to this module:
Key | Returned | Description |
---|---|---|
backup_file string | if backup=yes | Name of the backup file that was created. Sample: C:\Path\To\File.txt.11540.20150212-220915.bak |
checksum string | success, src is a file | SHA1 checksum of the file after running copy. Sample: 6e642bb8dd5c2e027bf21dd923337cbb4214f827 |
dest string | changed | Destination file/path. Sample: C:\Temp\ |
operation string | success | Whether a single file copy took place or a folder copy. Sample: file_copy |
original_basename string | changed, src is a file | Basename of the copied file. Sample: foo.txt |
size integer | changed, src is a file | Size of the target, after execution. Sample: 1220 |
src string | changed | Source file used for the copy on the target machine. Sample: /home/httpd/.ansible/tmp/ansible-tmp-1423796390.97-147729857856000/source |
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.10/collections/ansible/windows/win_copy_module.html