暴露硬盘为NBD设备

POST/zstack/v1/cbt-task/exportvolume

Headers

Authorization: OAuth the-session-uuid

Body

{
  "params": {
    "volumeUuids": [
      "8d7de4e1c3b73fc49772b0fef78b0fc7"
    ],
    "vmInstanceUuid": "7d8c1dec326c3230be08d3c82fb7a476",
    "force": false
  },
  "systemTags": [],
  "userTags": []
}

上述示例中systemTagsuserTags字段可以省略。列出是为了表示body中可以包含这两个字段。

Curl示例

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

参数列表

名字类型位置描述可选值起始版本
volumeUuidsListbody(包含在params结构中)  4.10.10
vmInstanceUuidStringbody(包含在params结构中)虚拟机UUID 4.10.10
systemTags (可选)Listbody系统标签 4.10.10
userTags (可选)Listbody用户标签 4.10.10
force (可选)booleanbody(包含在params结构中)  4.10.10

API返回

该API成功时返回一个空的JSON结构{},出错时返回的JSON结构包含一个error字段,例如:

{
  "error": {
    "code": "SYS.1001",
    "description": "A message or a operation timeout",
    "details": "Create VM on KVM timeout after 300s"
  }
}

SDK示例

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()