文档首页/ 弹性云服务器 ECS/ API参考/ 数据结构/ 数据结构(创建云服务器)
更新时间:2025-08-18 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

Object

参数解释:

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

详情请参见表3

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

delete_on_termination

Boolean

参数解释:

弹性公网IP随实例释放策略。

约束限制:

该字段仅按需弹性公网IP支持。

取值范围:

  • true:弹性公网IP随实例释放。
  • false:弹性公网IP不随实例释放。

默认取值:

false

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

security_groups字段数据结构说明

该字段被如下接口使用

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

参数

是否必选

参数类型

描述

id

String

参数解释:

待创建云服务器的安全组,会对创建云服务器中配置的网卡生效。需要指定已有安全组的ID,UUID格式;若不传id字段,底层会创建默认安全组。

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

eip字段数据结构说明

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

参数

是否必选

参数类型

描述

iptype

String

参数解释:

弹性公网IP地址类型。

详情请参见“申请弹性公网IP”章节的“publicip”字段说明。

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

bandwidth

Object

参数解释:

弹性公网IP地址带宽参数。

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

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

extendparam

Object

参数解释:

创建弹性公网IP的附加信息。

详情请参见表6

约束限制:

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

取值范围:

不涉及

默认取值:

不涉及

bandwidth字段数据结构说明

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

参数

是否必选

参数类型

描述

size

Integer

参数解释:

带宽大小。

约束限制:

  • 调整带宽时的最小单位会根据带宽范围不同存在差异。
    • 小于等于300Mbit/s:默认最小单位为1Mbit/s。
    • 300Mbit/s~1000Mbit/s:默认最小单位为50Mbit/s。
    • 大于1000Mbit/s:默认最小单位为500Mbit/s。
  • 如果share_type是PER,该参数必选项;如果share_type是WHOLE并且id有值,该参数会忽略。

取值范围:

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

具体范围以各区域配置为准,请参见控制台对应页面显示。

默认取值:

不涉及

sharetype

String

参数解释:

带宽的共享类型。

约束限制:

不涉及

取值范围:

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

默认取值:

不涉及

chargemode

String

参数解释:

带宽的计费类型。

约束限制:

  • 字段值为“traffic”,表示按流量计费。
  • 字段为其它值,会导致创建云服务器失败。

取值范围:

不涉及

默认取值:

不涉及

id

String

参数解释:

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

约束限制:

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

取值范围:

WHOLE类型的带宽ID。

默认取值:

不涉及

ipv6_bandwidth字段数据结构说明

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

参数

是否必选

参数类型

描述

id

String

参数解释:

IPv6带宽的ID。

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

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

该字段被如下接口使用:

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

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

名称

是否必选

参数类型

说明

chargingMode

String

参数解释:

公网IP的计费模式。

约束限制:

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

取值范围:

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

默认取值:

不涉及

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

该字段被如下接口使用:

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

参数

是否必选

参数类型

描述

resourceSpecCode

String

参数解释:

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

说明:

废弃字段。

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

resourceType

String

参数解释:

磁盘产品资源类型。

说明:

废弃字段。

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

snapshotId

String

参数解释:

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

  • 使用场景:

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

    使用整机镜像创建云服务器时,系统会自动恢复整机镜像中自带的数据盘(包括数据盘类型和数据)。此时,您可以通过snapshotId,修改指定原数据盘恢复后的磁盘类型。

    说明:
    • 建议对每块原数据盘都指定snapshotId。
    • 如需修改磁盘大小,修改后的磁盘大小需大于等于原数据盘大小。否则,会影响原数据盘的数据恢复。
    • 如需设置磁盘共享,需指定共享属性。
    • 如需设置磁盘加密,需在metadata字段指定相关加密属性。
  • 实现原理:

    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:按需计费。

默认取值:

0

regionID

String

参数解释:

云服务器所在区域ID。

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

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

support_auto_recovery

Boolean

参数解释:

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

约束限制:

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

  • 当support_auto_recovery=false,flavor中不存在"cond:compute": autorecovery:不支持自动恢复功能。
  • 当support_auto_recovery=false,flavor中存在"cond:compute": autorecovery:仍支持自动恢复功能。

"cond:compute": autorecovery可通过查询规格详情和规格扩展信息列表查询。

取值范围:

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

默认取值:

不涉及

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,默认使用按需购买的价格作为竞价。
  • spotPrice需要小于等于按需价格,并要大于等于云服务器市场价格。

取值范围:

不涉及

默认取值:

不涉及

diskPrior

String

参数解释:

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

约束限制:

不涉及

