846161a1a4
This patch adds an optional 'executable=' option to the raw command line to override the default shell (/bin/sh), much like the shell module does.
32 lines
1.4 KiB
Text
32 lines
1.4 KiB
Text
# this is a virtual module that is entirely implemented server side
|
|
|
|
DOCUMENTATION = '''
|
|
---
|
|
module: raw
|
|
short_description: Executes a low-down and dirty SSH command
|
|
options:
|
|
free_form:
|
|
description:
|
|
- the raw module takes a free form command to run
|
|
required: true
|
|
executable:
|
|
description:
|
|
- change the shell used to execute the command. Should be an absolute path to the executable.
|
|
required: false
|
|
version_added: "1.0"
|
|
description:
|
|
- Executes a low-down and dirty SSH command, not going through the module
|
|
subsystem. This is useful and should only be done in two cases. The
|
|
first case is installing C(python-simplejson) on older (Python 2.4 and
|
|
before) hosts that need it as a dependency to run modules, since nearly
|
|
all core modules require it. Another is speaking to any devices such as
|
|
routers that do not have any Python installed. In any other case, using
|
|
the M(shell) or M(command) module is much more appropriate. Arguments
|
|
given to M(raw) are run directly through the configured remote shell.
|
|
Standard output, error output and return code are returned when
|
|
available. There is no change handler support for this module.
|
|
examples:
|
|
- description: Example from C(/usr/bin/ansible) to bootstrap a legacy python 2.4 host
|
|
code: ansible newhost.example.com -m raw -a "yum -y install python-simplejson"
|
|
author: Michael DeHaan
|
|
'''
|