Fix modules' use of BOOLEANS*

* The canonical location of BOOLEANS has moved.  Switch imports to use that.
* clean up argument_spec use of booleans.
* Clean up imports to not use wildcards
* Remove usage of get_exception
This commit is contained in:
Toshio Kuratomi 2017-07-14 16:42:00 -07:00
parent ff22528b07
commit d64e291274
17 changed files with 98 additions and 102 deletions

View file

@ -140,20 +140,24 @@ import json
import traceback
try:
import boto3
import botocore
HAS_BOTO3 = True
except ImportError:
HAS_BOTO3 = False
from ansible.module_utils.basic import AnsibleModule
from ansible.module_utils.ec2 import boto3_conn, ec2_argument_spec, get_aws_connection_info
from ansible.module_utils._text import to_native
def main():
argument_spec = ec2_argument_spec()
argument_spec.update(dict(
name = dict(),
function_arn = dict(),
wait = dict(choices=BOOLEANS, default=True, type='bool'),
tail_log = dict(choices=BOOLEANS, default=False, type='bool'),
dry_run = dict(choices=BOOLEANS, default=False, type='bool'),
wait = dict(default=True, type='bool'),
tail_log = dict(default=False, type='bool'),
dry_run = dict(default=False, type='bool'),
version_qualifier = dict(),
payload = dict(default={}, type='dict'),
))
@ -192,7 +196,7 @@ def main():
client = boto3_conn(module, conn_type='client', resource='lambda',
region=region, endpoint=ec2_url, **aws_connect_kwargs)
except (botocore.exceptions.ClientError, botocore.exceptions.ValidationError) as e:
module.fail_json(msg="Failure connecting boto3 to AWS", exception=traceback.format_exc())
module.fail_json(msg="Failure connecting boto3 to AWS: %s" % to_native(e), exception=traceback.format_exc())
invoke_params = {}
@ -282,9 +286,6 @@ def main():
module.exit_json(changed=True, result=results)
# import module snippets
from ansible.module_utils.basic import *
from ansible.module_utils.ec2 import *
if __name__ == '__main__':
main()

View file

@ -352,7 +352,7 @@ def main():
healthchecks=dict(type='list', required=True),
service_account_email=dict(),
service_account_permissions=dict(type='list'),
enable_cdn=dict(type='bool', choices=[True, False]),
enable_cdn=dict(type='bool'),
port_name=dict(type='str'),
protocol=dict(type='str', default='TCP',
choices=['HTTP', 'HTTPS', 'SSL', 'TCP']),

View file

@ -431,7 +431,13 @@ lxc_container:
sample: True
"""
import os
import os.path
import re
import shutil
import subprocess
import tempfile
import time
try:
import lxc
@ -440,6 +446,10 @@ except ImportError:
else:
HAS_LXC = True
# import module bits
from ansible.module_utils.basic import AnsibleModule
from ansible.module_utils.parsing.convert_bool import BOOLEANS_FALSE, BOOLEANS_TRUE
# LXC_COMPRESSION_MAP is a map of available compression types when creating
# an archive of a container.
@ -562,11 +572,6 @@ def create_script(command):
:type command: ``str``
"""
import os
import os.path as path
import subprocess
import tempfile
(fd, script_file) = tempfile.mkstemp(prefix='lxc-attach-script')
f = os.fdopen(fd, 'wb')
try:
@ -682,7 +687,7 @@ class LxcContainerManagement(object):
variables.pop(v, None)
return_dict = dict()
false_values = [None, ''] + BOOLEANS_FALSE
false_values = BOOLEANS_FALSE.union([None, ''])
for k, v in variables.items():
_var = self.module.params.get(k)
if _var not in false_values:
@ -1761,7 +1766,5 @@ def main():
lxc_manage.run()
# import module bits
from ansible.module_utils.basic import *
if __name__ == '__main__':
main()

View file

