文档首页> 弹性云服务器 ECS> API参考> 数据结构> 数据结构(创建云服务器)
更新时间:2023-12-01 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随实例释放策略。

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

默认值:false。

说明:

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

输入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

功能说明:带宽大小

带宽(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类型的带宽时,该字段必选。

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的计费模式。

取值范围:

  • 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个或者多个数据盘。

使用整机镜像创建云服务器时,系统会自动恢复整机镜像中自带的数据盘(包括数据盘类型和数据)。此时,您可以通过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

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

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

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

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

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

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

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

计费模式。

功能说明:付费方式

取值范围:

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

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

regionID

String

云服务器所在区域ID。

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

periodType

String

订购周期类型。

取值范围:

  • month-月
  • year-年
    说明:

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

periodNum

Integer

订购周期数。

取值范围:

  • periodType=month(周期类型为月)时,取值为[1,2,3,4,5,6,7,8,9];
  • periodType=year(周期类型为年)时,取值为[1,2,3];
说明:
  • chargingMode为prePaid时生效且为必选值。
  • periodNum为正整数。
  • 根据华为云ECS产品定价规则,1年ECS(包年)价格=10个月ECS(包月)价格,因此购买包月时长超过9个月时,可直接购买包年ECS产品。

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或者传递一个空字符串,默认使用按需购买的价格作为竞价。
  • 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中的表示加密功能的字段,与__system__encrypted配合使用。

说明:

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

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

该字段被如下接口使用:

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

参数

是否必选

参数类型

描述

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

String

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

  • "ces":主机监控
  • "hss":企业主机安全基础版
  • "hss,hss-ent":企业主机安全企业版

取值样例:

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

说明:

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

tenancy

String

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

参数值为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

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

参数值为shared或者dedicated。

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),“=”,“*”,“<”,“>”,“\”,“,”,“|”。

分享:

    相关文档

    相关产品