6.镜像
1. 上传镜像
接口地址: /v1/image
请求方式:POST
请求数据类型:application/json
响应数据类型:*/*,application/json
支持版本:v1.2.0
接口描述:
上传容器镜像(异步任务,提交请求后,会把镜像上传到镜像仓库,上传成功后数据会在镜像列表中返回,可根据返回的traceId在任务相关接口查询执行结果)
请求参数:
| 参数名称 | 参数说明 | 位置 | 是否必须 | 数据类型 | 描述 |
|---|---|---|---|---|---|
| projectId | 项目Id | body | false | string | 默认当前用户的默认项目 |
| imageUrl | 镜像下载地址 | body | true | string | |
| socType | 计算规格型号 | body | true | string | 支持Orion865、Cruise10、Orion8G2型号 |
| name | 镜像名称 | body | false | string | 镜像名称,不指定时与生成的imageId保持一致 |
| tags | 镜像业务Tags信息(系统版本、GS版本等等信息) | body | false | Map<String, String> | 例如:{"GsVersion":"V2.0.1","Firmware":"567"} |
| imageMd5 | 镜像MD5信息 | body | false | string | 用于上传镜像校验,非必填 |
| syncNodeUuids | 镜像同步节点列表 | body | false | List<String> | 不传默认同步所有节点,空数组代表不同步 |
| callbackUrl | 通知回调地址 | body | false | string | POST请求 |
请求示例:
POST "/openapi/v1/image"
body:
{
"imageUrl": "http://www.cheersucloud.com/images/qsandroid10_1.0.2.tar",
"socType": "Orion865",
"name": "Orion865-android10_1.0.1",
"projectId":"project_admin",
"syncNodeUuids": [
"1ddf1365dac9137cf77d6d0142ff7251"
]
}
响应参数:
| 参数名称 | 参数说明 | 类型 | 描述 |
|---|---|---|---|
| code | 返回代码 | integer(int32) | |
| message | 返回处理消息 | string | |
| result | 结果 | object | |
| jobId | 任务ID | string | |
| syncNodeJobs | 同步镜像任务 | list<object> | |
| jobId | 任务id | String | |
| command | 操作 | String | |
| code | 返回代码 | integer | |
| message | 返回处理消息 | String | |
| nodeUuid | 节点uuid | String | |
| timestamp | 时间戳 | integer(int64) | |
| traceId | 请求处理ID | string | 请求ID,可用此traceId批量查询该请求下任务结果 |
响应示例:
{
"message": "成功",
"code": 200,
"timestamp": 1703655847574,
"result": {
"jobId": "4dab5a486599491ea98b702969d7044d",
"syncNodeJobs":[
{
"jobId": "02c0182b3e3446ed8022e0cefa91e9db",
"command": "distributeImage",
"code": 200,
"message": "SUCCESS",
"nodeUuid": "1ddf1365dac9137cf77d6d0142ff7251"
}
]
},
"traceId": "C20231227134407574007"
}
2. 镜像分页列表
接口地址: /v1/image/page/list
请求方式:POST
请求数据类型:application/json
响应数据类型:*/*,application/json
支持版本:v1.2.0
接口描述:
查询镜像列表
请求参数:
| 参数名称 | 参数说明 | 位置 | 是否必须 | 数据类型 | 描述 |
|---|---|---|---|---|---|
| projectId | 项目Id | body | false | string | 默认当前用户的默认项目 |
| type | 查询类型 | body | false | string | 默认ALL(同时查询公有私有镜像)、public(查询公有镜像)、private(查询私有镜像,需要指定projectId) |
| pageNum | 当前页码 | body | false | integer | 默认 1 |
| pageSize | 当前页面数据量 | body | false | integer | 默认 10 |
请求示例:
响应参数:
| 参数名称 | 参数说明 | 类型 | 描述 |
|---|---|---|---|
| code | 返回代码 | integer(int32) | |
| message | 返回处理消息 | string | |
| result | 返回数据对象 | IPage<object> | |
| records | 当前页的数据列表 | list<object> | |
| uuid | 镜像UUID | string | |
| imageId | 镜像标识 | string | 例如:img-1749452445158 |
| name | 镜像名称 | string | |
| digest | 镜像摘要 | string | |
| os | 操作系统 | string | 例如:Android 10,Android 13 |
| type | 镜像类型 | string | public公有镜像,private私有镜像 |
| status | 状态 | integer | 0:停用 1:启用 |
| socType | 计算规格型号 | string | |
| size | 镜像大小 | long | 单位为B |
| sizeStr | 容量转换 | string | 自适应size字段(单位为B)为M或G为单位,且取整数 |
| projectId | 项目ID | string | |
| syncNodeUuids | 镜像同步节点列表 | List<string> | |
| tags | 镜像业务Tags信息(系统版本、GS版本等等信息) | Map<String,String> | |
| remark | 备注 | string | |
| createTime | 创建时间 | string | |
| updateTime | 修改时间 | string | |
| total | 总记录数 | integer | |
| current | 当前页码 | integer | |
| pages | 总页数 | integer | |
| size | 每页显示条数 | integer | |
| timestamp | 时间戳 | integer(int64) | |
| traceId | 请求处理ID | string |
响应示例:
{
"message": "操作成功!",
"code": 200,
"result": {
"records": [
{
"imageId": "img-1755521097901",
"os": "Android 10",
"remark": "",
"updateTime": "2025-08-18 20:46:20",
"type": "private",
"uuid": "a855bed61a5a49d5a21446d0295f3bc9",
"sizeStr": "824.0 MB",
"socType": "Orion865",
"syncNodeUuids": [
"6aa62c31370175ee1bbe20356c5bd083",
"beb95a81559b894a92c9f1bb13c7aeba"
],
"size": 864070140,
"createTime": "2025-08-18 20:46:20",
"name": "hf20280818",
"digest": "sha256:225caa95edcb8f873f480fce47547fefea30062ee16427143ead83b8ff36c3ee",
"projectId": "f93afddd503d1fc6ada3174160852180",
"status": 1,
"tags":{
"key":"value"
}
}
],
"total": 1,
"current": 1,
"pages": 1,
"size": 10
},
"timestamp": 1703657528870,
"traceId": "C20231227141208870307"
}
3. 删除镜像
接口地址: /v1/image/delete
请求方式:DELETE
请求数据类型:application/json
响应数据类型:*/*,application/json
支持版本:v2.2.0
接口描述:
删除容器镜像,参数为镜像uuid和name的键值对
请求参数:
| 参数名称 | 参数说明 | 位置 | 是否必须 | 数据类型 | 描述 |
|---|---|---|---|---|---|
| {uuid} | 镜像UUID | body | true | string | value为镜像名称 |
请求示例:
响应参数:
| 参数名称 | 参数说明 | 类型 | 描述 |
|---|---|---|---|
| code | 返回代码 | integer(int32) | |
| message | 返回处理消息 | string | |
| result | 结果 | object | |
| timestamp | 时间戳 | integer(int64) | |
| traceId | 请求处理ID | string | 请求ID |
响应示例:
{
"message": "成功",
"code": 200,
"result": null,
"timestamp": 1703655847574,
"traceId": "C20231227134407574007"
}
4. 同步镜像
接口地址: /v1/image/distribute
请求方式:POST
请求数据类型:application/json
响应数据类型:*/*,application/json
支持版本:v2.6.0
接口描述:
同步镜像
请求参数:
| 参数名称 | 参数说明 | 位置 | 是否必须 | 数据类型 | 描述 |
|---|---|---|---|---|---|
| uuid | 镜像UUID | body | true | string | |
| syncNodeUuids | 同步节点uuid | body | true | List<String> |
请求示例:
POST "/openapi/v1/image/distribute"
body:
{
"syncNodeUuids": [
"1ddf1365dac9137cf77d6d0142ff7251"
],
"uuid": "bcfcef2741254267aa7f06174536cf87"
}
响应参数:
| 参数名称 | 参数说明 | 类型 | 描述 |
|---|---|---|---|
| code | 返回代码 | integer(int32) | |
| message | 返回处理消息 | string | |
| result | 结果 | list<object> | |
| jobId | 任务id | String | |
| command | 操作 | String | |
| code | 返回代码 | integer | |
| message | 返回处理消息 | String | |
| nodeUuid | 节点uuid | String | |
| timestamp | 时间戳 | integer(int64) | |
| traceId | 请求处理ID | string | 请求ID |
响应示例: