Skip to main content

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 address
  • username - The login user-name
  • password - The login password
  • proto - (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:

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

aio_nxapi-0.5.0.tar.gz (10.3 kB view hashes)

Uploaded Source

Built Distribution

aio_nxapi-0.5.0-py3-none-any.whl (11.8 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page