• 沒有找到結果。

6.1 镜像(OpenStack 原生)

6.1.3 更新镜像信息(OpenStack 原生)

功能介绍

修改镜像信息。

约束与限制

更新镜像目前只能更新用户自定义属性,或者镜像的名称和描述信息,其他属性不允 许用户更新。

调试

您可以在API Explorer中调试该接口。

URI

PATCH /v2/images/{image_id}

参数说明请参见表6-4。

6-4 参数说明

参数 是否必选 参数类型 描述

image_id 是 String 镜像ID。

如何获取镜像ID,请参见查询镜像 列表。

请求消息

● 请求参数

Glance有两种方式的更新操作,通过http header里的Content-Type指定,当前支 持“application/openstack-images-v2.0-json-patch”、“application/

openstack-images-v2.1-json-patch”两种Content-Type。不同的Content-Type区 别只是请求消息体格式不同。

6-5 v2.1 版本请求消息体

参数 是否必选 参数类型 描述

[数组] 是 Array of

objects 详情请参见表6-6。

6-6 [数组]字段说明

参数 参数类型 是否必选 描述

op String 是 所需进行的更新操作的类型:替

换、添加、删除。

取值范围:replace、add、

remove

path String 是 所要操作的属性名称。

replace和remove操作取值只能是 镜像当前已有的属性;add操作取 值可以为当前已有属性和不存在 的属性,如果为已有属性则执行 效果同replace,如果是不存在的 属性则执行add,需要在属性名称 前加“/”。

value String 否 所需更新/添加属性的值。

根据op的value决定,replace、

add需要指定,remove不需要

6-7 v2.0 版本请求消息体

参数 是否必选 参数类型 描述

[数组] 是 Array of

objects 详情请参见表6-8。

6-8 [数组]字段说明

参数 参数类型 是否必选 描述

replace String 取值三选一 key为replace表示替换镜像的相关 属性,值为所要替换的属性需要 在属性名称前加“/”

add String key为add表示添加镜像属性,值

为所要添加的属性名称,需要在 属性名称前加“/”

remove String key为remove表示删除镜像属 性,值为所要删除的属性名称需 要在属性名称前加“/”

value String 根据前面的key 决定,replace 和add需要指 定,remove不 需要。

所需更新/添加的属性的值。参数 说明请参考镜像属性。

● 请求样例

PATCH https://{Endpoint}/v2/images/33ad552d-1149-471c-8190-ff6776174a00 – V2.1版本请求体

"Content-Type:application/openstack-images-v2.1-json-patch"

[ {

"op": "replace", "path": "/name", "value": "test01"

} ]

– V2.0版本请求体

"Content-Type:application/openstack-images-v2.0-json-patch"

[ {

"replace": "/name", "value": "test01"

} ]

响应消息

● 响应参数

参数 参数类型 描述

file String 镜像文件下载和上传链接。

owner String 镜像属于哪个租户。

id String 镜像ID。

size Long 目前暂时不使用。

self String 镜像链接信息。

schema String 镜像视图。

status String 镜像状态。取值如下:

● queued:表示镜像元数据已经创建 成功,等待上传镜像文件。

● saving:表示镜像正在上传文件到后 端存储。

● deleted:表示镜像已经删除。

● killed:表示镜像上传错误。

● active:表示镜像可以正常使用。

tags Array of strings 镜像标签列表,提供用户可以自定义管 理私有镜像的能力。用户可以通过镜像 标签接口为每个镜像增加不同的标签,

在查询接口中可以根据标签进行过滤。

visibility String 是否被其他租户可见。取值如下:

● private:私有镜像

● public:公共镜像

参数 参数类型 描述

name String 镜像名称。name参数说明请参考镜像属 性。

checksum String 目前暂时不使用。

protected Boolean 是否是受保护的,受保护的镜像不允许 删除。取值为true或false。

container_form

at String 容器类型。

min_ram Integer 镜像运行需要的最小内存,单位为MB。

参数取值依据云服务器的规格限制,默 认设置为0。

云服务器的规格限制,请参见规格清 单。

max_ram String 镜像支持的最大内存,单位为MB。参数 取值可以参考云服务器的规格限制,默 认不设置。

云服务器的规格限制,请参见规格清 单。

updated_at String 更新时间。格式为UTC时间。

__os_bit String 操作系统位数,一般取值为“32”或者

“64”。

__os_version String 操作系统具体版本。

__description String 镜像描述信息。_description参数说明请 参考镜像属性。

disk_format String 镜像的格式,目前支持vhd、zvhd、

zvhd2、raw、qcow2、iso。默认值是 vhd。

__isregistered String 是否是注册过的镜像,取值为“true”

或者“false”。

__platform String 镜像平台分类,取值为Windows、

Ubuntu、RedHat、SUSE、CentOS、

Debian、OpenSUSE、Oracle Linux、

Fedora、Other、CoreOS和EulerOS。

__os_type String 操作系统类型,目前取值Linux、

Windows、Other。

__system__cmki

d String 加密镜像所使用的密钥ID。

min_disk Integer 镜像运行需要的最小磁盘容量,单位为 GB 。取值为40~1024GB。

参数 参数类型 描述

virtual_env_type String 镜像使用环境类型:FusionCompute、

Ironic、DataImage、IsoImage。

● 如果是云服务器镜像(即系统盘镜 像),则取值为FusionCompute。

● 如果是数据卷镜像,则取值是 DataImage。

● 如果是裸金属服务器镜像,则取值是 Ironic。

● 如果是ISO镜像,则取值是 IsoImage。

__image_source