取值范围:

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

默认取值:

不涉及

spot_duration_hours

Integer

参数解释:

购买的竞价实例时长。

约束限制:

  • 竞享实例必传且当interruption_policy=immediate时,该字段有效 。
  • spot_duration_hours大于0。最大值由预测系统给出可以从flavor的extra_specs的cond:spot_block:operation:longest_duration_hours字段中查询。

取值范围:

不涉及

默认取值:

不涉及

spot_duration_count

Integer

参数解释:

表示购买的“竞价实例时长”的个数。

约束限制:

  • 适用于竞享实例且当spot_duration_hours>0时,该字段有效。
  • spot_duration_hours小于6时,spot_duration_count值必须为1。
  • spot_duration_hours等于6时,spot_duration_count大于等于1。

    spot_duration_count的最大值由预测系统给出可以从flavor的extra_specs的cond:spot_block:operation:longest_duration_count字段中查询。

取值范围:

不涉及

默认取值:

不涉及

interruption_policy

String

参数解释:

竞价实例中断策略,当前支持immediate(立即释放)。

约束限制:

当实例为竞享模式时,必须设置为immediate。

取值范围:

不涉及

默认取值:

不涉及

CB_CSBS_BACKUP

String

参数解释:

云备份策略和云备份存储库详情,取值包含备份策略ID和云备份存储库ID。

例如:在控制台查询备份策略ID为:fdcaa27d-5be4-4f61-afe3-09ff79162c04

云备份存储库ID为:332a9408-463f-436a-9e92-78dad95d1ac4

则CB_CSBS_BACKUP取值为:"{\"policy_id\":\"fdcaa27d-5be4-4f61-afe3-09ff79162c04\",\"vault_id\":\"332a9408-463f-436a-9e92-78dad95d1ac4\"}"

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

表9 创建云服务器的extendparam字段数据结构说明(适用V1.1接口)

名称

是否必选

参数类型

说明

chargingMode

String

参数解释:

计费模式。

约束限制:

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

metadata中的op_svc_userid字段的取值,请参见表11

取值范围:

  • prePaid-预付费,即包年包月。
  • postPaid-后付费,即按需付费。

默认取值:

postPaid

regionID

String

参数解释:

云服务器所在区域ID。

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

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

periodType

String

参数解释:

订购周期类型。

约束限制:

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

取值范围:

  • month-月
  • year-年

默认取值:

不涉及

periodNum

Integer

参数解释:

订购周期数。

约束限制:

  • chargingMode为prePaid时生效且为必选值。
  • periodNum为正整数。
  • 根据华为云ECS产品定价规则,1年ECS(包年)价格=10个月ECS(包月)价格,因此购买包月时长超过9个月时,可直接购买包年ECS产品。

取值范围:

  • periodType=month(周期类型为月)时,取值为[1,2,3,4,5,6,7,8,9];
  • periodType=year(周期类型为年)时,取值为[1,2,3];

默认取值:

不涉及

isAutoRenew

String

参数解释:

是否自动续订。

约束限制:

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

取值范围:

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

约束限制:

不涉及

isAutoPay

String

参数解释:

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

约束限制:

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

取值范围:

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

默认取值:

不涉及

enterprise_project_id

String

参数解释:

企业项目ID。

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

约束限制:

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

取值范围:

不涉及

默认取值:

不涉及

support_auto_recovery

Boolean

参数解释:

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

约束限制:

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

取值范围:

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

默认取值:

不涉及

marketType

String

参数解释:

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

约束限制:

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

取值范围:

不涉及

默认取值:

不涉及

spotPrice

String

参数解释:

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

约束限制:

  • 仅chargingMode=postPaid且marketType=spot时,该参数设置后生效。
  • 当chargingMode=postPaid且marketType=spot时,如果不传递spotPrice或者传递一个空字符串,默认使用按需购买的价格作为竞价。
  • spotPrice需要小于等于按需价格,并要大于等于云服务器市场价格。

取值范围:

不涉及

默认取值:

不涉及

diskPrior

String

参数解释:

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

约束限制:

不涉及

取值范围:

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

默认取值:

不涉及

spot_duration_hours

Integer

参数解释:

购买的竞价实例时长。

约束限制:

  • 竞享实例必传且当interruption_policy=immediate时,该字段有效 。
  • spot_duration_hours大于0。最大值由预测系统给出可以从flavor的extra_specs的cond:spot_block:operation:longest_duration_hours字段中查询。

取值范围:

不涉及

默认取值:

不涉及

spot_duration_count

Integer

参数解释:

表示购买的“竞价实例时长”的个数。

