Introduction to RESTful API for vManage NMS

Introduction to RESTful API for vManage NMS

The vManage NMS supports a RESTful API (Representational State Transfer), which allows users to retrieve up-to-date information about the Viptela overlay network and the devices in it, as well as to upload device configuration templates and other configuration information.

Fig 1.1- RESTful APIs to vManage

vManage NMS can be accessed through a RESTful API to create your own custom interface. 
API calls are provided for the following categories of operations:

  • Certificate Management
  • Configuration
  • Device and Device Inventory
  • Monitoring
  • Real-Time Monitoring
  • Troubleshooting Tools

Using the vManage REST APIs:
Viptela software provides a REST API that can be used to control, configure, and monitor Viptela devices in an overlay network programmatically. Viptela's vManage web server provides access to the REST API. Representational State Transfer, or REST, is the underlying architecture of REST APIs.

Stateless, client-server communications are supported by the REST architecture. The Viptela vManage NMS web server communicates with clients using HTTP and HTTPS. To communicate between network devices, REST applications use HTTP or HTTPS. These standard HTTP methods include:

  • GET—Retrieve or read information.
  • PUT—Update an object.
  • POST—Create an object.
  • DELETE—Remove an object.

Simple Object Access Protocol (SOAP) and Web Service Definition Language (WSDL) are simple alternatives to RPCs and Web Services, including REST. There are no formal standards that define the REST architecture.

REST API calls from Viptela expose the functionality of Viptela software features and hardware features, as well as normal operations performed to maintain the Viptela devices and overlay network. Every one of these features or operations is called a resource in REST API terminology. Resources consist of a type, associated data, relationships to other resources, and a set of methods that operate on them.

Collections group resources together. Homogeneous collections contain only one type of resource. The collection of resources is found at the top level of the Viptela REST API. There are three collections of Viptela REST API resources:

The Viptela REST API uses the JavaScript Object Notation (JSON) data model to represent the data associated with a resource. JSON has three types of data:

  • Scalar—Data types with a single value. Scalar types include numbers, strings, and Booleans.
  • Array—Ordered lists of values of an arbitrary type.
  • Object—Unordered set of key: value pairs (also referred to as attributes), where key is a string and the value can have an arbitrary type.

REST is based on the idea that APIs should be self-descriptive and self-documenting. Viptela's REST API contains self-documenting collections and resources which describe the data that is required to make a call and the response that is returned.

Viptela overlay network concepts, software and hardware features, and capabilities are assumed to be familiar from the collections and resources.