TS4300: RESTful API
The TS4300 REST API is a simple application planning interface (API) to manage the 3U scalable tape libraries remotely over an HTTPS interface. This API is requested and needed for manufacturing and for automated test and monitoring systems.
Syntax:
https-address {login-credentials} GET | PATCH | POST url-endpoint [JSON data]
Parameters:
- https-address
- Login credentials in JSON format
- HTTP-Method: GET | PATCH | POST
- url-endpoint
- [JSON data]
https-address
The IP address of the library.
Login credentials
The library differentiates the following security levels:
- Admin Security
- User Security
- Service Security
The user/password that is used to log in. Additionally, for some product variants in case of
service level login the service password (service_password) and the administrator password
(password) must be sent. In case the administrator password is not required the ‘service_password’
must be set through the normal password field.
Parameter:
'{"username":"administrator”,
"password":"password”
[“service_password”:””servicepassword”]}'
http-method
The method for a dedicated request: GET, PUT, POST
url-endpoint
Valid URLs in combination with the http method. If the parameter is required, it can be passed with ? and &.
For a detailed URL endpoint definition, refer to the TS4300 RESTful documentation: https://www.ibm.com/support/knowledgecenter/STAKKZ/ts4300_kc/con_3U_REST_overview.html.
JSON data
Some commands need extra data in JSON format like ‘serialnumber change’.
Example:
sudo ./itdt https://1.2.3.4 '{"username":"service","password":"123456"}' GET /library/baseinfo
{
BaseInfo {
"SerialNumber": "1234567890123455",
"MacAdress_1": "00:0e:11:1c:31:b5",
"MacAdress_2": "00:0e:11:1c:31:b7",
"Vendor": "IBM",
"ProductID": "3573-TL",
"BaseFWRevision": "1.3.0.0-D00",
"BaseFWBuildDate": "07-02-2019",
"ExpansionFWRevision": "0.30",
"WWNodeName": "500000000000000",
"RoboticHWRevision": "4",
"RoboticFWRevision": "0.13",
"RoboticSerialNumber": "12345678901234", "NoOfModules": "2",
"LibraryType": "32"
},
"ModulesInfo": [
{
"PhysicalNumber": "4",
"LogicalNumber": "1",
"ReadyStatus": "TRUE",
"SerialNumber": "3555L3A1234567"
},
{
"PhysicalNumber": "5",
"LogicalNumber": "2",
"ReadyStatus": "TRUE",
"SerialNumber": "3555E3A0234567"
}
]
}
Exit with code: 0
Notes:
- ITDT sends a login request for each command.
- Microsoft
Windows command prompt does not support a single quotation
mark (') to send a string to an application. That is, every special character must be
escaped. The Microsoft
Windows command shell is different and the command must be
sent with the following form.Example for Windows:
itdt.exe https://1.2.3.4 "{\"username\":\"service\",\"password\":\"123456\"}" GET /library/baseinfo itdt.exe https://1.2.3.4 "{\"username\":\"service\",\"password\":\"123456\"}" GET "/library/getevents?EventType=Info&MaxNum=2"