0% found this document useful (0 votes)
30 views121 pages

Scalable Tape Library REST API Guide

The document outlines a REST API designed for managing scalable tape libraries, detailing its versioning, contact information, and URI scheme. It includes sections on user account management, library information retrieval, library operations, and configuration settings. Each section provides specific API endpoints and their functionalities, facilitating efficient interaction with tape library systems.

Uploaded by

qiubinren91
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
30 views121 pages

Scalable Tape Library REST API Guide

The document outlines a REST API designed for managing scalable tape libraries, detailing its versioning, contact information, and URI scheme. It includes sections on user account management, library information retrieval, library operations, and configuration settings. Each section provides specific API endpoints and their functionalities, facilitating efficient interaction with tape library systems.

Uploaded by

qiubinren91
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

REST API for Scalable Tape Libraries

Table of Contents
1. Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.1. Version information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2. Contact information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.3. URI scheme. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.4. Tags . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.5. Consumes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.6. Produces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.7. General REST API Info . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.8. How To Use the REST API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.9. Synonyms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
2. Resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.1. System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.1.1. Get the current REST API version . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.1.2. Login Request. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.2. User Account . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.2.1. User Add . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.2.2. User Delete . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.2.3. User List. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.2.4. User Modify . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.2.5. Password Policies Modify . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.2.6. Password Policies List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.3. Library Information. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.3.1. Get physical libary information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.3.2. Get physical component information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.3.3. Get Date and Time relevant info . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.3.4. Get list of recent events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.3.5. Inventory of physical library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.3.6. Mailslot Status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
2.3.7. License List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
2.3.8. Get library logs dump . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
2.3.9. List of media. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
2.3.10. Network Status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
2.3.11. Get physical library status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
2.4. Library Operations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
2.4.1. Inventory scan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
2.4.2. Open Mailslot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
2.4.3. Move a cartridge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
2.4.4. Shut down the library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
2.4.5. Reboot the libary. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
2.5. Library Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
2.5.1. Set Date and Time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
2.5.2. Set SNTP for Date and Time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
2.5.3. Set Timezone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
2.5.4. Mailslot Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
2.5.5. Import License key . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
2.5.6. Change MAC of the Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
2.5.7. Change MAC and/or WWN of the Library. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
2.5.8. Set network settings per interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
2.5.9. Set a hostname and/or domainname . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
2.5.10. Reset the Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
2.5.11. Restore a library configuration file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
2.5.12. Get library configuration as file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
2.5.13. Set library serial number . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
2.5.14. Upgrade Library SW. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
2.5.15. Change WWN of the Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
2.5.16. Set the global SNMP configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
2.5.17. Get SNMP configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
2.5.18. Get SNMP MIB zip file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
2.5.19. Add SNMP trap target . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
2.5.20. Delete SNMP trap target . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
2.6. Library Test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
2.6.1. Abort Test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
2.6.2. Element to Element Test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
2.6.3. Position Test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
2.6.4. Robotic Test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
2.6.5. Slot to Slot Test. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
2.6.6. Test Status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
2.6.7. System (Demo) Test. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
2.7. Drive Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
2.7.1. Get drive information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
2.8. Drive Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
2.8.1. Upgrade Drive FW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
2.8.2. Drive Power Off. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
2.8.3. Drive Power On . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
2.8.4. Drive Reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
2.9. Partition Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
2.9.1. Get partition (Logical Library) information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
2.9.2. Inventory of a partition. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
2.9.3. List of media of a partition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
2.10. Partition Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
2.10.1. Create partitions in simple mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
2.11. Service. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
3. Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
3.1. BaseInfoData . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
3.2. BaseStatusData . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
3.3. ComponentBarcodeReader . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
3.4. ComponentBaseController . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
3.5. ComponentDrive. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
3.6. ComponentDriveSled. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
3.7. ComponentExpansionController . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
3.8. ComponentInfo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
3.9. ComponentModule. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
3.10. ComponentOCP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
3.11. ComponentPowerBoard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
3.12. ComponentPowerSupply . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
3.13. ComponentRobot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
3.14. DriveInfo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
3.15. DriveInfoInventory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
3.16. Error . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
3.17. EventEntry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
3.18. GetDateTime . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
3.19. GetSnmpConfigSchema. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
3.20. GetSnmpTargetsSchema. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
3.21. IOStatus. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
3.22. Inventory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
3.23. LibraryInfo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
3.24. LibraryStatus. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
3.25. LicenseInfo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
3.26. MediaInfoData . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
3.27. Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
3.28. ModuleStatusData . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
3.29. Modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
3.30. Network . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
3.31. PartitionInfo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
3.32. Slot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
3.33. SystemStateInformation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
3.34. TestStatus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
3.35. Timezones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
3.36. UserListInfo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
3.37. UserPasswordPolicies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
4. Security. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
4.1. UserSecurity. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
4.2. AdminSecurity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
4.3. SecuritySecurity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
4.4. ServiceSecurity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
© BDT Storage GmbH

Chapter 1. Overview
A simple API to manage the Scalable Tape Libraries remotely over a HTTPS interface. This is
requested and needed for manufacturing and for automated test / monitoring systems.

1.1. Version information


Version : 1.1.28

1.2. Contact information


Contact : BDT Storage GmbH

1.3. URI scheme


BasePath : /rest
Schemes : HTTPS

1.4. Tags
• System : System requests

• User Account : User Account requests

• Library Information : Library Status / Information

• Library Operations : Library Operations

• Library Configuration : Library Configuration

• Library Test : Library Tests

• Drive Information : Drive Information

• Drive Configuration : Drive Configuration

• Partition Information : Partition Information

• Partition Configuration : Partition Configuration

• Service : Service Request

1.5. Consumes
• application/json

1.6. Produces
• application/json

REST API for Scalable Tape Libraries 1.1. Version information | 1


© BDT Storage GmbH

1.7. General REST API Info


Name Value

Protocol HTTPS

Port 3031

Authorization Bearer token

Base Path /rest/

Certificate Self-Signed

Example URL [Link]

1.8. How To Use the REST API


The REST API workflow is as follows:

1. Login to the system with the POST command URL [Link] where the
username and password must be sent as content in JSON format (application/json).
Example Content:
{
"username" : "administrator",
"password" : "password"
}

2. If the login was successful a Bearer token will be returned like: "Bearer
eyJ0eXAiOiJKV1QiLCJhb….zRcVud3c"

3. The returned Bearer token must be added as the "Authorization" header value to the REST calls
which have a security check.
Authorization: Bearer token

NOTE: If the token is invalid or the login was invalid a 401 HTTP error will be returned.

CURL Examples:

curl -X GET "[Link] -H "accept: application/json" -H


"Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhb….zRcVud3c" -k

curl -X POST "[Link] -H "accept: application/json" -H "Content-


Type: application/json" -H "Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhb….zRcVud3c" -d "{
\"module\": 1}" -k

1.9. Synonyms
To generalize the document and to support different wording in different environments the
following synonyms are used in this specification

1.7. General REST API Info | 2


© BDT Storage GmbH

Name Synonym Description

I/O Station Mailslot The removable media slots in a


magazine

Logical Library Partition The virtualization of the


physical library into multiple
logical partitions, which shows
up for a host a tape library

Tape, Cartridge Media The data tape

VolSer Barcode The barcode label which is


located on the back of the tape
media

REST API for Scalable Tape Libraries 1.9. Synonyms | 3


© BDT Storage GmbH

Chapter 2. Resources
2.1. System
System requests

2.1.1. Get the current REST API version

GET /apiversion

Description

The REST API version used in this software release

Responses

HTTP
Description Schema
Code
200 OK GetApiVersion

500 Error occurred at operation Error

GetApiVersion

Name Schema
version
string
required

Example HTTP response

Response 200

{
"version" : "1.1.10"
}

2.1.2. Login Request

POST /login

2.1. System | 4
© BDT Storage GmbH

Description

*Required* Initial request to get authenticated against the tape library. The user roles/names of the
library are used. This API command returns after a successful authentication an session based
Bearer token, which has to be attached in the "Authorization" header of every following API
command during a session.

*Example using curl: " curl -X GET '[Link] -H 'accept:


application/json' -H 'Authorization: Bearer token' "*

Parameters

Type Name Description Schema


the user/password which should be used to log
in. For some product variants in case of service
level login the service password
(service_password) and additionally the
user
Body administrator password (password) have to be PostAuth
required
sent. In case the administrator password is not
required the service password has to be set
through the normal password field (password).
See Product Variants notes.

PostAuth

Name Description Schema


username
Example : "administrator" string
required

password
Example : "password" string
required

service_passw service password in case the administrator password is


ord additionally required string
optional Example : "servicepwd"

change_passw If account needs a password change after valid login


ord credentials provided this param needs to be set with the string
optional new password

Two factor authentication TOTP must be sent if user has


totp
TOTP active. string
optional
Example : "123456"

REST API for Scalable Tape Libraries 2.1. System | 5


© BDT Storage GmbH

Responses

HTTP
Description Schema
Code
201 Login request was successful and session token is generated Response 201

401 Access denied - not authenticated No Content

500 Error occurred at operation Error

Response 201

Name Schema
token
string
required

Consumes

• application/json

Example HTTP response

Response 201

{
"status" : "ok",
"token" : "Bearer
eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpYXQiOjEwMDg5OSwiZXhwIjoxMDgwOTksIlVST0xFIjoyL
CJqaXQiOiI0NmEzOTBiZDcwMTA5Y2ViYjk0MzExNTQ2YjkxYjI3ZXQyM2Y1Y2hhYmE5bnNpdTQ3bnU3cXI1a3Q
zMDAwMThhMjM2ZDQ5MDYuNTg2OTc4MTcifQ.DrCpCaX0jMwREFRYmSHazGY7wOs6QfGzRcVud3cDjA0"
}

2.2. User Account


User Account requests

2.2.1. User Add

PUT /user/add

Description

With this command the a new user can be added to the system

2.2. User Account | 6


© BDT Storage GmbH

Parameters

Type Name Schema


PutDataUserAdd
Body PutDataUserAdd
required

PutDataUserAdd

Name Description Schema


Name of the user to add. Allowed are a-z A-Z 0-9 with 1-32
userName
characters. string
required
Example : "CustomAdmin"

enum (USER,
userRole User Role for the user, for e.g. ADMINISTRATOR
ADMINISTRATOR,
required Example : "ADMINISTRATOR"
SECURITY)

Password for the user. It must fullfill the password policy


password
rules. string
required
Example : "TestAdm001"

Responses

HTTP
Description Schema
Code
200 The user was added successfully No Content

401 Access denied - not authenticated No Content

403 Access forbidden - insufficent rights No Content

500 Error occurred at operation Error

Security

Type Name
apiKey AdminSecurity

apiKey ServiceSecurity

apiKey SecuritySecurity

REST API for Scalable Tape Libraries 2.2. User Account | 7


© BDT Storage GmbH

2.2.2. User Delete

DELETE /user/delete

Description

With this command a user can be removed from the system (at least one local administrator must
be kept SYSTEM or CUSTOM)

Parameters

Type Name Schema


DeleteDataUser
Body DeleteDataUser
required

DeleteDataUser

Name Description Schema


userId Id of the Custom User
integer
required Example : 1

userType User type can be system (system default users) or custom enum (SYSTEM,
required added user CUSTOM)

Responses

HTTP
Description Schema
Code
200 The user was successfully deleted No Content

401 Access denied - not authenticated No Content

403 Access forbidden - insufficent rights No Content

500 Error occurred at operation Error

Security

Type Name
apiKey AdminSecurity

2.2. User Account | 8


© BDT Storage GmbH

Type Name
apiKey ServiceSecurity

apiKey SecuritySecurity

2.2.3. User List

GET /user/list

Description

With this command the users from the system can be listed

Parameters

Type Name Description Schema


Id < integer >
Query Filter User Ids (CSV supported)
optional array(csv)

< enum (SYSTEM,


Type
Query Filter User by its type (CSV supported) CUSTOM) >
optional
array(csv)

Name
Query Filter by Username (CSV supported) < string > array(csv)
optional

< enum (ENABLED,


State
Query Filter by user state (CSV supported) LOCKED) >
optional
array(csv)

< enum (USER,


Role ADMINISTRATOR,
Query Filter by user role (CSV supported)
optional SECURITY, SERVICE)
> array(csv)

Responses

HTTP
Description Schema
Code
< UserListInfo >
200 OK
array

REST API for Scalable Tape Libraries 2.2. User Account | 9


© BDT Storage GmbH

HTTP
Description Schema
Code
401 Access denied - not authenticated No Content

403 Access forbidden - insufficent rights No Content

500 Error occurred at operation Error

Security

Type Name
apiKey AdminSecurity

apiKey ServiceSecurity

apiKey SecuritySecurity

Example HTTP response

Response 200

[ {
"Id" : 8,
"Type" : "CUSTOM",
"Name" : "AdminCustom",
"State" : "ENABLED",
"Role" : "ADMINISTRATOR",
"LastLoginTime" : "2021-10-05T[Link]Z",
"PwdChangedTime" : "2021-10-05T[Link]Z",
"FailedLgiCnt" : 1
}, {
"Id" : 9,
"Type" : "CUSTOM",
"Name" : "AdminCustom2",
"State" : "ENABLED",
"Role" : "ADMINISTRATOR",
"LastLoginTime" : "null",
"PwdChangedTime" : "null",
"FailedLgiCnt" : 0
} ]

2.2.4. User Modify

2.2. User Account | 10


© BDT Storage GmbH

POST /user/modify

Description

With this command the password of a user can be changed

Parameters

Type Name Schema


PostUserModify
Body PostUserModify
required

PostUserModify

Name Description Schema


userId Id of the Custom User
integer
required Example : 1

User type can be system (system default users) or custom


userType enum (SYSTEM,
added user
required CUSTOM)
Example : "SYSTEM"

password
new password for the user string
required

Responses

HTTP
Description Schema
Code
200 The user password was successfully changed No Content

401 Access denied - not authenticated No Content

403 Access forbidden - insufficent rights No Content

500 Error occurred at operation Error

Security

Type Name
apiKey AdminSecurity

REST API for Scalable Tape Libraries 2.2. User Account | 11


© BDT Storage GmbH

Type Name
apiKey ServiceSecurity

apiKey SecuritySecurity

2.2.5. Password Policies Modify

POST /user/pwdpolicies

Description

With this command the password policies can be modified

Parameters

Type Name Schema


PostUserPwdPolicies
Body PostUserPwdPolicies
required

PostUserPwdPolicies

Name Description Schema


MinNumOfCh Minimum Number Of Characters
ars Minimum value : 8 integer
required Maximum value : 20

Minimum Number Of Upper Case Alphabetic Characters (A-


MinNumOfUp
Z)
perCaseChars integer
Minimum value : 0
required
Maximum value : 3

Minimum Number Of Lower Case Alphabetic Characters (a-


MinNumOfLo
z)
werCaseChars integer
Minimum value : 0
required
Maximum value : 3

MinNumOfNu Minimum Number Of Numeric Characters (0-9)


mericChars Minimum value : 0 integer
required Maximum value : 3

2.2. User Account | 12


© BDT Storage GmbH

Name Description Schema


Minimum Number Of Special Characters (!@#$%^&*()_+-
MinNumOfSp
={}|[]\;':"<>?,./)
ecialChars integer
Minimum value : 0
required
Maximum value : 3

MaxNumOfCo Maximum Number Of Identical Consecutive Characters (0


nsecutiveChar means unlimited)
integer
s Minimum value : 0
required Maximum value : 3

Maximum Number Of Failed Logins Before Password Is


MaxNumOfFa
Locked (0 means unlimited)
iledLogins integer
Minimum value : 0
required
Maximum value : 10

MaxNumOfDa Maximum Number Of Days Before Password Must Be


ysBeforeMust Changed (0 means unlimited)
integer
Change Minimum value : 0
required Maximum value : 365

MinNumOfDa Minimum Number Of Days Before Password Can Be


ysBeforeCanC Changed (0 means unlimited)
integer
hange Minimum value : 0
required Maximum value : 365

NumOfPwdCh Number Of Password Changes Before An Old Password Can


angesBeforeU Be Used Again
integer
seAgain Minimum value : 0
required Maximum value : 6

Responses

HTTP
Description Schema
Code
200 OK No Content

401 Access denied - not authenticated No Content

403 Access forbidden - insufficent rights No Content

500 Error occurred at operation Error

REST API for Scalable Tape Libraries 2.2. User Account | 13


© BDT Storage GmbH

Security

Type Name
apiKey AdminSecurity

apiKey ServiceSecurity

apiKey SecuritySecurity

2.2.6. Password Policies List

GET /user/pwdpolicies

Description

With this command the password policies for the system can be listed

Responses

HTTP
Description Schema
Code
UserPasswordPoli
200 OK
cies

401 Access denied - not authenticated No Content

403 Access forbidden - insufficent rights No Content

500 Error occurred at operation Error

Security

Type Name
apiKey AdminSecurity

apiKey ServiceSecurity

apiKey SecuritySecurity

Example HTTP response

2.2. User Account | 14


© BDT Storage GmbH

Response 200

{
"MinNumOfChars" : 8,
"MinNumOfUpperCaseChars" : 1,
"MinNumOfLowerCaseChars" : 1,
"MinNumOfNumericChars" : 1,
"MinNumOfSpecialChars" : 0,
"MaxNumOfConsecutiveChars" : 2,
"MaxNumOfFailedLogins" : 3,
"MaxNumOfDaysBeforeMustChange" : 2,
"MinNumOfDaysBeforeCanChange" : 1,
"NumOfPwdChangesBeforeUseAgain" : 6
}

2.3. Library Information


Library Status / Information

2.3.1. Get physical libary information

GET /library/baseinfo

Description

The "baseinfo" command returns information about the physical tape library like serial number,
MAC address and other useful data

Responses

HTTP
Description Schema
Code
200 OK LibraryInfo

401 Access denied - not authenticated No Content

403 Access forbidden - insufficent rights No Content

500 Error occurred at operation Error

Security

Type Name
apiKey UserSecurity

REST API for Scalable Tape Libraries 2.3. Library Information | 15


© BDT Storage GmbH

Example HTTP response

Response 200

{
"BaseInfo" : {
"SerialNumber" : "DE00000000",
"MacAdress_1" : "[Link]",
"MacAdress_2" : "",
"Vendor" : "VENDOR",
"ProductID" : "ProductID",
"BaseFWRevision" : "SSx1",
"BaseFWBuildDate" : "2017-02-20",
"ExpansionFWRevision" : "0.20",
"WWNodeName" : "5001000000000000",
"RoboticHWRevision" : "4",
"RoboticFWRevision" : "0.10",
"RoboticSerialNumber" : "564EA000103",
"NoOfModules" : 7,
"LibraryType" : "32"
},
"ModulesInfo" : [ {
"PhysicalNumber" : 1,
"LogicalNumber" : 1,
"ReadyStatus" : true,
"SerialNumber" : "DE56400022",
"LCMTemp" : 29,
"CPUTemp" : 39
}, {
"PhysicalNumber" : 2,
"LogicalNumber" : 2,
"ReadyStatus" : true,
"SerialNumber" : "DE56400041",
"LCMTemp" : 26,
"CPUTemp" : 41
}, {
"PhysicalNumber" : 3,
"LogicalNumber" : 3,
"ReadyStatus" : true,
"SerialNumber" : "DE56400040",
"LCMTemp" : 28,
"CPUTemp" : 39
}, {
"PhysicalNumber" : 4,
"LogicalNumber" : 4,
"ReadyStatus" : true,
"SerialNumber" : "",
"LCMTemp" : 60,
"CPUTemp" : 67
}, {
"PhysicalNumber" : 5,

2.3. Library Information | 16


© BDT Storage GmbH

"LogicalNumber" : 5,
"ReadyStatus" : true,
"SerialNumber" : "DE56400045",
"LCMTemp" : 32,
"CPUTemp" : 31
}, {
"PhysicalNumber" : 6,
"LogicalNumber" : 6,
"ReadyStatus" : true,
"SerialNumber" : "DE56400042",
"LCMTemp" : 40,
"CPUTemp" : 35
}, {
"PhysicalNumber" : 7,
"LogicalNumber" : 7,
"ReadyStatus" : true,
"SerialNumber" : "DE564000XX",
"LCMTemp" : 30,
"CPUTemp" : 39
} ]
}

2.3.2. Get physical component information

GET /library/componentinfo

Description

The "componentinfo" command returns information about library components. Included


components are: controllers, robotic assembly, powerboards, power supplies, barcode reader,
modules, drive sleds, drives and the OCP. The supplied information includes the serial number,
hardware/firmware revision, component location and other component specific data.

Parameters

Type Name Description Schema


< enum
(CONTROLLERS,
ROBOT,
POWERBOARDS,
Components
Query Filter by component (CSV supported) POWERSUPPLIES,
optional
MODULES,
DRIVESLEDS,
DRIVES, OCP) >
array(csv)

REST API for Scalable Tape Libraries 2.3. Library Information | 17


© BDT Storage GmbH

Type Name Description Schema


SerialNumber Filter by Serial Number of the component (CSV
Query < string > array(csv)
optional supported)

MFGSerialNu
Filter by Manufacturing Serial Number of the
Query mber < string > array(csv)
Drive component (CSV supported)
optional

ModulePhysic
Filter by the physical location of the module the < integer >
Query alLocation
component is in (CSV supported) array(csv)
optional

ModuleLogica
Filter by the logical number of the module the < integer >
Query lNumber
component is in (CSV supported) array(csv)
optional

HardwareRev
Filter by the hardware revision of the
Query ision < string > array(csv)
component (CSV supported)
optional

FirmwareRevi
Filter by the firmware revision of the
Query sion < string > array(csv)
component (CSV supported)
optional

LogicalNumbe
Filter by the logical number of the component < integer >
Query r
(CSV supported) array(csv)
optional

PhysicalLocati
Filter by the physical location of the component < integer >
Query on
(CSV supported) array(csv)
optional

WWN Filter by the World Wide Node Name of the


Query < string > array(csv)
optional component (CSV supported)

Present
Query Filter components by present status boolean
optional

Responses

HTTP
Description Schema
Code
200 OK ComponentInfo

2.3. Library Information | 18


© BDT Storage GmbH

HTTP
Description Schema
Code
401 Access denied - not authenticated No Content

403 Access forbidden - insufficent rights No Content

500 Error occurred at operation Error

Security

Type Name
apiKey UserSecurity

Example HTTP response

Response 200

{
"ComponentInfo" : {
"BaseController" : {
"SerialNumber" : "SKAH2209335486",
"HardwareRevision" : "B100",
"FirmwareRevision" : "1.0.0-0008",
"ModulePhysicalLocation" : 5,
"LogicalNumber" : 1,
"CPUTemp" : 61,
"LCMTemp" : 55,
"WWN" : "5000E111E0000000",
"Present" : true
},
"ExpansionControllers" : [ {
"SerialNumber" : "SKAK2217200303",
"HardwareRevision" : "E000",
"FirmwareRevision" : "0.04",
"ModulePhysicalLocation" : 6,
"LogicalNumber" : 2,
"CPUTemp" : 33,
"LCMTemp" : 25,
"Present" : true
} ],
"RoboticAssembly" : {
"SerialNumber" : "nonenonenone",
"HardwareRevision" : "6",
"FirmwareRevision" : "0.03",
"Temperature" : 34,
"BarcodeReader" : {

REST API for Scalable Tape Libraries 2.3. Library Information | 19


© BDT Storage GmbH

"HardwareRevision" : "SE-625",
"FirmwareRevision" : "PAAAMC00-002-N09D0"
}
},
"PowerBoards" : [ {
"ModulePhysicalLocation" : 3,
"ModuleLogicalNumber" : 1,
"HardwareRevision" : "SFLH1713006343+24VOR01",
"Status" : "OK",
"Present" : true,
"PowerBoardType" : "24V"
}, {
"ModulePhysicalLocation" : 4,
"ModuleLogicalNumber" : 2,
"HardwareRevision" : "SFLH1713006343+24VOR01",
"Status" : "OK",
"Present" : true,
"PowerBoardType" : "24V"
} ],
"PowerSupplies" : [ {
"LogicalNumber" : 1,
"PowerStatus" : "OK",
"PowerSupply1Present" : true,
"PowerSupply2Present" : false
}, {
"LogicalNumber" : 2,
"PowerStatus" : "OK",
"PowerSupply1Present" : true,
"PowerSupply2Present" : false
} ],
"BaseModule" : {
"SerialNumber" : "DE13782986",
"PhysicalLocation" : 4,
"LogicalNumber" : 2,
"LCMTemp" : 59,
"CPUTemp" : 66,
"UnitLockPresent" : true,
"ChassisFanPresent" : false,
"Present" : true
},
"ExpansionModules" : [ {
"SerialNumber" : "DE13937657",
"PhysicalLocation" : 3,
"LogicalNumber" : 1,
"LCMTemp" : 27,
"CPUTemp" : 36,
"UnitLockPresent" : false,
"ChassisFanPresent" : false,
"Present" : true
} ],
"DriveSleds" : [ {

2.3. Library Information | 20


© BDT Storage GmbH

"SerialNumber" : "000000005B",
"ModulePhysicalLocation" : 3,
"ModuleLogicalNumber" : 1,
"FirmwareRevision" : "05",
"PhysicalLocation" : 9,
"LogicalNumber" : 1,
"FanLevel" : 83,
"Present" : true
}, {
"SerialNumber" : "000000016B",
"ModulePhysicalLocation" : 4,
"ModuleLogicalNumber" : 2,
"FirmwareRevision" : "05",
"PhysicalLocation" : 11,
"LogicalNumber" : 2,
"Present" : false
} ],
"Drives" : [ {
"SerialNumber" : "0000000056",
"MFGSerialNumber" : "1013000167",
"HardwareRevision" : "ULT3580-HH7",
"FirmwareRevision" : "N9M1",
"ModulePhysicalLocation" : 3,
"ModuleLogicalNumber" : 1,
"PhysicalLocation" : 9,
"LogialNumber" : 1,
"Vendor" : "IBM",
"Temperature" : 39,
"ErrorState" : false,
"ADTMode" : "IADT",
"PortASignal" : true,
"PortBSignal" : false,
"PortASpeed" : 8,
"PortBSpeed" : 0,
"DriveReady" : true,
"WWN" : "5001000000000056",
"PortAWWN" : "5001000000000057",
"PortBWWN" : "5001000000000058",
"Present" : true
} ],
"OCP" : {
"SerialNumber" : "SFLN1722100273",
"FirmwareRevision" : "V5.63 r0 / V1.5"
}
}
}

2.3.3. Get Date and Time relevant info

REST API for Scalable Tape Libraries 2.3. Library Information | 21


© BDT Storage GmbH

GET /library/datetime

Description

Returns the DateTime, Timezone and SNTP settings of the library

Responses

HTTP
Description Schema
Code
200 OK GetDateTime

Security

Type Name
apiKey UserSecurity

apiKey AdminSecurity

Example HTTP response

Response 200

{
"DateTimeUtc" : "2022-04-04T[Link]Z",
"Timezone" : "Europe/Berlin",
"SntpEnabled" : true,
"SntpAddress" : "[Link]"
}

2.3.4. Get list of recent events

GET /library/getevents

Description

Based on the "EventType" this request returns a list of the recent events. The event types are
"Ticket"
"Info"
"Config"
"Service"
The number of returns can be limited by the parameter "MaxNum". To include already closed
Tickets add "IncClosed" param.

2.3. Library Information | 22


© BDT Storage GmbH

Parameters

Type Name Description Schema Default


enum (Ticket,
EventType
Query The type of event Info, Config,
required
Service)

The maximum number of returned events.


MaxNum
Query If parameter is not given, all events integer
optional
available will be returned

IncClosed
Query The closed state of the ticket. enum (true, false) "false"
optional

enum (CRITICAL,
Severity
Query Filter by severity WARNING,
optional
CONFIG, INFO)

Details
Query Include detail information of ticket. enum (true, false) "true"
optional

Responses

HTTP
Description Schema
Code
< EventEntry >
200 OK
array

401 Access denied - not authenticated No Content

403 Access forbidden - insufficent rights No Content

500 Error occurred at operation Error

Security

Type Name
apiKey UserSecurity

Example HTTP response

REST API for Scalable Tape Libraries 2.3. Library Information | 23


© BDT Storage GmbH

Response 200

[ {
"Number" : 33,
"TimeStamp" : "2017_03_23T[Link]Z",
"EventCode" : 9003,
"Severity" : "INFO",
"Component" : "ROBOTICS",
"ComponentID" : 1,
"Text" : "Move media command was executed",
"State" : "TICKET_PENDING",
"Closed" : false,
"Details" : {
"LEVEL_1" : {
"SRC_ELEM_ADDR" : "2.40 (160)",
"SRC_ELEM_TYPE" : "STE (2)",
"DST_ELEM_ADDR" : "1.39 (119)",
"DST_ELEM_TYPE" : "STE (2)",
"MCHG_MEDI_PVT" : "CH1174L8",
"SYS_COMPONENT" : "ROBOTICS",
"PHY_NUM" : 1,
"TYPE" : "ACCESS"
}
}
}, {
"Number" : 32,
"TimeStamp" : "2017_03_23T[Link]Z",
"EventCode" : 9028,
"Severity" : "INFO",
"Component" : "STACK",
"ComponentID" : 1,
"Text" : "Configuration backup to base module was successful",
"State" : "TICKET_PENDING",
"Closed" : false,
"Details" : {
"LEVEL_1" : {
"SEVERITY" : "INFO",
"SYS_COMPONENT" : "STACK",
"PHY_NUM" : 1
}
}
}, {
"Number" : 31,
"TimeStamp" : "2017_03_23T[Link]Z",
"EventCode" : 9026,
"Severity" : "INFO",
"Component" : "SYSTEM",
"ComponentID" : 1,
"Text" : "Library test successfully finished",
"State" : "TICKET_PENDING",
"Closed" : false,

2.3. Library Information | 24


© BDT Storage GmbH

"Details" : {
"LEVEL_1" : {
"CMD_NAME" : "SLOT_TO_SLOT_TEST",
"CMD_INITIATOR" : "RMI_GUI_CTRL",
"PARAM1" : 1,
"USER_NAME" : "administrator",
"USER_REMOTE_IP" : "[Link]",
"PHY_NUM" : 1,
"SYS_COMPONENT" : "SYSTEM",
"CYCLE_COUNT" : 1,
"TARGETCYCLE_COUNT" : 1,
"START_TIME" : "27.02.2023 [Link]",
"END_TIME" : "27.02.2023 [Link]",
"USER_ROLE" : "ADMINISTRATOR",
"LOGIN_USER_METHOD" : "LOCAL",
"LOGIN_INTERFACE" : "RMI",
"TYPE" : "ACCESS"
}
}
}, {
"Number" : 30,
"TimeStamp" : "2017_03_23T[Link]Z",
"EventCode" : 9003,
"Severity" : "INFO",
"Component" : "ROBOTICS",
"ComponentID" : 1,
"Text" : "Move media command was executed",
"State" : "TICKET_PENDING",
"Closed" : false,
"Details" : {
"LEVEL_1" : {
"SRC_ELEM_ADDR" : "1.39 (119)",
"SRC_ELEM_TYPE" : "STE (2)",
"DST_ELEM_ADDR" : "2.40 (160)",
"DST_ELEM_TYPE" : "STE (2)",
"MCHG_MEDI_PVT" : "CH1174L8",
"SYS_COMPONENT" : "ROBOTICS",
"PHY_NUM" : 1,
"TYPE" : "ACCESS"
}
}
}, {
"Number" : 29,
"TimeStamp" : "2017_03_23T[Link]Z",
"EventCode" : 9003,
"Severity" : "INFO",
"Component" : "ROBOTICS",
"ComponentID" : 1,
"Text" : "Move media command was executed",
"State" : "TICKET_RESOLVED",
"Closed" : false,

REST API for Scalable Tape Libraries 2.3. Library Information | 25


© BDT Storage GmbH

"Details" : {
"LEVEL_1" : {
"SRC_ELEM_ADDR" : "2.40 (160)",
"SRC_ELEM_TYPE" : "STE (2)",
"DST_ELEM_ADDR" : "1.39 (119)",
"DST_ELEM_TYPE" : "STE (2)",
"MCHG_MEDI_PVT" : "CH1174L8",
"SYS_COMPONENT" : "ROBOTICS",
"PHY_NUM" : 1,
"TYPE" : "ACCESS"
}
}
} ]

2.3.5. Inventory of physical library

GET /library/inventory

Description

Returns the inventory of the physical library including slots, drives and mailslots. It also returns the
corresponding metadata which belongs to the different types of the elements

Responses

HTTP
Description Schema
Code
200 OK Inventory

401 Access denied - not authenticated No Content

403 Access forbidden - insufficent rights No Content

500 Error occurred at operation Error

Security

Type Name
apiKey UserSecurity

Example HTTP response

Response 200

2.3. Library Information | 26


© BDT Storage GmbH

{
"Slots" : [ {
"PhysicalNumber" : 1,
"LogicalNumber" : "1.1",
"Module" : 1,
"Partition" : 1,
"Mailslot" : false,
"Cartridge" : false,
"CartridgeType" : "N/A",
"CartridgeSubType" : 0,
"Access" : true,
"Blocked" : true
}, {
"PhysicalNumber" : 2,
"LogicalNumber" : "1.2",
"Module" : 1,
"Partition" : 1,
"Mailslot" : false,
"Cartridge" : false,
"CartridgeType" : "N/A",
"CartridgeSubType" : 0,
"Access" : true,
"Blocked" : false
}, {
"PhysicalNumber" : 3,
"LogicalNumber" : "1.3",
"Module" : 1,
"Partition" : 1,
"Mailslot" : false,
"Cartridge" : true,
"Barcode" : "TT0013L4",
"CartridgeType" : "Data",
"CartridgeSubType" : 0,
"CartridgeGeneration" : 4,
"CartridgeEncrypted" : false,
"Access" : true,
"Blocked" : false
}, { }, {
"PhysicalNumber" : 280,
"LogicalNumber" : "7.40",
"Module" : 7,
"Partition" : 0,
"Mailslot" : true,
"Cartridge" : false,
"CartridgeType" : "N/A",
"CartridgeSubType" : 0,
"Access" : true,
"Blocked" : false
} ],
"Drives" : [ {
"PhysicalNumber" : 10,

REST API for Scalable Tape Libraries 2.3. Library Information | 27


© BDT Storage GmbH

"LogicalNumber" : 1,
"Partition" : 0,
"Vendor" : "VENDOR ",
"Product" : "Ultrium 7-SCSI ",
"FWRevision" : "ABCD",
"SerialNumber" : "1234567890"
}, {
"PhysicalNumber" : 11,
"LogicalNumber" : 2,
"Partition" : 0,
"Vendor" : "VENDOR ",
"Product" : "Ultrium 7-SCSI ",
"FWRevision" : "ABCD",
"SerialNumber" : "1234567891"
}, {
"PhysicalNumber" : 12,
"LogicalNumber" : 3,
"Partition" : 0,
"Vendor" : "VENDOR ",
"Product" : "Ultrium 7-SCSI ",
"FWRevision" : "ABCD",
"SerialNumber" : "1234567892"
}, {
"PhysicalNumber" : 20,
"LogicalNumber" : 4,
"Partition" : 0,
"Vendor" : "",
"Product" : "",
"FWRevision" : "",
"SerialNumber" : ""
} ]
}

2.3.6. Mailslot Status

GET /library/io/status

Description

Returns the status of the mailslots

Responses

HTTP
Description Schema
Code
200 OK < IOStatus > array

2.3. Library Information | 28


© BDT Storage GmbH

HTTP
Description Schema
Code
401 Access denied - not authenticated No Content

403 Access forbidden - insufficent rights No Content

500 Error occurred at operation Error

Security

Type Name
apiKey UserSecurity

Example HTTP response

Response 200

REST API for Scalable Tape Libraries 2.3. Library Information | 29


© BDT Storage GmbH

[ {
"ModuleNo" : 7,
"Configured" : false,
"OpenStatus" : false,
"Unlocked" : false
}, {
"ModuleNo" : 6,
"Configured" : false,
"OpenStatus" : false,
"Unlocked" : false
}, {
"ModuleNo" : 5,
"Configured" : true,
"OpenStatus" : false,
"Unlocked" : false
}, {
"ModuleNo" : 4,
"Configured" : true,
"OpenStatus" : false,
"Unlocked" : false
}, {
"ModuleNo" : 3,
"Configured" : false,
"OpenStatus" : false,
"Unlocked" : false
}, {
"ModuleNo" : 2,
"Configured" : false,
"OpenStatus" : false,
"Unlocked" : false
}, {
"ModuleNo" : 1,
"Configured" : false,
"OpenStatus" : false,
"Unlocked" : false
} ]

2.3.7. License List

GET /library/license

Description

Returns a list of installed feature licenses

Responses

2.3. Library Information | 30


© BDT Storage GmbH

HTTP
Description Schema
Code
< LicenseInfo >
200 OK
array

401 Access denied - not authenticated No Content

403 Access forbidden - insufficent rights No Content

500 Error occurred at operation Error

Security

Type Name
apiKey AdminSecurity

2.3.8. Get library logs dump

GET /library/logs

Description

Generates and returns a log file from the stack in binary format "application/octet-stream". Other
responses are returned as "application/json"

Responses

HTTP
Description Schema
Code
200 OK file (binary)

401 Access denied - not authenticated No Content

403 Access forbidden - insufficent rights No Content

500 Error occurred at operation Error

Produces

• application/json

• application/octet-stream

REST API for Scalable Tape Libraries 2.3. Library Information | 31


© BDT Storage GmbH

Security

Type Name
apiKey AdminSecurity

2.3.9. List of media

GET /library/mediainfo

Description

Returns the list of media which are located in the library including detailed information about
them

Responses

HTTP
Description Schema
Code
< MediaInfoData >
200 OK
array

401 Access denied - not authenticated No Content

403 Access forbidden - insufficent rights No Content

500 Error occurred at operation Error

Security

Type Name
apiKey UserSecurity

Example HTTP response

Response 200

2.3. Library Information | 32


© BDT Storage GmbH

[ {
"Barcode" : "TC070ML5",
"LocationType" : "SLOT",
"LogicalNumber" : "2.34",
"PhysicalNumber" : 74,
"Cleaning" : false,
"Partition" : 1,
"Generation" : 5,
"SubType" : 0,
"Protection" : false,
"Encryption" : false,
"NoLoads" : 148,
"MBRead" : 153,
"MBReadLoad" : 150,
"MBWritten" : 226,
"MBWrittenLoad" : 226
}, {
"Barcode" : "000113L5",
"LocationType" : "SLOT",
"LogicalNumber" : "3.4",
"PhysicalNumber" : 84,
"Cleaning" : false,
"Partition" : 1,
"Generation" : 5,
"SubType" : 0,
"Protection" : false,
"Encryption" : false,
"NoLoads" : 11,
"MBRead" : 0,
"MBReadLoad" : 0,
"MBWritten" : 14,
"MBWrittenLoad" : 14
}, {
"Barcode" : "TC084ML5",
"LocationType" : "SLOT",
"LogicalNumber" : "3.28",
"PhysicalNumber" : 108,
"Cleaning" : false,
"Partition" : 2,
"Generation" : 5,
"SubType" : 0,
"Protection" : true,
"Encryption" : false,
"NoLoads" : 64,
"MBRead" : 1643,
"MBReadLoad" : 1603,
"MBWritten" : 943,
"MBWrittenLoad" : 943
} ]

REST API for Scalable Tape Libraries 2.3. Library Information | 33


© BDT Storage GmbH

2.3.10. Network Status

GET /library/network

Description

Returns the status of the network interfaces

Responses

HTTP
Description Schema
Code
200 OK Network

401 Access denied - not authenticated No Content

403 Access forbidden - insufficent rights No Content

500 Error occurred at operation Error

Security

Type Name
apiKey UserSecurity

apiKey AdminSecurity

Example HTTP response

Response 200

2.3. Library Information | 34


© BDT Storage GmbH

[ {
"General" : {
"Hostname" : "TL-563138",
"Domainname" : "[Link]"
}
}, {
"Status" : [ {
"Interface" : "eth0",
"MacAddress" : "[Link]",
"IPv4" : "[Link]",
"IPv4Netmask" : "[Link]",
"IPv4Gateway" : "[Link]",
"IPv6" : "fe80::a8bb:ccff:fedd:eef1",
"IPv6Prefix" : 64,
"IPv6Gateway" : "fe80::250:ddff:feb4:7237",
"LinkSpeed" : 1000,
"Link" : true,
"Duplex" : true
}, {
"Interface" : "eth1",
"MacAddress" : "[Link]",
"IPv6Prefix" : 0,
"Link" : false,
"Duplex" : false
} ]
}, {
"Config" : [ {
"Interface" : "eth0",
"Enabled" : true,
"Protocol" : "IPv4/IPv6",
"IPv4Method" : "DHCP",
"IPv4" : "[Link]",
"IPv4Netmask" : "[Link]",
"IPv6Method" : "STATELESS",
"IPv6" : "::0",
"IPv6Prefix" : 64,
"LinkSpeed" : 1000
}, {
"Interface" : "eth1",
"Enabled" : true,
"Protocol" : "IPv4",
"IPv4Method" : "DHCP",
"IPv6Method" : "STATIC",
"IPv6Prefix" : 64,
"LinkSpeed" : 1000
} ]
} ]

REST API for Scalable Tape Libraries 2.3. Library Information | 35


© BDT Storage GmbH

2.3.11. Get physical library status

GET /library/status

Description

The "status" command returns the live status of the physical library like health, number of moves
and other live data

Responses

HTTP
Description Schema
Code
200 OK LibraryStatus

401 Access denied - not authenticated No Content

403 Access forbidden - insufficent rights No Content

500 Error occurred at operation Error

Security

Type Name
apiKey UserSecurity

Example HTTP response

Response 200

2.3. Library Information | 36


© BDT Storage GmbH

{
"BaseStatus" : {
"Information" : "Idle",
"RobStatus" : "Idle",
"MoveCount" : 1,
"PowerUpCount" : 10,
"PowerOnTime" : "16 days, 3 hours, 2 minutes",
"LibHealth" : "WARNING"
},
"ModulesStatus" : [ {
"PhysicalNumber" : 1,
"LogicalNumber" : 1,
"Health" : "OK"
}, {
"PhysicalNumber" : 2,
"LogicalNumber" : 2,
"Health" : "OK"
}, {
"PhysicalNumber" : 3,
"LogicalNumber" : 3,
"Health" : "OK"
}, {
"PhysicalNumber" : 4,
"LogicalNumber" : 4,
"Health" : "OK"
}, {
"PhysicalNumber" : 5,
"LogicalNumber" : 5,
"Health" : "OK"
}, {
"PhysicalNumber" : 6,
"LogicalNumber" : 6,
"Health" : "OK"
}, {
"PhysicalNumber" : 7,
"LogicalNumber" : 7,
"Health" : "OK"
} ]
}

2.4. Library Operations


Library Operations

2.4.1. Inventory scan

POST /library/inventory

REST API for Scalable Tape Libraries 2.4. Library Operations | 37


© BDT Storage GmbH

Description

Executes an Inventory scan on the library

Responses

HTTP
Description Schema
Code
200 OK No Content

401 Access denied - not authenticated No Content

403 Access forbidden - insufficent rights No Content

500 Error occurred at operation Error

Security

Type Name
apiKey AdminSecurity

2.4.2. Open Mailslot

POST /library/io/open

Description

This command sends a request to open a mailslot. The mailslot block which is addressed has to be
configured as mailslot first. The mailslot stays open for a defined time and will be locked
automatically after this time. The status of the mailslot can be retrieved by issuing the IO/status
request

Parameters

Type Name Description Schema


Module
Body the logical module number PostLibraryIoOpen
required

PostLibraryIoOpen

2.4. Library Operations | 38


© BDT Storage GmbH

Name Description Schema


Minimum value : 1
module
Maximum value : 16 integer
required
Example : 1

Responses

HTTP
Description Schema
Code
200 The mailslot open was successful No Content

401 Access denied - not authenticated No Content

403 Access forbidden - insufficent rights No Content

500 Error occurred at operation Error

Security

Type Name
apiKey AdminSecurity

2.4.3. Move a cartridge

POST /library/movemedia

Description

A cartridge can be moved from a slot or drive to another slot or drive.

Parameters

Type Name Description Schema


the source element from where a cartridge
should be taken. It has the form <Element type>
and <Address>. The type can be "SLOT" or
Elements "DRIVE". Depending on the type the Address will PostLibraryMoveMe
Body
required have the form "Logical Slot Number (m.s)" or dia
"Logical Drivenumber". Use optional parameter
threading to thread the tape in case of a move
into drive"

REST API for Scalable Tape Libraries 2.4. Library Operations | 39


© BDT Storage GmbH

PostLibraryMoveMedia

Name Description Schema


SrcType
Example : "SLOT" enum (DRIVE, SLOT)
required

SrcAddress
Example : "1.2" string
required

DestType
Example : "DRIVE" enum (DRIVE, SLOT)
required

DestAddress
Example : "3" string
required

threading
Example : false boolean
optional

Responses

HTTP
Description Schema
Code
200 The move was executed successfully No Content

401 Access denied - not authenticated No Content

403 Access forbidden - insufficent rights No Content

500 Error occurred at operation Error

Security

Type Name
apiKey AdminSecurity

2.4.4. Shut down the library

POST /library/powerdown

Description

The library will be shut down. During shutdown the robotic will be secured at a safe transport

2.4. Library Operations | 40


© BDT Storage GmbH

position. The shutdown will be initiated after response to this command

Parameters

Type Name Schema


RoboticPos
Body PostLibraryPowerdown
required

PostLibraryPowerdown

Name Description Schema


The position of the robotic after the
shutdown."SHIPPING_POS" moves the robotic to the
standard shipping position in the base module and enum
RoboticPos activates the shipping lock. "RACK_SHIPPING_POS" moves (SHIPPING_POS,
optional the robotic to the bottom of the library independent of the RACK_SHIPPING_PO
base module position (shipment in rack position). S, PARK_POS)
"PARK_POS" moves the robotic to the default park position.
Example : "SHIPPING_POS"

Responses

HTTP
Description Schema
Code
200 The shutdown was executed successfully No Content

401 Access denied - not authenticated No Content

403 Access forbidden - insufficent rights No Content

500 Error occurred at operation Error

Security

Type Name
apiKey AdminSecurity

2.4.5. Reboot the libary

POST /library/reboot

REST API for Scalable Tape Libraries 2.4. Library Operations | 41


© BDT Storage GmbH

Description

The library will be rebooted. The shutdown will be initiated after response to this command. The
connection will be lost until the library restarted successfully. A new login will be required

Responses

HTTP
Description Schema
Code
200 The reboot was executed successfully No Content

401 Access denied - not authenticated No Content

403 Access forbidden - insufficent rights No Content

500 Error occurred at operation Error

Security

Type Name
apiKey AdminSecurity

2.5. Library Configuration


Library Configuration

2.5.1. Set Date and Time

POST /library/datetime

Description

With this command the Date and Time can be set in format "yyyy-MM-ddTHH:mm:ssZ" for e.g.
2021-07-21T[Link]Z

NOTE Setting a date time can invalidate the Bearer Token and a new login is required!

Parameters

Type Name Schema


DateTime
Body PostLibraryDateTime
required

2.5. Library Configuration | 42


© BDT Storage GmbH

PostLibraryDateTime

Name Schema
dateTime
string (date-time)
required

Responses

HTTP
Description Schema
Code
200 The date time config was successful No Content

401 Access denied - not authenticated No Content

403 Access forbidden - insufficent rights No Content

500 Error occurred at operation Error

Security

Type Name
apiKey AdminSecurity

2.5.2. Set SNTP for Date and Time

POST /library/datetime/sntp

Description

With this command the SNTP server can be set and the SNTP option can be enabled/disabled.

Parameters

Type Name Schema


DateTimeSntp
Body PostLibraryDateTimeSntp
required

PostLibraryDateTimeSntp

REST API for Scalable Tape Libraries 2.5. Library Configuration | 43


© BDT Storage GmbH

Name Schema
server
string
required

enabled
boolean
required

Responses

HTTP
Description Schema
Code
200 The configuration was successful No Content

401 Access denied - not authenticated No Content

403 Access forbidden - insufficent rights No Content

500 Error occurred at operation Error

Security

Type Name
apiKey AdminSecurity

2.5.3. Set Timezone

POST /library/datetime/timezone

Description

With this command the timezone can be set like "America/Denver"

Parameters

Type Name Schema


DateTimeZone
Body PostLibraryDateTimeTimezone
required

PostLibraryDateTimeTimezone

2.5. Library Configuration | 44


© BDT Storage GmbH

Name Description Schema


timezone
The timezone of the system Timezones
required

Responses

HTTP
Description Schema
Code
200 The timezone config was successful No Content

401 Access denied - not authenticated No Content

403 Access forbidden - insufficent rights No Content

500 Error occurred at operation Error

Security

Type Name
apiKey AdminSecurity

2.5.4. Mailslot Operations

POST /library/io/config

Description

With this command the mailslot block in a magazine can be configured as mailslots or as standard
storage slots. In order to be able to open mailslot slots of the magazine block they need to be
configured as mailslots

Parameters

Type Name Description Schema


the logical module number and mode of
mailslotConf
Body mailslot. A true will configure mailslot mode, a PostLibraryIoConfig
required
false storage mode

PostLibraryIoConfig

REST API for Scalable Tape Libraries 2.5. Library Configuration | 45


© BDT Storage GmbH

Name Description Schema


The logical module number
module
Minimum value : 1 integer
required
Maximum value : 16

mode
A true will configure mailslot mode, a false storage mode boolean
required

Responses

HTTP
Description Schema
Code
200 The mailslot configuration was successful No Content

401 Access denied - not authenticated No Content

403 Access forbidden - insufficent rights No Content

500 Error occurred at operation Error

Security

Type Name
apiKey AdminSecurity

2.5.5. Import License key

POST /library/license

Description

With this command keys for licensed features can be imported and added to the system. The key
inherits the feature and additional parameters which have to licensed

Parameters

Type Name Description Schema


LicenseKey
Body the license key to add PostLibraryLicense
required

PostLibraryLicense

2.5. Library Configuration | 46


© BDT Storage GmbH

Name Description Schema


licenseKey
Minimum length : 15 string
required

Responses

HTTP
Description Schema
Code
200 The license key was added succesfully No Content

401 Access denied - not authenticated No Content

403 Access forbidden - insufficent rights No Content

500 Error occurred at operation Error

Security

Type Name
apiKey AdminSecurity

2.5.6. Change MAC of the Library

POST /library/mac

Description

With this command the MACs can be set. After successful change the Library will be rebooted.

Parameters

Type Name Description Schema


setConfMac
Body the new MACs to be set PostLibraryMac
required

PostLibraryMac

Name Description Schema


mac0
Length : 17 string
optional

REST API for Scalable Tape Libraries 2.5. Library Configuration | 47


© BDT Storage GmbH

Name Description Schema


mac1
Length : 17 string
optional

Responses

HTTP
Description Schema
Code
200 The settings succesfully changed. No Content

401 Access denied - not authenticated No Content

403 Access forbidden - insufficent rights No Content

500 Error occurred at operation Error

Security

Type Name
apiKey ServiceSecurity

2.5.7. Change MAC and/or WWN of the Library

POST /library/mac_wwn

Description

With this command the WWN (WWide Node Name) and the MACs can be configured. After
successful change the Library will be rebooted.

Parameters

Type Name Description Schema


setConfMacW
PostLibraryMacWw
Body wn the new WWN and/or MACs to be set
n
required

PostLibraryMacWwn

2.5. Library Configuration | 48


© BDT Storage GmbH

Name Description Schema


wwn
Length : 16 string
optional

mac0
Length : 17 string
optional

mac1
Length : 17 string
optional

Responses

HTTP
Description Schema
Code
200 The settings succesfully changed. No Content

401 Access denied - not authenticated No Content

403 Access forbidden - insufficent rights No Content

500 Error occurred at operation Error

Security

Type Name
apiKey ServiceSecurity

2.5.8. Set network settings per interface

POST /library/network

Description

Set the network settings per interface of the library

Parameters

Type Name Schema


PostNetworkParams
Body PostLibraryNetwork
required

REST API for Scalable Tape Libraries 2.5. Library Configuration | 49


© BDT Storage GmbH

PostLibraryNetwork

Name Description Schema


Interface The network interface
enum (eth0, eth1)
required Example : "eth0"

Enable Set the network interface to enabled / disabled


boolean
required Example : true

Set the network interface speed in Mbits 10 / 100 / 1000


LinkSpeed
(optional) integer
optional
Example : 1000

Protocol The protocol IPv4 only, IPv6 only or dual stack IPv4/IPv6. enum (IPv4/IPv6,
required Example : "IPv4" IPv4, IPv6)

The Method of ip assignment. DHCP for dynamic


IPv4Method assignment or STATIC. If static is choosen IPv4 and enum (STATIC,
optional IPv4Netmask are a must. DHCP)
Example : "DHCP"

IPv4 The IPv4 address (must for STATIC)


string
optional Example : "[Link]"

IPv4Netmask The IPv4 netmask (must for STATIC)


string
optional Example : "[Link]"

IPv4Gateway The IPv4 gateway (optional for STATIC)


string
optional Example : "[Link]"

IPv4Dns1 The IPv4 DNS 1 (optional for STATIC)


string
optional Example : "[Link]"

IPv4Dns2 The IPv4 DNS 2 (optional for STATIC)


string
optional Example : "[Link]"

IPv6Method The Method for IPv6 enum (STATELESS,


optional Example : "STATELESS" STATIC)

IPv6 The IPv6 address (must for STATIC)


string
optional Example : "fe80::250:56ff:feb4:7237"

2.5. Library Configuration | 50


© BDT Storage GmbH

Name Description Schema


The IPv6 prefix (must for STATIC)
IPv6Prefix Minimum value : 1
integer
optional Maximum value : 128
Example : 64

IPv6Gateway The IPv6 gateway (optional for STATIC)


string
optional Example : "fd01::2d0:93ff:fe56:3130"

IPv6Dns1 The IPv6 DNS 1 (optional for STATIC / STATELESS)


string
optional Example : "fd01::1"

IPv6Dns2 The IPv6 DNS 2 (optional for STATIC / STATELESS)


string
optional Example : "fd01::2"

Responses

HTTP
Description Schema
Code
200 The move was executed successfully No Content

401 Access denied - not authenticated No Content

403 Access forbidden - insufficent rights No Content

500 Error occurred at operation Error

Security

Type Name
apiKey AdminSecurity

2.5.9. Set a hostname and/or domainname

POST /library/network/hostdomain

Description

Set a hostname and/or domainname for the library

REST API for Scalable Tape Libraries 2.5. Library Configuration | 51


© BDT Storage GmbH

Parameters

Type Name Schema


PostHostDomainParams
Body PostLibraryNetworkHostDomain
required

PostLibraryNetworkHostDomain

Name Description Schema


hostname The hostname for the library
string
optional Example : "MyLibrary"

domainname The domain name for the library


string
optional Example : "[Link]"

Responses

HTTP
Description Schema
Code
200 The move was executed successfully No Content

401 Access denied - not authenticated No Content

403 Access forbidden - insufficent rights No Content

500 Error occurred at operation Error

Security

Type Name
apiKey AdminSecurity

2.5.10. Reset the Configuration

POST /library/resetconfig

Description

After issuing this command the configuration of the library will be set to standard defaults or to
manufacturing defaults depending on the ManufacturingMode parameter. The standard defaults
will keep IP address, counters and manufacturing defaults will reset everything. In case of manual
configured network the connection will possibly be lost. If no Mode parameter is submitted

2.5. Library Configuration | 52


© BDT Storage GmbH

standard default mode will be used. Reset to Manufacturing Mode will also delete existing license
keys in the system

Parameters

Type Name Schema


ManufacturingMode
Body PostLibraryResetConfig
optional

PostLibraryResetConfig

Name Description Schema


Manufacturin The mode of reset. true will do a full reset including IP
gMode settings and licenses boolean
optional Example : false

The position of the robotic after the


shutdown."SHIPPING_POS" moves the robotic to the
standard shipping position in the base module and enum
RoboticPos activates the shipping lock. "RACK_SHIPPING_POS" moves (SHIPPING_POS,
optional the robotic to the bottom of the library independent of the RACK_SHIPPING_PO
base module position (shipment in rack position). S, PARK_POS)
"PARK_POS" moves the robotic to the default park position.
Example : "SHIPPING_POS"

PowerDown true powers the unit off after a reset. false keeps default
boolean
optional reboot behavior

Responses

HTTP
Description Schema
Code
200 The reset configuration was executed successfully No Content

401 Access denied - not authenticated No Content

403 Access forbidden - insufficent rights No Content

500 Error occurred at operation Error

Security

REST API for Scalable Tape Libraries 2.5. Library Configuration | 53


© BDT Storage GmbH

Type Name
apiKey AdminSecurity

apiKey ServiceSecurity

2.5.11. Restore a library configuration file

POST /library/restoreconfig

Description

Restore a previously backed up configuration file to the system

Parameters

Type Name Description Schema


FormDat Config
The configuration file file
a required

Responses

HTTP
Description Schema
Code
200 The restore was successful No Content

401 Access denied - not authenticated No Content

403 Access forbidden - insufficent rights No Content

500 Error occurred at operation Error

Consumes

• multipart/form-data

Security

Type Name
apiKey AdminSecurity

apiKey ServiceSecurity

2.5. Library Configuration | 54


© BDT Storage GmbH

2.5.12. Get library configuration as file

GET /library/saveconfig

Description

Generates and returns a config file from the stack in binary format "application/octet-stream".
Other responses are returned as "application/json"

Responses

HTTP
Description Schema
Code
200 Configuration file (zipped) file (binary)

401 Access denied - not authenticated No Content

403 Access forbidden - insufficent rights No Content

500 Error occurred at operation Error

Produces

• application/octet-stream

• application/json

Security

Type Name
apiKey AdminSecurity

apiKey ServiceSecurity

2.5.13. Set library serial number

PUT /library/serialnum

Description

The library serial number can be set.

Note: After setting the serial number the library must be restarted for the changes to take effect.

REST API for Scalable Tape Libraries 2.5. Library Configuration | 55


© BDT Storage GmbH

Parameters

Type Name Schema


SerialNumber
Body PutLibrarySerialNumber
required

PutLibrarySerialNumber

Name Description Schema


serialnum Length : 10 - 14
string
required Example : "DE1234567890"

Responses

HTTP
Description Schema
Code
200 OK No Content

401 Access denied - not authenticated No Content

403 Access forbidden - insufficent rights No Content

500 Error occurred at operation Error

Security

Type Name
apiKey ServiceSecurity

2.5.14. Upgrade Library SW

POST /library/swupgrade

Description

The command upgrades the SW on the library. It returns before the SW upgrade process is started.
After the upgrade a reboot will be initiated. The connection will be lost during this time frame

Parameters

2.5. Library Configuration | 56


© BDT Storage GmbH

Type Name Description Schema


FormDat SWImage
The SW upgrade file file
a required

Responses

HTTP
Description Schema
Code
200 OK No Content

401 Access denied - not authenticated No Content

403 Access forbidden - insufficent rights No Content

500 Error occurred at operation Error

Consumes

• multipart/form-data

Security

Type Name
apiKey AdminSecurity

2.5.15. Change WWN of the Library

POST /library/wwn

Description

With this command the WWN (WWide Node Name) can be set. Format is 16 hex characters [0-9 A-
F]. After successful change the Library will be rebooted.

Parameters

Type Name Description Schema


setConfWwn
Body the new WWN to be set PostLibraryWwn
required

PostLibraryWwn

REST API for Scalable Tape Libraries 2.5. Library Configuration | 57


© BDT Storage GmbH

Name Description Schema


wwn
Length : 16 string
required

Responses

HTTP
Description Schema
Code
200 The WWN was succesfully changed. No Content

401 Access denied - not authenticated No Content

403 Access forbidden - insufficent rights No Content

500 Error occurred at operation Error

Security

Type Name
apiKey ServiceSecurity

2.5.16. Set the global SNMP configuration

POST /snmp/config

Description

Set the global SNMP configuration of the system

Parameters

Type Name Description Schema


PostSnmpCon
Body fig The global SNMP config to set PostSnmpConfig
required

PostSnmpConfig

2.5. Library Configuration | 58


© BDT Storage GmbH

Name Description Schema


Enable Enable/Disable SNMP
boolean
required Example : true

CommunityNa
Community Name
me string
Example : "public"
required

enum (CRITICAL,
Notification Level combination Inactive, Critical, Critical +
WARNING,
NotifyLvl Warning, Critical + Warning + Configuration, Critical +
CONFIGURATION,
required Warning + Configuration + Information
INFORMATION,
Example : "WARNING"
INACTIVE)

enum
SnmpV3Secur
SNMPv3 Security Level (V3) (NOAUTHNOPRIV,
ityLevel
Example : "NOAUTHNOPRIV" AUTHNOPRIV,
optional
AUTHPRIV)

SnmpV3User SNMPv3 Authentication User Name (V3)


string
optional Example : "snmpuser"

SNMPv3 Authentication Password (V3). Needed for


SnmpV3AuthP
SnmpV3SecurityLevel "AUTHNOPRIV" or "AUTHPRIV" (8 -31
assword string
characters)
optional
Example : "supersecure123"

SnmpV3AuthP SNMPv3 Authentication Protocol (V3). Needed for


enum (NONE, MD5,
rotocol SnmpV3SecurityLevel "AUTHNOPRIV" or "AUTHPRIV"
SHA)
optional Example : "SHA"

SnmpV3PrivP SNMPv3 Privacy/Encryption Protocol (V3). Needed for


enum (NONE, DES,
rotocol SnmpV3SecurityLevel "AUTHPRIV"
AES128)
optional Example : "AES128"

SnmpV3PrivP SNMPv3 Authentication Password (V3). Needed for


assword SnmpV3SecurityLevel "AUTHPRIV" (8 -31 characters) string
optional Example : "supersecure123Auth"

Limit all library SNMP communication to SNMPv3 (V3).


SnmpV3Limit Enabling this option will limit all library SNMP
Level communication to SNMPv3. All SNMPv1 and SNMPv2 boolean
optional targets will get deleted if this option is enabled.
Example : false

REST API for Scalable Tape Libraries 2.5. Library Configuration | 59


© BDT Storage GmbH

Name Description Schema


SnmpV3Clear Clear all SNMPV3 config options
boolean
optional Example : false

Responses

HTTP
Description Schema
Code
200 OK No Content

401 Access denied - not authenticated No Content

403 Access forbidden - insufficent rights No Content

500 Error occurred at operation Error

Security

Type Name
apiKey AdminSecurity

2.5.17. Get SNMP configuration

GET /snmp/config

Description

Get the SNMP configuration of the system

Responses

HTTP
Description Schema
Code
GetSnmpConfigSc
200 OK
hema

401 Access denied - not authenticated No Content

403 Access forbidden - insufficent rights No Content

500 Error occurred at operation Error

2.5. Library Configuration | 60


© BDT Storage GmbH

Security

Type Name
apiKey AdminSecurity

2.5.18. Get SNMP MIB zip file

GET /snmp/mib

Description

Get SNMP MIB zip file from the system

Responses

HTTP
Description Schema
Code
200 OK file (binary)

401 Access denied - not authenticated No Content

403 Access forbidden - insufficent rights No Content

500 Error occurred at operation Error

Produces

• application/json

• application/octet-stream

Security

Type Name
apiKey AdminSecurity

2.5.19. Add SNMP trap target

POST /snmp/target

Description

Add SNMP trap target to the system

REST API for Scalable Tape Libraries 2.5. Library Configuration | 61


© BDT Storage GmbH

Parameters

Type Name Description Schema


PostSnmpTar
Body get The trap target to be added PostSnmpTarget
required

PostSnmpTarget

Name Description Schema


Target The trap target IP/Hostname
string
required Example : "hostname"

Port The Port of the trap Target


integer
required Example : 162

Version The SNMP Version 1,2,3


integer
required Example : 1

Communityna
Must be set for SNMP v1/v2 not needed for v3
me string
Example : "public"
optional

Responses

HTTP
Description Schema
Code
200 OK No Content

401 Access denied - not authenticated No Content

403 Access forbidden - insufficent rights No Content

500 Error occurred at operation Error

Security

Type Name
apiKey AdminSecurity

2.5. Library Configuration | 62


© BDT Storage GmbH

2.5.20. Delete SNMP trap target

DELETE /snmp/target

Description

Delete SNMP trap target to the system

Parameters

Type Name Description Schema


DeleteSnmpT
Body arget The trap target to be deleted DeleteSnmpTarget
required

DeleteSnmpTarget

Name Description Schema


Target The trap target IP/Hostname
string
required Example : "hostname"

Port The Port of the trap Target


integer
required Example : 162

Version The SNMP Version 1,2,3


integer
required Example : 1

Responses

HTTP
Description Schema
Code
200 OK No Content

401 Access denied - not authenticated No Content

403 Access forbidden - insufficent rights No Content

500 Error occurred at operation Error

Security

REST API for Scalable Tape Libraries 2.5. Library Configuration | 63


© BDT Storage GmbH

Type Name
apiKey AdminSecurity

2.6. Library Test


Library Tests

2.6.1. Abort Test

POST /test/abort

Description

Aborts the current running test

Responses

HTTP
Description Schema
Code
200 The test could be stopped / aborted succesfully No Content

401 Access denied - not authenticated No Content

403 Access forbidden - insufficent rights No Content

500 Error occurred at operation Error

Security

Type Name
apiKey AdminSecurity

2.6.2. Element to Element Test

POST /test/element2element

Description

Performs the Element to Element test n times. The number of executions has to be defined in the
count parameter. The command returns immediately after starting the test. The progress has to be
polled by the /test/status request

2.6. Library Test | 64


© BDT Storage GmbH

Parameters

Type Name Description Schema


The logical number and element type of the
Elements starting element. The logical number and PostTestElement2Ele
Body
required element type of the goal element. The type can mentTest
be "SLOT" or "DRIVE".

PostTestElement2ElementTest

Name Description Schema


SrcType
Example : "SLOT" enum (DRIVE, SLOT)
required

SrcAddress
Example : "1.2" string
required

DestType
Example : "DRIVE" enum (DRIVE, SLOT)
required

DestAddress
Example : "2" string
required

Count Maximum value : 1000000


integer
required Example : 10

Seating Seating paramter must be provided if SrcType or DestType


boolean
optional is DRIVE

Responses

HTTP
Description Schema
Code
200 The test could be started succesfully No Content

401 Access denied - not authenticated No Content

403 Access forbidden - insufficent rights No Content

500 Error occurred at operation Error

REST API for Scalable Tape Libraries 2.6. Library Test | 65


© BDT Storage GmbH

Security

Type Name
apiKey AdminSecurity

2.6.3. Position Test

POST /test/positiontest

Description

Performs the position test n times. The number of executions has to be defined in the count
parameter. The command returns immediately after starting the test. The progress has to be polled
by the /test/status request

Parameters

Type Name Description Schema


The logical number and element type of the
Elements starting slot. The logical number and element
Body PostTestPositionTest
required type of the goal slot. The type can be "SLOT" or
"DRIVE".

PostTestPositionTest

Name Description Schema


SrcType
Example : "SLOT" enum (DRIVE, SLOT)
required

SrcAddress
Example : "1.2" string
required

DestType
Example : "DRIVE" enum (DRIVE, SLOT)
required

DestAddress
Example : "2" string
required

count Maximum value : 1000000


integer
required Example : 10

2.6. Library Test | 66


© BDT Storage GmbH

Responses

HTTP
Description Schema
Code
200 The test could be started succesfully No Content

401 Access denied - not authenticated No Content

403 Access forbidden - insufficent rights No Content

500 Error occurred at operation Error

Security

Type Name
apiKey AdminSecurity

2.6.4. Robotic Test

POST /test/robotictest

Description

The Robotic Test exercises all robotic assembly movements and sensors. The test does not move
cartridges.

Responses

HTTP
Description Schema
Code
200 The test could be stopped / aborted succesfully No Content

401 Access denied - not authenticated No Content

403 Access forbidden - insufficent rights No Content

500 Error occurred at operation Error

Security

REST API for Scalable Tape Libraries 2.6. Library Test | 67


© BDT Storage GmbH

Type Name
apiKey AdminSecurity

2.6.5. Slot to Slot Test

POST /test/slot2slot

Description

Performs the slot to slot test n times. The number of executions has to be defined in the count
parameter. The command returns immediately after starting the test. The progress has to be polled
by the /test/status request

Parameters

Type Name Description Schema


count
Body the number of test iterations to perform PostTestSlotToSlot
required

PostTestSlotToSlot

Name Description Schema


count Maximum value : 1000000
integer
required Example : 10

Responses

HTTP
Description Schema
Code
200 The test could be started succesfully No Content

401 Access denied - not authenticated No Content

403 Access forbidden - insufficent rights No Content

500 Error occurred at operation Error

Security

2.6. Library Test | 68


© BDT Storage GmbH

Type Name
apiKey AdminSecurity

2.6.6. Test Status

GET /test/status

Description

Returns the status of the tests which were executed and is currently running. A test run always
asynchronously, a response is sent immediately after the start. This function is used to monitor the
status of the test, it returns the current test cycle and the run status. It only runs one test at a time.

Responses

HTTP
Description Schema
Code
< TestStatus >
200 Status of current test
array

401 Access denied - not authenticated No Content

403 Access forbidden - insufficent rights No Content

500 Error occurred at operation Error

Security

Type Name
apiKey AdminSecurity

Example HTTP response

Response 200

REST API for Scalable Tape Libraries 2.6. Library Test | 69


© BDT Storage GmbH

[ {
"name" : "Slot to Slot Test",
"currentCycle" : 2,
"testCycles" : 10,
"status" : "passed",
"running" : false
}, {
"name" : "Robotic Test",
"currentCycle" : 1,
"testCycles" : 1,
"status" : "passed",
"running" : false
}, {
"name" : "System Test",
"currentCycle" : 24,
"testCycles" : 100,
"status" : "failed",
"running" : false,
"ticketNo" : 15
}, {
"name" : "Position Test",
"currentCycle" : 3,
"testCyles" : 3,
"status" : "passed",
"running" : false
}, {
"name" : "Element to Element Test",
"currentCycle" : 1,
"testCycles" : 20,
"status" : "failed",
"running" : false,
"ticketNo" : 16
} ]

2.6.7. System (Demo) Test

POST /test/systemtest

Description

Performs the integrated system (Demo) test n times. The number of executions has to be defined in
the count parameter. The command returns immediately after starting the test. The progress has to
be polled by the /test/status request

Parameters

2.6. Library Test | 70


© BDT Storage GmbH

Type Name Description Schema


testParameter the number of test iterations to perform and
Body PostTestSystemTest
required seating mode

PostTestSystemTest

Name Description Schema


count Maximum value : 1000000
integer
required Example : 10

seating
boolean
optional

Responses

HTTP
Description Schema
Code
200 The test could be started succesfully No Content

401 Access denied - not authenticated No Content

403 Access forbidden - insufficent rights No Content

500 Error occurred at operation Error

Security

Type Name
apiKey AdminSecurity

2.7. Drive Information


Drive Information

2.7.1. Get drive information

GET /drive/information

Description

Returns the information about drives like Product Id, Model, Serialno and other useful information.

REST API for Scalable Tape Libraries 2.7. Drive Information | 71


© BDT Storage GmbH

Responses

HTTP
Description Schema
Code
< DriveInfo >
200 OK
array

Security

Type Name
apiKey UserSecurity

Example HTTP response

Response 200

{
"LogicalNumber" : 1,
"PhysicalNumber" : 10,
"Module" : 1,
"Partition" : 0,
"Generation" : 8,
"Cartridge" : false,
"Vendor" : "IBM",
"Product" : "ULT3580-HH8",
"FWRevision" : "J28F",
"SerialNumber" : "000000005B",
"WWNodeName" : "",
"Interface" : "FC",
"MFGSerialNumber" : "1013000188",
"ErrorState" : true,
"Power" : false,
"Presence" : true,
"ADTMode" : "IADT",
"Temperature" : 40
}

2.8. Drive Configuration


Drive Configuration

2.8.1. Upgrade Drive FW

POST /drive/fwupgrade

2.8. Drive Configuration | 72


© BDT Storage GmbH

Description

The command upgrades the FW of the specified drives in the library.

Parameters

Type Name Description Schema


FormDat FWImage
The FW upgrade file file
a required

FormDat drivenumber The logical drive number(s), multiple drives < integer >
a required possible as array (comma separated values) array(csv)

Responses

HTTP
Description Schema
Code
200 The FW upgrade was successful No Content

401 Access denied - not authenticated No Content

403 Access forbidden - insufficent rights No Content

500 Error occurred at operation Error

Consumes

• multipart/form-data

Security

Type Name
apiKey AdminSecurity

2.8.2. Drive Power Off

POST /drive/power/off

Description

The command performs a drive power off for the given drive

REST API for Scalable Tape Libraries 2.8. Drive Configuration | 73


© BDT Storage GmbH

Parameters

Type Name Description Schema


DrivePowerOf
The logical number of the drive to be powered
Body f PostDrivePowerOff
off
required

PostDrivePowerOff

Name Description Schema


Minimum value : 1
DriveNumber
Maximum value : 48 integer
required
Example : 3

Responses

HTTP
Description Schema
Code
200 The drive was powered off successfully No Content

401 Access denied - not authenticated No Content

403 Access forbidden - insufficent rights No Content

500 Error occurred at operation Error

Security

Type Name
apiKey AdminSecurity

2.8.3. Drive Power On

POST /drive/power/on

Description

The command performs a drive power on for the given drive

Parameters

2.8. Drive Configuration | 74


© BDT Storage GmbH

Type Name Description Schema


DrivePowerO
The logical number of the drive to be powered
Body n PostDrivePowerOn
on
required

PostDrivePowerOn

Name Description Schema


Minimum value : 1
DriveNumber
Maximum value : 48 integer
required
Example : 3

Responses

HTTP
Description Schema
Code
200 The drive was powered on successfully No Content

401 Access denied - not authenticated No Content

403 Access forbidden - insufficent rights No Content

500 Error occurred at operation Error

Security

Type Name
apiKey AdminSecurity

2.8.4. Drive Reset

POST /drive/reset

Description

The command performs a drive reset

Parameters

REST API for Scalable Tape Libraries 2.8. Drive Configuration | 75


© BDT Storage GmbH

Type Name Description Schema


DriveNumber
Body The logical number of the drive to be reset PostDriveReset
required

PostDriveReset

Name Description Schema


Minimum value : 1
DriveNumber
Maximum value : 48 integer
required
Example : 3

Responses

HTTP
Description Schema
Code
200 The drive was reset successfully No Content

401 Access denied - not authenticated No Content

403 Access forbidden - insufficent rights No Content

500 Error occurred at operation Error

Security

Type Name
apiKey AdminSecurity

2.9. Partition Information


Partition Information

2.9.1. Get partition (Logical Library) information

GET /partition/information

Description

The command returns the list of partitions including partition details

2.9. Partition Information | 76


© BDT Storage GmbH

Responses

HTTP
Description Schema
Code
< PartitionInfo >
200 OK
array

401 Access denied - not authenticated No Content

403 Access forbidden - insufficent rights No Content

500 Error occurred at operation Error

Security

Type Name
apiKey UserSecurity

Example HTTP response

Response 200

[ {
"PartitionNumber" : 1,
"Name" : "New Partition_1",
"SerialNumber" : "DE00000000_LL01",
"NumSlots" : 87,
"NumIOSlots" : 0,
"NumDrives" : 1,
"LunMasterDrive" : 1,
"LunMasterDrivePhys" : 10,
"LunMasterDriveArr" : [ 1 ],
"LunMasterDrivePhysArr" : [ 10 ],
"EncryptionMode" : "ISV",
"BarcodeAlign" : "left",
"BarcodeLength" : 8,
"AutoClean" : true,
"WWNode" : "5001000000000071",
"Micw" : false
}, {
"PartitionNumber" : 2,
"Name" : "New Partition_2",
"SerialNumber" : "DE00000000_LL02",
"NumSlots" : 90,
"NumIOSlots" : 5,
"NumDrives" : 1,

REST API for Scalable Tape Libraries 2.9. Partition Information | 77


© BDT Storage GmbH

"LunMasterDrive" : 2,
"LunMasterDrivePhys" : 11,
"LunMasterDriveArr" : [ 2 ],
"LunMasterDrivePhysArr" : [ 11 ],
"EncryptionMode" : "ISV",
"BarcodeAlign" : "left",
"BarcodeLength" : 8,
"AutoClean" : true,
"WWNode" : "5001000000000081",
"Micw" : false
}, {
"PartitionNumber" : 3,
"Name" : "New Partition_3",
"SerialNumber" : "DE00000000_LL03",
"NumSlots" : 85,
"NumIOSlots" : 5,
"NumDrives" : 1,
"LunMasterDrive" : 3,
"LunMasterDrivePhys" : 12,
"LunMasterDriveArr" : [ 3 ],
"LunMasterDrivePhysArr" : [ 12 ],
"EncryptionMode" : "ISV",
"BarcodeAlign" : "left",
"BarcodeLength" : 8,
"AutoClean" : true,
"WWNode" : "5001000000000091",
"Micw" : false
} ]

2.9.2. Inventory of a partition

GET /partition/inventory

Description

Returns the inventory of the selected partition including slots, drives and mailslots. It also returns
the corresponding metadata which belongs to the different types of the elements

Parameters

Type Name Description Schema


partitionNum The partition number for which the inventory
Query integer
required should be reported

Responses

2.9. Partition Information | 78


© BDT Storage GmbH

HTTP
Description Schema
Code
200 OK Inventory

401 Access denied - not authenticated No Content

403 Access forbidden - insufficent rights No Content

500 Error occurred at operation Error

Security

Type Name
apiKey UserSecurity

Example HTTP response

Response 200

{
"Slots" : [ {
"PhysicalNumber" : 1,
"LogicalNumber" : "1.1",
"Module" : 1,
"Partition" : 1,
"Mailslot" : false,
"Cartridge" : false,
"CartridgeType" : "N/A",
"Access" : true,
"Blocked" : true
}, {
"PhysicalNumber" : 2,
"LogicalNumber" : "1.2",
"Module" : 1,
"Partition" : 1,
"Mailslot" : false,
"Cartridge" : false,
"CartridgeType" : "N/A",
"Access" : true,
"Blocked" : false
}, {
"PhysicalNumber" : 3,
"LogicalNumber" : 1.3,
"Module" : 1,
"Partition" : 1,
"Mailslot" : false,

REST API for Scalable Tape Libraries 2.9. Partition Information | 79


© BDT Storage GmbH

"Cartridge" : true,
"Barcode" : "TT0013L4",
"CartridgeType" : "Data",
"CartridgeSubType" : 0,
"CartridgeGeneration" : 4,
"CartridgeEncrypted" : false,
"Access" : true,
"Blocked" : false
}, { }, {
"PhysicalNumber" : 280,
"LogicalNumber" : 7.4,
"Module" : 7,
"Partition" : 0,
"Mailslot" : true,
"Cartridge" : false,
"CartridgeType" : "N/A",
"Access" : true,
"Blocked" : false
} ],
"Drives" : [ {
"PhysicalNumber" : 10,
"LogicalNumber" : 1,
"Partition" : 0,
"Vendor" : "VENDOR ",
"Product" : "Ultrium 7-SCSI ",
"FWRevision" : "ABCD",
"SerialNumber" : 1234567890
}, {
"PhysicalNumber" : 11,
"LogicalNumber" : 2,
"Partition" : 0,
"Vendor" : "VENDOR ",
"Product" : "Ultrium 7-SCSI ",
"FWRevision" : "ABCD",
"SerialNumber" : 1234567891
}, {
"PhysicalNumber" : 12,
"LogicalNumber" : 3,
"Partition" : 0,
"Vendor" : "VENDOR ",
"Product" : "Ultrium 7-SCSI ",
"FWRevision" : "ABCD",
"SerialNumber" : 1234567892
}, {
"PhysicalNumber" : 20,
"LogicalNumber" : 4,
"Partition" : 0,
"Vendor" : "",
"Product" : "",
"FWRevision" : "",
"SerialNumber" : ""

2.9. Partition Information | 80


© BDT Storage GmbH

} ]
}

2.9.3. List of media of a partition

GET /partition/mediainfo

Description

Returns the list of media which are assigned to the partition including detailed information about
them

Parameters

Type Name Description Schema


partitionNum The partition number for which the media
Query integer
required information should be reported

Responses

HTTP
Description Schema
Code
< MediaInfoData >
200 OK
array

401 Access denied - not authenticated No Content

403 Access forbidden - insufficent rights No Content

500 Error occurred at operation Error

Security

Type Name
apiKey UserSecurity

Example HTTP response

Response 200

REST API for Scalable Tape Libraries 2.9. Partition Information | 81


© BDT Storage GmbH

[ {
"Barcode" : "TD239ML4",
"LocationType" : "SLOT",
"LogicalNumber" : "3.35",
"PhysicalNumber" : 115,
"Cleaning" : false,
"Partition" : 2,
"Generation" : 4,
"SubType" : 0,
"Protection" : false,
"Encryption" : false,
"NoLoads" : 0,
"MBRead" : 0,
"MBReadLoad" : 0,
"MBWritten" : 0,
"MBWrittenLoad" : 0
}, {
"Barcode" : "TC084ML5",
"LocationType" : "SLOT",
"LogicalNumber" : "5.10",
"PhysicalNumber" : 170,
"Cleaning" : false,
"Partition" : 2,
"Generation" : 5,
"SubType" : 0,
"Protection" : true,
"Encryption" : false,
"NoLoads" : 64,
"MBRead" : 1643,
"MBReadLoad" : 1603,
"MBWritten" : 943,
"MBWrittenLoad" : 943
} ]

2.10. Partition Configuration


Partition Configuration

2.10.1. Create partitions in simple mode

POST /partition/createsimple

Description

Creates the number of partitions which are requested in the parameters. This commands
corresponds to the Basic Wizard in RMI to create partitions. The maximum number of partitions
which can be created are limited by the number of installed drives.

2.10. Partition Configuration | 82


© BDT Storage GmbH

Parameters

Type Name Description Schema


partitionPara
PostPartitionCreateS
Body meters the parameters to create the partitions
imple
required

PostPartitionCreateSimple

Name Description Schema


The number of partitions to create
numPartition
Minimum value : 1
s integer
Maximum value : 21
required
Example : 1

barcodeLengt Minimum value : 6


h Maximum value : 16 integer
optional Example : 8

barcodeAlign Alignment of the barcode for SCSI element status. Can be


ment "left" or "right" enum (left, right)
optional Default : "left"

Auto Cleaning for this partition. true for enabling false to


autoClean
disable it. boolean
optional
Default : false

Responses

HTTP
Description Schema
Code
200 OK No Content

401 Access denied - not authenticated No Content

403 Access forbidden - insufficent rights No Content

500 Error occurred at operation Error

Consumes

• application/json

REST API for Scalable Tape Libraries 2.10. Partition Configuration | 83


© BDT Storage GmbH

Security

Type Name
apiKey AdminSecurity

2.11. Service
Service Request

2.11. Service | 84
© BDT Storage GmbH

Chapter 3. Definitions
3.1. BaseInfoData
The definition of the physical base module information

Name Description Schema


SerialNumber The serial number for the complete library/stack which is
string
optional also reported through SCSI

MacAdress_1
The MAC address of the Ethernet port 1 string
optional

MacAdress_2
The MAC address of the Ethernet port 2 string
optional

Vendor
The product vendor name string
optional

ProductID
The Product ID string
optional

BaseFWRevisi
on Firmware Revision of the base library string
optional

BaseFWBuild
Date Build date of base library firmware YYYY-MM-DD string (date)
optional

ExpansionFW
Revision Firmware Revision of the expansion modules string
optional

WWNodeNam
e World Wide Node Name of the library string
optional

RoboticHWRe
vision Hardware Revision Level of the Robotic string
optional

REST API for Scalable Tape Libraries 3.1. BaseInfoData | 85


© BDT Storage GmbH

Name Description Schema


RoboticFWRe
vision Firmware Revision Level of the Robotic string
optional

RoboticSerial
Number Internal serial number of the Robotic string
optional

NoOfModules
Number of connected expansion modules integer
optional

LibraryType
Library Type (32/40) (Product specific) string
optional

3.2. BaseStatusData
Overview status data of the library

Name Description Schema


Information SystemStateInforma
Activity Status of the library
optional tion

RobStatus
Activity Status of the Robotic enum (Idle, Moving)
optional

MoveCount
Number of moves over lifetime integer
optional

PowerUpCoun
t Number of power cycles over lifetime integer
optional

PowerOnTime
Power up time over lifetime string
optional

LibHealth enum (OK,


Health Status of library (Summary)
optional WARNING, ERROR)

3.3. ComponentBarcodeReader
The definition of the Barcode Reader component

3.2. BaseStatusData | 86
© BDT Storage GmbH

Name Description Schema


HardwareRev
ision The hardware revision of the barcode reader string
optional

FirmwareRevi
sion The firmware revision of the barcode reader string
optional

3.4. ComponentBaseController
The definition of the physical controller component in the base unit

Name Description Schema


SerialNumber
The serial number of the controller string
optional

HardwareRev
ision The hardware revision of the controller string
optional

FirmwareRevi
sion The firmware revision of the controller string
optional

ModulePhysic
The physical location of the module the controller is in.
alLocation integer
This number starts at 1 for the lowest slot in the library.
optional

LogicalNumbe
The logical number of the controller. This number starts at
r integer
1 for the lowest inserted controller in the library.
optional

CPUTemp
The controller CPU temperature integer
optional

LCMTemp
The general controller temperature integer
optional

WWN
The WWide Node name of the controller string
optional

REST API for Scalable Tape Libraries 3.4. ComponentBaseController | 87


© BDT Storage GmbH

Name Description Schema


Present The present status of the base controller, if the controller is
boolean
optional present this value will be true.

3.5. ComponentDrive
The definition of the Drive component

Name Description Schema


SerialNumber
The spoofed serial number of the Drive string
optional

MFGSerialNu
mber The Manufacturing Serial Number of the Drive string
optional

HardwareRev
ision The hardware revision of the Drive string
optional

FirmwareRevi
sion The hardware revision of the Drive string
optional

ModulePhysic
The physical location of the module the Drive is in. This
alLocation integer
number starts at 1 for the lowest module slot in the library.
optional

ModuleLogica The logical number of the module the Drive Sled is in. This
lNumber number starts at 1 for the first slot in the lowest module in integer
optional the library.

PhysicalLocati The physical drive number starting at 1. Formula is


on (ModuleNo - 1 ) * (total Drive Slots in single Module) + integer
optional (DriveSlotNumber in Module)

LogicalNumbe
The logical number of the Drive. This number starts at 1 for
r integer
the first inserted drive in the lowest module in the library.
optional

Vendor
The vendor of the Drive string
optional

3.5. ComponentDrive | 88
© BDT Storage GmbH

Name Description Schema


Temperature
The temperature of the Drive integer
optional

ErrorState
Indicates if a drive is in an error state boolean
optional

ADTMode
The ADT mode of the drive string
optional

PortASignal
Is there a signal on port A boolean
optional

PortBSignal
Is there a signal on port B boolean
optional

PortASpeed
Speed in GB/s for Port A integer
optional

PortBSpeed
Speed in GB/s for Port B integer
optional

DriveReady
Drive ready for operational usage boolean
optional

WWN
The World Wide Node Name of the drive string
optional

PortAWWN
The World Wide Node Name of port string
optional

PortBWWN
The World Wide Node Name of port string
optional

Present
is the Drive present boolean
optional

3.6. ComponentDriveSled
The definition of the Drive Sled

REST API for Scalable Tape Libraries 3.6. ComponentDriveSled | 89


© BDT Storage GmbH

Name Description Schema


SerialNumber
The serial number of the Drive Sled string
optional

ModulePhysic The physical location of the module the Drive Sled is in.
alLocation This number starts at 1 for the lowest module slot in the integer
optional library.

ModuleLogica The logical number of the module the Drive Sled is in. This
lNumber number starts at 1 for the first slot in the lowest module in integer
optional the library.

FirmwareRevi
sion The firmware revision of the Drive Sled string
optional

PhysicalLocati
The physical location of the Drive Sled. This number starts
on integer
at 1 for the lowest module slot in the library.
optional

LogicalNumbe
The logical number of the Drive Sled. This number starts at
r integer
1 for the first slot in the lowest module in the library.
optional

FanLevel
Reports the fan level of the drive(sled) integer
optional

Present
The present status of the drive sled. boolean
optional

3.7. ComponentExpansionController
The definition of the physical controller component in the expansion unit

Name Description Schema


SerialNumber
The serial number of the controller string
optional

HardwareRev
ision The hardware revision of the controller string
optional

3.7. ComponentExpansionController | 90
© BDT Storage GmbH

Name Description Schema


FirmwareRevi
sion The firmware revision of the controller string
optional

ModulePhysic
The physical location of the module the controller is in.
alLocation integer
This number starts at 1 for the lowest slot in the library.
optional

LogicalNumbe
The logical number of the controller. This number starts at
r integer
1 for the lowest inserted controller in the library.
optional

CPUTemp
The controller CPU temperature integer
optional

LCMTemp
The general controller temperature integer
optional

Present The present status of the controller, if the controller is


boolean
optional present this value will be true.

3.8. ComponentInfo
The definition of the physical component information

Name Description Schema


BaseControlle
ComponentBaseCont
r Base Controller information
roller
optional

ExpansionCon <
trollers Expansion Controller information ComponentExpansio
optional nController > array

RoboticAssem
bly Robotic Assembly information ComponentRobot
optional

<
PowerBoards
Power Board information ComponentPowerBo
optional
ard > array

REST API for Scalable Tape Libraries 3.8. ComponentInfo | 91


© BDT Storage GmbH

Name Description Schema


PowerSupplie <
s Power Supply information ComponentPowerSu
optional pply > array

BarcodeReade
ComponentBarcode
r Barcode Reader information
Reader
optional

BaseModule
Base Module information ComponentModule
optional

ExpansionMo
< ComponentModule
dules Expansion Module information
> array
optional

<
DriveSleds
Drive Sled information ComponentDriveSle
optional
d > array

Drives < ComponentDrive >


Drive information
optional array

OCP
OCP information ComponentOCP
optional

3.9. ComponentModule
The definition of the module component

Name Description Schema


SerialNumber
The serial number of the physical module string
optional

PhysicalLocati
The physical location of the module. This number starts at 1
on integer
for the lowest slot in the library.
optional

LogicalNumbe
The logical number of the module. This number starts at 1
r integer
for the lowest inserted module in the library.
optional

3.9. ComponentModule | 92
© BDT Storage GmbH

Name Description Schema


LCMTemp
The temperature of the controller integer
optional

CPUTemp
The temperature of the cpu on the controller integer
optional

UnitLockPres
Reports the state of the UNIT to UNIT LOCK sensor. true ->
ent boolean
locked, false -> unlocked
optional

ChassisFanPr
esent Reports if the chassis fan is present boolean
optional

Present
The present status of the module. boolean
optional

3.10. ComponentOCP
The definition of the OCP component

Name Description Schema


SerialNumber
The serial number of the OCP string
optional

FirmwareRevi
sion The Firmware Revision of the OCP string
optional

3.11. ComponentPowerBoard
The definition of the Power Board component

Name Description Schema


ModulePhysic
The physical location of the module the power board is in.
alLocation integer
This number starts at 1 for the lowest slot in the library.
optional

ModuleLogica
The logical number of the module the power board is in.
lNumber integer
This number starts at 1 for the lowest slot in the library.
optional

REST API for Scalable Tape Libraries 3.10. ComponentOCP | 93


© BDT Storage GmbH

Name Description Schema


HardwareRev
ision The hardware revision of the power board string
optional

Status
The status of the powerboard string
optional

Present The present status of the power board, if the board is


boolean
optional present this value will be true.

PowerBoardT
ype The type of the power board string
optional

3.12. ComponentPowerSupply
The definition of the Power Supply component

Name Description Schema


LogicalNumbe
The logical number of the power supply. This number starts
r integer
at 1 for the lowest slot in the library.
optional

PowerStatus The status of the power supply. Not OK if one of the power
string
optional supplies failed.

PowerSupply1
Present The present status of power supply 1. boolean
optional

PowerSupply2
Present The present status of power supply 2. boolean
optional

3.13. ComponentRobot
The definition of the Robotic Assembly component

Name Description Schema


SerialNumber
The serial number of the robot string
optional

3.12. ComponentPowerSupply | 94
© BDT Storage GmbH

Name Description Schema


HardwareRev
ision The hardware revision of the robot string
optional

FirmwareRevi
sion The firmware revision of the robot string
optional

Temperature
The temperature of the robot integer
optional

BarcodeReade
ComponentBarcode
r The data of the barcode reader
Reader
optional

3.14. DriveInfo
Name Description Schema
LogicalNumbe
The logical drive number starts always at 1 with the first
r integer
inserted drive in the lowest available module
optional

PhysicalNumb The physical drive number starting at 1. Formula is (


er ModuleNo - 1 ) * (total Drive Slots in single Module) + integer
required (DriveSlotNumber in Module)

Module
The Expansion Module where the drive is located in integer
optional

Partition The partition (logical library) where the drive is assigned


integer
optional to. If no partition is assigned the value will be 0

Generation
LTO Generation of Drive integer
optional

Cartridge
true - Cartridge is loaded / false - no Cartridge loaded boolean
optional

Barcode The Barcode Label of the cartridge which is loaded in the


string
optional drive

REST API for Scalable Tape Libraries 3.14. DriveInfo | 95


© BDT Storage GmbH

Name Description Schema


Vendor
The drive vendor name string
optional

Product
The Product ID of the drive string
optional

FWRevision
The FW revision of the drive string
optional

SerialNumber
The serial number of the drive (Spoofed) string
optional

WWNodeNam
e The World Wide Node Name of the drive string
optional

Interface enum (Unknown,


Interface Type - SAS / Fibre Channel
optional SCSI, SAS, FC)

MFGSerialNu
mber The Manufacturing Serial number string
optional

ErrorState
Is Drive in an error state boolean
optional

Power
Is drive powered boolean
optional

Presence
Is drive present boolean
optional

enum (Unknown,
ADTMode
ADT Transport Mode SERIAL, PROXY,
optional
IADT)

Temperature
The temperature of the drive integer
optional

3.15. DriveInfoInventory

3.15. DriveInfoInventory | 96
© BDT Storage GmbH

Name Description Schema


PhysicalNumb The physical drive number starting at 1. Formula is (
er ModuleNo - 1 ) * (total Drive Slots in single Module) + integer
required (DriveSlotNumber in Module)

LogicalNumbe
The logical drive number starts always at 1 with the first
r integer
inserted drive in the lowest available module
optional

Module
The Expansion Module where the drive is located in integer
optional

Partition The partition (logical library) where the drive is assigned


integer
optional to. If no partition is assigned the value will be 0

Barcode The Barcode Label of the cartridge which is loaded in the


string
optional drive

Vendor
The drive vendor name string
optional

Product
The Product ID of the drive string
optional

FWRevision
The FW revision of the drive string
optional

SerialNumber
The serial number of the drive (Spoofed) string
optional

MFGSerialNu
mber The manufacturing serial number string
optional

3.16. Error
Name Schema
code
string
optional

message
string
optional

REST API for Scalable Tape Libraries 3.16. Error | 97


© BDT Storage GmbH

3.17. EventEntry
Structure of event entry

Name Description Schema


Number
Number of event in list integer
required

TimeStamp
Date/ Time of of event string (date-time)
optional

EventCode
Eventcode, describing the event which occurred integer
optional

enum (CRITICAL,
Severity
Displays the tickets severity WARNING, CONFIG,
optional
INFO)

Component
The component that generated the ticket string
optional

ComponentID
The id of the component that generated the ticket string
optional

Text
Short description of EventCode string
optional

enum (INFO,
CONFIG, SERVICE,
State
Shows the current state for the ticket. TICKET_PENDING,
optional
TICKET_RESOLVED,
SINGULAR_TICKET)

Closed
Reflects the closed state for tickets boolean
optional

SolutionSugge
stion Displays troubleshooting steps if available string
optional

Details Displays the events details as levels from 1 to x (dynamic


object
optional object properties)

3.17. EventEntry | 98
© BDT Storage GmbH

3.18. GetDateTime
Current Date Time setting of the librry

Name Description Schema


DateTimeUtc
Library date and time in UTC string (date-time)
required

Timezone
The available timezones in the system Timezones
required

SntpEnabled
true - SNTP is enabled / false - SNTP is disabled boolean
required

SntpAddress
Address of the the sntp server string
optional

3.19. GetSnmpConfigSchema
SNMP config

Name Description Schema


SnmpConfig
SNMP config of the system SnmpConfig
optional

<
SnmpTargets
SNMP Targets GetSnmpTargetsSch
optional
ema > array

SnmpConfig

Name Description Schema


Enabled SNMP is enabled or disabled
boolean
optional Example : false

CommunityNa
SNMP community name
me string
Example : "public"
optional

REST API for Scalable Tape Libraries 3.18. GetDateTime | 99


© BDT Storage GmbH

Name Description Schema


enum (Inactive,
Critical,
Critical+Warning,
NotificationLe
SNMP notification level (depends on ticket levels) Critical+Warning+Co
vel
Example : "Inactive" nfiguration,
optional
Critical+Warning+Co
nfiguration+Informa
tion, Unknown)

enum
SnmpV3Secur
SNMPv3 Security Level (noAuthNoPriv,
ityLevel
Example : "noAuthNoPriv" authNoPriv,
optional
authPriv)

SnmpV3User
SNMPv3 Authentication User Name string
optional

SnmpV3AuthP
SNMPv3 Authentication Protocol enum (None, MD5,
rotocol
Example : "None" SHA)
optional

SnmpV3PrivE
SNMPv3 Privacy/Encryption Protocol enum (None, DES,
ncProtocol
Example : "None" AES128)
optional

SnmpV3Limit SNMPV3 only limit active. Limit all library SNMP


ation communication to SNMPv3. boolean
optional Example : false

3.20. GetSnmpTargetsSchema
Name Description Schema
Target Name of the target
string
optional Example : "TargetName"

Version SNMP version


integer
optional Example : 1

Port SNMP Port


integer
optional Example : 162

3.20. GetSnmpTargetsSchema | 100


© BDT Storage GmbH

Name Description Schema


CommunityNa
SNMP Community Name
me string
Example : "public"
optional

3.21. IOStatus
Name Description Schema
ModuleNo
logical module number where the IO Station is located integer
required

Configured false - IO Station Slots are configured as storage slots. true -


boolean
optional IO Station Slots are configured fo r IO Operation

Unlocked
false - IO Station is locked. true - IO Station is unlocked boolean
optional

OpenStatus
false - IO STation is closed. true - IO Station is opened boolean
optional

3.22. Inventory
Name Schema
Slots
< Slot > array
optional

Drives
< DriveInfoInventory > array
optional

3.23. LibraryInfo
The definition of the physical library information

Name Description Schema


BaseInfo
BaseInfoData
required

ModulesInfo
Module Information < Module > array
required

REST API for Scalable Tape Libraries 3.21. IOStatus | 101


© BDT Storage GmbH

3.24. LibraryStatus
Overview status information of the library

Name Schema
BaseStatus
BaseStatusData
required

ModulesStatus
< ModuleStatusData > array
required

3.25. LicenseInfo
Licensed Feature data

Name Description Schema


Feature
Name of licensed feature string
required

LicenseKey
License Key string string
required

3.26. MediaInfoData
Information about a tape media.

Name Description Schema


Barcode
The Barcode Label of the media string
optional

LocationType Type of location where the media is stored. "DRIVE" or


enum (DRIVE, SLOT)
optional "SLOT"

LogicalNumbe
r The logical number of media location string
optional

PhysicalNumb
er The physical number of media location integer
optional

3.24. LibraryStatus | 102


© BDT Storage GmbH

Name Description Schema


Cleaning true - media is a cleaning tape / false - media is not a
boolean
optional cleaning tape

Partition The partition (logical library) where the media is assigned


integer
optional to. If no partition is assigned the value will be 0

Generation
LTO Generation of media integer
optional

SubType
LTO SubType of media (0 = default, 1= Type M) integer
optional

Protection true - media is write protected / false - media is not


boolean
optional protected

Encryption true - media is encrypted / false - media is not encrypted /


boolean
optional null if not identified by drive

NoLoads Number of loads of media. Shows how many times the


integer
optional media was loaded into a tape drive

MBRead
Bytes read from this media in MB integer
optional

MBReadLoad
Bytes read from this media in MB during last load integer
optional

MBWritten
Bytes written to this media in MB integer
optional

MBWrittenLo
ad Bytes written to this media in MB during last load integer
optional

3.27. Module
The definition of an expansion module informational data

Name Description Schema


PhysicalNumb
er The physical number of the expansion module. integer
required

REST API for Scalable Tape Libraries 3.27. Module | 103


© BDT Storage GmbH

Name Description Schema


LogicalNumbe
The number of the module in an existing library stack. The
r integer
lowest module always starts with 1
optional

ReadyStatus This entry returns the current status of the module. If it is


boolean
optional correctly initialized and running it will be set to true

SerialNumber
The internal manufacturing serial number of the module string
optional

LCMTemp
The module controller temperature integer
optional

CPUTemp
The module controller cpu temperature integer
optional

3.28. ModuleStatusData
Current Health Status of a module

Name Description Schema


PhysicalNumb
er Module Number (physically) integer
required

LogicalNumbe
r Module Number (logical) integer
optional

Health enum (OK,


Current health status of Module
optional WARNING, ERROR)

3.29. Modules
List of expansion module data

Type : < Module > array

3.30. Network
Network data

3.28. ModuleStatusData | 104


© BDT Storage GmbH

Name Description Schema


General
General network data General
optional

Status
Status data of the network ports < Status > array
optional

Config
Configured data of the network ports < Config > array
optional

General

Name Description Schema


Hostname
hostname of the library string
optional

Domainname
domainname set in the library string
optional

Status

Name Description Schema


Interface
network ethernet port enum (eth0, eth1)
required

MacAddress
MAC address of the ethernet port string
required

IPv4
IPv4 address string
optional

IPv4Netmask
IPv4 netmask string
optional

IPv4Gateway
IPv4 gateway string
optional

IPv4Dns1
IPv4 DNS 1 string
optional

IPv4Dns2
IPv4 DNS 2 string
optional

REST API for Scalable Tape Libraries 3.30. Network | 105


© BDT Storage GmbH

Name Description Schema


IPv6
IPv6 address string
optional

IPv6Prefix
IPv6 Prefix integer
optional

IPv6Gateway
IPv6 gateway string
optional

IPv6Dns1
IPv6 DNS 1 string
optional

IPv6Dns2
IPv6 DNS 2 string
optional

LinkSpeed
Speed of the link in Mbit/s integer
optional

Link
Interface link status boolean
required

Duplex
Interface duplex status boolean
required

Config

Name Description Schema


Interface
network ethernet port enum (eth0, eth1)
required

Enabled
Port enabled / disabled boolean
required

Protocol enum (IPv4/IPv6,


configured protocol
required IPv4, IPv6)

IPv4Method enum (DHCP,


DHCP or static mode
required STATIC)

IPv4
IPv4 address string
optional

3.30. Network | 106


© BDT Storage GmbH

Name Description Schema


IPv4Netmask
IPv4 netmask string
optional

IPv4Gateway
IPv4 gateway string
optional

IPv4Dns1
IPv4 DNS 1 string
optional

IPv4Dns2
IPv4 DNS 2 string
optional

IPv6Method enum (STATELESS,


stateless or static mode
required STATIC)

IPv6
IPv6 address string
optional

IPv6Prefix
IPv6 Prefix integer
optional

IPv6Gateway
IPv6 gateway string
optional

IPv6Dns1
IPv6 DNS 1 string
optional

IPv6Dns2
IPv6 DNS 2 string
optional

LinkSpeed
Configured Max Speed of the link in Mbit/s integer
required

3.31. PartitionInfo
Partition data

Name Description Schema


PartitionNum
ber Number of partition integer
required

REST API for Scalable Tape Libraries 3.31. PartitionInfo | 107


© BDT Storage GmbH

Name Description Schema


Name
Name of partition string
optional

SerialNumber Serialnumber of partition, based on serialnumber of


string
optional physical library

NumSlots
Number of slots assigned to partition integer
optional

NumIOSlots
Number of IO slots (Mailslots) assigned to partition integer
optional

NumDrives
Number of drives assigned to partition integer
optional

LunMasterDri
ve Lun Master Drive number (logical) integer
optional

LunMasterDri
vePhys Lun Master Drive number (physical) integer
optional

LunMasterDri
veArr Lun Master Drive number (logical) < integer > array
optional

LunMasterDri
vePhysArr Lun Master Drive number (physical) < integer > array
optional

Encryption Mode which is currently active for this


partition. The following values are possible

• OFF - No encryption policy activated

• ISV - Encryption can be controlled by host application


EncryptionMo enum (OFF, ISV,
de • KMIP - KMIP Key Management is activated. A KMIP Key KMIP, ESKM, PLK,
optional Server is required IPP)
• ESKM - ESKM Key Management is activated. A ESKM
Server is required

• PLK - Local Key Management over a PLK Token is


active. A PLK token is required

3.31. PartitionInfo | 108


© BDT Storage GmbH

Name Description Schema


BarcodeAlign
Barcode Label Alignment (left,right) enum (left, right)
optional

BarcodeLengt
h Barcode Label Length integer
optional

AutoClean
AutoClean enabled boolean
optional

WWNode
WWN of Partition string
optional

Micw
Multi-initiator conflict warning enabled boolean
optional

3.32. Slot
The definition of cartridge slot data

Name Description Schema


PhysicalNumb The physical slot number starting at 1. Formula is (
er ModuleNo - 1 ) * (total Slots in single Module) + integer
required (SlotNumber in Module)

LogicalNumbe The logical slot number includes the module number as


r prefix and starts always at 1 in a module. Format - string
optional ModuleNo.(SlotNumber in Module)

Module
The Expansion Module where the slot is located in integer
optional

Partition The partition (logical library) where the slot is assigned to.
integer
optional If no partition is assigned the value will be 0

Mailslot If the slot is mapped as a mailslot (I/O Station) this entry is


boolean
optional set to true

Cartridge
If a cartridge is detected in the slot this entry is set to true boolean
optional

REST API for Scalable Tape Libraries 3.32. Slot | 109


© BDT Storage GmbH

Name Description Schema


enum (Unknown,
CartridgeType
Type of cartridge Data,Cleaning,Worm etc. Data, Cleaning,
optional
Worm, N/A)

CartridgeSub
Type SubType of a cartridge 0 = Default, 1= Type M integer
optional

CartridgeGen
eration Generation of the cartridge integer
optional

CartridgeEncr
ypted Cartridge encryption state boolean
optional

Barcode The Barcode Label of the the cartridge which is sitting in


string
optional the slot

Access
If the slot is accessible by the system the entry is set to true boolean
optional

true - The slot is not reachable by the robot / false - Slot is


Blocked
reachable by the robot boolean
optional
Default : false

3.33. SystemStateInformation
Activity Status of the library

Type : enum (Idle, Moving, Scanning, Test Running, Initializing, Configuring, Upgrading, Drive
Upgrading, Magazine removed, Magazine unlocked, Drive cleaning in progress, System starting,
System shutting down, Unlocking, Startup halted, Calibrating, Configuring Drives, Stopped, Unit
lock unlocked, Bottom cover removed, Top cover removed, Connection lost to module, Robotic
error, Unknown, Idle (Unconfigured Offline), Moving (Unconfigured Offline), Scanning
(Unconfigured Offline), Test Running (Unconfigured Offline), Initializing (Unconfigured Offline),
Configuring (Unconfigured Offline), Upgrading (Unconfigured Offline), Drive Upgrading
(Unconfigured Offline), Magazine removed (Unconfigured Offline), Magazine unlocked
(Unconfigured Offline), Drive cleaning in progress (Unconfigured Offline), System starting
(Unconfigured Offline), System shutting down (Unconfigured Offline), Unlocking (Unconfigured
Offline), Startup halted (Unconfigured Offline), Calibrating (Unconfigured Offline), Configuring
Drives (Unconfigured Offline), Stopped (Unconfigured Offline), Unit lock unlocked (Unconfigured
Offline), Bottom cover removed (Unconfigured Offline), Top cover removed (Unconfigured Offline),
Connection lost to module (Unconfigured Offline), Robotic error (Unconfigured Offline), Unknown

3.33. SystemStateInformation | 110


© BDT Storage GmbH

(Unconfigured Offline), Idle (Offline), Moving (Offline), Scanning (Offline), Test Running (Offline),
Initializing (Offline), Configuring (Offline), Upgrading (Offline), Drive Upgrading (Offline), Magazine
removed (Offline), Magazine unlocked (Offline), Drive cleaning in progress (Offline), System
starting (Offline), System shutting down (Offline), Unlocking (Offline), Startup halted (Offline),
Calibrating (Offline), Configuring Drives (Offline), Stopped (Offline), Unit lock unlocked (Offline),
Bottom cover removed (Offline), Top cover removed (Offline), Connection lost to module (Offline),
Robotic error (Offline), Unknown (Offline))

3.34. TestStatus
Name Description Schema
enum (Robotic Test,
Slot to Slot Test,
name
name of the current running test System Test, Position
required
Test, Element to
Element Test)

currentCycle
current test cycle number integer
required

testCycles
number of test cycles planned integer
required

enum (not started,


status status of the test like: not started, running, passed, failed or running, passed,
required stopped by user request. failed, stopped by
user request, N/A)

running
true - test is still running, false - no test running boolean
required

ticketNo
ticket number if an error occurs integer
optional

3.35. Timezones
The available timezones in the system

Type : enum (Africa/Abidjan, Africa/Accra, Africa/Addis_Ababa, Africa/Algiers, Africa/Asmara,


Africa/Bamako, Africa/Bangui, Africa/Banjul, Africa/Bissau, Africa/Blantyre, Africa/Brazzaville,
Africa/Bujumbura, Africa/Cairo, Africa/Casablanca, Africa/Ceuta, Africa/Conakry, Africa/Dakar,
Africa/Dar_es_Salaam, Africa/Djibouti, Africa/Douala, Africa/El_Aaiun, Africa/Freetown,
Africa/Gaborone, Africa/Harare, Africa/Johannesburg, Africa/Juba, Africa/Kampala,
Africa/Khartoum, Africa/Kigali, Africa/Kinshasa, Africa/Lagos, Africa/Libreville, Africa/Lome,
Africa/Luanda, Africa/Lubumbashi, Africa/Lusaka, Africa/Malabo, Africa/Maputo, Africa/Maseru,

REST API for Scalable Tape Libraries 3.34. TestStatus | 111


© BDT Storage GmbH

Africa/Mbabane, Africa/Mogadishu, Africa/Monrovia, Africa/Nairobi, Africa/Ndjamena,


Africa/Niamey, Africa/Nouakchott, Africa/Ouagadougou, Africa/Porto-Novo, Africa/Sao_Tome,
Africa/Tripoli, Africa/Tunis, Africa/Windhoek, America/Adak, America/Anchorage,
America/Anguilla, America/Antigua, America/Araguaina, America/Argentina/Buenos_Aires,
America/Argentina/Catamarca, America/Argentina/Cordoba, America/Argentina/Jujuy,
America/Argentina/La_Rioja, America/Argentina/Mendoza, America/Argentina/Rio_Gallegos,
America/Argentina/Salta, America/Argentina/San_Juan, America/Argentina/San_Luis,
America/Argentina/Tucuman, America/Argentina/Ushuaia, America/Aruba, America/Asuncion,
America/Atikokan, America/Bahia, America/Bahia_Banderas, America/Barbados, America/Belem,
America/Belize, America/Blanc-Sablon, America/Boa_Vista, America/Bogota, America/Boise,
America/Cambridge_Bay, America/Campo_Grande, America/Cancun, America/Caracas,
America/Cayenne, America/Cayman, America/Chicago, America/Chihuahua, America/Costa_Rica,
America/Creston, America/Cuiaba, America/Curacao, America/Danmarkshavn, America/Dawson,
America/Dawson_Creek, America/Denver, America/Detroit, America/Dominica, America/Edmonton,
America/Eirunepe, America/El_Salvador, America/Fort_Nelson, America/Fortaleza,
America/Glace_Bay, America/Goose_Bay, America/Grand_Turk, America/Grenada,
America/Guadeloupe, America/Guatemala, America/Guayaquil, America/Guyana, America/Halifax,
America/Havana, America/Hermosillo, America/Indiana/Indianapolis, America/Indiana/Knox,
America/Indiana/Marengo, America/Indiana/Petersburg, America/Indiana/Tell_City,
America/Indiana/Vevay, America/Indiana/Vincennes, America/Indiana/Winamac, America/Inuvik,
America/Iqaluit, America/Jamaica, America/Juneau, America/Kentucky/Louisville,
America/Kentucky/Monticello, America/Kralendijk, America/La_Paz, America/Lima,
America/Los_Angeles, America/Lower_Princes, America/Maceio, America/Managua,
America/Manaus, America/Marigot, America/Martinique, America/Matamoros, America/Mazatlan,
America/Menominee, America/Merida, America/Metlakatla, America/Mexico_City,
America/MiquelonF, America/Moncton, America/Monterrey, America/Montevideo,
America/Montserrat, America/Nassau, America/New_York, America/Nipigon, America/Nome,
America/Noronha, America/North_Dakota/Beulah, America/North_Dakota/Center,
America/North_Dakota/New_Salem, America/Nuuk, America/Ojinaga, America/Panama,
America/Pangnirtung, America/Paramaribo, America/Phoenix, America/Port-au-Prince,
America/Port_of_Spain, America/Porto_Velho, America/Puerto_Rico, America/Punta_Arenas,
America/Rainy_River, America/Rankin_Inlet, America/Recife, America/Regina, America/Resolute,
America/Rio_Branco, America/Santarem, America/Santiago, America/Santo_Domingo,
America/Sao_Paulo, America/Scoresbysund, America/Sitka, America/St_Barthelemy,
America/St_Johns, America/St_Kitts, America/St_Lucia, America/St_Thomas, America/St_Vincent,
America/Swift_Current, America/Tegucigalpa, America/Thule, America/Thunder_Bay,
America/Tijuana, America/Toronto, America/Tortola, America/Vancouver, America/Whitehorse,
America/Winnipeg, America/Yakutat, America/Yellowknife, Antarctica/Casey, Antarctica/Davis,
Antarctica/DumontDUrville, Antarctica/Macquarie, Antarctica/Mawson, Antarctica/McMurdo,
Antarctica/Palmer, Antarctica/Rothera, Antarctica/Syowa, Antarctica/Troll, Antarctica/Vostok,
Arctic/Longyearbyen, Asia/Aden, Asia/Almaty, Asia/Amman, Asia/Anadyr, Asia/Aqtau, Asia/Aqtobe,
Asia/Ashgabat, Asia/Atyrau, Asia/Baghdad, Asia/Bahrain, Asia/Baku, Asia/Bangkok, Asia/Barnaul,
Asia/Beirut, Asia/Bishkek, Asia/Brunei, Asia/Chita, Asia/Choibalsan, Asia/Colombo, Asia/Damascus,
Asia/Dhaka, Asia/Dili, Asia/Dubai, Asia/Dushanbe, Asia/Famagusta, Asia/Gaza, Asia/Hebron,
Asia/Ho_Chi_Minh, Asia/Hong_Kong, Asia/Hovd, Asia/Irkutsk, Asia/Jakarta, Asia/Jayapura,
Asia/Jerusalem, Asia/Kabul, Asia/Kamchatka, Asia/Karachi, Asia/Kathmandu, Asia/Khandyga,
Asia/Kolkata, Asia/Krasnoyarsk, Asia/Kuala_Lumpur, Asia/Kuching, Asia/Kuwait, Asia/Macau,
Asia/Magadan, Asia/Makassar, Asia/Manila, Asia/Muscat, Asia/Nicosia, Asia/Novokuznetsk,

3.35. Timezones | 112


© BDT Storage GmbH

Asia/Novosibirsk, Asia/Omsk, Asia/Oral, Asia/Phnom_Penh, Asia/Pontianak, Asia/Pyongyang,


Asia/Qatar, Asia/Qostanay, Asia/Qyzylorda, Asia/Riyadh, Asia/Sakhalin, Asia/Samarkand, Asia/Seoul,
Asia/Shanghai, Asia/Singapore, Asia/Srednekolymsk, Asia/Taipei, Asia/Tashkent, Asia/Tbilisi,
Asia/Tehran, Asia/Thimphu, Asia/Tokyo, Asia/Tomsk, Asia/Ulaanbaatar, Asia/Urumqi, Asia/Ust-Nera,
Asia/Vientiane, Asia/Vladivostok, Asia/Yakutsk, Asia/Yangon, Asia/Yekaterinburg, Asia/Yerevan,
Atlantic/Azores, Atlantic/Bermuda, Atlantic/Canary, Atlantic/Cape_Verde, Atlantic/Faroe,
Atlantic/Madeira, Atlantic/Reykjavik, Atlantic/South_Georgia, Atlantic/St_Helena, Atlantic/Stanley,
Australia/Adelaide, Australia/Brisbane, Australia/Broken_Hill, Australia/Currie, Australia/Darwin,
Australia/Eucla, Australia/Hobart, Australia/Lindeman, Australia/Lord_Howe, Australia/Melbourne,
Australia/Perth, Australia/Sydney, Europe/Amsterdam, Europe/Andorra, Europe/Astrakhan,
Europe/Athens, Europe/Belgrade, Europe/Berlin, Europe/Bratislava, Europe/Brussels,
Europe/Bucharest, Europe/Budapest, Europe/Busingen, Europe/Chisinau, Europe/Copenhagen,
Europe/Dublin, Europe/Gibraltar, Europe/Guernsey, Europe/Helsinki, Europe/Isle_of_Man,
Europe/Istanbul, Europe/Jersey, Europe/Kaliningrad, Europe/Kiev, Europe/Kirov, Europe/Lisbon,
Europe/Ljubljana, Europe/London, Europe/Luxembourg, Europe/Madrid, Europe/Malta,
Europe/Mariehamn, Europe/Minsk, Europe/Monaco, Europe/Moscow, Europe/Oslo, Europe/Paris,
Europe/Podgorica, Europe/Prague, Europe/Riga, Europe/Rome, Europe/Samara, Europe/San_Marino,
Europe/Sarajevo, Europe/Saratov, Europe/Simferopol, Europe/Skopje, Europe/Sofia,
Europe/Stockholm, Europe/Tallinn, Europe/Tirane, Europe/Ulyanovsk, Europe/Uzhgorod,
Europe/Vaduz, Europe/Vatican, Europe/Vienna, Europe/Vilnius, Europe/Volgograd, Europe/Warsaw,
Europe/Zagreb, Europe/Zaporozhye, Europe/Zurich, Indian/Antananarivo, Indian/Chagos,
Indian/Christmas, Indian/Cocos, Indian/Comoro, Indian/Kerguelen, Indian/Mahe, Indian/Maldives,
Indian/Mauritius, Indian/Mayotte, Indian/Reunion, Pacific/Apia, Pacific/Auckland,
Pacific/Bougainville, Pacific/Chatham, Pacific/Chuuk, Pacific/Easter, Pacific/Efate, Pacific/Enderbury,
Pacific/Fakaofo, Pacific/Fiji, Pacific/Funafuti, Pacific/Galapagos, Pacific/Gambier,
Pacific/Guadalcanal, Pacific/Guam, Pacific/Honolulu, Pacific/Kiritimati, Pacific/Kosrae,
Pacific/Kwajalein, Pacific/Majuro, Pacific/Marquesas, Pacific/Midway, Pacific/Nauru, Pacific/Niue,
Pacific/Norfolk, Pacific/Noumea, Pacific/Pago_Pago, Pacific/Palau, Pacific/Pitcairn, Pacific/Pohnpei,
Pacific/Port_Moresby, Pacific/Rarotonga, Pacific/Saipan, Pacific/Tahiti, Pacific/Tarawa,
Pacific/Tongatapu, Pacific/Wake, Pacific/Wallis, GMT, UTC)

3.36. UserListInfo
Name Description Schema
Id Id of the User
integer
required Example : 1

User type can be system (system default users) or custom


Type enum (SYSTEM,
added user
required CUSTOM)
Example : "CUSTOM"

Name User name


string
required Example : "administrator"

REST API for Scalable Tape Libraries 3.36. UserListInfo | 113


© BDT Storage GmbH

Name Description Schema


State State of the user enum (ENABLED,
required Example : "ENABLED" LOCKED)

enum (USER,
Role User Role
ADMINISTRATOR,
required Example : "USER"
SECURITY, SERVICE)

LastLoginTim
DateTime in UTC when the user logged in
e string (date-time)
Example : "2021-10-04T[Link]Z"
optional

PwdChangedT
DateTime in UTC when the password was changed
ime string (date-time)
Example : "2021-10-03T[Link]Z"
optional

FailedLgiCnt
Failed login attempts integer
required

3.37. UserPasswordPolicies
Name Description Schema
MinNumOfCh
ars Minimum Number Of Characters integer
required

MinNumOfUp
Minimum Number Of Upper Case Alphabetic Characters (A-
perCaseChars integer
Z)
required

MinNumOfLo
Minimum Number Of Lower Case Alphabetic Characters (a-
werCaseChars integer
z)
required

MinNumOfNu
mericChars Minimum Number Of Numeric Characters (0-9) integer
required

MinNumOfSp
Minimum Number Of Special Characters (!@#$%^&*()_+-
ecialChars integer
={}|[]\;':"<>?,./)
required

3.37. UserPasswordPolicies | 114


© BDT Storage GmbH

Name Description Schema


MaxNumOfCo
nsecutiveChar Maximum Number Of Identical Consecutive Characters (0
integer
s means unlimited)
required

MaxNumOfFa
Maximum Number Of Failed Logins Before Password Is
iledLogins integer
Locked (0 means unlimited)
required

MaxNumOfDa
ysBeforeMust Maximum Number Of Days Before Password Must Be
integer
Change Changed (0 means unlimited)
required

MinNumOfDa
ysBeforeCanC Minimum Number Of Days Before Password Can Be
integer
hange Changed (0 means unlimited)
required

NumOfPwdCh
angesBeforeU Number Of Password Changes Before An Old Password Can
integer
seAgain Be Used Again
required

REST API for Scalable Tape Libraries 3.37. UserPasswordPolicies | 115


© BDT Storage GmbH

Chapter 4. Security
4.1. UserSecurity
User role API Key, only allowing status requests.

Type : apiKey
Name : Authorization
In : HEADER

4.2. AdminSecurity
Admin role API Key, allowing status, Operations and operational requests

Type : apiKey
Name : Authorization
In : HEADER

4.3. SecuritySecurity
Sercurity role API Key, allowing status, Operations and operational requests and security related
tasks

Type : apiKey
Name : Authorization
In : HEADER

4.4. ServiceSecurity
Service role API Key, allowing special service requests including Admin level

Type : apiKey
Name : Authorization
In : HEADER

4.1. UserSecurity | 116

You might also like