CLI Guide

Table Of Contents
Using JSON API output
The simplest mechanism to handle JSON output is by using either a JavaScript or a Python parser to interpret the data.
The JSON output is organized according to the basetypes defined for the system. All basetype objects are returned in an array.
The JSON object uses the same name for the key as the XML API uses in the name attribute. Objects can also be embedded
inside of other objects are always presented as an array as well. This is different from the XML API where the default output
uses associations. The JSON output always uses a hierarchical presentation of objects to identify relationships between objects.
Each object also has an object-name property that may be used in some cases to identify the object uniquely. For example, the
show versions command uses the object-name property to identify the version for controller A and controller B:
{
"versions":[
{
"object-name":"controller-a-versions",
"sc-cpu-type":"SC-CPU-type",
"bundle-version":"bundle-version",
"bundle-base-version":"bundle-base-version",
"build-date":"Mon Jul 17 14:15:44 MDT 2017",
...
},
{
"object-name":"controller-b-versions",
...
}
],
"status":[
{
"object-name":"status",
"response-type":"Success",
"response-type-numeric":0,
"response":"Command completed successfully. (2017-07-27 10:21:36)",
"return-code":0,
"component-id":"",
"time-stamp":"2017-07-27 10:21:36",
"time-stamp-numeric":1501150896
}
]
}
Other basetypes may use the durable ID to uniquely identify the objects.
Scripting guidelines
When scripting command input, use CLI syntax as defined in this guide. For use with SSH or Telnet, use a space character
between command names, parameters, and their values (as shown throughout this guide). For use with the HTTP or HTTPS
interface, use a / character instead of a space character between command names, parameters, and their values.
When writing scripts to parse XML API output, use an XML library to parse the data. For parsing, a script should not rely on
ordering, spacing, or column position. To find a specific property, a script should compare property names as it searches through
the data. This allows the script to be compatible with future versions that could potentially add new fields to the output.
CAUTION:
Because API format does not use confirmation prompts, use caution when scripting commands that
may cause data unavailability or data loss.
The output of show commands is intended for monitoring or obtaining the current configuration. Other commands provide
configuration data and display one or more status objects that specify the status of command processing. The last status object
specifies the overall status of the command; other status objects indicate intermediate processing status.
The following example shows the API status object, using the ipa output option:
OBJECT basetype="status" name="status" oid="1"
<PROPERTY name="response-type" type="string">Success</PROPERTY>
<PROPERTY name="response-type-numeric" type="uint32">0</PROPERTY>
<PROPERTY name="response" type="string">Command completed successfully. (2017-07-20
11:38:26)</PROPERTY>
<PROPERTY name="return-code" type="sint32">0</PROPERTY>
<PROPERTY name="component-id" type="string"></PROPERTY>
Using the CLI
15