创建抢占实例
更新时间:2024-07-02
本接口用于创建抢占实例。
请求结构
Plain Text
1POST /v{version}/instance/bid HTTP/1.1
2Host: bcc.bj.baidubce.com
3Authorization: authorization string
4
5{
6 "spec": "spec",
7 "specId": "specId",
8 "ephemeralDisks": [
9 {
10 "storageType": storageType,
11 "sizeInGB": size
12 },
13 {
14 "storageType": storageType,
15 "sizeInGB": size
16 }
17 ],
18 "adminPass": "adminPass",
19 "aspId": "aspId",
20 "instanceType": instanceType,
21 "cpuCount": cpuCoreCount,
22 "bidModel":bidModel,
23 "bidPrice":bidPrice,
24 "memoryCapacityInGB": memoryCapacityInGB,
25 "rootDiskSizeInGb":rootDiskSizeInGb,
26 "rootDiskStorageType":"rootDiskStorageType",
27 "createCdsList": [
28 {
29 "storageType": storageType,
30 "cdsSizeInGB": cdsSizeInGB,
31 "snapshotId": "snapshotId"
32 }
33 ],
34 "userData": "userData",
35 "purchaseNum": purchaseNum
36 "isomerismCard": "isomerismCard",
37 "name": "name",
38 "hostname": "hostname",
39 "autoSeqSuffix": autoSeqSuffix,
40 "isOpenHostnameDomain": isOpenHostnameDomain,
41 "imageId": "imageId",
42 "networkCapacityInMbps": networkCapacityInMbps,
43 "eipName": "eipName",
44 "internetChargeType": internetChargeType,
45 "purchaseCount": purchaseCount,
46 "zoneName": zoneName,
47 "subnetId": subnetId,
48 "securityGroupId": securityGroupId,
49 "deletionProtection": "deletionProtection",
50 "enterpriseSecurityGroupId": "enterpriseSecurityGroupId",
51 "relationTag": relationTag,
52 "isOpenIpv6": isOpenIpv6,
53 "tags": [
54 {
55 "tagKey": tagKey,
56 "tagValue": tagValue
57 }
58 ],
59 "keypairId": keypairId,
60 "fileSystems": {
61 "fsId": "fsId",
62 "mountAds": "mountAds",
63 "path": "path",
64 "protocol": "protocol"
65 },
66 "resGroupId": "resGroupId"
67}
请求头域
除公共头域外,无其它特殊头域。
请求参数
参数名称 |
类型 |
是否必需 |
参数位置 |
描述 |
---|---|---|---|---|
version | String | 是 | URL参数 | API版本号 |
clientToken | String | 是 | Query参数 | 幂等性Token,是一个长度不超过64位的ASCII字符串,详见链接。 |
imageId | String | 是 | RequestBody参数 | 待创建虚拟机实例的镜像ID,可通过调用查询镜像列表接口选择获取所需镜像ID。 |
instanceType | String | 否 | RequestBody参数 | 待创建虚拟机实例的类型,具体可选类型参见下述InstanceType,为空时使用默认虚机类型。 |
cpuCount | int | 是 | RequestBody参数 | 待创建虚拟机实例的CPU核数,可选配置请参考区域机型以及可选配置。 |
bidModel | String | 是 | RequestBody参数 | 抢占实例出价模型, 市场价: "market" 自定义:"custom"。参考BidModel |
bidPrice | String | 否 | RequestBody参数 | 抢占实例出价金额,若是自定义出价,且出价金额小于市场价,则不允许创建。当bidModel='custom'时才有效。 |
memoryCapacityInGB | int | 是 | RequestBody参数 | 待创建虚拟机实例的内存容量,单位GB,可选配置请参考区域机型以及可选配置。 |
rootDiskSizeInGb | int | 否 | RequestBody参数 | 待创建虚拟机实例的系统盘大小,单位GB,默认是40GB,范围为[40, 2048]GB,超过40GB按照云磁盘价格收费。注意指定的系统盘大小需要满足所使用镜像最小磁盘空间限制。 |
rootDiskStorageType | String | 否 | RequestBody参数 | 待创建虚拟机实例系统盘介质,默认使用SSD型云磁盘,可指定系统盘磁盘类型可参见StorageType。 |
createCdsList | List<CreateCdsModel> | 否 | RequestBody参数 | 待创建的CDS磁盘列表,具体数据格式参见下述CreateCdsModel |
networkCapacityInMbps | int | 否 | RequestBody参数 | 公网带宽,单位为Mbps。必须为0~200之间的整数,为0表示不分配公网IP,默认为0Mbps |
internetChargeType | String | 否 | RequestBody参数 | 公网带宽计费方式,可选参数详见internetChargeType,若不指定internetChargeType,默认为按使用带宽计费。 |
purchaseCount | int | 否 | RequestBody参数 | 批量创建(购买)的虚拟机实例个数,必须为大于0的整数,可选参数,缺省为1 |
name | String | 否 | RequestBody参数 | 虚拟机名字(可选)。默认都不指定name。如果指定name:批量时name作为名字的前缀。后端将加上后缀,后缀生成方式:name{ -序号}。如果没有指定name,则自动生成,方式:{instance-八位随机串-序号}。注:随机串从0~9a~z生成;序号按照count的数量级,依次递增,如果count为100,则序号从000~100递增,如果为10,则从00~10递增。支持大小写字母、数字、中文以及-_ /.特殊字符,必须以字母开头,长度1-65。 |
hostname | String | 否 | RequestBody参数 | 虚拟机主机名(可选)。默认都不指定hostname。如果指定hostname:批量时hostname作为名字的前缀。后端将加上后缀,后缀生成方式:name{ -序号}。如果没有指定name,则自动生成,方式:{instance-八位随机串-序号}。注:随机串从0~9a~z生成;序号按照count的数量级,依次递增,如果count为100,则序号从000~100递增,如果为10,则从00~10递增。仅支持小写字母、数字以及- . 特殊字符,必须以字母开头,不可连续使用特殊符号,不支持特殊符号开头或结尾,长度2-64。 |
autoSeqSuffix | boolean | 否 | RequestBody参数 | 是否自动生成name和hostname有序后缀(可选参数) 是:true 否:false |
isOpenHostnameDomain | boolean | 否 | RequestBody参数 | 是否自动生成hostname domain(可选参数) 是:true 否:false |
adminPass | String | 否 | RequestBody参数 | 待指定的实例管理员密码,8-16位字符,英文,数字和符号必须同时存在,符号仅限!@#$%^*(),密码需要加密传输,详见链接 |
zoneName | String | 否 | RequestBody参数 | 指定zone信息,默认为空,由系统自动选择,可通过调用查询可用区列表接口查询可用区列表。zoneName命名规范是“国家-region-可用区序列",小写,例如北京可用区A为"cn-bj-a"。专属实例使用专属服务器所在zone,无需指定该字段。 |
subnetId | String | 否 | RequestBody参数 | 指定subnet信息,为空时将使用默认子网 |
securityGroupId | String | 否 | RequestBody参数 | 指定securityGroup信息,为空时将使用默认安全组 |
relationTag | boolean | 否 | RequestBody参数 | 待创建实例指定的标签是否需要和已有标签键进行关联,默认为false。注意值为true时要保证该标签键已存在 |
isOpenIpv6 | boolean | 否 | RequestBody参数 | 待创建实例是否开启ipv6,只有当镜像和子网都支持ipv6时才可开启,true表示开启,false表示关闭,不传表示自动适配镜像和子网的ipv6支持情况 |
tags | List<TagModel> | 否 | RequestBody参数 | 待创建的标签列表,具体数据格式参见下述TagModel |
keypairId | String | 否 | RequestBody参数 | 待创建实例所要绑定的密钥对ID |
aspId | String | 否 | RequestBody参数 | 自动快照策略ID |
specId | String | 否 | RequestBody参数 | 规格族 |
spec | String | 否 | RequestBody参数 | 实例规格 |
ephemeralDisks | List<EphemeralDisk> | 否 | RequestBody参数 | DCC实例可以创建多块本地盘,需要指定磁盘类型以及大小。其他类型BCC最多只能使用一块本地盘,使用默认磁盘类型,需要指定磁盘大小。FPGA实例以及GPU实例默认使用一块本地磁盘,根据配置指定本地盘大小,具体请参考GPU型BCC可选规格配置 以及FPGA型BCC可选规格配置 。 |
adminPass | String | 否 | RequestBody参数 | 待指定的实例管理员密码,8-16位字符,英文,数字和符号必须同时存在,符号仅限!@#$%^*() |
userData | String | 否 | RequestBody参数 | 若实例满足使用实例自定义数据的限制,您可以Base64的方式编码后再传入UserData信息。因为传输API请求时,不会加密您设置的UserData,建议不要以明文方式传入机密的信息,例如密码和私钥等;如果必须传入,建议加密后在实例内部以同样的方式反解密。 |
isomerismCard | String | 否 | RequestBody参数 | 待创建实例所要携带的异构卡信息,具体可选信息参照,非GPU型实例无需指定此字段 |
fileSystems | List<FileSystemModel> | 否 | RequestBody参数 | 挂载文件存储CFS,具体参数见FileSystemModel |
enterpriseSecurityGroupId | String | 否 | RequestBody参数 | 指定企业安全组 |
deletionProtection | int | 否 | RequestBody参数 | 实例释放保护,默认0未开启,1开启,开启后禁止手动释放虚机 |
eipName | String | 否 | RequestBody参数 | 长度1~65个字节,字母开头,可包含字母数字-_/.字符。若不传该参数,服务会自动生成name。 |
resGroupId | String | 否 | RequestBody参数 | 指定实例要绑定的资源组id |
返回头域
除公共头域,无其它特殊头域。
返回参数
参数名称 |
类型 |
描述 |
---|---|---|
instanceIds | List<String> | 虚机实例ID的集合,其中ID符合BCE规范,必须是一个定长字符串,且只允许包含大小写字母、数字、连字号(-)和下划线(_)。 |
错误码
错误码 |
错误描述 |
HTTP状态码 |
中文解释 |
---|---|---|---|
Instance.InsufficientRootDiskSize | Not enough root disk size. | 400 | 使用镜像过大,系统盘大小不够 |
Instance.InvalidateRootDiskStorageType | Invalidate root disk storage type. | 400 | 无效的系统盘介质 |
Instance.InstanceBeBanned | The instance is banned, contact technical support for assistance. | 403 | Bcc服务已被封禁 |
Instance.GlobalInstanceQuotaLimitExceeded | Quota exceeds limit for regional postpaid instances pool, contact technical support for further assistance. | 413 | 后付费类型的虚机数目超出当前区域预售额度限制 |
Instance.InstanceQuotaLimitExceeded | Quota exceeds limit. | 413 | 实例个数超过限制 |
Instance.EipQuotaLimitExceeded | The number of eip will exceed the limit. | 413 | 合并购买时eip个数超过限制 |
Instance.InvalidateConfiguration | Invalidate cpu memory configuration. | 400 | 无效的虚机配置 |
BadRequest | bid price should be greater than market price. | 400 | 抢占实例自定义出价应大于市场价 |
BadRequest | invalid purchaseNum. | 400 | 购买数量需要大于0 |
BadRequest | missing bcc config. | 400 | 缺少bcc配置 |
BadRequest | invalid instanceType. | 400 | 无效的实例类型 |
BadRequest | bidPrice can not be null when bidModel is custom. | 400 | 自定义出价时bidPrice不能为空 |
BadRequest | bidModel is invalid. | 400 | bidModel的值无效 |
BadRequest | bidPrice is invalid. | 400 | bidPrice的值无效 |
Instance.PermissionDeny | Instance permission deny. permission deny | 401 | 无权限 |
RealNameQualify | No real name authentication | 409 | 不可操作,未实名认证 |
Instance.RegionDenyException | You're not allowed to access this region. | 403 | region拒绝访问异常. |
BadRequest | Not support serviceType. | 400 | 不支持该服务类型 |
BadRequest | cds config error. | 400 | cds配置错误 |
Instance.InstanceCountCdsCountNotMatchException | Cds count must be multiple number of Instance count | 400 | 创建的虚机数量和cds数量不匹配 |
Instance.InvalidateZoneException | Invalidate zone name. | 400 | 无效的可用区 |
Instance.NotSupportInstanceTypeException | not support the instance type. | 403 | 不支持该机型 |
BadRequest | Not support serviceType | 400 | 不支持该服务类型 |
BadRequest | invalid deploy id | 400 | 无效的部署集ID |
BadRequest | invalid cds count | 400 | cds 数量应该是bcc的整数倍 |
BadRequest | cannot get market price | 400 | 不能够获得市场价 |
请求示例
Plain Text
1POST /v2/instance/bid HTTP/1.1
2Host: bcc.bj.baidubce.com
3ContentType: application/json
4Authorization: bce-auth-v1/f81d3b34e48048fbb2634dc7882d7e21/2015-08-11T04:17:29Z/3600/host/74c506f68c65e26c633bfa104c863fffac5190fdec1ec24b7c03eb5d67d2e1de
5
6{
7 "instanceType": "N1",
8 "cpuCount": 2,
9 "bidModel": "custom",
10 "bidPrice": 0.01,
11 "memoryCapacityInGB": 2,
12 "rootDiskSizeInGb":45,
13 "rootDiskStorageType":"cloud_hp1",
14 "createCdsList": [
15 {
16 "storageType": "std1",
17 "cdsSizeInGB": 5
18 }
19 ],
20 "name": "example",
21 "imageId": "m-mRjO3cjs",
22 "networkCapacityInMbps": 1,
23 "internetChargeType": "BANDWIDTH_POSTPAID_BY_HOUR",
24 "purchaseCount": 1,
25 "relationTag": true,
26 "tags": [
27 {
28 "tagKey":"tag1",
29 "tagValue":"var1"
30 }
31 ],
32 "keypairId":"k-R0J0BEA9"
33}
返回示例
Plain Text
1HTTP/1.1 200 OK
2x-bce-request-id: 1214cca7-4ad5-451d-9215-71cb844c0a50
3Date: Wed, 03 Dec 2014 06:42:19 GMT
4Content-Type: application/json;charset=UTF-8
5Server: BWS
6
7{
8 "orderId": "d1ace996973643b299ea506a80dae4da",
9 "instanceIds": [
10 "i-T1I3OtUO"
11 ]
12}