CBT APIs

CreateCbtTask

API Request

URLs
POST zstack/v1/cbt-task/create
Headers
Authorization: OAuth the-session-uuid
Body
{
  "params": {
    "name": "My CDP Task",
    "vmInstanceUuid": "89878e17496030ba9c062cbb18924335"
  },
  "systemTags": [],
  "userTags": []
}
Note: The systemTags and userTags fields in the above example are optional. They are listed to indicate that the body can contain these two fields.
Curl Example
curl -H "Content-Type: application/json;charset=UTF-8" \
-H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c" \
-X POST -d '{"params":{"name":"My CDP Task","vmInstanceUuid":"89878e17496030ba9c062cbb18924335"}}' \
http://localhost:8080/zstack/v1/cbt-task/create
Parameter List
Name Type Location Description Allowed Values Starting Version
name String body (included in the params structure) Resource name 4.10.10
description (optional) String body (included in the params structure) Detailed description of the resource 4.10.10
taskType String body (included in the params structure) The task type. 4.10.10
resourceUuids List body (included in the params structure) The resource UUIDs. 4.10.10
resourceUuid (optional) String body (included in the params structure) Resource UUID 4.10.10
tagUuids (optional) List body (included in the params structure) Tag UUID list 4.10.10
systemTags (optional) List body System tags 4.10.10
userTags (optional) List body User tags 4.10.10

API Response

Response Example
{
  "inventory": {
    "uuid": "b70f4160919c38748f908f489ba306ce",
    "name": "My Task",
    "status": "Created"
  }
}
Name Type Description Starting Version
success boolean Whether the operation succeeded. 5.3.20
inventory CbtTaskInventory For details, see inventory 5.3.20
error ErrorCode Error code. If not null, the operation failed. This field is null when the operation succeeds. For details, see error 5.3.20
#inventory
Name Type Description Starting Version
uuid String Resource UUID. Uniquely identifies the resource 4.10.10
name String Resource name 4.10.10
description String Detailed description of the resource 4.10.10
createDate Timestamp Creation time 4.10.10
lastOpDate Timestamp Last modification time 4.10.10
status CbtTaskStatus For details, see status 4.10.10
#status
Name Type Description Starting Version
Created CbtTaskStatus The Created value. 4.10.10
Starting CbtTaskStatus The Starting value. 4.10.10
Running CbtTaskStatus The Running value. 4.10.10
Stopped CbtTaskStatus The Stopped value. 4.10.10
Failed CbtTaskStatus The Failed value. 4.10.10
#error
Name Type Description Starting Version
code String Error code number. The globally unique identifier of the error, for example, SYS.1000 or HOST.1001 0.6
description String Brief description of the error 0.6
details String Detailed information about the error 0.6
elaboration String Reserved field. Default is null 0.6
opaque LinkedHashMap Reserved field. Default is null 0.6
cause ErrorCode Root error. The source error that caused the current error. This field is null if there is no source error 0.6

SDK Examples

Java SDK
CreateCbtTaskAction action = new CreateCbtTaskAction();
action.name = "My CDP Task";
action.vmInstanceUuid = "89878e17496030ba9c062cbb18924335";
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c";
CreateCbtTaskAction.Result res = action.call();
Python SDK
CreateCbtTaskAction action = CreateCbtTaskAction()
action.name = "My CDP Task"
action.vmInstanceUuid = "89878e17496030ba9c062cbb18924335"
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c"
CreateCbtTaskAction.Result res = action.call()

DeleteCbtTask

API Request

URLs
DELETE zstack/v1/cbt-task/{uuid}
Headers
Authorization: OAuth the-session-uuid
Curl Example
curl -H "Content-Type: application/json;charset=UTF-8" \
-H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c" \
-X DELETE http://localhost:8080/zstack/v1/cbt-task/7017b8d5bef63877a528a5f56517c829
Parameter List
Name Type Location Description Allowed Values Starting Version
uuid String url Resource UUID. Uniquely identifies the resource 4.10.10
force (optional) boolean body Optional. The force. 4.10.10
deleteMode (optional) String body Deletion mode (Permissive / Enforcing, Permissive) 4.10.10
systemTags (optional) List body System tags 4.10.10
userTags (optional) List body User tags 4.10.10

API Response

On success, this API returns an empty JSON structure {}. On failure, the returned JSON structure contains an error field, for example:
{
	"error": {
		"code": "SYS.1001",
		"description": "A message or a operation timeout",
		"details": "Create VM on KVM timeout after 300s"
	}
}

SDK Examples

Java SDK
DeleteCbtTaskAction action = new DeleteCbtTaskAction();
action.uuid = "7017b8d5bef63877a528a5f56517c829";
action.force = false;
action.deleteMode = "Permissive";
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c";
DeleteCbtTaskAction.Result res = action.call();
Python SDK
DeleteCbtTaskAction action = DeleteCbtTaskAction()
action.uuid = "7017b8d5bef63877a528a5f56517c829"
action.force = false
action.deleteMode = "Permissive"
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c"
DeleteCbtTaskAction.Result res = action.call()

DisableCbtTask

API Request

URLs
POST zstack/v1/cbt-task/disable/{uuid}
Headers
Authorization: OAuth the-session-uuid
Body
{
  "params": {
    "force": false
  },
  "systemTags": [],
  "userTags": []
}
Note: The systemTags and userTags fields in the above example are optional. They are listed to indicate that the body can contain these two fields.
Curl Example
curl -H "Content-Type: application/json;charset=UTF-8" \
-H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c" \
-X POST -d '{"params":{"force":false}}' \
http://localhost:8080/zstack/v1/cbt-task/disable/5a86262807b4363e95f2e57d2970d189
Parameter List
Name Type Location Description Allowed Values Starting Version
uuid String url Resource UUID. Uniquely identifies the resource 4.10.10
force (optional) boolean body (included in the params structure) Optional. The force. 4.10.10
systemTags (optional) List body System tags 4.10.10
userTags (optional) List body User tags 4.10.10

API Response

Response Example
{
  "inventory": {
    "uuid": "5ca9c15a50c53f0dac359a64841d7b2b",
    "name": "My Task",
    "status": "Stopped"
  }
}
Name Type Description Starting Version
success boolean Whether the operation succeeded. 4.10.10
inventory CbtTaskInventory For details, see inventory 4.10.10
error ErrorCode Error code. If not null, the operation failed. This field is null when the operation succeeds. For details, see error 4.10.10
#inventory
Name Type Description Starting Version
uuid String Resource UUID. Uniquely identifies the resource 4.10.10
name String Resource name 4.10.10
description String Detailed description of the resource 4.10.10
createDate Timestamp Creation time 4.10.10
lastOpDate Timestamp Last modification time 4.10.10
status CbtTaskStatus For details, see status 4.10.10
#status
Name Type Description Starting Version
Created CbtTaskStatus The Created value. 4.10.10
Starting CbtTaskStatus The Starting value. 4.10.10
Running CbtTaskStatus The Running value. 4.10.10
Stopped CbtTaskStatus The Stopped value. 4.10.10
Failed CbtTaskStatus The Failed value. 4.10.10
#error
Name Type Description Starting Version
code String Error code number. The globally unique identifier of the error, for example, SYS.1000 or HOST.1001 0.6
description String Brief description of the error 0.6
details String Detailed information about the error 0.6
elaboration String Reserved field. Default is null 0.6
opaque LinkedHashMap Reserved field. Default is null 0.6
cause ErrorCode Root error. The source error that caused the current error. This field is null if there is no source error 0.6

SDK Examples

Java SDK
DisableCbtTaskAction action = new DisableCbtTaskAction();
action.uuid = "5a86262807b4363e95f2e57d2970d189";
action.force = false;
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c";
DisableCbtTaskAction.Result res = action.call();
Python SDK
DisableCbtTaskAction action = DisableCbtTaskAction()
action.uuid = "5a86262807b4363e95f2e57d2970d189"
action.force = false
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c"
DisableCbtTaskAction.Result res = action.call()

EnableCbtTask

API Request

URLs
POST zstack/v1/cbt-task/enable/{uuid}
Headers
Authorization: OAuth the-session-uuid
Body
{
  "params": {
    "bitmapName": ""
  },
  "systemTags": [],
  "userTags": []
}
Note: The systemTags and userTags fields in the above example are optional. They are listed to indicate that the body can contain these two fields.
Curl Example
curl -H "Content-Type: application/json;charset=UTF-8" \
-H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c" \
-X POST -d '{"params":{"bitmapName":""}}' \
http://localhost:8080/zstack/v1/cbt-task/enable/adced083701e39869540ee2af82da0da
Parameter List
Name Type Location Description Allowed Values Starting Version
uuid String url Resource UUID. Uniquely identifies the resource 4.10.10
bitmapName (optional) String body (included in the params structure) Optional. The bitmap name. 4.10.10
systemTags (optional) List body System tags 4.10.10
userTags (optional) List body User tags 4.10.10

API Response

Response Example
{
  "volumeCbtBackupInfos": [
    {}
  ]
}
Name Type Description Starting Version
success boolean Whether the operation succeeded. 4.10.10
inventory CbtTaskInventory For details, see inventory 4.10.10
error ErrorCode Error code. If not null, the operation failed. This field is null when the operation succeeds. For details, see error 4.10.10
#inventory
Name Type Description Starting Version
uuid String Resource UUID. Uniquely identifies the resource 4.10.10
name String Resource name 4.10.10
description String Detailed description of the resource 4.10.10
createDate Timestamp Creation time 4.10.10
lastOpDate Timestamp Last modification time 4.10.10
status CbtTaskStatus For details, see status 4.10.10
#status
Name Type Description Starting Version
Created CbtTaskStatus The Created value. 4.10.10
Starting CbtTaskStatus The Starting value. 4.10.10
Running CbtTaskStatus The Running value. 4.10.10
Stopped CbtTaskStatus The Stopped value. 4.10.10
Failed CbtTaskStatus The Failed value. 4.10.10
#error
Name Type Description Starting Version
code String Error code number. The globally unique identifier of the error, for example, SYS.1000 or HOST.1001 0.6
description String Brief description of the error 0.6
details String Detailed information about the error 0.6
elaboration String Reserved field. Default is null 0.6
opaque LinkedHashMap Reserved field. Default is null 0.6
cause ErrorCode Root error. The source error that caused the current error. This field is null if there is no source error 0.6

SDK Examples

Java SDK
EnableCbtTaskAction action = new EnableCbtTaskAction();
action.uuid = "adced083701e39869540ee2af82da0da";
action.bitmapName = "";
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c";
EnableCbtTaskAction.Result res = action.call();
Python SDK
EnableCbtTaskAction action = EnableCbtTaskAction()
action.uuid = "adced083701e39869540ee2af82da0da"
action.bitmapName = ""
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c"
EnableCbtTaskAction.Result res = action.call()

QueryCbtTask

API Request

URLs
GET zstack/v1/cbt-task
GET zstack/v1/cbt-task/{uuid}
Headers
Authorization: OAuth the-session-uuid
Curl Example
curl -H "Content-Type: application/json;charset=UTF-8" \
-H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c" \
-X GET http://localhost:8080/zstack/v1/cbt-task?q=uuid=d6c3daab1c9b3274b5fc4088bd3e51ad
curl -H "Content-Type: application/json;charset=UTF-8" \
-H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c" \
-X GET http://localhost:8080/zstack/v1/cbt-task/cf426711ed6538069d2d4d6d34d5e60a

Queryable Fields

Run the CLI command line tool, enter QueryCbtTask, and press Tab to view all queryable fields and the resource names that support cross-table queries.

API Response

Response Example
{
  "inventories": [
    {
      "uuid": "103f6f8dc6dc3f8b82c1e1923dc751e0",
      "name": "My Task",
      "status": "Running"
    }
  ]
}
Name Type Description Starting Version
success boolean Whether the operation succeeded. 4.10.10
inventories List For details, see inventories 4.10.10
error ErrorCode Error code. If not null, the operation failed. This field is null when the operation succeeds. For details, see error 4.10.10
#inventories
Name Type Description Starting Version
uuid String Resource UUID. Uniquely identifies the resource 4.10.10
name String Resource name 4.10.10
description String Detailed description of the resource 4.10.10
createDate Timestamp Creation time 4.10.10
lastOpDate Timestamp Last modification time 4.10.10
status CbtTaskStatus For details, see status 4.10.10
#status
Name Type Description Starting Version
Created CbtTaskStatus The Created value. 4.10.10
Starting CbtTaskStatus The Starting value. 4.10.10
Running CbtTaskStatus The Running value. 4.10.10
Stopped CbtTaskStatus The Stopped value. 4.10.10
Failed CbtTaskStatus The Failed value. 4.10.10
#error
Name Type Description Starting Version
code String Error code number. The globally unique identifier of the error, for example, SYS.1000 or HOST.1001 0.6
description String Brief description of the error 0.6
details String Detailed information about the error 0.6
elaboration String Reserved field. Default is null 0.6
opaque LinkedHashMap Reserved field. Default is null 0.6
cause ErrorCode Root error. The source error that caused the current error. This field is null if there is no source error 0.6

SDK Examples

Java SDK
QueryCbtTaskAction action = new QueryCbtTaskAction();
action.conditions = asList("uuid=bd8fa811d9c234ceada09446fa085967");
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c";
QueryCbtTaskAction.Result res = action.call();
Python SDK
QueryCbtTaskAction action = QueryCbtTaskAction()
action.conditions = ["uuid=0449908917ce338bba71c107848b7c5c"]
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c"
QueryCbtTaskAction.Result res = action.call()

ExportNbdVolumes

API Request

URLs
POST zstack/v1/cbt-task/exportvolume
Headers
Authorization: OAuth the-session-uuid
Body
{
  "params": {
    "volumeUuids": [
      "8d7de4e1c3b73fc49772b0fef78b0fc7"
    ],
    "vmInstanceUuid": "7d8c1dec326c3230be08d3c82fb7a476",
    "force": false
  },
  "systemTags": [],
  "userTags": []
}
Note: The systemTags and userTags fields in the above example are optional. They are listed to indicate that the body can contain these two fields.
Curl Example
curl -H "Content-Type: application/json;charset=UTF-8" \
-H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c" \
-X POST -d '{"params":{"volumeUuids":["8d7de4e1c3b73fc49772b0fef78b0fc7"],"vmInstanceUuid":"7d8c1dec326c3230be08d3c82fb7a476","force":false}}' \
http://localhost:8080/zstack/v1/cbt-task/exportvolume
Parameter List
Name Type Location Description Allowed Values Starting Version
volumeUuids List body (included in the params structure) The volume UUIDs. 4.10.10
vmInstanceUuid String body (included in the params structure) Virtual Machine UUID 4.10.10
systemTags (optional) List body System tags 4.10.10
userTags (optional) List body User tags 4.10.10
force (optional) boolean body (included in the params structure) Optional. The force. 4.10.10

API Response

On success, this API returns an empty JSON structure {}. On failure, the returned JSON structure contains an error field, for example:
{
	"error": {
		"code": "SYS.1001",
		"description": "A message or a operation timeout",
		"details": "Create VM on KVM timeout after 300s"
	}
}

SDK Examples

Java SDK
ExportNbdVolumesAction action = new ExportNbdVolumesAction();
action.volumeUuids = asList("8d7de4e1c3b73fc49772b0fef78b0fc7");
action.vmInstanceUuid = "7d8c1dec326c3230be08d3c82fb7a476";
action.force = false;
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c";
ExportNbdVolumesAction.Result res = action.call();
Python SDK
ExportNbdVolumesAction action = ExportNbdVolumesAction()
action.volumeUuids = [8d7de4e1c3b73fc49772b0fef78b0fc7]
action.vmInstanceUuid = "7d8c1dec326c3230be08d3c82fb7a476"
action.force = false
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c"
ExportNbdVolumesAction.Result res = action.call()

UnexportNbdVolumes

API Request

URLs
POST zstack/v1/cbt-task/unexportvolume
Headers
Authorization: OAuth the-session-uuid
Body
{
  "params": {
    "volumeUuids": [
      "82eaf8972ece3e228b6f75f61f8749d9"
    ],
    "vmInstanceUuid": "6456713db34a3d7e96c7e132179c413d"
  },
  "systemTags": [],
  "userTags": []
}
Note: The systemTags and userTags fields in the above example are optional. They are listed to indicate that the body can contain these two fields.
Curl Example
curl -H "Content-Type: application/json;charset=UTF-8" \
-H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c" \
-X POST -d '{"params":{"volumeUuids":["82eaf8972ece3e228b6f75f61f8749d9"],"vmInstanceUuid":"6456713db34a3d7e96c7e132179c413d"}}' \
http://localhost:8080/zstack/v1/cbt-task/unexportvolume
Parameter List
Name Type Location Description Allowed Values Starting Version
volumeUuids List body (included in the params structure) The volume UUIDs. 4.10.10
vmInstanceUuid String body (included in the params structure) Virtual Machine UUID 4.10.10
systemTags (optional) List body System tags 4.10.10
userTags (optional) List body User tags 4.10.10

API Response

On success, this API returns an empty JSON structure {}. On failure, the returned JSON structure contains an error field, for example:
{
	"error": {
		"code": "SYS.1001",
		"description": "A message or a operation timeout",
		"details": "Create VM on KVM timeout after 300s"
	}
}

SDK Examples

Java SDK
UnexportNbdVolumesAction action = new UnexportNbdVolumesAction();
action.volumeUuids = asList("82eaf8972ece3e228b6f75f61f8749d9");
action.vmInstanceUuid = "6456713db34a3d7e96c7e132179c413d";
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c";
UnexportNbdVolumesAction.Result res = action.call();
Python SDK
UnexportNbdVolumesAction action = UnexportNbdVolumesAction()
action.volumeUuids = [82eaf8972ece3e228b6f75f61f8749d9]
action.vmInstanceUuid = "6456713db34a3d7e96c7e132179c413d"
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c"
UnexportNbdVolumesAction.Result res = action.call()
API Reference | ZStack ZSphere · ZVF | ZStack Resource Center