Skip to main content
  • Place orders quickly and easily
  • View orders and track your shipping status
  • Enjoy members-only rewards and discounts
  • Create and access a list of your products
  • Manage your Dell EMC sites, products, and product-level contacts using Company Administration.

Dell PowerVault ME4 Series Storage System CLI Guide

PDF

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>
<PROPERTY name="time-stamp" type="string">2017-07-20 11:38:26</PROPERTY>
<PROPERTY name="time-stamp-numeric" type="uint32">1500550706</PROPERTY>
</OBJECT>

The following example shows the API status object, using the json output option:

"status":[
{
"object-name":"status",
 "response-type":"Success",
 "response-type-numeric":0,
"response":"Command completed successfully. (2017-07-20 11:38:48)", "return-code":0,
"component-id":"",
"time-stamp":"2017-07-20 11:38:48",
"time-stamp-numeric":1500550728
}
]

In a script, each command should check the previous command’s status before proceeding. If the value of the status object’s return-code property is 0, the command succeeded; any other value means that the command failed.

NOTE:If you script an operation to repeatedly add and remove disk groups, set a delay of at least two minutes between deleting a disk group and creating the next one.

Example command input and API output

The following example shows a command formatted for use with the command-line interface, the same command formatted for use with the HTTPS interface, and command output in the XML and JSON APIs.

  • Command-line interface format: create user JSmith interfaces wbi password Abc#1379

  • HTTPS interface format: create/user/JSmith/interfaces/wbi/password/Abc#1379

  • XML API output:

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <RESPONSE VERSION="L100">
    <OBJECT basetype="status" name="status" oid="1">
    <PROPERTY name="response-type" type="string" size="12" draw="false" sort="nosort"
    display-name="Response Type">Success</PROPERTY>
    <PROPERTY name="response-type-numeric" type="uint32" size="12" draw="false" sort="nosort"
    display-name="Response Type">0</PROPERTY>
    <PROPERTY name="response" type="string" size="180" draw="true" sort="nosort"
    display-name="Response">Command completed successfully. (JSmith) - The new user was created.
    (2014-07-10 14:16:29)</PROPERTY>
    <PROPERTY name="return-code" type="sint32" size="15" draw="false" sort="nosort"
    display-name="Return Code">0</PROPERTY>
    <PROPERTY name="component-id" type="string" size="80" draw="false" sort="nosort"
    display-name="Component ID">JSmith</PROPERTY>
    <PROPERTY name="time-stamp" type="string" size="25" draw="false" sort="datetime"
    display-name="Time">2014-07-10 14:16:29</PROPERTY>
    <PROPERTY name="time-stamp-numeric" type="uint32" size="25" draw="false"
    sort="datetime"
    display-name="Time">1405001789</PROPERTY>
    </OBJECT>
    </RESPONSE>
  • JSON API output:

    {
    "status":[
    {
    "object-name":"status", 
    "response-type":"Success", 
    "response-type-numeric":0,
    "response":"Command completed successfully. (JSmith) - The new user was created. 
    (2017-07-27 10:27:46)",
    "return-code":0,
     "component-id":"JSmith",
    "time-stamp":"2017-07-27 10:27:46",
    "time-stamp-numeric":1501151266
    }
    ]
    }

Rate this content

Accurate
Useful
Easy to understand
Was this article helpful?
0/3000 characters
  Please provide ratings (1-5 stars).
  Please provide ratings (1-5 stars).
  Please provide ratings (1-5 stars).
  Please select whether the article was helpful or not.
  Comments cannot contain these special characters: <>()\