@ -531,7 +531,10 @@ import socket
import sys
import types
from ansible.module_utils.basic import AnsibleModule
from ansible.module_utils.six.moves.urllib.parse import urlencode
from ansible.module_utils.urls import open_url
HAS_LIB_JSON = True
try:
@ -604,8 +607,7 @@ class LogicMonitor(object):
self.fail(msg="Error: " + resp["errmsg"])
else:
return raw
except IOError:
ioe = get_exception()
except IOError as ioe:
self.fail(msg="Error: Exception making RPC call to " +
"https://" + self.company + "." + self.lm_url +
"/rpc/" + action + "\nException" + str(ioe))
@ -633,8 +635,7 @@ class LogicMonitor(object):
"https://" + self.company + "." + self.lm_url +
"/do/" + action + "?" + param_str)
return f.read()
except IOError:
ioe = get_exception()
except IOError as ioe:
self.fail(msg="Error: Exception making RPC call to " +
"https://" + self.company + "." + self.lm_url +
"/do/" + action + "\nException" + str(ioe))
@ -2171,7 +2172,7 @@ def main():
duration=dict(required=False, default=30),
properties=dict(required=False, default={}, type="dict"),
groups=dict(required=False, default=[], type="list"),
alertenable=dict(required=False, default="true", choices=BOOLEANS)
alertenable=dict(required=False, default="true", type="bool")
),
supports_check_mode=True
)
@ -2182,10 +2183,5 @@ def main():
selector(module)
from ansible.module_utils.basic import *
from ansible.module_utils.urls import *
from ansible.module_utils.urls import open_url
if __name__ == "__main__":
main()

View file

@ -216,6 +216,12 @@ msg:
sample: "interface bond0 config updated"
'''
import os
import re
import tempfile
from ansible.module_utils.basic import AnsibleModule
# handy helper for calling system calls.
# calls AnsibleModule.run_command and prints a more appropriate message
@ -437,9 +443,9 @@ def main():
virtual_mac=dict(type='str'),
vids=dict(type='list'),
pvid=dict(type='str'),
mstpctl_portnetwork=dict(type='bool', choices=BOOLEANS),
mstpctl_portadminedge=dict(type='bool', choices=BOOLEANS),
mstpctl_bpduguard=dict(type='bool', choices=BOOLEANS),
mstpctl_portnetwork=dict(type='bool'),
mstpctl_portadminedge=dict(type='bool'),
mstpctl_bpduguard=dict(type='bool'),
clag_id=dict(type='str'),
min_links=dict(type='int', default=1),
mode=dict(type='str', default='802.3ad'),
@ -484,11 +490,6 @@ def main():
module.exit_json(changed=_changed, msg=_msg)
# import module snippets
from ansible.module_utils.basic import *
import tempfile
import os
import re
if __name__ == '__main__':
main()

View file

@ -164,6 +164,12 @@ msg:
sample: "interface bond0 config updated"
'''
import os
import re
import tempfile
from ansible.module_utils.basic import AnsibleModule
# handy helper for calling system calls.
# calls AnsibleModule.run_command and prints a more appropriate message
@ -373,8 +379,8 @@ def main():
vids=dict(type='list'),
pvid=dict(type='str'),
mstpctl_treeprio=dict(type='str'),
vlan_aware=dict(type='bool', choices=BOOLEANS),
stp=dict(type='bool', default='yes', choices=BOOLEANS),
vlan_aware=dict(type='bool'),
stp=dict(type='bool', default='yes'),
location=dict(type='str',
default='/etc/network/interfaces.d')
),
@ -410,11 +416,6 @@ def main():
module.exit_json(changed=_changed, msg=_msg)
# import module snippets
from ansible.module_utils.basic import *
import tempfile
import os
import re
if __name__ == '__main__':
main()

View file

@ -110,6 +110,14 @@ msg:
sample: "interface bond0 config updated"
'''
import re
from urlparse import urlparse
# import module snippets
from ansible.module_utils.basic import AnsibleModule, platform
# incompatible with ansible 1.4.4 - ubuntu 12.04 version
# from ansible.module_utils.urls import *
def check_url(module, url):
parsed_url = urlparse(url)
@ -124,8 +132,7 @@ def check_url(module, url):
def run_cl_cmd(module, cmd, check_rc=True):
try:
(rc, out, err) = module.run_command(cmd, check_rc=check_rc)
except Exception:
e = get_exception()
except Exception as e:
module.fail_json(msg=e.strerror)
# trim last line as it is always empty
ret = out.splitlines()
@ -301,7 +308,7 @@ def main():
argument_spec=dict(
src=dict(required=True, type='str'),
version=dict(type='str'),
switch_slot=dict(type='bool', choices=BOOLEANS, default=False),
switch_slot=dict(type='bool', default=False),
),
)
@ -315,12 +322,5 @@ def main():
install_img(module)
# import module snippets
from ansible.module_utils.basic import *
# incompatible with ansible 1.4.4 - ubuntu 12.04 version
# from ansible.module_utils.urls import *
from urlparse import urlparse
import re
if __name__ == '__main__':
main()

View file

@ -209,6 +209,13 @@ msg:
sample: "interface bond0 config updated"
'''
import os
import platform
import re
import tempfile
from ansible.module_utils.basic import AnsibleModule
# handy helper for calling system calls.
# calls AnsibleModule.run_command and prints a more appropriate message
@ -401,10 +408,10 @@ def main():
virtual_mac=dict(type='str'),
vids=dict(type='list'),
pvid=dict(type='str'),
mstpctl_portnetwork=dict(type='bool', choices=BOOLEANS),
mstpctl_portadminedge=dict(type='bool', choices=BOOLEANS),
mstpctl_bpduguard=dict(type='bool', choices=BOOLEANS),
clagd_enable=dict(type='bool', choices=BOOLEANS),
mstpctl_portnetwork=dict(type='bool'),
mstpctl_portadminedge=dict(type='bool'),
mstpctl_bpduguard=dict(type='bool'),
clagd_enable=dict(type='bool'),
clagd_priority=dict(type='str'),
clagd_peer_ip=dict(type='str'),
clagd_sys_mac=dict(type='str'),
@ -446,10 +453,6 @@ def main():
module.exit_json(changed=_changed, msg=_msg)
# import module snippets
from ansible.module_utils.basic import *
import tempfile
import os
if __name__ == '__main__':
main()

View file

@ -107,6 +107,9 @@ msg:
sample: "interface bond0 config updated"
'''
# import module snippets
from ansible.module_utils.basic import AnsibleModule
CL_LICENSE_PATH='/usr/cumulus/bin/cl-license'
def install_license(module):
@ -121,8 +124,7 @@ def main():
module = AnsibleModule(
argument_spec=dict(
src=dict(required=True, type='str'),
force=dict(type='bool', choices=BOOLEANS,
default=False)
force=dict(type='bool', default=False)
),
)
@ -142,9 +144,5 @@ def main():
module.exit_json(changed=module.changed, msg=module.msg)
# import module snippets
from ansible.module_utils.basic import *
# from ansible.module_utils.urls import *
if __name__ == '__main__':
main()

View file

@ -146,7 +146,6 @@ from ansible.module_utils.f5_utils import (
iteritems,
defaultdict
)
from ansible.module_utils.basic import BOOLEANS
class Parameters(AnsibleF5Parameters):

View file

@ -118,6 +118,10 @@ try:
except ImportError:
HAS_F5SDK = False
from ansible.module_utils.basic import AnsibleModule
from ansible.module_utils.ec2 import camel_dict_to_snake_dict
from ansible.module_utils.f5_utils import F5ModuleError, f5_argument_spec
class BigIpGtmDatacenter(object):
def __init__(self, *args, **kwargs):
@ -346,7 +350,7 @@ def main():
meta_args = dict(
contact=dict(required=False, default=None),
description=dict(required=False, default=None),
enabled=dict(required=False, type='bool', default=None, choices=BOOLEANS),
enabled=dict(required=False, type='bool', default=None),
location=dict(required=False, default=None),
name=dict(required=True)
)
@ -365,9 +369,6 @@ def main():
except F5ModuleError as e:
module.fail_json(msg=str(e))
from ansible.module_utils.basic import *
from ansible.module_utils.ec2 import camel_dict_to_snake_dict
from ansible.module_utils.f5_utils import *
if __name__ == '__main__':
main()

View file

@ -118,7 +118,15 @@ RETURN = '''
import re
import uuid
from ansible.module_utils.basic import BOOLEANS
try:
from StringIO import StringIO
except ImportError:
from io import StringIO
from f5.utils.iapp_parser import (
NonextantTemplateNameException
)
from ansible.module_utils.f5_utils import (
AnsibleF5Client,
AnsibleF5Parameters,
@ -128,14 +136,6 @@ from ansible.module_utils.f5_utils import (
defaultdict,
iControlUnexpectedHTTPError
)
from f5.utils.iapp_parser import (
NonextantTemplateNameException
)
try:
from StringIO import StringIO
except ImportError:
from io import StringIO
class Parameters(AnsibleF5Parameters):
@ -453,7 +453,6 @@ class ArgumentSpec(object):
choices=['present', 'absent']
),
force=dict(
choices=BOOLEANS,
type='bool'
),
content=dict()

View file

@ -138,6 +138,10 @@ try:
except ImportError:
HAS_NETADDR = False
from ansible.module_utils.basic import AnsibleModule
from ansible.module_utils.ec2 import camel_dict_to_snake_dict
from ansible.module_utils.f5_utils import F5ModuleError, f5_argument_spec
class BigIpSnatPoolManager(object):
def __init__(self, *args, **kwargs):
@ -363,7 +367,6 @@ class BigIpSnatPoolModuleConfig(object):
append=dict(
default=False,
type='bool',
choices=BOOLEANS
),
name=dict(required=True),
members=dict(
@ -410,9 +413,6 @@ def main():
except F5ModuleError as e:
module.fail_json(msg=str(e))
from ansible.module_utils.basic import *
from ansible.module_utils.ec2 import camel_dict_to_snake_dict
from ansible.module_utils.f5_utils import *
if __name__ == '__main__':
main()

View file

@ -196,8 +196,6 @@ try:
except ImportError:
HAS_NETADDR = False
from ansible.module_utils.basic import BOOLEANS_TRUE
from ansible.module_utils.basic import BOOLEANS_FALSE
from ansible.module_utils.f5_utils import (
AnsibleF5Client,
AnsibleF5Parameters,
@ -205,6 +203,7 @@ from ansible.module_utils.f5_utils import (
F5ModuleError,
iControlUnexpectedHTTPError
)
from ansible.module_utils.parsing.convert_bool import BOOLEANS_FALSE, BOOLEANS_TRUE
class Parameters(AnsibleF5Parameters):

View file

@ -231,7 +231,7 @@ def main():
link=dict(required=True, default=None, type='str', aliases=['nic', 'interface']),
property=dict(required=True, type='str', aliases=['name']),
value=dict(required=False, type='str'),
temporary=dict(default=False, type='bool', choices=BOOLEANS),
temporary=dict(default=False, type='bool'),
state=dict(
default='present', choices=['absent', 'present', 'reset']),
),
@ -298,6 +298,5 @@ def main():
module.exit_json(**result)
if __name__ == '__main__':
main()

View file

@ -104,8 +104,7 @@ RETURN = '''
...
'''
from ansible.module_utils.basic import AnsibleModule, BOOLEANS_TRUE
from ansible.module_utils.pycompat24 import get_exception
from ansible.module_utils.basic import AnsibleModule
class GConf2Preference(object):
@ -165,8 +164,7 @@ class GConf2Preference(object):
else:
changed = True
except OSError:
exception = get_exception()
except OSError as exception:
self.ansible.fail_json(msg='gconftool-2 failed with exception: '
'%s' % exception)
return changed, out.rstrip()
@ -193,7 +191,6 @@ def main():
state_values = {"present": "set", "absent": "unset", "get": "get"}
direct = False
# Assign module values to dictionary values
key = module.params['key']
value_type = module.params['value_type']
@ -205,8 +202,7 @@ def main():
value = module.params['value']
state = state_values[module.params['state']]
if module.params['direct'] in BOOLEANS_TRUE:
direct = True
direct = module.params['direct']
config_source = module.params['config_source']
# Initialize some variables for later

View file

@ -118,8 +118,10 @@ EXAMPLES = '''
import os
import tempfile
from ansible.module_utils.basic import get_platform, get_exception, AnsibleModule, BOOLEANS_TRUE, BOOLEANS_FALSE
from ansible.module_utils.basic import get_platform, AnsibleModule
from ansible.module_utils.six import string_types
from ansible.module_utils.parsing.convert_bool import BOOLEANS_FALSE, BOOLEANS_TRUE
class SysctlModule(object):
@ -309,8 +311,7 @@ class SysctlModule(object):
f = open(self.sysctl_file, "r")
lines = f.readlines()
f.close()
except IOError:
e = get_exception()
except IOError as e:
self.module.fail_json(msg="Failed to open %s: %s" % (self.sysctl_file, str(e)))
for line in lines:
@ -335,7 +336,7 @@ class SysctlModule(object):
self.fixed_lines.append(line)
continue
tmpline = line.strip()
k, v = line.split('=',1)
k, v = tmpline.split('=',1)
k = k.strip()
v = v.strip()
if k not in checked:
@ -360,8 +361,7 @@ class SysctlModule(object):
try:
for l in self.fixed_lines:
f.write(l.strip() + "\n")
except IOError:
e = get_exception()
except IOError as e:
self.module.fail_json(msg="Failed to write to file %s: %s" % (tmp_path, str(e)))
f.flush()
f.close()