文档首页 > > API参考> 数据结构> 数据结构(创建云服务器)

数据结构(创建云服务器)

分享
更新时间: 2019/11/05 GMT+08:00

使用须知

自研的创建云服务器接口支持有v1和v1.1两个版本,其中v1只能创建按需的云服务器,v1.1可以创建按需和包周期虚拟机。

下面数据结构中的字段,当选择包周期时(包年包月的计费模式),请选择使用v1.1的创建云服务器接口。

publicip字段数据结构说明

该字段被如下接口使用
  • 创建云服务器 /v1/{project_id}/cloudservers
  • 创建云服务器 /v1.1/{project_id}/cloudservers
表1 publicip字段数据结构说明

参数

是否必选

参数类型

描述

id

String

为待创建云服务器分配已有弹性IP时,分配的弹性IP的ID,UUID格式。

约束:只能分配状态(status)为DOWN的弹性IP。

eip

字典数据结构

配置云服务器自动分配弹性IP时,创建弹性IP的配置参数。

详情请参见表3

输入publicip字段数据结构中的id和eip的值时,只能选择其中一个参数值输入。

security_groups字段数据结构说明

该字段被如下接口使用

  • 创建云服务器 /v1/{project_id}/cloudservers
  • 创建云服务器 /v1.1/{project_id}/cloudservers
表2 security_groups字段数据结构说明

参数

是否必选

参数类型

描述

id

String

可以为空,待创建云服务器的安全组,会对创建云服务器中配置的网卡生效。需要指定已有安全组的ID,UUID格式;若不传值,底层会按照空处理,不会创建安全组。

eip字段数据结构说明

该字段被如下接口使用
  • 创建云服务器 /v1/{project_id}/cloudservers
  • 创建云服务器 /v1.1/{project_id}/cloudservers
表3 eip字段数据结构说明

参数

是否必选

参数类型

描述

iptype

String

弹性IP地址类型。

详情请参见《虚拟私有云接口参考》“申请弹性公网IP”章节的“publicip”字段说明。

bandwidth

字典数据结构

弹性IP地址带宽参数。

详情请参见bandwidth字段数据结构说明

extendparam

字典数据结构

创建弹性IP的附加信息。

详情请参见表6

说明:

当创建云服务器的extendparam结构中chargingMode为prePaid时(即创建包年包月付费的云服务器),若需要创建按需计费的弹性IP,该字段必选,需要在该结构中增加chargingMode为postPaid(按需付费)。

bandwidth字段数据结构说明

该字段被如下接口使用
  • 创建云服务器 /v1/{project_id}/cloudservers
  • 创建云服务器 /v1.1/{project_id}/cloudservers
表4 bandwidth字段数据结构说明

参数

是否必选

参数类型

描述

size

Integer

功能说明:带宽大小

带宽(Mbit/s),取值范围为[1,2000]。

调整带宽时的最小单位会根据带宽范围不同存在差异。
  • 小于等于300Mbit/s:默认最小单位为1Mbit/s。
  • 300Mbit/s~1000Mbit/s:默认最小单位为50Mbit/s。
  • 大于1000Mbit/s:默认最小单位为500Mbit/s。
说明:

如果share_type是PER,该参数必选项;如果share_type是WHOLE并且id有值,该参数会忽略。

sharetype

String

带宽的共享类型。

共享类型枚举:PER,表示独享。WHOLE,表示共享。

chargemode

String

带宽的计费类型。

  • 未传该字段,表示按带宽计费。
  • 字段值为空,表示按带宽计费。
  • 字段值为“traffic”,表示按流量计费。
  • 字段为其它值,会导致创建云服务器失败。
    说明:

    如果share_type是WHOLE并且id有值,该参数会忽略。

id

String

带宽ID,创建WHOLE类型带宽的弹性IP时可以指定之前的共享带宽创建。

取值范围:WHOLE类型的带宽ID。

说明:

当创建WHOLE类型的带宽时,该字段必选。

表5 Ipv6BandWidth字段数据结构说明

参数

是否必选

参数类型

描述

id

String

IPv6带宽的ID。

创建弹性IP的extendparam字段数据结构说明

该字段被如下接口使用:

创建云服务器 /v1.1/{project_id}/cloudservers

表6 创建弹性IP的extendparam字段数据结构说明

名称

是否必选

参数类型

说明

chargingMode

String

公网IP的计费模式。

取值范围:

  • prePaid-预付费,即包年包月;
  • postPaid-后付费,即按需付费;
    说明:

    如果bandwidth对象中share_type是WHOLE且id有值,弹性IP只能创建为按需付费的,故该参数传参“prePaid”无效。

创建磁盘的extendparam字段数据结构说明

该字段被如下接口使用:

  • 创建云服务器 /v1/{project_id}/cloudservers
  • 创建云服务器 /v1.1/{project_id}/cloudservers
表7 创建磁盘的extendparam字段数据结构说明

参数

是否必选

参数类型

描述

resourceSpecCode

String

磁盘产品资源规格编码,如SATA,SAS和SSD。

说明:

废弃字段。

resourceType

String

磁盘产品资源类型。

说明:

废弃字段。

snapshotId

String

整机镜像中自带的原始数据盘(简称“原数据盘”)所对应的快照ID或原始数据盘ID。

使用场景

使用整机镜像创建云服务器,并且选择的整机镜像自带1个或者多个数据盘。

使用整机镜像创建云服务器时,系统会自动恢复整机镜像中自带数据盘(如果有)的数据,但是磁盘类型将被恢复为默认属性:普通I/O、VBD、非共享盘。此时,您可以通过snapshotId,修改指定原数据盘恢复后的磁盘类型。

说明:
  • 建议对每块原数据盘都指定snapshotId,否则,未指定的原数据盘将按默认属性进行创建。
  • 如需修改磁盘大小,修改后的磁盘大小需大于等于原数据盘大小。否则,会影响原数据盘的数据恢复。

实现原理

snapshotId是整机镜像自带原始数据盘的唯一标识,通过snapshotId可以获取原数据盘的磁盘信息,从而恢复数据盘数据。

通过管理控制台获取snapshotId

登录管理控制台,打开"云硬盘 > 快照"页面,根据原始数据盘的磁盘名称找到对应的快照ID或者原始数据盘的ID。

通过API查询snapshotId

已知整机镜像ID,参考镜像服务的“ 查询镜像详情”接口获取整机镜像ID关联的云备份或云服务器备份ID。
  • 如果使用的是云备份,请使用云备份ID查询备份信息,响应信息children字段中包含的resource_id或snapshot_id即为所需的snapshotId。详细操作请参考云备份服务“查询指定备份”接口。
  • 如果使用的是云服务器备份,请使用云服务器备份ID查询备份信息,响应信息volume_backups字段中包含的source_volume_id或snapshot_id即为所需的snapshotId。详细操作请参考云服务器备份“查询单个备份”接口。

创建云服务器的extendparam字段数据结构说明

该字段被如下接口使用:
  • 创建云服务器 /v1/{project_id}/cloudservers
  • 创建云服务器 /v1.1/{project_id}/cloudservers
表8 创建云服务器的extendparam字段数据结构说明(适用V1接口)

参数

是否必选

参数类型

描述

chargingMode

Integer

计费模式:

  • 0:按需计费。

regionID

String

云服务器所在区域ID。

请参考地区和终端节点获取。

support_auto_recovery

Boolean

是否配置弹性云服务器自动恢复的功能。

  • “true”:配置该功能
  • “false”:不配置该功能
说明:

此参数为boolean类型,若传入非boolean类型字符,程序将按照【“false”:不配置该功能】方式处理。

当marketType为spot时,不支持该功能。

enterprise_project_id

String

企业项目ID。

说明:

关于企业项目ID的获取及企业项目特性的详细信息,请参见《企业管理服务用户指南》。

该字段不传(或传为字符串“0”),则将资源绑定给默认企业项目。

marketType

String

创建竞价实例时,需指定该参数的值为“spot”。

说明:

当chargingMode=0时且marketType=spot时此参数生效。

spotPrice

String

用户愿意为竞价实例每小时支付的最高价格。

说明:
  • 仅chargingMode=0且marketType=spot时,该参数设置后生效。
  • 当chargingMode=0且marketType=spot时,如果不传递spotPrice,默认使用按需购买的价格作为竞价。

diskPrior

String

是否支持先创建卷,再创建虚拟机。

  • “true”:配置该功能
  • “false”:不配置该功能
表9 创建云服务器的extendparam字段数据结构说明(适用V1.1接口)

名称

是否必选

参数类型

说明

chargingMode

String

计费模式。

功能说明:付费方式

取值范围:

  • prePaid-预付费,即包年包月;
  • postPaid-后付费,即按需付费;
  • 默认值是postPaid
    说明:

    当chargingMode为prePaid(即创建包年包月付费的云服务器),且使用SSH秘钥方式登录云服务器时,metadata 中的 op_svc_userid 字段为必选字段。

regionID

String

云服务器所在区域ID。

请参考地区和终端节点获取。

periodType

String

订购周期类型。

取值范围:

  • month-月
  • year-年
    说明:

    chargingMode为prePaid时生效且为必选值。

periodNum

Integer

订购周期数。

取值范围:

  • periodType=month(周期类型为月)时,取值为[1,9];
  • periodType=year(周期类型为年)时,取值为[1,3];
    说明:
    • chargingMode为prePaid时生效且为必选值。
    • periodNum为正整数。

isAutoRenew

String

是否自动续订。

  • “true”:自动续订
  • “false”:不自动续订
    说明:

    chargingMode为prePaid时生效,不传该字段时默认为不自动续订。

isAutoPay

String

下单订购后,是否自动从客户的账户中支付,而不需要客户手动去进行支付。

  • “true”:是(自动支付)
  • “false”:否(需要客户手动支付)
说明:

chargingMode为prePaid时生效,不传该字段时默认为客户手动支付。

