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

@ -44,21 +44,23 @@ iosxr_provider_spec = {
iosxr_argument_spec = {
'provider': dict(type='dict', options=iosxr_provider_spec)
}
iosxr_argument_spec.update(iosxr_provider_spec)
iosxr_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'),
}
iosxr_argument_spec.update(iosxr_top_spec)
def get_argspec():
return iosxr_argument_spec
def get_provider_argspec():
return iosxr_provider_spec
def check_args(module, warnings):
for key in iosxr_argument_spec:
if module._name == 'iosxr_user':
if key not in ['password', 'provider'] and module.params[key]:
warnings.append('argument %s has been deprecated and will be in a future version' % key)
else:
if key != 'provider' and module.params[key]:
warnings.append('argument %s has been deprecated and will be removed in a future version' % key)
pass
def get_config(module, flags=None):