On this page
win_unzip - Unzips compressed files and archives on the Windows node
New in version 2.0.
Synopsis
- Unzips compressed files and archives.
- Supports .zip files natively.
- Supports other formats supported by the Powershell Community Extensions (PSCX) module (basically everything 7zip supports).
- For non-Windows targets, use the unarchive module instead.
Requirements
The below requirements are needed on the host that executes this module.
- PSCX
Parameters
Parameter | Choices/Defaults | Comments |
---|---|---|
creates |
If this file or directory exists the specified src will not be extracted.
|
|
delete_archive
bool
|
|
Remove the zip file, after unzipping.
aliases: rm |
dest
required
|
Destination of zip file (provide absolute path of directory). If it does not exist, the directory will be created.
|
|
recurse
bool
|
|
Recursively expand zipped files within the src file.
Setting to a value of yes requires the PSCX module to be installed.
|
src
required
|
File to be unzipped (provide absolute path).
|
Notes
Note
- This module is not really idempotent, it will extract the archive every time, and report a change.
- For extracting any compression types other than .zip, the PowerShellCommunityExtensions (PSCX) Module is required. This module (in conjunction with PSCX) has the ability to recursively unzip files within the src zip file provided and also functionality for many other compression types. If the destination directory does not exist, it will be created before unzipping the file. Specifying rm parameter will force removal of the src file after extraction.
- For non-Windows targets, use the unarchive module instead.
Examples
# This unzips a library that was downloaded with win_get_url, and removes the file after extraction
# $ ansible -i hosts -m win_unzip -a "src=C:\LibraryToUnzip.zip dest=C:\Lib remove=true" all
- name: Unzip a bz2 (BZip) file
win_unzip:
src: C:\Users\Phil\Logs.bz2
dest: C:\Users\Phil\OldLogs
creates: C:\Users\Phil\OldLogs
- name: Unzip gz log
win_unzip:
src: C:\Logs\application-error-logs.gz
dest: C:\ExtractedLogs\application-error-logs
# Unzip .zip file, recursively decompresses the contained .gz files and removes all unneeded compressed files after completion.
- name: Unzip ApplicationLogs.zip and decompress all GZipped log files
hosts: all
gather_facts: no
tasks:
- name: Recursively decompress GZ files in ApplicationLogs.zip
win_unzip:
src: C:\Downloads\ApplicationLogs.zip
dest: C:\Application\Logs
recurse: yes
delete_archive: yes
- name: Install PSCX
win_psmodule:
name: Pscx
state: present
Return Values
Common return values are documented here, the following are the fields unique to this module:
Key | Returned | Description |
---|---|---|
dest
string
|
always |
The provided destination path
Sample:
C:\ExtractedLogs\application-error-logs
|
removed
boolean
|
always |
Whether the module did remove any files during task run
Sample:
True
|
src
string
|
always |
The provided source path
Sample:
C:\Logs\application-error-logs.gz
|
Status
This module is flagged as preview which means that it is not guaranteed to have a backwards compatible interface.
Maintenance
This module is flagged as community which means that it is maintained by the Ansible Community. See Module Maintenance & Support for more info.
For a list of other modules that are also maintained by the Ansible Community, see here.
Author
- Phil Schwartz (@schwartzmx)
Hint
If you notice any issues in this documentation you can edit this document to improve it.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.6/modules/win_unzip_module.html