enterprise_project_id

String

企业项目ID。

说明:

关于企业项目ID的获取及企业项目特性的详细信息,请参见《企业管理服务用户指南》。

该字段不传(或传为字符串“0”),则将资源绑定给默认企业项目。

support_auto_recovery

Boolean

是否配置虚拟机自动恢复的功能。

  • “true”:配置该功能
  • “false”:不配置该功能
说明:

此参数为boolean类型,若传入非boolean类型字符,程序将按照【“false”:不配置该功能】方式处理。

当marketType为spot时,不支持该功能。

marketType

String

创建竞价实例时,需指定该参数的值为“spot”。

说明:

当chargingMode=postPaid且marketType=spot时,此参数生效。

spotPrice

String

用户愿意为竞价云服务器每小时支付的最高价格。

说明:
  • 仅chargingMode=postPaid且marketType=spot时,该参数设置后生效。
  • 当chargingMode=postPaid且marketType=spot时,如果不传递spotPrice或者传递一个空字符串,默认使用按需购买的价格作为竞价。

diskPrior

String

是否支持先创建卷,再创建虚拟机。

  • “true”:配置该功能
  • “false”:不配置该功能

创建磁盘的metadata字段数据结构说明

该字段被如下接口使用:

  • 创建云服务器 /v1/{project_id}/cloudservers
  • 创建云服务器 /v1.1/{project_id}/cloudservers
表10 创建磁盘的metadata字段数据结构说明

参数

是否必选

参数类型

描述

__system__encrypted

String

metadata中的表示加密功能的字段,0代表不加密,1代表加密。

该字段不存在时,云硬盘默认为不加密。

__system__cmkid

String

用户主密钥ID,是metadata中的表示加密功能的字段,与__system__encrypted配合使用。

说明:

请参考查询密钥列表,通过HTTPS请求获取密钥ID。

创建云服务器的metadata字段数据结构说明

该字段被如下接口使用:

  • 创建云服务器 /v1/{project_id}/cloudservers
  • 创建云服务器 /v1.1/{project_id}/cloudservers
表11 metadata字段数据结构说明

参数

是否必选

参数类型

描述

用户自定义字段键值对

String

用户自定义字段键值对。

说明:
  • 最多可注入10对键值(Key/Value)。
  • 主键(Key)只能由大写字母(A-Z)、小写字母(a-z)、数字(0-9)、中划线(-)、下划线(_)、冒号(:)和小数点(.)组成,长度为[1-255]个字符。
  • 值(value)最大长度为255个字符。

op_svc_userid

String

用户ID。

说明:

当extendparam结构中的chargingMode为prePaid(即创建包年包月付费的云服务器),且使用SSH秘钥方式登录云服务器时,该字段为必选字段。

agency_name

String

委托的名称。

委托是由租户管理员在统一身份认证服务(Identity and Access Management,IAM)上创建的,可以为弹性云服务器提供访问云服务的临时凭证。

说明:

委托获取、更新请参考如下步骤:

  1. 使用IAM服务提供的查询委托列表接口,获取有效可用的委托名称。
  2. 使用更新云服务器元数据接口,更新metadata中agency_name字段为新的委托名称。

__support_agent_list

Sting

云服务器是否支持企业主机安全、主机监控。

  • “hss”:企业主机安全
  • “ces”:主机监控

取值样例:

__support_agent_list:“hss,ces”

可以通过查询镜像详情判断创建云服务器使用的镜像是否支持企业主机安全或主机监控。

os:scheduler_hints字段数据结构说明

该字段被如下接口使用:
  • 创建云服务器 /v1/{project_id}/cloudservers
  • 创建云服务器 /v1.1/{project_id}/cloudservers
  • 创建云服务器(原生) /v2.1/{project_id}/servers
    表12 os:scheduler_hints字段数据结构说明

    参数

    是否必选

    参数类型

    描述

    group

    String

    云服务器组ID,UUID格式。

    云服务器组的ID可以从控制台或者参考查询云服务器组列表获取。

server_tags字段数据结构说明

该字段被如下接口使用:
  • 创建云服务器 /v1/{project_id}/cloudservers
  • 创建云服务器 /v1.1/{project_id}/cloudservers
表13 server_tags字段数据结构说明

参数

是否必选

参数类型

描述

key

String

键。

最大长度36个unicode字符。key不能为空。不能包含非打印字符ASCII(0-31),"=", "*",“<”,“>”,“\”,“,”,“|”,“/”。

同一资源的key值不能重复。

value

String

值。

每个值最大长度43个unicode字符,可以为空字符串。 不能包含非打印字符ASCII(0-31),“=”,“*”,“<”,“>”,“\”,“,”,“|”,“/”。

分享:

    相关文档

    相关产品

文档是否有解决您的问题?

提交成功!

非常感谢您的反馈,我们会继续努力做到更好!

反馈提交失败,请稍后再试!

*必选

请至少选择或填写一项反馈信息

字符长度不能超过200

提交反馈 取消

如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨

跳转到云社区