diff options
Diffstat (limited to 'lib/ansible/module_utils/common/parameters.py')
-rw-r--r-- | lib/ansible/module_utils/common/parameters.py | 20 |
1 files changed, 16 insertions, 4 deletions
diff --git a/lib/ansible/module_utils/common/parameters.py b/lib/ansible/module_utils/common/parameters.py index c1df1c06e9..059ca0af51 100644 --- a/lib/ansible/module_utils/common/parameters.py +++ b/lib/ansible/module_utils/common/parameters.py @@ -705,6 +705,7 @@ def _validate_sub_spec( no_log_values=None, unsupported_parameters=None, supported_parameters=None, + alias_deprecations=None, ): """Validate sub argument spec. @@ -761,15 +762,24 @@ def _validate_sub_spec( new_prefix += '.' alias_warnings = [] - alias_deprecations = [] + alias_deprecations_sub = [] try: - options_aliases = _handle_aliases(sub_spec, sub_parameters, alias_warnings, alias_deprecations) + options_aliases = _handle_aliases(sub_spec, sub_parameters, alias_warnings, alias_deprecations_sub) except (TypeError, ValueError) as e: options_aliases = {} errors.append(AliasError(to_native(e))) for option, alias in alias_warnings: - warn('Both option %s and its alias %s are set.' % (option, alias)) + warn('Both option %s%s and its alias %s%s are set.' % (new_prefix, option, new_prefix, alias)) + + if alias_deprecations is not None: + for deprecation in alias_deprecations_sub: + alias_deprecations.append({ + 'name': '%s%s' % (new_prefix, deprecation['name']), + 'version': deprecation.get('version'), + 'date': deprecation.get('date'), + 'collection_name': deprecation.get('collection_name'), + }) try: no_log_values.update(_list_no_log_values(sub_spec, sub_parameters)) @@ -811,7 +821,9 @@ def _validate_sub_spec( no_log_values.update(_set_defaults(sub_spec, sub_parameters)) # Handle nested specs - _validate_sub_spec(sub_spec, sub_parameters, new_prefix, options_context, errors, no_log_values, unsupported_parameters, supported_parameters) + _validate_sub_spec( + sub_spec, sub_parameters, new_prefix, options_context, errors, no_log_values, + unsupported_parameters, supported_parameters, alias_deprecations) options_context.pop() |