VMware: Move helper functions from vmware_host_config_manager to module util.
This commit is contained in:
parent
ad580a71c4
commit
d01035ef25
2 changed files with 25 additions and 25 deletions
|
@ -821,6 +821,26 @@ def wait_for_poweroff(vm, timeout=300):
|
|||
return result
|
||||
|
||||
|
||||
def is_integer(value, type_of='int'):
|
||||
try:
|
||||
VmomiSupport.vmodlTypes[type_of](value)
|
||||
return True
|
||||
except (TypeError, ValueError):
|
||||
return False
|
||||
|
||||
|
||||
def is_boolean(value):
|
||||
if str(value).lower() in ['true', 'on', 'yes', 'false', 'off', 'no']:
|
||||
return True
|
||||
return False
|
||||
|
||||
|
||||
def is_truthy(value):
|
||||
if str(value).lower() in ['true', 'on', 'yes']:
|
||||
return True
|
||||
return False
|
||||
|
||||
|
||||
class PyVmomi(object):
|
||||
def __init__(self, module):
|
||||
"""
|
||||
|
|
|
@ -93,7 +93,7 @@ except ImportError:
|
|||
pass
|
||||
|
||||
from ansible.module_utils.basic import AnsibleModule
|
||||
from ansible.module_utils.vmware import vmware_argument_spec, PyVmomi
|
||||
from ansible.module_utils.vmware import vmware_argument_spec, PyVmomi, is_boolean, is_integer, is_truthy
|
||||
from ansible.module_utils._text import to_native
|
||||
from ansible.module_utils.six import integer_types, string_types
|
||||
|
||||
|
@ -106,26 +106,6 @@ class VmwareConfigManager(PyVmomi):
|
|||
self.options = self.params.get('options', dict())
|
||||
self.hosts = self.get_all_host_objs(cluster_name=cluster_name, esxi_host_name=esxi_host_name)
|
||||
|
||||
@staticmethod
|
||||
def is_integer(value, type_of='int'):
|
||||
try:
|
||||
VmomiSupport.vmodlTypes[type_of](value)
|
||||
return True
|
||||
except (TypeError, ValueError):
|
||||
return False
|
||||
|
||||
@staticmethod
|
||||
def is_boolean(value):
|
||||
if str(value).lower() in ['true', 'on', 'yes', 'false', 'off', 'no']:
|
||||
return True
|
||||
return False
|
||||
|
||||
@staticmethod
|
||||
def is_truthy(value):
|
||||
if str(value).lower() in ['true', 'on', 'yes']:
|
||||
return True
|
||||
return False
|
||||
|
||||
def set_host_configuration_facts(self):
|
||||
changed_list = []
|
||||
message = ''
|
||||
|
@ -146,12 +126,12 @@ class VmwareConfigManager(PyVmomi):
|
|||
if option_key in host_facts:
|
||||
# We handle all supported types here so we can give meaningful errors.
|
||||
option_type = host_facts[option_key]['option_type']
|
||||
if self.is_boolean(option_value) and isinstance(option_type, vim.option.BoolOption):
|
||||
option_value = self.is_truthy(option_value)
|
||||
elif (isinstance(option_value, integer_types) or self.is_integer(option_value))\
|
||||
if is_boolean(option_value) and isinstance(option_type, vim.option.BoolOption):
|
||||
option_value = is_truthy(option_value)
|
||||
elif (isinstance(option_value, integer_types) or is_integer(option_value))\
|
||||
and isinstance(option_type, vim.option.IntOption):
|
||||
option_value = VmomiSupport.vmodlTypes['int'](option_value)
|
||||
elif (isinstance(option_value, integer_types) or self.is_integer(option_value, 'long'))\
|
||||
elif (isinstance(option_value, integer_types) or is_integer(option_value, 'long'))\
|
||||
and isinstance(option_type, vim.option.LongOption):
|
||||
option_value = VmomiSupport.vmodlTypes['long'](option_value)
|
||||
elif isinstance(option_value, float) and isinstance(option_type, vim.option.FloatOption):
|
||||
|
|
Loading…
Reference in a new issue