Skip to main content

IUPY RestConf Kit

Project description

iupy-restconf

Ian Underwood's Python RESTCONF Module

About

This package provides a RESTCONF class to manage interactions with network devices that use the RESTCONF protocol as defined in RFC-8040.

This document is woefully incomplete.

Installation

Module installation can be managed with PIP:

pip3 install iupy-restconf

Usage

This provides a top-level restconf import which should be imported into your project as such:

import restconf

router = restconf.RestConf()

router.connect(transport='https',
               host='192.168.1.1',
               un='restuser',
               pw='restpass')

From there, using the module is a matter of defining the method and path that is useful for your application:

response = router.get("data/native/interfaces")

Operations such as push, post, and patch use a second positional arguement as a dictionary that provides the structure required.

response = router.post("data/openconfig-interfaces:interface", newconfig_dict)

Since RESTCONF is authorized on a per-request basis, there is no connection open or close method as with a general REST API which generates an stores a session.

Device Capabilities

Routers that are RFC-8040 compliant provide a list of modules that they support. This allows a script to check for basic capabilities.

router.get_data_modules()

if router.check_data_modules("Cisco-IOS-XE-native"):
    print("This supports IOS-XE Native Calls")

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

iupy_restconf-0.1.0.tar.gz (6.6 kB view hashes)

Uploaded Source

Built Distribution

iupy_restconf-0.1.0-py3-none-any.whl (6.2 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