1
0
Fork 0
mirror of https://github.com/ansible-collections/community.general.git synced 2024-09-14 20:13:21 +02:00

Allow value to be bool where 'yes'/'no' are in choices (#2593)

* Changed type of 'details' argument to bool on ecs_service_facts module.

* Changed type of 'autostart' argument to bool on virt_* modules.

* Changed types of 'autoconnect' and 'stp' argument to bool on nmcli module.
('create_connection_bridge(self)' and 'modify_connection_bridge(self)' are not implemented yet?)

* Added conversion of 'value' argument when 'vtype' is boolean on debconf module.
This commit is contained in:
Shinichi TAMURA 2016-08-17 23:32:49 +09:00 committed by Matt Clay
parent b54d352a69
commit a3860ecf1e
5 changed files with 30 additions and 21 deletions

View file

@ -55,7 +55,7 @@ EXAMPLES = '''
- ecs_service_facts:
cluster: test-cluster
service: console-test-service
details: "true"
details: true
# Basic listing example
- ecs_service_facts:
@ -201,7 +201,7 @@ def main():
argument_spec = ec2_argument_spec()
argument_spec.update(dict(
details=dict(required=False, choices=['true', 'false'] ),
details=dict(required=False, type='bool', default=False ),
cluster=dict(required=False, type='str' ),
service=dict(required=False, type='str' )
))
@ -214,9 +214,7 @@ def main():
if not HAS_BOTO3:
module.fail_json(msg='boto3 is required.')
show_details = False
if 'details' in module.params and module.params['details'] == 'true':
show_details = True
show_details = module.params.get('details', False)
task_mgr = EcsServiceManager(module)
if show_details:

View file

@ -534,16 +534,16 @@ def core(module):
else:
module.fail_json(msg="Command %s not recognized" % basecmd)
if autostart:
if autostart is not None:
if not name:
module.fail_json(msg = "state change requires a specified name")
res['changed'] = False
if autostart == 'yes':
if autostart:
if not v.get_autostart(name):
res['changed'] = True
res['msg'] = v.set_autostart(name, True)
elif autostart == 'no':
else:
if v.get_autostart(name):
res['changed'] = True
res['msg'] = v.set_autostart(name, False)
@ -562,7 +562,7 @@ def main():
command = dict(choices=ALL_COMMANDS),
uri = dict(default='qemu:///system'),
xml = dict(),
autostart = dict(choices=['yes', 'no'])
autostart = dict(type='bool')
),
supports_check_mode = True
)

View file

@ -644,16 +644,16 @@ def core(module):
else:
module.fail_json(msg="Command %s not recognized" % basecmd)
if autostart:
if autostart is not None:
if not name:
module.fail_json(msg = "state change requires a specified name")
res['changed'] = False
if autostart == 'yes':
if autostart:
if not v.get_autostart(name):
res['changed'] = True
res['msg'] = v.set_autostart(name, True)
elif autostart == 'no':
else:
if v.get_autostart(name):
res['changed'] = True
res['msg'] = v.set_autostart(name, False)
@ -672,7 +672,7 @@ def main():
command = dict(choices=ALL_COMMANDS),
uri = dict(default='qemu:///system'),
xml = dict(),
autostart = dict(choices=['yes', 'no']),
autostart = dict(type='bool'),
mode = dict(choices=ALL_MODES),
),
supports_check_mode = True

View file

@ -514,6 +514,12 @@ class Nmcli(object):
return setting_list
# print ""
def bool_to_string(self, boolean):
if boolean:
return "yes"
else:
return "no"
def list_connection_info(self):
# Ask the settings service for the list of connections it provides
bus=dbus.SystemBus()
@ -602,7 +608,7 @@ class Nmcli(object):
cmd.append(self.gw6)
if self.autoconnect is not None:
cmd.append('autoconnect')
cmd.append(self.autoconnect)
cmd.append(self.bool_to_string(self.autoconnect))
return cmd
def modify_connection_team(self):
@ -631,7 +637,7 @@ class Nmcli(object):
cmd.append(self.dns6)
if self.autoconnect is not None:
cmd.append('autoconnect')
cmd.append(self.autoconnect)
cmd.append(self.bool_to_string(self.autoconnect))
# Can't use MTU with team
return cmd
@ -704,7 +710,7 @@ class Nmcli(object):
cmd.append(self.gw6)
if self.autoconnect is not None:
cmd.append('autoconnect')
cmd.append(self.autoconnect)
cmd.append(self.bool_to_string(self.autoconnect))
if self.mode is not None:
cmd.append('mode')
cmd.append(self.mode)
@ -751,7 +757,7 @@ class Nmcli(object):
cmd.append(self.dns6)
if self.autoconnect is not None:
cmd.append('autoconnect')
cmd.append(self.autoconnect)
cmd.append(self.bool_to_string(self.autoconnect))
return cmd
def create_connection_bond_slave(self):
@ -820,7 +826,7 @@ class Nmcli(object):
cmd.append(self.gw6)
if self.autoconnect is not None:
cmd.append('autoconnect')
cmd.append(self.autoconnect)
cmd.append(self.bool_to_string(self.autoconnect))
return cmd
def modify_connection_ethernet(self):
@ -855,7 +861,7 @@ class Nmcli(object):
cmd.append(self.mtu)
if self.autoconnect is not None:
cmd.append('autoconnect')
cmd.append(self.autoconnect)
cmd.append(self.bool_to_string(self.autoconnect))
return cmd
def create_connection_bridge(self):
@ -964,7 +970,7 @@ def main():
# Parsing argument file
module=AnsibleModule(
argument_spec=dict(
autoconnect=dict(required=False, default=None, choices=['yes', 'no'], type='str'),
autoconnect=dict(required=False, default=None, type='bool'),
state=dict(required=True, choices=['present', 'absent'], type='str'),
conn_name=dict(required=True, type='str'),
master=dict(required=False, default=None, type='str'),
@ -987,7 +993,7 @@ def main():
mtu=dict(required=False, default=None, type='str'),
mac=dict(required=False, default=None, type='str'),
# bridge specific vars
stp=dict(required=False, default='yes', choices=['yes', 'no'], type='str'),
stp=dict(required=False, default=True, type='bool'),
priority=dict(required=False, default="128", type='str'),
slavepriority=dict(required=False, default="32", type='str'),
forwarddelay=dict(required=False, default="15", type='str'),

View file

@ -108,6 +108,11 @@ def set_selection(module, pkg, question, vtype, value, unseen):
if unseen:
cmd.append('-u')
if vtype == 'boolean':
if value == 'True':
value = 'true'
elif value == 'False':
value = 'false'
data = ' '.join([pkg, question, vtype, value])
return module.run_command(cmd, data=data)