约束限制:

  • 适用于竞享实例且当spot_duration_hours>0时,该字段有效。
  • spot_duration_hours小于6时,spot_duration_count值必须为1。
  • spot_duration_hours等于6时,spot_duration_count大于等于1。
说明:

spot_duration_count的最大值由预测系统给出可以从flavor的extra_specs的cond:spot_block:operation:longest_duration_count字段中查询。

取值范围:

不涉及

默认取值:

不涉及

interruption_policy

String

参数解释:

竞价实例中断策略,当前支持immediate(立即释放)。

约束限制:

当实例为竞享模式时,必须设置为immediate。

取值范围:

不涉及

默认取值:

不涉及

CB_CSBS_BACKUP

String

参数解释:

云备份策略和云备份存储库详情,取值包含备份策略ID和云备份存储库ID。

例如:在控制台查询备份策略ID为:fdcaa27d-5be4-4f61-afe3-09ff79162c04

云备份存储库ID为:332a9408-463f-436a-9e92-78dad95d1ac4

则CB_CSBS_BACKUP取值为:"{\"policy_id\":\"fdcaa27d-5be4-4f61-afe3-09ff79162c04\",\"vault_id\":\"332a9408-463f-436a-9e92-78dad95d1ac4\"}"

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

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

该字段被如下接口使用:

  • 创建云服务器 /v1/{project_id}/cloudservers
  • 创建云服务器 /v1.1/{project_id}/cloudservers
  • 创建云服务器时,root_volume和data_volume都包含metadata字段。
表10 创建磁盘的metadata字段数据结构说明

参数

是否必选

参数类型

描述

__system__encrypted

String

参数解释:

metadata中的表示加密功能的字段。

约束限制:

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

取值范围:

  • 0:代表不加密
  • 1:代表加密

默认取值:

不涉及

__system__cmkid

String

参数解释:

用户主密钥ID,是metadata中的表示加密功能的字段。

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

约束限制:

与__system__encrypted配合使用。

取值范围:

不涉及

默认取值:

不涉及

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

该字段被如下接口使用:

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

参数

是否必选

参数类型

描述

op_svc_userid

String

参数解释:

用户ID。

您可以在我的凭证下,通过“API凭证”页面的“IAM用户ID”,获取该参数的值。更多内容,请参见API凭证

说明:

该参数取值为当前登录账号的“IAM用户ID”,如果您当前使用IAM用户登录,则需要获取对应IAM用户的“IAM用户ID”。

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

agency_name

String

参数解释:

委托的名称。

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

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

BYOL

String

参数解释:

如果您已拥有操作系统或软件的许可证(一般是指按物理插槽数、物理内核数等进行认证的许可证),您可以通过自带许可(BYOL)的方式将业务完整迁移到云平台,继续使用您的许可证。

约束限制:

不涉及

取值范围:
  • true: 使用自有license
  • 其他值: 视为非法参数,接口报错

默认取值:

不涉及

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可以从控制台或者参考查询云服务器组列表获取。

约束限制:

请确保云服务器组使用的是反亲和性anti-affinity策略,不推荐使用其他策略。

在指定的专属主机上创建的弹性云服务器不支持选择反亲和性anti-affinity策略。

取值范围:

不涉及

默认取值:

不涉及

tenancy

String

参数解释:

在指定的专属主机或者共享主机上创建弹性云服务器

参数值为shared或者dedicated。

约束限制:

不涉及

取值范围:

参数值为shared或者dedicated。

默认取值:

不涉及

dedicated_host_id

String

参数解释:

专属主机的ID。

约束限制:

专属主机的ID仅在tenancy为dedicated时生效。

取值范围:

不涉及

默认取值:

不涉及

表13 os:scheduler_hints字段数据结构说明(响应参数)

参数

参数类型

描述

group

Array of strings

参数解释:

云服务器组ID,UUID格式。

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

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

tenancy

Array of strings

参数解释:

在指定的专属主机或者共享主机上创建弹性云服务器

约束限制:

不涉及

取值范围:

参数值为share或dedicate

默认取值:

不涉及

dedicated_host_id

Array of strings

参数解释:

专属主机的ID。

约束限制:

专属主机的ID仅在tenancy为dedicated时生效。

取值范围:

不涉及

默认取值:

不涉及

server_tags字段数据结构说明

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

参数

是否必选

参数类型

描述

key

String

参数解释:

键。

约束限制:

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

取值范围:

不涉及

默认取值:

不涉及

value

String

参数解释:

值。

约束限制:

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

取值范围:

不涉及

默认取值:

不涉及