By default bveCLI uses a tabular output format that is suitable for operational use. The tool supports additional output formats—XML, JSON, CSV—that can be used for integration with in-house and third-party tools. The output format can be selected using the --format
parameter.
Sample Session
% bveCLI.pl --host 192.168.10.21 --exec 'device.list "devicename=Cisco*"' --fields devicename,address,configbackupenabled,devicetype,invalidfield,serialnumber --format json
{
"api-response" : {
"data" : {
"object" : [
{
"address" : "67.21.1.74",
"configbackupenabled" : "true",
"devicename" : "Cisco Router",
"devicetype" : "IP Router",
"serialnumber" : "220070"
},
{
"address" : "192.168.14.1",
"configbackupenabled" : "false",
"devicename" : "Cisco UCS Platform",
"devicetype" : "Other/Generic Device",
"serialnumber" : "2400080"
},
{
"address" : "192.168.14.2",
"configbackupenabled" : "false",
"devicename" : "Cisco Unified Communications",
"devicetype" : "Linux/Other Unix",
"serialnumber" : "2400399"
}
]
},
"status" : {
"code" : "203",
"error" : "false",
"message" : "request accepted, records returned: 3"
}
}
}
% bveCLI.pl --host 192.168.10.21 --exec 'device.list "devicename=Cisco*"' --fields devicename,address,configbackupenabled,devicetype,invalidfield,serialnumber --format xml
<?xml version='1.0' standalone='yes'?>
<api-response>
<data>
<object>
<serialnumber>220070</serialnumber>
<address>67.21.1.74</address>
<configbackupenabled>true</configbackupenabled>
<devicename>Cisco Router</devicename>
<devicetype>IP Router</devicetype>
</object>
<object>
<serialnumber>2400080</serialnumber>
<address>192.168.14.1</address>
<configbackupenabled>false</configbackupenabled>
<devicename>Cisco UCS Platform</devicename>
<devicetype>Other/Generic Device</devicetype>
</object>
<object>
<serialnumber>2400399</serialnumber>
<address>192.168.14.2</address>
<configbackupenabled>false</configbackupenabled>
<devicename>Cisco Unified Communications</devicename>
<devicetype>Linux/Other Unix</devicetype>
</object>
</data>
<status>
<code>203</code>
<error>false</error>
<message>request accepted, records returned: 3</message>
</status>
</api-response>
% bveCLI.pl --host 192.168.10.21 --exec 'device.list "devicename=Cisco*"' --fields devicename,address,configbackupenabled,devicetype,invalidfield,serialnumber --format csv
# serialnumber, address, configbackupenabled, devicename, devicetype
"220070", "67.21.1.74", "true", "Cisco Router", "IP Router"
"2400080", "192.168.14.1", "false", "Cisco UCS Platform", "Other/Generic Device"
"2400399", "192.168.14.2", "false", "Cisco Unified Communications", "Linux/Other Unix"
For JSON/XML formats, the objects are returned as an array with separate elements indicating their success/failure status. For CSV format, the first row is prefixed with # symbol and indicates the contents of each column.