6.1 镜像(OpenStack 原生)
6.1.1 查询镜像列表(OpenStack 原生)
功能介绍
获取镜像列表。
使用本接口查询镜像列表时,需要使用分页查询才能返回全部的镜像列表。
分页说明
分页是指返回一组镜像的一个子集,在返回的时候会存在下个子集的链接和首个子集 的链接,默认返回的子集中数量为25,用户也可以通过使用limit和marker两个参数自 己分页,指定返回子集中需要返回的数量。
响应中的参数first是查询首页的URL。next是查询下一页的URL。当查询镜像列表最后 一页时,不存在next。
调试
您可以在API Explorer中调试该接口。
URI
GET /v2/images 说明
● 可以在URI后面用‘?’和‘&’添加不同的查询条件组合,请参考请求样例。
● 如需使用OpenStack Queens版本API,请在请求消息头中包含X-Api-Version。当X-Api-Version取值大于M则返回Queens版本的结果,小于等于M,返回Mitaka版本结果 。
表6-1 参数说明
参数 是否必选 参数类型 描述
__isregistered 否 String 镜像是否可用,取值为true,扩展接 口会默认为true,普通用户只能查询 取值为true的镜像。
__imagetype 否 String 镜像类型,目前支持以下类型:
● 公共镜像:gold
● 私有镜像:private
● 共享镜像:shared
protected 否 Boolean 镜像是否是受保护,取值为true/
false。一般查询公共镜像时候取值 为true,查询私有镜像可以不指定。
visibility 否 String 是否被其他租户可见,取值如下:
● public:公共镜像
● private:私有镜像
● shared:共享镜像
owner 否 String 镜像属于哪个租户。
id 否 String 镜像ID。
status 否 String 镜像状态。取值如下:
● queued:表示镜像元数据已经创 建成功,等待上传镜像文件。
● saving:表示镜像正在上传文件 到后端存储。
● deleted:表示镜像已经删除。
● killed:表示镜像上传错误。
● active:表示镜像可以正常使用。
name 否 String 镜像名称,匹配规则为精确匹配。
name参数说明请参考镜像属性。
container_for
mat 否 String 容器类型。默认值是bare。
disk_format 否 String 镜像格式,目前支持vhd、zvhd、
raw、qcow2。默认值是vhd。
min_ram 否 Integer 镜像运行需要的最小内存,单位为 MB。参数取值依据云服务器的规格 限制,一般设置为0。
云服务器的规格限制,请参见规格清 单。
min_disk 否 Integer 镜像运行需要的最小磁盘,单位为 GB 。取值为40~1024GB。
参数 是否必选 参数类型 描述
__os_bit 否 String 操作系统位数,一般取值为32或者 64。
__platform 否 String 镜像平台分类,取值为Windows、
Ubuntu、RedHat、SUSE、
CentOS、Debian、OpenSUSE、
Oracle Linux、Fedora、Other、
CoreOS和EulerOS。
marker 否 String 用于分页,表示从哪个镜像开始查
询,取值为镜像ID。
limit 否 Integer 用于分页,表示查询几条镜像记录,
取值为整数,默认返回25条镜像记 录。
sort_key 否 String 用于排序,表示按照哪个字段排序。
取值为镜像属性name、
container_format、disk_format、
status、id、size、create_at字段,
默认为创建时间。
sort_dir 否 String 用于排序,表示升序还是降序,取值 为asc和desc。与sort_key一起组合 使用,默认为降序desc。
__os_type 否 String 镜像系统类型,取值为Linux、
Windows、Other。
us 否 String 成员状态。目前取值有accepted、
rejected、pending。accepted表示
m 否 String 如果镜像支持KVM,取值为true,否
则无需增加该属性。
__support_xe
n 否 String 如果镜像支持XEN,取值为true,否
则无需增加该属性。
参数 是否必选 参数类型 描述 __support_lar
gememory 否 String 表示该镜像支持超大内存。如果镜像 支持超大内存,取值为true,否则无 需增加该属性。
__support_dis
kintensive 否 String 表示该镜像支持密集存储。如果镜像 支持密集存储性能,则值为true,否
n_gpu_type 否 String 表示该镜像是支持XEN虚拟化平台下 的GPU类型。支持GPU加速型实例的
m_gpu_type 否 String 表示该镜像是支持KVM虚拟化平台 下的GPU类型,取值参考表9-3。如
n_hana 否 String 如果镜像支持XEN虚拟化下HANA类 型,取值为true。否则,无需添加该 属性。
该属性与“__support_xen”和
“__support_kvm”属性不共存。
__support_kv
m_infiniband 否 String 如果镜像支持KVM虚拟化下
Infiniband网卡类型,取值为true。
否则,无需添加该属性。
该属性与“__support_xen”属性不 共存。
参数 是否必选 参数类型 描述
created_at 否 String 镜像创建时间。支持按照时间点过滤 查询,取值格式为“ 操作符:UTC时 间”。
其中操作符支持如下几种:
● gt:大于
● gte:大于等于
● lt:小于
● lte:小于等于
● eq:等于
● neq:不等于
时间格式支持:yyyy-MM-ddThh:mm:ssZ或者yyyy-MM-dd hh:mm:ss
例如,查询创建时间在2018-10-28 10:00:00之前的镜像,可以通过如下 条件过滤:
created_at=lt:
2018-10-28T10:00:00Z
updated_at 否 String 镜像修改时间。支持按照时间点过滤 查询,取值格式为 “ 操作符:UTC时 间”。
其中操作符支持如下几种:
● gt:大于
● gte:大于等于
● lt:小于
● lte:小于等于
● eq:等于
● neq:不等于
时间格式支持:yyyy-MM-ddThh:mm:ssZ或者yyyy-MM-dd hh:mm:ss
例如,查询修改时间在2018-10-28 10:00:00之前的镜像,可以通过如下 条件过滤:
updated_at=lt:
2018-10-28T10:00:00Z
常用列表查询方法
● 公共镜像列表查询
● 私有镜像列表查询
GET /v2/images?owner={project_id}
● 可以使用的共享镜像列表 GET /v2/images?
member_status=accepted&visibility=shared&__imagetype=shared
● 被拒绝的共享镜像列表 GET /v2/images?
member_status=rejected&visibility=shared&__imagetype=shared
● 未接受的共享镜像列表 GET /v2/images?
member_status=pending&visibility=shared&__imagetype=shared
请求消息
● 请求参数 无
● 请求样例
GET https://{Endpoint}/v2/images
响应消息
● 响应参数
参数 参数类型 描述
first String 查询首页的URL。
next String 查询下一页的URL。当查询镜像列表
最后一页时,不存在next。
schema String 描述镜像列表模式的URL。
images Array of objects 资源类型。
具体请参见表6-2。
表6-2 images 字段说明
参数 参数类型 描述
__backup_id String 备份ID。如果是备份创建的镜像,则 填写为备份的ID,否则无此参数。
__data_origin String 镜像来源。公共镜像为空。
__description String 镜像描述信息。
__image_location String 镜像的存储位置。
__image_size String 镜像文件的大小,单位为字节。目前 取值为大于0的字符串。
参数 参数类型 描述 __image_source_t
ype String 镜像后端存储类型,目前只支持uds。
__is_config_init String 是否完成了初始化配置。取值为
“true”或“false”。
__isregistered String 镜像是否可用,取值为true,扩展接 口会默认为true,普通用户只能查询 取值为true的镜像。
__lazyloading String 镜像是否支持延迟加载。
__originalimagen
ame String 父镜像ID。公共镜像或通过文件创建
的私有镜像,取值为空。
__imagetype String 镜像类型,目前支持以下类型:
● 公共镜像:gold
● 私有镜像:private
● 共享镜像:shared
protected Boolean 镜像是否是受保护,查询公共镜像时 候取值为true,查询私有镜像可以不 指定。
virtual_env_type String 镜像使用的环境类型:
FusionCompute、Ironic、
DataImage、IsoImage。
● 如果是云服务器镜像(即系统盘镜 像),则取值为FusionCompute。
● 如果是数据卷镜像,则取值是 DataImage。
● 如果是裸金属服务器镜像,则取值 是Ironic。
● 如果是ISO镜像,则取值是 IsoImage。
virtual_size Integer 目前暂时不使用。
visibility String 是否被其他租户可见。取值如下:
● public:表示公共镜像。
● private:表示私有镜像。
● shared:表示共享镜像。
owner String 镜像属于哪个租户。
id String 镜像ID。
参数 参数类型 描述
status String 镜像状态。取值如下:
● queued:表示镜像元数据已经创建 成功,等待上传镜像文件。
● saving:表示镜像正在上传文件到 后端存储。
● deleted:表示镜像已经删除。
● killed:表示镜像上传错误。
● active:表示镜像可以正常使用。
name String 镜像名称。name参数说明请参考镜像
属性。
container_format String 容器类型。
disk_format String 镜像格式,目前支持vhd、zvhd、
raw、qcow2。默认值是vhd。
min_ram Integer 镜像运行需要的最小内存,单位为 MB。参数取值依据云服务器的规格限 制,一般为0。
云服务器的规格限制,请参见规格清 单。
max_ram String 镜像支持的最大内存,单位为MB。
min_disk Integer 镜像运行需要的最小磁盘容量,单位 为GB 。取值为40~1024GB。
__os_bit String 操作系统位数,一般取值为32或者 64。
__os_feature_list String 镜像附加属性。该属性采用JSON格式 来标识镜像支持的高级特性清单。
__platform String 镜像平台分类,取值为Windows、
Ubuntu、RedHat、SUSE、CentOS、
Debian、OpenSUSE、Oracle Linux、
Fedora、Other、CoreOS和 EulerOS。
schema String 镜像视图。
self String 镜像链接信息。
size Integer 目前暂时不使用。
__os_type String 镜像系统类型,取值为Linux、
Windows、Other。
__os_version String 操作系统具体版本。
tags Array of strings 镜像标签列表,提供用户可以自定义 管理私有镜像的能力。
参数 参数类型 描述
__support_kvm String 如果镜像支持KVM,取值为true,否 则无此属性。
__support_xen String 如果镜像支持XEN,取值为true,否 则无此属性。
__support_large
memory String 表示该镜像支持超大内存。如果镜像 支持超大内存,取值为true,否则无 此属性。
__support_diskint
ensive String 表示该镜像支持密集存储。如果镜像 支持密集存储性能,则值为true,否 则无此属性。
__support_highp
erformance String 表示该镜像支持高计算性能。如果镜 像支持高计算性能,则值为true,否 则无此属性。
__support_xen_g
pu_type String 表示该镜像是支持XEN虚拟化平台下 的GPU类型。支持GPU加速型实例的
pu_type String 表示该镜像是支持KVM虚拟化平台下 的GPU类型,取值参考表9-3。如果不 支持KVM虚拟化下GPU类型,无此属 性。该属性与“__support_xen”和
“__support_kvm”属性不共存。
__support_xen_h
ana String 如果镜像支持XEN虚拟化下HANA类
型,取值为true。否则,无此属性。
该属性与“__support_xen”和
“__support_kvm”属性不共存。
__support_kvm_i
nfiniband String 如果镜像支持KVM虚拟化下
Infiniband网卡类型,取值为true。否 则,无此属性。
该属性与“__support_xen”属性不共 存。
__productcode String 市场镜像的产品ID。
__root_origin String 表示当前镜像来源是从外部导入。取 值样例:file。
__sequence_num String 表示当前镜像对应云服务器的系统盘 插槽位置。
取值样例:0。
参数 参数类型 描述 __support_fc_inje
ct String 表示当前镜像支持Cloud-Init密码/密 钥注入方式。
如果取值为“true”,表示该镜像不 支持Cloud-Init注入密码/密钥,其他 取值时表示支持Cloud-Init注入密钥/
密码。
说明该特性参数只对ECS系统盘镜像生效,其
他类型镜像不生效。
__is_offshelved String 表示当前市场镜像是否下架。
● true:已下架
● false:未下架
created_at String 创建时间。格式为UTC时间。
updated_at String 更新时间。格式为UTC时间。
active_at String 镜像状态变为正常的时间。
checksum String 目前暂时不使用。
hw_firmware_typ
e String 云服务器的启动方式。目前支持:
● bios:表示bios引导启动。
● uefi:表示uefi引导启动。
file String 镜像文件下载和上传链接。
enterprise_projec
t_id String 表示当前镜像所属的企业项目。
● 取值为0或无该值,表示属于 default企业项目。
● 取值为UUID,表示属于该UUID对 应的企业项目。
● 取值为UUID,表示属于该UUID对 应的企业项目。