Skip to content

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

请求示例:

POST "/openapi/v1/image/page/list"
body:
{
    "type": "public"
}

响应参数:

参数名称 参数说明 类型 描述
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为镜像名称

请求示例:

POST "/openapi/v1/image/delete"
body:
{
    "388a49e7e4ee4d97930a1ab1724d0bcb": "caic-cr10q"
}

响应参数:

参数名称 参数说明 类型 描述
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

响应示例:

{
    "message": "操作成功!",
    "code": 200,
    "result": [
        {
            "jobId": "02c0182b3e3446ed8022e0cefa91f9db",
            "command": "distributeImage",
            "code": 200,
            "message": "SUCCESS",
            "nodeUuid": "1ddf1365dac9137cf77d6d0142ff7251"
        }
    ],
    "timestamp": 1755075261942,
    "traceId": "C20250813165421673016"
}