mirror of
https://github.com/ansible-collections/community.general.git
synced 2024-09-14 20:13:21 +02:00
ModuleHelper - fix bug when adjusting conflicting output (#5755)
* ModuleHelper - fix bug when adjusting conflicting output * add changelog fragment * remove commented test code
This commit is contained in:
parent
7c99c53c64
commit
b49bf081f8
5 changed files with 40 additions and 2 deletions
2
changelogs/fragments/5755-mh-fix-output-conflict.yml
Normal file
2
changelogs/fragments/5755-mh-fix-output-conflict.yml
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
bugfixes:
|
||||||
|
- ModuleHelper - fix bug when adjusting the name of reserved output variables (https://github.com/ansible-collections/community.general/pull/5755).
|
|
@ -60,7 +60,7 @@ class ModuleHelper(DeprecateAttrsMixin, VarsMixin, DependencyMixin, ModuleHelper
|
||||||
vars_diff = self.vars.diff() or {}
|
vars_diff = self.vars.diff() or {}
|
||||||
result['diff'] = dict_merge(dict(diff), vars_diff)
|
result['diff'] = dict_merge(dict(diff), vars_diff)
|
||||||
|
|
||||||
for varname in result:
|
for varname in list(result):
|
||||||
if varname in self._output_conflict_list:
|
if varname in self._output_conflict_list:
|
||||||
result["_" + varname] = result[varname]
|
result["_" + varname] = result[varname]
|
||||||
del result[varname]
|
del result[varname]
|
||||||
|
|
|
@ -35,12 +35,13 @@ from ansible_collections.community.general.plugins.module_utils.mh.deco import c
|
||||||
|
|
||||||
|
|
||||||
class MSimple(ModuleHelper):
|
class MSimple(ModuleHelper):
|
||||||
output_params = ('a', 'b', 'c')
|
output_params = ('a', 'b', 'c', 'm')
|
||||||
module = dict(
|
module = dict(
|
||||||
argument_spec=dict(
|
argument_spec=dict(
|
||||||
a=dict(type='int', default=0),
|
a=dict(type='int', default=0),
|
||||||
b=dict(type='str'),
|
b=dict(type='str'),
|
||||||
c=dict(type='str'),
|
c=dict(type='str'),
|
||||||
|
m=dict(type='str'),
|
||||||
),
|
),
|
||||||
supports_check_mode=True,
|
supports_check_mode=True,
|
||||||
)
|
)
|
||||||
|
@ -65,6 +66,9 @@ class MSimple(ModuleHelper):
|
||||||
self.vars['c'] = str(self.vars.c) * 2
|
self.vars['c'] = str(self.vars.c) * 2
|
||||||
self.process_a3_bc()
|
self.process_a3_bc()
|
||||||
|
|
||||||
|
if self.vars.m:
|
||||||
|
self.vars.msg = self.vars.m
|
||||||
|
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
msimple = MSimple()
|
msimple = MSimple()
|
||||||
|
|
|
@ -3,6 +3,7 @@
|
||||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
|
|
||||||
- include_tasks: msimple.yml
|
- include_tasks: msimple.yml
|
||||||
|
- include_tasks: msimple_output_conflict.yml
|
||||||
- include_tasks: mdepfail.yml
|
- include_tasks: mdepfail.yml
|
||||||
- include_tasks: mstate.yml
|
- include_tasks: mstate.yml
|
||||||
- include_tasks: msimpleda.yml
|
- include_tasks: msimpleda.yml
|
||||||
|
|
|
@ -0,0 +1,31 @@
|
||||||
|
# Copyright (c) 2023, Alexei Znamensky
|
||||||
|
# GNU General Public License v3.0+ (see LICENSES/GPL-3.0-or-later.txt or https://www.gnu.org/licenses/gpl-3.0.txt)
|
||||||
|
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
|
|
||||||
|
- name: test msimple (set a=80)
|
||||||
|
msimple:
|
||||||
|
a: 80
|
||||||
|
register: simple1
|
||||||
|
|
||||||
|
- name: assert simple1
|
||||||
|
assert:
|
||||||
|
that:
|
||||||
|
- simple1.a == 80
|
||||||
|
- simple1.abc == "abc"
|
||||||
|
- simple1 is not changed
|
||||||
|
- simple1.value is none
|
||||||
|
|
||||||
|
- name: test msimple 2
|
||||||
|
msimple:
|
||||||
|
a: 80
|
||||||
|
m: a message in a bottle
|
||||||
|
register: simple2
|
||||||
|
|
||||||
|
- name: assert simple2
|
||||||
|
assert:
|
||||||
|
that:
|
||||||
|
- simple1.a == 80
|
||||||
|
- simple1.abc == "abc"
|
||||||
|
- simple1 is not changed
|
||||||
|
- simple1.value is none
|
||||||
|
- 'simple2._msg == "a message in a bottle"'
|
Loading…
Reference in a new issue