Command line interface is being used so far extensively to control and manage network switches. But the CLI dependance could be holding us back, preventing from true programmability in those switches and more comprehensive automation of our network.
Object Model/NX-API REST used in ACI and of the Cisco NX-OS provide an advanced framework for network control and achieve true network programmability NXtoolkit is a object based programmability in the Open NX-OS.Nxtoolkit is a set of python libraries that allow basic configuration of the Cisco Nexus 9000/3000 Series Switch. It is intended to allow users to quickly begin using the REST API and accelerate the process of programming and automating a Cisco Nexus 9000/3000 based network.
The NX Toolkit is a set of python libraries that allow basic configuration of the Cisco Nexus Switch. It is intended to allow users to quickly begin using the REST API and accelerate the learning curve necessary to begin using the Switch.
Required
- Python 2.7+
- setuptools package
- NXOS version: 7.0(3)I2(1)
Option A:
If you have git installed, clone the repository
git clone https://github.com/datacenter/nxtoolkit.git
Option B:
If you don't have git, download a zip copy of the repository and extract.
Option C:
The latest build of this project is also available as a Docker image from Docker Hub
docker pull dockercisco/nxtoolkit
After downloading, install using setuptools.
cd nxtoolkit
python setup.py install
If you plan on modifying the actual toolkit files, you should install the developer environment that will link the package installation to your development directory.
cd nxtoolkit
python setup.py develop
A tutorial and overview of the nxtoolkit object model can be found in the Documentation section found at http://datacenter.github.io/nxtoolkit/
Copyright 2015 Cisco Systems, Inc.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.