mirror of
https://github.com/ansible-collections/community.general.git
synced 2025-07-23 05:10:22 -07:00
Return commands instead of command (#24061)
Ok, so for openvswitch_db in particular we just return one command but in the sake of consistency and code re-use, let's return a list of "commands", even if it's just one.
This commit is contained in:
parent
9456f93ea8
commit
2716fad38f
3 changed files with 20 additions and 19 deletions
|
@ -103,26 +103,26 @@ EXAMPLES = '''
|
|||
'''
|
||||
|
||||
|
||||
def map_obj_to_command(want, have, module):
|
||||
def map_obj_to_commands(want, have, module):
|
||||
""" Define ovs-vsctl command to meet desired state """
|
||||
command = None
|
||||
commands = list()
|
||||
|
||||
if module.params['state'] == 'absent':
|
||||
if 'key' in have.keys():
|
||||
templatized_command = "%(ovs-vsctl)s -t %(timeout)s remove %(table)s %(record)s " \
|
||||
"%(col)s %(key)s=%(value)s"
|
||||
command = templatized_command % module.params
|
||||
commands.append(templatized_command % module.params)
|
||||
else:
|
||||
if 'key' not in have.keys():
|
||||
templatized_command = "%(ovs-vsctl)s -t %(timeout)s add %(table)s %(record)s " \
|
||||
"%(col)s %(key)s=%(value)s"
|
||||
command = templatized_command % module.params
|
||||
commands.append(templatized_command % module.params)
|
||||
elif want['value'] != have['value']:
|
||||
templatized_command = "%(ovs-vsctl)s -t %(timeout)s set %(table)s %(record)s " \
|
||||
"%(col)s:%(key)s=%(value)s"
|
||||
command = templatized_command % module.params
|
||||
commands.append(templatized_command % module.params)
|
||||
|
||||
return command
|
||||
return commands
|
||||
|
||||
|
||||
def map_config_to_obj(module):
|
||||
|
@ -190,12 +190,13 @@ def main():
|
|||
want = map_params_to_obj(module)
|
||||
have = map_config_to_obj(module)
|
||||
|
||||
command = map_obj_to_command(want, have, module)
|
||||
result['command'] = command
|
||||
commands = map_obj_to_commands(want, have, module)
|
||||
result['commands'] = commands
|
||||
|
||||
if command:
|
||||
if commands:
|
||||
if not module.check_mode:
|
||||
module.run_command(command, check_rc=True)
|
||||
for c in commands:
|
||||
module.run_command(c, check_rc=True)
|
||||
result['changed'] = True
|
||||
|
||||
module.exit_json(**result)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue