mirror of
https://github.com/ansible-collections/community.general.git
synced 2025-10-08 01:14:03 -07:00
[CLI_CONF] Refactor nxos module common library to use cliconf plugin (#31524)
* refactor nxos modules Signed-off-by: Trishna Guha <trishnaguha17@gmail.com> * get_config update * fix get_config * update nxos module * device_info * fix conflict * add failure message check * pep8 fixes * use get_capabilities to check cliconf * Add logic to detect platform in get_capabilities and cache in module_utils * return msg in edit_config * fix conflicts * make modules compatible * fix nxos cliconf api Signed-off-by: Trishna Guha <trishnaguha17@gmail.com> * cache capabilities * Update transport queries to get_capabilities in module level * fix unit tests * load_config error code * remove unnecessary change * Refactor nxos_install_os module
This commit is contained in:
parent
bd399ec674
commit
9f86b923e9
23 changed files with 220 additions and 132 deletions
|
@ -81,7 +81,7 @@ commands:
|
|||
import re
|
||||
|
||||
from ansible.module_utils.network.nxos.nxos import load_config, run_commands
|
||||
from ansible.module_utils.network.nxos.nxos import nxos_argument_spec, check_args
|
||||
from ansible.module_utils.network.nxos.nxos import get_capabilities, nxos_argument_spec
|
||||
from ansible.module_utils.basic import AnsibleModule
|
||||
|
||||
|
||||
|
@ -199,20 +199,22 @@ def main():
|
|||
module = AnsibleModule(argument_spec=argument_spec, supports_check_mode=True)
|
||||
|
||||
warnings = list()
|
||||
check_args(module, warnings)
|
||||
results = {'changed': False, 'commands': [], 'warnings': warnings}
|
||||
|
||||
vrf = module.params['vrf']
|
||||
interface = module.params['interface'].lower()
|
||||
state = module.params['state']
|
||||
|
||||
device_info = get_capabilities(module)
|
||||
network_api = device_info.get('network_api', 'nxapi')
|
||||
|
||||
current_vrfs = get_vrf_list(module)
|
||||
if vrf not in current_vrfs:
|
||||
warnings.append("The VRF is not present/active on the device. "
|
||||
"Use nxos_vrf to fix this.")
|
||||
|
||||
intf_type = get_interface_type(interface)
|
||||
if (intf_type != 'ethernet' and module.params['provider']['transport'] == 'cli'):
|
||||
if (intf_type != 'ethernet' and network_api == 'cliconf'):
|
||||
if is_default(interface, module) == 'DNE':
|
||||
module.fail_json(msg="interface does not exist on switch. Verify "
|
||||
"switch platform or create it first with "
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue