• 沒有找到結果。

查询指定 API 版本信息

请求参数

5 OpenStack Nova API

5.1 查询 API 版本信息

5.1.2 查询指定 API 版本信息

"id": "v2.0",

"updated": "2001-09-21T12:33:21Z", "status": "SUPPORTED"

}]}

返回值

请参考通用请求返回值。

5.1.2 查询指定 API 版本信息

功能介绍

返回指定版本的信息。

为了支持功能不断扩展,Nova API支持版本号区分。Nova中有两种形式的版本号:

● "主版本号": 具有独立的url。

● "微版本号": 通过Http请求头X-OpenStack-Nova-API-Version来使用,从 2.27 版 本开始支持新的微版本头:OpenStack-API-Version。

说明

如果使用OpenStack-API-Version的请求头,version对应的value取值格式为 compute 微 版本号。

例如:key为OpenStack-API-Version的时候value需要填compute 2.27。

URI

GET /{api_version}

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

5-4 参数说明

参数 是否必选 描述

api_version 是 API版本号。例如: v2

请求消息

响应消息

响应参数如表2所示。

5-5 响应参数

参数 参数类型 描述

versions Object 指定版本信息,详情请参见表3。

5-6 versions 字段数据结构说明

参数 参数类型 描述

id string 所讨论的版本的通用名称。仅仅是信息性的,

它没有真正的语义。

links Object 链接到资源的问题。有关更多信息,请参见 OpenStack Documentation。

详情请参见表4。

media-types Object 媒体类型。详情请参见表5。

min_version string ● 如果API的这个版本支持微版本,则支持最 小的微版本。

● 如果不支持微版本,这将是空字符串。

status string API版本的状态:

● CURRENT这是使用的API的首选版本;

● SUPPORTED:这是一个较老的,但仍然支 持的API版本;

● DEPRECATED:一个被废弃的API版本,该 版本将被删除

updated string 一个有特定值的字符串。API版本为2.0时,值 为2011-01-21T11:33:21Z ,API版本是2.1时,

值为2013-07-23T11:33:21Z。

version string ● 如果API的这个版本支持微版本,则支持最 大的微版本。

● 如果不支持微版本,这将是空字符串。

5-7 links 字段数据结构说明

参数 参数类型 描述

href string 相应资源的链接。

参数 参数类型 描述

rel string ● self:自助链接包含版本链接的资源。立即 链接后使用这些链接。

● bookmark:书签链接提供了一个永久资源 的永久链接,该链接适合于长期存储。

● alternate:备用链接可以包含资源的替换表 示形式。例如,OpenStack计算映像可能在 OpenStack映像服务中有一个替代表示。

5-8 media-types 字段数据结构说明

参数 参数类型 描述

base string 基础类型。

type string 媒体类型。

请求示例

GET https://{endpoint}/v2

响应示例

{ "version": { "min_version": "", "media-types": [{

"type": "application/vnd.openstack.compute+json;version=2", "base": "application/json"

}], "links": [{

"rel": "self",

"href": "https://ecs.service.domain.com:443/v2/"

}, {

"rel": "describedby",

"href": "http://docs.openstack.org/", "type": "text/html"

}], "id": "v2.0",

"updated": "1999-02-20T11:33:21Z", "version": "",

"status": "SUPPORTED"

}}

返回值

请参考通用请求返回值。

5.2 生命周期管理

5.2.1 创建云服务器

功能介绍

创建一台按需弹性云服务器。

弹性云服务器创建完成后,如需开启自动恢复功能,可以调用配置云服务器自动恢复 的接口,具体使用请参见管理云服务器自动恢复动作。

该接口在云服务器创建失败后不支持自动回滚。若需要自动回滚能力,可以调用 POST /v1/{project_id}/cloudservers接口,具体使用请参见创建云服务器(按需)。

调试

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

URI

POST /v2.1/{project_id}/servers 参数说明请参见表5-9。

5-9 参数说明

参数 是否必选 描述

project_id 是 项目ID。

获取方法请参见获取项目ID。

说明

创建弹性云服务器接口别名:/v2/{project_id}/os-volumes_boot,该调用方式仅在OpenStack Client中使用,用户不推荐使用。

接口约束

1. 该接口为原生接口,不支持整机镜像创建弹性云服务器功能。如需使用整机镜像 创建弹性云服务器,请使用创建云服务器(按需)。

2. 该接口为原生接口,不支持创建竞价实例。如需创建竞价实例请使用创建云服务 器、创建云服务器(按需)。

3. 该接口为原生接口,不支持创建包周期计费模式的实例。如需创建包周期计费模 式的云服务器请使用创建云服务器。

4. 使用该接口创建的云服务器,不支持在创建过程中绑定弹性公网IP,推荐使用创 建云服务器(按需)创建云服务器并绑定弹性公网IP。

5. 网络的三个参数(port、uuid和fixed_ip)中,port优先级最高;指定fixed_ip时必 须指明uuid。

6. 注入文件失败,将导致创建弹性云服务器失败。

7. 使用镜像创建弹性云服务器时,存在下面约束:

a. 不支持指定Host创建弹性云服务器。

b. 租户如果对弹性云服务器中的卷进行了备份,则需要租户自行删除该卷所对 应的快照等数据后,才能删除卷。

c. 调整镜像创建的弹性云服务器规格时,不支持resource_type不同的flavor之 间的规格调整。

8. 公有云平台提供的原生接口/v2/{project_id}/servers 和 /v2.1/{project_id}/servers 是基于社区版OpenStack原生接口加固而成的,兼容社区版OpenStack原生接 口。

较之社区版的OpenStack原生接口,在使用指定镜像的方式创建弹性云服务器时 存在如下差异:

– 社区OpenStack原生接口:默认使用服务器本地磁盘创建弹性云服务器。

– 公有云平台提供的原生接口:为了保障可靠性,使用共享存储作为系统盘创 建弹性云服务器。

该差异的具体表现为,当您使用提供的原生接口创建云服务器时:

a. 可以查询到云服务器挂载的系统盘信息。

b. 云服务器的系统盘会占用云硬盘的配额。

c. 不支持使用image过滤查询指定镜像方式创建的弹性云服务器。

9. 指定卷创建弹性云服务器场景下,指定的卷与创建的弹性云服务器必须处于相同 的AZ(availability_zone)。

10. 用户创建弹性云服务器时在block_device_mapping_v2设置的device_name字段不 会生效,系统会默认生成一个device_name。

11. 请勿使用“provider:network_type”为“geneve”的网络来创建弹性云服务器。

说明

“provider:network_type”为“geneve”时,表示裸金属服务器使用的内部高速网络。

12. 如果使用密钥方式远程登录云服务器,请使用key_name参数。如果使用密码方式 远程登录云服务器,可使用adminPass参数;对于Linux云服务器,还可使用 user_data进行注入,对于Windows云服务器,还可通过元数据admin_pass进行 注入。

请求消息

请求参数如表5-10所示。

5-10 请求参数

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

server 是 Object 弹性云服务器信息,参见表5-11。

os:scheduler_

hints 否 Object 弹性云服务器调度信息,参见表5-16。

裸金属服务器场景不支持。

5-11 server 参数信息

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

imageRef 否 String 镜像ID或者镜像资源的URL。

flavorRef 是 String 规格ID或URL。

规格ID示例:c3.2xlarge

name 是 String 弹性云服务器名称,长度大于0小于256 字节。

说明云服务器内部主机名(hostname)命名规则 遵循 RFC 952和RFC 1123命名规范,建议 使用a-zA-z或0-9以及中划线"-"组成的名称 命名,"_"将在云服务器内部默认转化为

"-"。

metadata 否 Map<String,

String> 弹性云服务器元数据。参见表5-12。

● key的长度大于0小于256字节

● value的长度大于等于0小于256字节 adminPass 否 String 如果需要使用密码方式登录云服务器,

可使用adminPass字段指定云服务器管 理员帐户初始登录密码。其中,Linux 管理员帐户为root,Windows管理员帐 户为Administrator。

block_device_

mapping_v2 否 Array of

objects 扩展属性,指定弹性云服务器存储设备 的v2接口。是存储资源的新版本接口,

指定卷场景不能批创弹性云服务器。参 见表5-13。裸金属服务器场景不支持。

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

config_drive 否 String 扩展属性,开启后在弹性云服务器创建 时挂载config_drive向弹性云服务器内

networks 是 Array of

objects 扩展属性,指定弹性云服务器的网卡信 息。有多个租户网络时必须指定。参照 表5-15。

key_name 否 String 扩展属性,指定keypair的名称。

user_data 否 String 创建云服务器过程中待注入实例自定义 数据。支持注入文本、文本文件。

echo user_test >> /home/user.txt

● Windows服务器:

rem cmd

echo 111 > c:\aaa.txt

base64编码后:

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

tion_id 否 Boolean 扩展属性,是否支持返回批量创建弹性 云服务器的reservation_id。通过返回的

min_count 否 Integer 扩展属性,表示创建弹性云服务器最小 数量。

默认值为1。

说明

指定镜像创建弹性云服务器时,支持使用该 字段。

max_count 否 Integer 表示创建弹性云服务器最大数量。

默认值与min_count的取值一致。

否 String diskConfig的方式,取值为AUTO、

MANUAL。

● MANUAL,镜像空间不会扩展。

● AUTO,系统盘镜像空间会自动扩展 为与flavor大小一致。

当前不支持该功能。

description 否 String 扩展属性,表示弹性云服务器描述信 息,默认为空字符串。

微版本2.19及以上版本支持。

● 长度最多允许85个字符。

● 不能包含“<” 和 “>”等特殊符 号。

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

e_time 否 String 该字段尚不支持,功能即将上线,敬请 期待。

自动释放时间。

按照ISO8601标准表示,并使用UTC +0

时间,格式为yyyy-MM-ddTHH:mm:ssZ。

如果秒(ss)取值不是 00,则自动取为 当前分钟(mm)开始时。

最短释放时间为当前时间半小时之后。

最长释放时间不能超过当前时间三年。

示例:2020-09-25T12:05:00Z

5-12 metadata 字段数据结构说明

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

admin_pass 否 String Windows弹性云服务器Administrator 用户的密码。

说明创建密码方式鉴权的Windows弹性云服务 器时为必选字段。

5-13 block_device_mapping_v2 参数

参数 参数类型 是否必

描述

source_type String 是 卷设备的源头类型,当前只支持 volume、image、snapshot、blank 类型。

当使用卷创建云服务器时,

source_type设置为volume;当使用镜 像创建云服务器时,source_type设置 为image;当使用快照创建云服务器 时,source_type设置为snapshot;当 创建空数据卷时,source_type设置为 blank。

说明当卷设备的源头类型为snapshot时,且 boot_index为0,则该快照对应的云硬盘必 须为系统盘。

参数 参数类型 是否必 选

描述

destination_type String 否 卷设备的目标类型,当前仅支持 volume类型。

● volume:卷。

● local:本地文件,当前不支持该类 型。

guest_format String 否 local文件系统格式,例如:swap, ext4。

当前不支持该功能。

device_name String 否 卷设备名称。

说明

boot_index String 否 启动标识,“0”代表启动盘,

“-1“代表非启动盘。

说明当卷设备的源头类型全为volume时,

boot_index的值有一个为0。

uuid String 否 ● 当source_type值是volume时,

uuid为卷的uuid;

● 当source_type值是snapshot时,

uuid为快照的uuid;

● 当source_type值是image时,uuid 为镜像的uuid;

volume_size Integer 否 卷大小,整数,在source_type是 image或blank,destination_type是 volume的时候必选。

单位为GB。

volume_type String 否 卷类型,在source_type是image,

destination_type是volume时建议填 写。

卷类型取值范围请参考 EVS 服务 磁盘 类型介绍 。

5-14 security_groups 参数

参数 是否必选 参数类

描述

name 否 String 安全组名称或者uuid。

5-15 networks 参数

5-15 networks 参数