Overview
Overview
The documentation pages in this section describe the RESTful APIs included with Riverbed SteelCentral Products. It is assumed that the reader has practical knowledge of RESTful APIs, so the documentation does not go into detail about what REST is and how to use it. Instead the documentation focuses on how iso image can be uploaded, how to track progress for iso upload, removing iso and all the software update related operations.
The following operations can be performed via the API:
- Upload or Fetch .iso image to Riverbed SteelCentral.
- Track progress of .iso image upload to Riverbed SteelCentral.
- Delete .iso images using image id from Riverbed SteelCentral.
- Track progress of .iso image upload.
- Track progress of Software Update on Riverbed SteelCentral.
- Initialize Software Update on Riverbed SteelCentral.
- Uninitialize Software Update on Riverbed SteelCentral.
- Start Software Update on Riverbed SteelCentral.
Details about REST resources can be found in the Resources section. This overview continues with how to run these API's.
Authentication
All REST requests must be authenticated. The Authentication section of the Common API describes which authentication methods are presently supported.
Resources
Images: Upload ISO
The .iso image needs to be passed as a binary object using form-data where key = 'file' and value = 'file object'
PUT https://{device}/api/mgmt.system_update/1.0/images/uploadAuthorization
This request requires authorization.
Request BodyDo not provide a request body.
Response BodyOn success, the server does not provide any body in the responses.
Images: Fetch ISO
Fetches ISO from a specified url.
PUT https://{device}/api/mgmt.system_update/1.0/images/fetchAuthorization
This request requires authorization.
Request BodyProvide a request body with the following structure:
- JSON
{ "url": string } Example: { "url": "http://xxxx:xxxx/install-10.21-xxx-192.iso" }
Property Name | Type | Description | Notes |
---|---|---|---|
FetchImage | <object> | Fetches .iso file from specified url to the Riverbed SteelCentral device. | |
FetchImage.url | <string> | URL from where ISO needs to be fetched to Riverbed SteelCentral device. |
On success, the server does not provide any body in the responses.
Images: Get ISO Image Details
Provides Information about ISO Images Uploading / Uploaded.
GET https://{device}/api/mgmt.system_update/1.0/imagesAuthorization
This request requires authorization.
Response BodyOn success, the server returns a response body with the following structure:
- JSON
[ { "id": string, "filename": string, "progress": string, "state": string, "checksum": string, "version": string } ] Example: [ { "id": 1, "filename": "install-10.22-xxxx-192.iso", "progress": "100.0%", "state": "Uploaded", "checksum": "94b58c6a41f18605705a43c23d4859991f91303337bdc412f9e53d2ca9758484", "version": "10.22" } ]
Property Name | Type | Description | Notes |
---|---|---|---|
Images | <array of <object>> | Information about ISO Images Uploading / Uploaded. | |
Images[Image] | <object> | ISO image details . | Optional |
Images[Image].id | <string> | A unique identifier for the ISO image. | |
Images[Image].filename | <string> | Name of the ISO image. | |
Images[Image].progress | <string> | The progress of the current upload/fetch operation. | |
Images[Image].state | <string> | The state of the ISO image getting uploaded. | Values: Uploaded, Uploading, Upload Error |
Images[Image].checksum | <string> | The SHA-256 checksum of the uploaded ISO image. | |
Images[Image].version | <string> | The version of the uploading/uploaded ISO image. |
Images: Get ISO Image Details using id
Provides Information about a particular ISO Image uploading / uploaded.
GET https://{device}/api/mgmt.system_update/1.0/images/items/{id}Authorization
This request requires authorization.
Response BodyOn success, the server returns a response body with the following structure:
- JSON
{ "id": string, "filename": string, "progress": string, "state": string, "checksum": string, "version": string } Example: { "id": 1, "filename": "install-10.22-xxxx-192.iso", "progress": "51%", "state": "Uploading", "checksum": "94b58c6a41f18605705a43c23d4859991f91303337bdc412f9e53d2ca9758484", "version": "10.22" }
Property Name | Type | Description | Notes |
---|---|---|---|
Image | <object> | Information about a particular ISO Image Uploading / Uploaded. | |
Image.id | <string> | A unique identifier for the ISO image. | |
Image.filename | <string> | Name of the ISO image. | |
Image.progress | <string> | The progress of the current upload/fetch operation. | |
Image.state | <string> | The state of the ISO image getting uploaded. | Values: Uploaded, Uploading, Upload Error |
Image.checksum | <string> | The SHA-256 checksum of the uploaded ISO image. | |
Image.version | <string> | The version of the uploading/uploaded ISO image. |
Images: Delete ISO Image
Removes the ISO and clears Information about the same.
DELETE https://{device}/api/mgmt.system_update/1.0/images/items/{id}Authorization
This request requires authorization.
Response BodyOn success, the server does not provide any body in the responses.
Update: Update Status
Get the status of Software Update.
GET https://{device}/api/mgmt.system_update/1.0/updateAuthorization
This request requires authorization.
Response BodyOn success, the server returns a response body with the following structure:
- JSON
{ "State": string, "Internal State description": string, "State description": string, "Current Version": string, "Update To Version": string } Example: { "State": "neutral", "Internal State Description": "Visible only during State = failed_graceful or failed_critical", "State Description": "Visible only during State = failed_graceful or failed_critical", "Current Version": "10.22", "Update To Version": "10.23" }
Property Name | Type | Description | Notes |
---|---|---|---|
UpdateStatus | <object> | Software Update Current Status. | |
UpdateStatus.State | <string> | The state of the update. | Values: neutral, initializing, initialized, running, failed_graceful, failed_critical |
UpdateStatus.Internal State description | <string> | Displays Internal State Description only at the time of failure during software update. | Optional |
UpdateStatus.State description | <string> | Displays State Description only at the time of failure during software update. | Optional |
UpdateStatus.Current Version | <string> | Displays Current Riverbed SteelCentral version. | |
UpdateStatus.Update To Version | <string> | Displays Target version to which Riverbed SteelCentral needs to be updated to. |
Update: Initialize
Initialize the Riverbed SteelCentral. The operation is synchronous.
POST https://{device}/api/mgmt.system_update/1.0/update/initAuthorization
This request requires authorization.
Request BodyDo not provide a request body.
Response BodyOn success, the server does not provide any body in the responses.
Update: Uninitialize
Uninitialize the Riverbed SteelCentral. The operation is synchronous.
POST https://{device}/api/mgmt.system_update/1.0/update/resetAuthorization
This request requires authorization.
Request BodyDo not provide a request body.
Response BodyOn success, the server does not provide any body in the responses.
Update: Start Update
Start the software update on the Riverbed SteelCentral. The operation is asynchronous
POST https://{device}/api/mgmt.system_update/1.0/update/startAuthorization
This request requires authorization.
Request BodyDo not provide a request body.
Response BodyOn success, the server does not provide any body in the responses.
Error Codes
In the event that an error occurs while processing a request, the server will respond with appropriate HTTP status code and additional information in the response body:
{ "error_id": "{error identifier}", "error_text": "{error description}", "error_info": {error specific data structure, optional} }
The table below lists the possible errors and the associated HTTP status codes that may returned.
Error ID | HTTP Status | Comments |
---|---|---|
PARTIAL_CONTENT | 206 | Operation was partially successfull. |
BAD_REQUEST | 400 | Invalid argument. |
AUTH_REQUIRED | 401 | Authentication required. |
AUTH_INVALID_CREDENTIALS | 401 | Make sure the user name is correct and type your password again. Be sure to use the correct case for the user name and password. |
INTERNAL_ERROR | 500 | Internal error. |