Module params should default to str in most cases.
This commit is contained in:
parent
64c976a6c3
commit
6276585882
1 changed files with 12 additions and 3 deletions
|
@ -226,7 +226,7 @@ except ImportError:
|
|||
|
||||
FILE_COMMON_ARGUMENTS=dict(
|
||||
src = dict(),
|
||||
mode = dict(),
|
||||
mode = dict(type='raw'),
|
||||
owner = dict(),
|
||||
group = dict(),
|
||||
seuser = dict(),
|
||||
|
@ -574,6 +574,7 @@ class AnsibleModule(object):
|
|||
'int': self._check_type_int,
|
||||
'float': self._check_type_float,
|
||||
'path': self._check_type_path,
|
||||
'raw': self._check_type_raw,
|
||||
}
|
||||
if not bypass_checks:
|
||||
self._check_required_arguments()
|
||||
|
@ -1360,15 +1361,23 @@ class AnsibleModule(object):
|
|||
value = self._check_type_str(value)
|
||||
return os.path.expanduser(os.path.expandvars(value))
|
||||
|
||||
def _check_type_raw(self, value):
|
||||
return value
|
||||
|
||||
|
||||
def _check_argument_types(self):
|
||||
''' ensure all arguments have the requested type '''
|
||||
for (k, v) in self.argument_spec.items():
|
||||
wanted = v.get('type', None)
|
||||
if wanted is None:
|
||||
continue
|
||||
if k not in self.params:
|
||||
continue
|
||||
if wanted is None:
|
||||
# Mostly we want to default to str.
|
||||
# For values set to None explicitly, return None instead as
|
||||
# that allows a user to unset a parameter
|
||||
if self.params[k] is None:
|
||||
continue
|
||||
wanted = 'str'
|
||||
|
||||
value = self.params[k]
|
||||
|
||||
|
|
Loading…
Reference in a new issue