HP StorageWorks 2300 Modular Smart Array CLI reference guide (500912-001, January 2009)

HP StorageWorks 2300 Modular Smart Array CLI reference guide 15
Scripting guidelines
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.
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 status object:
<OBJECT basetype="status" name="status" oid="5">
<PROPERTY name="response-type" type="enumeration" size="12" draw="false"
sort="nosort" display-name="Response Type">Success</PROPERTY>
<PROPERTY name="response-type-numeric" type="enumeration" size="12"
draw="false" sort="nosort" display-name="Response">0</PROPERTY>
<PROPERTY name="response" type="string" size="180" draw="true" sort="nosort"
display-name="Response">Command completed successfully.</PROPERTY>
<PROPERTY name="return-code" type="int32" size="5" 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"></PROPERTY>
</OBJECT>
XML API examples
This section provides example output from the XML API.
The XML API is available through the CLI interface which can be accessed via Telnet or SSH. The command
input is in standard CLI format as defined by the CLI reference guide. The output is in XML which conforms
to the DTD described later in this chapter.
The recommended command to enable XML API mode is set cli-parameters api pager off.
This command displays output in XML format without pausing after each screenful of data.
The following example shows XML API output from the show volumes command:
# show volumes
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<RESPONSE VERSION="W440">
<OBJECT basetype="volumes" name="volume" oid="1" format="rows">
<PROPERTY name="virtual-disk-name" type="string" size="20" draw="true"
sort="string" display-name="Vdisk Name">vd1</PROPERTY>
<PROPERTY name="volume-name" type="string" size="20" draw="true"
sort="string" display-name="Name">vd1_v0</PROPERTY>
<PROPERTY name="size" units="GB" type="uint64_t" size="16" draw="true"
sort="size" display-name="Size">35.9GB</PROPERTY>
<PROPERTY name="size-numeric" type="uint64_t" size="16" draw="true"
sort="size" display-name="Volumes">70312480</PROPERTY>
<PROPERTY name="preferred-owner" type="enumeration" size="2" draw="true"
sort="string" display-name="Preferred Owner">A</PROPERTY>
<PROPERTY name="preferred-owner-numeric" type="enumeration" size="2"
draw="true" sort="string" display-name="Volumes">1</PROPERTY>
<PROPERTY name="owner" type="enumeration" size="2" draw="true" sort="string"
display-name="Current Owner">A</PROPERTY>
<PROPERTY name="owner-numeric" type="enumeration" size="2" draw="true"
sort="string" display-name="Volumes">1</PROPERTY>
<PROPERTY name="serial-number" key="true" type="string" size="33"
draw="true" sort="string" display-name="Serial
Number">00c0ffa000010000f9f99a4801000000</PROPERTY>
<PROPERTY name="write-policy" type="enumeration" size="13" draw="true"
sort="string" display-name="Cache Write Policy">write-back</PROPERTY>
<PROPERTY name="write-policy-numeric" type="enumeration" size="13"
draw="true" sort="string" display-name="Volumes">1</PROPERTY>