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

@ -50,28 +50,24 @@ junos_provider_spec = {
junos_argument_spec = {
'provider': dict(type='dict', options=junos_provider_spec),
}
junos_argument_spec.update(junos_provider_spec)
# Add argument's default value here
ARGS_DEFAULT_VALUE = {}
junos_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'),
'transport': dict(removed_in_version=2.3)
}
junos_argument_spec.update(junos_top_spec)
def get_argspec():
return junos_argument_spec
def get_provider_argspec():
return junos_provider_spec
def check_args(module, warnings):
for key in junos_argument_spec:
if key not in ('provider',) 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 _validate_rollback_id(module, value):