Cisco NX-API asyncio client
Project description
Cisco NX-API asyncio Client
This repository contains a Cisco NX-API asyncio based client that uses the httpx as an underlying transport and lxml as the basis for handling XML.
Note: This client does not support the NETCONF interface.
WORK IN PROGESS
Quick Example
Thie following shows how to create a Device instance and run a list of commands.
By default the Device instance will use HTTPS transport. The Device instance supports the following settings:
host
- The device hostname or IP addressusername
- The login user-namepassword
- The login passwordproto
- (Optional) Choose either "https" or "http", defaults to "https"port
- (Optional) Chose the protocol port to override proto default
The result of command execution is a list of CommandResults (namedtuple).
The output
field will be:
- lxml.Element when output format is 'xml'
- dict when output format is 'json'
- str when output format is 'text'
from asyncnxapi import Device
username = 'dummy-user'
password = 'dummy-password'
async def run_test(host):
dev = Device(host=host, creds=(username, password))
res = await dev.exec(['show hostname', 'show version'], ofmt='json')
for cmd in res:
if not cmd.ok:
print(f"{cmd.command} failed")
continue
# do something with cmd.output as dict since ofmt was 'json'
Limitations
- Chunking is not currently supported. If anyone has need of this feature please open an issue requesting support.
References
Cisco DevNet NX-API Rerefence:
Cisco platform specific NX-API references:
-
N3K systems, requires 7.0(3)I2(2) or later: https://www.cisco.com/c/en/us/td/docs/switches/datacenter/nexus3000/sw/programmability/7_x/b_Cisco_Nexus_3000_Series_NX-OS_Programmability_Guide_7x/b_Cisco_Nexus_3000_Series_NX-OS_Programmability_Guide_7x_chapter_010010.html
-
N5K system, requires 7.3(0)N1(1) or later: https://www.cisco.com/c/en/us/td/docs/switches/datacenter/nexus5000/sw/programmability/guide/b_Cisco_Nexus_5K6K_Series_NX-OS_Programmability_Guide/nx_api.html#topic_D110A801F14F43F385A90DE14293BA46
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for aio_nxapi-0.1.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d2197935e8c1bef6374475c0fb956bc88a9c9dc54520929337a4e7267c61afdf |
|
MD5 | e7136d614d6ce45ecaece9c2625abffb |
|
BLAKE2b-256 | 1c564eea7251906a5d320b4b244e6456f184c7f7886436e2f796c48f75b3e839 |