上传软件包

POST/zstack/v1/software-packages/upload

Headers

Authorization: OAuth the-session-uuid

Body

{
  "params": {
    "name": "software-package-name",
    "type": "storage",
    "managementNodeUuid": "ff000842a4673ab39dad7a3990df5300",
    "hostUuid": "ff0192fa70113da886101145c084bd00",
    "url": "http://192.168.1.1/disk/images/test.qcow2",
    "installPath": "/root/sds/storage.tar.gz"
  },
  "systemTags": [],
  "userTags": []
}

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

Curl示例

curl -H "Content-Type: application/json;charset=UTF-8" \
-H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c" \
-X POST -d '{"params":{"name":"software-package-name","type":"storage","managementNodeUuid":"ff000842a4673ab39dad7a3990df5300","hostUuid":"ff0192fa70113da886101145c084bd00","url":"http://192.168.1.1/disk/images/test.qcow2","installPath":"/root/sds/storage.tar.gz"}}' \
http://localhost:8080/zstack/v1/software-packages/upload

参数列表

名字类型位置描述可选值起始版本
nameStringbody(包含在params结构中)软件包名 4.10.20
typeStringbody(包含在params结构中)软件包类型 4.10.20
managementNodeUuidStringbody(包含在params结构中)上传到管理节点UUID 4.10.20
hostUuidStringbody(包含在params结构中)上传到主机UUID 4.10.20
urlStringbody(包含在params结构中)软件包URL 4.10.20
installPathStringbody(包含在params结构中)软件包安装路径 4.10.20
resourceUuid (可选)Stringbody(包含在params结构中)资源UUID 4.10.20
tagUuids (可选)Listbody(包含在params结构中)标签UUID列表 4.10.20
systemTags (可选)Listbody系统标签 4.10.20
userTags (可选)Listbody用户标签 4.10.20
  • 本地上传软件支持指定软件包的hash。
  • SystemTag格式:uploadSoftwarePackage::{%s}
  • SystemTag示例:uploadSoftwarePackage::1271232183768712367812361287
  • 本地上传host返回UI上传软件包切片的URL。
    • SystemTag格式:uploadUrl::{%s}
    • SystemTag示例:uploadUrl::http://172.1.1.1:7070/host/file/direct-upload
  • 上传软件包的参数。
    • SystemTag格式:uploadConfig::{%s}
    • SystemTag示例:APIUploadSoftwarePackageMsg转为json字符串

API返回

返回示例

{
  "inventory": {
    "size": 0
  }
}
名字类型描述起始版本
successboolean操作成功时为true,否则为false4.10.20
errorErrorCode详情参考error4.10.20
inventorySoftwarePackageInventory详情参考inventory4.10.20

error

名字类型描述起始版本
codeString错误码号,错误的全局唯一标识,例如SYS.1000, HOST.10010.6
descriptionString错误的概要描述0.6
detailsString错误的详细信息0.6
elaborationString保留字段,默认为null0.6
opaqueLinkedHashMap保留字段,默认为null0.6
causeErrorCode根错误,引发当前错误的源错误,若无原错误,该字段为null0.6

inventory

名字类型描述起始版本
uuidString资源的UUID,唯一标示该资源4.10.20
nameString资源名称4.10.20
hostUuidString主机UUID4.10.20
managementNodeUuidString上传到管理节点UUID4.10.20
installPathString安装路径4.10.20
unzipInstallPathString解压安装路径4.10.20
typeString安装包类型4.10.20
md5sumString安装包MD5校验值4.10.20
statusString安装包状态4.10.20
sizelong安装包大小4.10.20
createDateTimestamp创建时间4.10.20
lastOpDateTimestamp最后一次修改时间4.10.20

SDK示例

Java SDK

UploadSoftwarePackageAction action = new UploadSoftwarePackageAction();
action.name = "software-package-name";
action.type = "storage";
action.managementNodeUuid = "ff000842a4673ab39dad7a3990df5300";
action.hostUuid = "ff0192fa70113da886101145c084bd00";
action.url = "http://192.168.1.1/disk/images/test.qcow2";
action.installPath = "/root/sds/storage.tar.gz";
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c";
UploadSoftwarePackageAction.Result res = action.call();

Python SDK

action = UploadSoftwarePackageAction()
action.name = "software-package-name"
action.type = "storage"
action.managementNodeUuid = "ff000842a4673ab39dad7a3990df5300"
action.hostUuid = "ff0192fa70113da886101145c084bd00"
action.url = "http://192.168.1.1/disk/images/test.qcow2"
action.installPath = "/root/sds/storage.tar.gz"
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c"
res = action.call()