跳转至

镜像

上传镜像

接口描述

上传镜像。

接口路径

PUT /v1/images/upload

镜像要求

  1. 镜像要安装virtio驱动和QEMU-Guest-Agent

  2. windows镜像要安装cloudbase-init,并配置启用ConfigDriveServiceNetworkConfigPlugin,比如:

[DEFAULT]
username=Cloud
groups=Administrators
inject_user_password=false
config_drive_raw_hhd=true
config_drive_cdrom=true
config_drive_vfat=false
bsdtar_path=C:\Program Files\Cloudbase Solutions\Cloudbase-Init\bin\bsdtar.exe
mtools_path=C:\Program Files\Cloudbase Solutions\Cloudbase-Init\bin\
verbose=true
debug=true
logdir=C:\Program Files\Cloudbase Solutions\Cloudbase-Init\log\
logfile=cloudbase-init.log
default_log_levels=comtypes=INFO,suds=INFO,iso8601=WARN,requests=WARN
logging_serial_port_settings=COM1,115200,N,8
mtu_use_dhcp_config=true
ntp_use_dhcp_config=true
local_scripts_path=C:\Program Files\Cloudbase Solutions\Cloudbase-Init\LocalScripts\

first_logon_behaviour=no
san_policy=OnlineAll
trim_enabled=True

metadata_services=cloudbaseinit.metadata.services.configdrive.ConfigDriveService, cloudbaseinit.metadata.services.base.EmptyMetadataService
plugins=cloudbaseinit.plugins.common.mtu.MTUPlugin, cloudbaseinit.plugins.common.sethostname.SetHostNamePlugin, cloudbaseinit.plugins.windows.extendvolumes.ExtendVolumesPlugin, cloudbaseinit.plugins.common.networkconfig.NetworkConfigPlugin,cloudbaseinit.plugins.common.userdata.UserDataPlugin

接口参数

名称 类型 是否必须 默认值 备注
endpoint string 镜像地址载地址
image_name string 镜像名称
os string 操作系统
storage_pool_id string 存储池ID
datacenter_id string 数据中心ID
description string 镜像描述

返回数据

名称 类型 描述
code int 状态码(100001表示成功,其它表示异常)
msg string 状态码描述信息
data object 响应数据。
reason string 异常时的原因

Object:

名称 类型 描述
task_id int 任务Id
image_id int 镜像Id

创建镜像

接口描述

基于一个实例的系统盘创建一个镜像。

接口路径

POST /v1/images

接口参数

名称 类型 是否必须 默认值 备注
domain_id int 虚拟机Id
name string 镜像名称(datacenter内唯一)
description string 镜像描述

返回数据

名称 类型 描述
code int 状态码(100001表示成功,其它表示异常)
msg string 状态码描述信息
data Object 响应数据
reason string 异常时的原因

Object:

名称 类型 描述
task_id int 任务Id
image_id int 镜像Id

查看镜像列表

接口描述

查看镜像列表。

接口路径

GET /v1/images

接口参数

参数名称 是否必须 示例 备注
datacenter_id /v1/images?datacenter_id=1 查询指定数据中心的虚拟机
offset /v1/images?offset=10 跳过记录数量
limit /v1/images?limit=10 限制查询数量(default:100)

返回数据

名称 类型 描述
code int 状态码(100001表示成功,其它表示异常)
msg string 状态码描述信息
data Object 响应数据
reason string 异常时的原因

返回数据示例:

{
    "code": 100001,
    "msg": "success",
    "data": {
        "count": 1,  // 镜像数量
        "items": [
            {
                "id": 1,  // 镜像Id
                "created_at": "2024-06-25T15:00:10+08:00",  // 创建时间
                "updated_at": "2024-06-25T15:29:11.767+08:00",  // 更新时间
                "name": "windows10",  // 镜像名称
                "filename": "win10_21h1_debug.qcow2", // 镜像文件名称
                "capacity": 40,  // 镜像大小
                "format": "qcow2",  // 镜像格式
                "storage_pool": "baseimg",  // 镜像所在存储池
                "storage_pool_id": 2,  // 镜像所在存储池Id
                "system": "windows10", // 操作系统
                "os": "windows10",  // 操作系统
                "status": "creating",  // 镜像状态
                "task_status": "creating",  // 镜像任务状态
                "datacenter_id": 1  // 数据中心Id
            }
        ]
    }
}

镜像状态有:

  • creating:创建中
  • active:正常可用
  • inactive:不可用
  • error:异常

镜像任务状态有:

  • uploading:上传中
  • downloading:下载中
  • upload_error:上传错误
  • download_error:下载错误
  • success:成功

查看镜像详情

接口描述

查看镜像详情。

接口路径

GET /v1/images/:id

接口参数

参数名称 是否必须 示例 备注
id /v1/images/10 镜像Id

返回数据

名称 类型 描述
code int 状态码(100001表示成功,其它表示异常)
msg string 状态码描述信息
data Object 响应数据
reason string 异常时的原因

返回数据示例:

{
    "code": 100001,
    "msg": "success",
    "data": {
        "id": 1,  // 镜像Id
        "created_at": "2024-06-25T15:00:10+08:00",  // 创建时间
        "updated_at": "2024-06-25T15:29:11.767+08:00",  // 更新时间
        "name": "windows10",  // 镜像名称
        "filename": "win10_21h1_debug.qcow2", // 镜像文件名称
        "capacity": 40,  // 镜像大小
        "format": "qcow2",  // 镜像格式
        "storage_pool": "baseimg",  // 镜像所在存储池
        "storage_pool_id": 2,  // 镜像所在存储池Id
        "system": "windows10", // 操作系统
        "os": "windows10",  // 操作系统
        "status": "creating",  // 镜像状态
        "task_status": "creating",  // 镜像任务状态
        "datacenter_id": 1  // 数据中心Id
    }
}