cbs — Cloud Block Storage
cbs · 2017-03-12

ApplySnapshot

POST

Roll back a snapshot to the original cloud disk.

Wire call

Converge Cloud is RPC over HTTP. There is one path — / — and the action travels in the X-TC-Action header. The /cbs/ApplySnapshot path used in the OpenAPI document is a documentation convenience so each action is addressable; it is not a route on the server.

curl
curl -sS https://cbs.api3.convergecloud.com/ \
  -H 'Authorization: TC3-HMAC-SHA256 Credential=<SecretId>/<YYYY-MM-DD>/cbs/tc3_request, SignedHeaders=content-type;host;x-tc-action, Signature=<sig>' \
  -H 'Content-Type: application/json; charset=utf-8' \
  -H 'Host: cbs.api3.convergecloud.com' \
  -H 'X-TC-Action: ApplySnapshot' \
  -H 'X-TC-Version: 2017-03-12' \
  -H 'X-TC-Timestamp: <unix-seconds>' \
  -H 'X-TC-Region: luzon' \
  -d '{"SnapshotId":"<SnapshotId>","DiskId":"<DiskId>"}'

Request parameters

FieldTypeRequiredDescription
SnapshotIdstringYesSnapshot ID, which can be queried via DescribeSnapshots.
DiskIdstringYesID of the original cloud disk corresponding to the snapshot, which can be queried via the API DescribeDisks.
AutoStopInstancebooleanNoSpecifies whether to perform automatic shutdown before rolling back. only supports rolling back snapshots to mounted cbs.
AutoStartInstancebooleanNoSpecifies whether to automatically start after completion. only supports rolling back snapshots to mounted cbs. this parameter requires simultaneous parameter passing of AutoStopInstance.

Response

Fields are returned inside the Response envelope. Converge Cloud answers HTTP 200 for errors as well as successes, so read Response.Error rather than the status code — and test for the presence of that object, because Code is occasionally the empty string.

FieldTypeDescription
RequestIdstringThe unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
Success
{
  "Response": {
    // action-specific fields,
    "RequestId": "…"
  }
}
Error
{
  "Response": {
    "Error": { "Code": "…", "Message": "…" },
    "RequestId": "…"
  }
}

Try it

CredentialThe key never leaves this tab — it signs the request here. The signed request goes to /api-relay/cbs.
Request bodyvalid JSONPOST cbs.api3.convergecloud.com · ApplySnapshot

Behaviour

Overwrites the disk with the snapshot contents. Data written since the snapshot is lost.