mirror of
https://github.com/ansible-collections/community.general.git
synced 2025-07-09 06:40:03 -07:00
better handling of bad type in config (#48821)
* better handling of bad type in config fixes #22468, fixes #22476
This commit is contained in:
parent
a796299651
commit
87e44a7ed1
4 changed files with 22 additions and 1 deletions
|
@ -436,7 +436,15 @@ class ConfigManager(object):
|
|||
return value, origin
|
||||
|
||||
# ensure correct type, can raise exceptoins on mismatched types
|
||||
value = ensure_type(value, defs[config].get('type'), origin=origin)
|
||||
try:
|
||||
value = ensure_type(value, defs[config].get('type'), origin=origin)
|
||||
except ValueError as e:
|
||||
if origin.startswith('env:') and value == '':
|
||||
# this is empty env var for non string so we can set to default
|
||||
origin = 'default'
|
||||
value = ensure_type(defs[config].get('default'), defs[config].get('type'), origin=origin)
|
||||
else:
|
||||
raise AnsibleOptionsError('Invalid type for configuration option %s: %s' % (to_native(config), to_native(e)))
|
||||
|
||||
# deal with deprecation of the setting
|
||||
if 'deprecated' in defs[config] and origin != 'default':
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue