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

CopySnapshotCrossRegions

POST

Replicate a snapshot to another region.

Wire call

Converge Cloud is RPC over HTTP. There is one path — / — and the action travels in the X-TC-Action header. The /cbs/CopySnapshotCrossRegions 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: CopySnapshotCrossRegions' \
  -H 'X-TC-Version: 2017-03-12' \
  -H 'X-TC-Timestamp: <unix-seconds>' \
  -H 'X-TC-Region: luzon' \
  -d '{"DestinationRegions":"<DestinationRegions>"}'

Request parameters

FieldTypeRequiredDescription
DestinationRegionsstring[]YesDestination regions of the replication task. You can query the value of regions by calling DescribeRegions API. Note that you can only specify regions that support snapshots.
SnapshotIdstringNoSnapshot ID, which can be queried via the DescribeSnapshots API.
SnapshotNamestringNoName of the snapshot replica. If it’s not specified, it defaults to “Copied [source snapshot ID from [region name]”

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
SnapshotCopyResultSetSnapshotCopyResult[]Result of the cross-region replication task. The ID of the new snapshot replica is returned if the request succeeds. Otherwise `Error` is returned.
RequestIdstringThe unique request ID, which is returned for each request. RequestId is required for locating a problem.
Success
{
  "Response": {
    "SnapshotCopyResultSet": …,
    "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 · CopySnapshotCrossRegions

Behaviour

Converge Cloud has a single region, so there is no second region to copy to.