Skip to main content

IxNetwork REST API Python Client

Project description

IxNetwork REST API Client

This package is an IxNetwork object oriented pure python client package over a REST transport.

What's New!

  • Nov 2018 - 1.0.10
    • Base class infrastructure to allow for getting a list of device ids using regex searches that can be used on NGPF class methods that require device ids. See the sample ngpf_device_ids.py for multiple examples of retrieving device ids and using them in ngpf methods.

Features

Static classes

  • classes are generated from the latest released version of IxNetwork
    • the only class that can be directly instantiated is the TestPlatform class
    • all other classes are accessed via a child property on the parent class
    • classes have helper methods depending on the type of class
      • classes that represent a required node are automatically populated with one and only one instance of the node's data
      • classes that represent a user managed list have add, remove, find helper methods
      • classes that represent a system managed list have a find helper method
    • every instantiated class encapsulates instances retrieved from the server
    • encapsulated instances can be accessed using iterators or indexes
    • class iterator/index support includes: __iter__ __next__ __getitem__ __len__

Find method

  • the main premise of the package is based around the .find() method
  • offers named parameters for all properties in the class
  • named parameters can be populated with regex to allow for finding specific instances
  • allows the encapsulated data to be reduced to specific instances that you are interested in
  • some examples:
    • IxNetwork.Vport.find(Type='ethernet') uses regex on the server to find and return all vports whose type is ethernet
    • IxNetwork.Vport.find(Name='^Ethernet - 001$') uses regex on the server to find and return a vport whose name exactly matches Ethernet - 001
    • IxNetwork.Vport.find(ConnectionState='connectedLinkUp') uses regex on the server to find and return all vports whose state is connectedLinkUp

Documentation

  • documentation is inlined in all generated classes
    • documentation is also available via a static documentation browser distributed with the package under the docs folder
    • there is no need to connect to a running instance of IxNetwork to get API documentation

Samples

  • samples are distributed with the package under the tests folder
  • these samples are also used to sanity test the package before posting it to pypi

Limitations

  • python support >= 2.7, 3.x
  • IxNetwork support >= 8.42

Getting Started

Install the package (pip install -U ixnetwork-restpy) and review the samples under ixnetwork_restpy/tests/...

The samples demonstrate how to do the following:

  • create a TestPlatform
  • get an IxNetwork Sessions object and either find a session or add a new one
  • get the root Ixnetwork object of the hierarchy
  • add virtual ports, topologies, traffic

Finally visit the OpenIxia IxNetwork restpy site for in depth end-to-end samples that demonstrate the following:

  • building a configuration
    • from scratch
    • from an existing IxNetwork configuration
  • running the configuration
    • connecting ports to hardware
    • starting protocols
    • starting traffic
  • getting statistics
    • port stats
    • traffic stats

Change Log

  • Tue Dec 4 11:24:13 2018 -0800: update openixia restpy link
  • Tue Dec 4 08:00:03 2018 -0800: bypass proxy env settings
  • Mon Dec 3 14:23:47 2018 -0800: allow user to ignore env proxy settings
  • Fri Nov 30 08:33:36 2018 -0800: 3.x fixes, add igmp to device ids sample
  • Thu Nov 29 17:24:50 2018 -0800: get ngpf device ids using regex
  • Mon Nov 26 14:06:45 2018 -0800: append change log to readme
  • Mon Nov 26 13:31:24 2018 -0800: check for supported server version
  • Fri Nov 16 10:46:13 2018 -0800: enhance resource manager test with additional use cases and asserts
  • Wed Nov 14 16:16:59 2018 -0800: v1.0.6 fix file upload/create, added save, load config sample test case
  • Wed Nov 14 10:59:04 2018 -0800: update version number

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 Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

ixnetwork_restpy-1.0.13-py2.py3-none-any.whl (7.2 MB view hashes)

Uploaded Python 2 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