win_msi: Add check_mode and removes options (#26086)

This PR includes:
- Add support for the removes option
- Add check_mode support (which does test MSI file, creates, removes)
- Simplify code
This commit is contained in:
Dag Wieers 2017-06-28 02:47:30 +02:00 committed by Jordan Borean
parent bb7ebc6a55
commit 58b348ddf5
2 changed files with 48 additions and 42 deletions

View file

@ -25,15 +25,14 @@ ANSIBLE_METADATA = {'metadata_version': '1.0',
'status': ['deprecated'],
'supported_by': 'community'}
DOCUMENTATION = r'''
---
module: win_msi
version_added: "1.7"
version_added: '1.7'
short_description: Installs and uninstalls Windows MSI files
description:
- Installs or uninstalls a Windows MSI file that is already located on the
target server
target server.
options:
path:
description:
@ -41,30 +40,33 @@ options:
required: true
extra_args:
description:
- Additional arguments to pass to the msiexec.exe command
- Additional arguments to pass to the msiexec.exe command.
state:
description:
- Whether the MSI file should be installed or uninstalled
choices:
- present
- absent
- Whether the MSI file should be installed or uninstalled.
choices: [ absent, present ]
default: present
creates:
description:
- Path to a file created by installing the MSI to prevent from
attempting to reinstall the package on every run
attempting to reinstall the package on every run.
removes:
description:
- Path to a file removed by uninstalling the MSI to prevent from
attempting to re-uninstall the package on every run.
version_added: '2.4'
wait:
version_added: "2.1"
description:
- Specify whether to wait for install or uninstall to complete before continuing.
choices:
- true
- false
default: false
type: bool
default: 'no'
version_added: '2.1'
notes:
- Check-mode support is currently not supported.
- Please look into M(win_package) instead, this package will be deprecated in Ansible v2.3.
author: "Matt Martz (@sivel)"
- This module is not idempotent and will report a change every time.
Use the C(creates) and C(removes) options to your advantage.
- Please look into M(win_package) instead, this package will be deprecated in the future.
author:
- Matt Martz (@sivel)
'''
EXAMPLES = r'''
@ -75,10 +77,18 @@ EXAMPLES = r'''
- name: Install an MSI, and wait for it to complete before continuing
win_msi:
path: C:\7z920-x64.msi
wait: true
wait: yes
- name: Uninstall an MSI file
win_msi:
path: C:\7z920-x64.msi
state: absent
'''
RETURN = r'''
log:
description: The logged output from the installer
returned: always
type: string
sample: N/A
'''