mirror of
https://github.com/ansible-collections/community.general.git
synced 2024-09-14 20:13:21 +02:00
module_helper cmd - added feature flag to control whether CmdMixin adds rc, out and err t… (#2922) (#2988)
* added feature flag to control whether CmdMixin adds rc, out and err to the result of the module
* added changelog fragment
* changed from a global flag to parameters in run_command
* updated changelog
* fixed brainless copy-paste of yours truly
(cherry picked from commit c5cbe2943b
)
Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
This commit is contained in:
parent
1c84389f50
commit
3cd7b0ec25
2 changed files with 16 additions and 2 deletions
2
changelogs/fragments/2922-mh-cmd-output-feature-flag.yml
Normal file
2
changelogs/fragments/2922-mh-cmd-output-feature-flag.yml
Normal file
|
@ -0,0 +1,2 @@
|
|||
minor_changes:
|
||||
- module_helper module utils - added feature flag parameters to ``CmdMixin`` to control whether ``rc``, ``out`` and ``err`` are automatically added to the module output (https://github.com/ansible-collections/community.general/pull/2922).
|
|
@ -152,7 +152,14 @@ class CmdMixin(object):
|
|||
def process_command_output(self, rc, out, err):
|
||||
return rc, out, err
|
||||
|
||||
def run_command(self, extra_params=None, params=None, process_output=None, *args, **kwargs):
|
||||
def run_command(self,
|
||||
extra_params=None,
|
||||
params=None,
|
||||
process_output=None,
|
||||
publish_rc=True,
|
||||
publish_out=True,
|
||||
publish_err=True,
|
||||
*args, **kwargs):
|
||||
self.vars.cmd_args = self._calculate_args(extra_params, params)
|
||||
options = dict(self.run_command_fixed_options)
|
||||
options['check_rc'] = options.get('check_rc', self.check_rc)
|
||||
|
@ -166,7 +173,12 @@ class CmdMixin(object):
|
|||
self.update_output(force_lang=self.force_lang)
|
||||
options['environ_update'] = env_update
|
||||
rc, out, err = self.module.run_command(self.vars.cmd_args, *args, **options)
|
||||
self.update_output(rc=rc, stdout=out, stderr=err)
|
||||
if publish_rc:
|
||||
self.update_output(rc=rc)
|
||||
if publish_out:
|
||||
self.update_output(stdout=out)
|
||||
if publish_err:
|
||||
self.update_output(stderr=err)
|
||||
if process_output is None:
|
||||
_process = self.process_command_output
|
||||
else:
|
||||
|
|
Loading…
Reference in a new issue