Fix unwanted deprecation message in network module args (#28984)

* Fix unwanted deprecation message in network module argspec

Fixes #25663
Fixes #24537

*  segregate provider spec and top level arg spec
*  add deprecation key in top level arg spec
*  remove action plugin code to load provider and add
   that logic at a common place in network_common.py file

* Fix CI issue

* Minor change
This commit is contained in:
Ganesh Nalawade 2017-09-12 16:30:01 +05:30 committed by Ricardo Carrillo Cruz
commit 599fe23ed6
30 changed files with 283 additions and 634 deletions

View file

@ -43,10 +43,16 @@ aireos_provider_spec = {
aireos_argument_spec = {
'provider': dict(type='dict', options=aireos_provider_spec)
}
aireos_argument_spec.update(aireos_provider_spec)
# Add argument's default value here
ARGS_DEFAULT_VALUE = {}
aireos_top_spec = {
'host': dict(removed_in_version=2.3),
'port': dict(removed_in_version=2.3, type='int'),
'username': dict(removed_in_version=2.3),
'password': dict(removed_in_version=2.3, no_log=True),
'ssh_keyfile': dict(removed_in_version=2.3, type='path'),
'timeout': dict(removed_in_version=2.3, type='int'),
}
aireos_argument_spec.update(aireos_top_spec)
def sanitize(resp):
@ -59,21 +65,12 @@ def sanitize(resp):
return '\n'.join(cleaned).strip()
def get_argspec():
return aireos_argument_spec
def get_provider_argspec():
return aireos_provider_spec
def check_args(module, warnings):
for key in aireos_argument_spec:
if key not in ['provider', 'authorize'] and module.params[key]:
warnings.append('argument %s has been deprecated and will be removed in a future version' % key)
# set argument's default value if not provided in input
# This is done to avoid unwanted argument deprecation warning
# in case argument is not given as input (outside provider).
for key in ARGS_DEFAULT_VALUE:
if not module.params.get(key, None):
module.params[key] = ARGS_DEFAULT_VALUE[key]
pass
def get_config(module, flags=None):