_type String 镜像后端存储类型,目前只支持uds。

__imagetype String 镜像类型,目前支持:

● 公共镜像(gold)

● 私有镜像(private)

● 共享镜像(shared)

created_at String 创建时间。格式为UTC时间。

virtual_size Integer 目前暂时不使用。

__originalimage

name String 父镜像ID。

公共镜像或通过文件创建的私有镜像,

取值为空。

__backup_id String 备份ID。如果是备份创建的镜像,则填 写为备份的ID,否则无此参数。

__productcode String 市场镜像的产品ID。

__image_size String 镜像文件的大小,单位为字节。必须大 于0。

__data_origin String 镜像来源。

公共镜像为空。

__root_origin String 表示当前镜像来源是从外部导入。取 值:file。

__lazyloading String 镜像是否支持延迟加载。取值为

“True”或“False”。

active_at String 镜像状态变为正常的时间。

__os_feature_list String 镜像附加属性。该属性采用JSON格式来 标识镜像支持的高级特性清单。

__account_code String 收费镜像标识。

参数 参数类型 描述

eue_enabled String 镜像是否支持网卡多队列。取值为

“true”或者“false”。

__support_kvm String 如果镜像支持KVM,取值为true,否则 无需增加该属性。

__support_xen String 如果镜像支持XEN,取值为true,否则 无需增加该属性。

__support_large

memory String 表示该镜像是否支持超大内存特性。如 果镜像支持超大内存,取值为true,否 则无此属性。

镜像操作系统类型请参考“弹性云服务 器类型与支持的操作系统版本”。

__support_diski

ntensive String 表示该镜像是否支持密集存储性特性。

如果镜像支持密集存储性能,则值为 true,否则无此属性。

__support_highp

erformance String 表示该镜像是否支持高计算性能的特 性。如果镜像支持高计算性能,则值为 true,否则无此属性。

__support_xen_

gpu_type String 表示该镜像是支持XEN虚拟化平台下的 GPU类型,取值参考表9-2。如果不支 持,则无此属性。该属性与

“__support_xen”和

“__support_kvm”属性不共存。

__support_kvm_

gpu_type String 表示该镜像是支持KVM虚拟化平台下的 GPU类型,取值参考表9-3。

如果不支持,则无此属性。该属性与

“__support_xen”和

“__support_kvm”属性不共存。

__support_xen_

hana String 如果镜像支持XEN虚拟化下HANA类 型,取值为true。否则,无此属性。

该属性与“__support_xen”和

“__support_kvm”属性不共存。

参数 参数类型 描述 __support_kvm_

infiniband String 如果镜像支持KVM虚拟化下Infiniband 网卡类型,取值为true。否则,无此属 性。

该属性与“__support_xen”属性不共 存。

__is_offshelved String 表示当前市场镜像是否下架。

● true:已下架

● false:未下架 enterprise_proje

ct_id String 表示当前镜像所属的企业项目。

● 取值为0或无该值,表示属于default 企业项目。

● 取值为UUID,表示属于该UUID对应 的企业项目。

关于企业项目特性的详细信息,请参 考“企业中心总览”。

__sequence_nu

m String 表示当前镜像对应云服务器的系统盘插

槽位置。

目前暂不使用。

__support_fc_inj

ect String 表示当前镜像支持Cloud-Init密码/密钥 注入方式。

如果取值为“true”,表示该镜像不支 持Cloud-Init注入密码/密钥,其他取值 时表示支持Cloud-Init注入密钥/密码。

说明该特性参数只对ECS系统盘镜像生效,其他

类型镜像不生效。

__support_arm String 是否为ARM架构类型的镜像。取值为

“true”或者“false”。

__image_locatio

n String 镜像的存储位置。

__is_config_init String 是否完成了初始化配置。取值为

“true”或者“false”。

__support_amd String 是否是AMD架构类型的镜像。取值为

“true”或者“false”。

参数 参数类型 描述 __support_agent

_list String 镜像是否支持企业主机安全或主机监

控。

STATUS CODE 200

{ "file": "/v2/images/33ad552d-1149-471c-8190-ff6776174a00/file", "owner": "0b1e494e2660441a957313163095fe5c",

"id": "33ad552d-1149-471c-8190-ff6776174a00", "size": 2,

"self": "/v2/images/33ad552d-1149-471c-8190-ff6776174a00", "schema": "/v2/schemas/image",

"status": "active", "tags": [],

"visibility": "private", "name": "ims_test",

"checksum": "99914b932bd37a50b983c5e7c90ae93b", "protected": false,

"container_format": "bare", "min_ram": 0,

"updated_at": "2015-12-08T02:30:49Z", "__os_bit": "64",

"__os_version": "Ubuntu 14.04 server 64bit", "__description": "ims test",

"disk_format": "vhd", "__isregistered": "true", "__platform": "Ubuntu", "__os_type": "Linux", "min_disk": 40,

"virtual_env_type": "FusionCompute", "__image_source_type": "uds", "__imagetype": "private",

"created_at": "2015-12-04T09:45:33Z", "virtual_size": 0,

"__originalimagename": "33ad552d-1149-471c-8190-ff6776174a00", "__backup_id": "",

"__productcode": "",

"__image_size": "449261568", "__data_origin": null,

"hw_firmware_type":"bios"

}

返回值

● 正常 200

● 异常

返回值 说明

400 Bad Request 请求错误,具体返回错误码请参错误码。

401 Unauthorized 鉴权失败。

403 Forbidden 没有操作权限。

404 Not Found 找不到资源。

500 Internal Server Error 服务内部错误。

503 Service Unavailable 服务不可用。