ArubaOS API

Prior to ArubaOS 8.0.0.0, the only way a controller was configured was using command line interface (CLI Command-Line Interface. A console interface with a command line shell that allows users to execute text input as commands and convert these commands to appropriate functions.) or controller user interface (WebUI). This created hindrance to automation because the CLIs typically changed over time and WebUI could not be automated easily because most of the pages were hand crafted. The WebUI also used CLI Command-Line Interface. A console interface with a command line shell that allows users to execute text input as commands and convert these commands to appropriate functions. to communicate to the back end, which was hard coded and not easily extensible.

Another issue with the old architecture was that the show command of configuration was used to display the config pages (GET request), which used to come from apps Short form for application. It generally refers to the application that is downloaded and used on mobile devices.. The apps Short form for application. It generally refers to the application that is downloaded and used on mobile devices. maintained the configuration presented to them in their own proprietary structures and the show command output was inconsistent across apps Short form for application. It generally refers to the application that is downloaded and used on mobile devices.. So, user had to know which show command to use, how to parse it, and get the output. If this output changed over time, the scripts also had to change as not all outputs were generated using structured data. GET and POST in a structured format for all configuration was the main requirement of implementing the JSON JavaScript Object Notation. JSON is an open-standard, language-independent, lightweight data-interchange format used to transmit data objects consisting of attribute–value pairs. JSON uses a "self-describing" text format that is easy for humans to read and write, and that can be used as a data format by any programming language. model.

Structured Data- Schema and Data

One of the main reasons for providing JSON JavaScript Object Notation. JSON is an open-standard, language-independent, lightweight data-interchange format used to transmit data objects consisting of attribute–value pairs. JSON uses a "self-describing" text format that is easy for humans to read and write, and that can be used as a data format by any programming language. interface is that all the configuration can now be GET and POST using structured data Application Program Interfaces (APIs Application Programming Interface. Refers to a set of functions, procedures, protocols, and tools that enable users to build application software.). Structured data means that all the data is organized in a structure format (there can be many structures) where all elements that belong to one data type follows the same data model. This is achieved by separating schema from data.

Schema is a data model representation (in JSON JavaScript Object Notation. JSON is an open-standard, language-independent, lightweight data-interchange format used to transmit data objects consisting of attribute–value pairs. JSON uses a "self-describing" text format that is easy for humans to read and write, and that can be used as a data format by any programming language. format), which tells the user the way to interpret the data. It lists the complete detail of each and every parameter or token that a particular configuration element can take. For example, the type (integer, short integer, character, string, IP address, IPv6 address, MAC Media Access Control. A MAC address is a unique identifier assigned to network interfaces for communications on a network. address etc), minimum value, maximum value, default value (when the user doesn’t provide any value), optional or mandatory.

Data is the representation of the configuration state of the Mobility Conductor in JSON JavaScript Object Notation. JSON is an open-standard, language-independent, lightweight data-interchange format used to transmit data objects consisting of attribute–value pairs. JSON uses a "self-describing" text format that is easy for humans to read and write, and that can be used as a data format by any programming language. format. It arranges the data in the same order as the schema and can be interpreted as schema tells it to be interpreted. There may be parameters or tokens, which are mandatory in schema to be omitted in data if their presence in schema is to only convey the relationships between various parameters or tokens.

Schema (also known as Metadata) and data complete the structured data representation.