创建抢占实例
更新时间:2024-07-02
本接口用于创建抢占实例。
请求结构
POST /v{version}/instance/bid HTTP/1.1
Host: bcc.bj.baidubce.com
Authorization: authorization string
{
"spec": "spec",
"specId": "specId",
"ephemeralDisks": [
{
"storageType": storageType,
"sizeInGB": size
},
{
"storageType": storageType,
"sizeInGB": size
}
],
"adminPass": "adminPass",
"aspId": "aspId",
"instanceType": instanceType,
"cpuCount": cpuCoreCount,
"bidModel":bidModel,
"bidPrice":bidPrice,
"memoryCapacityInGB": memoryCapacityInGB,
"rootDiskSizeInGb":rootDiskSizeInGb,
"rootDiskStorageType":"rootDiskStorageType",
"createCdsList": [
{
"storageType": storageType,
"cdsSizeInGB": cdsSizeInGB,
"snapshotId": "snapshotId"
}
],
"userData": "userData",
"purchaseNum": purchaseNum
"isomerismCard": "isomerismCard",
"name": "name",
"hostname": "hostname",
"autoSeqSuffix": autoSeqSuffix,
"isOpenHostnameDomain": isOpenHostnameDomain,
"imageId": "imageId",
"networkCapacityInMbps": networkCapacityInMbps,
"eipName": "eipName",
"internetChargeType": internetChargeType,
"purchaseCount": purchaseCount,
"zoneName": zoneName,
"subnetId": subnetId,
"securityGroupId": securityGroupId,
"deletionProtection": "deletionProtection",
"enterpriseSecurityGroupId": "enterpriseSecurityGroupId",
"relationTag": relationTag,
"isOpenIpv6": isOpenIpv6,
"tags": [
{
"tagKey": tagKey,
"tagValue": tagValue
}
],
"keypairId": keypairId,
"fileSystems": {
"fsId": "fsId",
"mountAds": "mountAds",
"path": "path",
"protocol": "protocol"
},
"resGroupId": "resGroupId"
}
请求头域
除公共头域外,无其它特殊头域。
请求参数
参数名称 | 类型 | 是否必需 | 参数位置 | 描述 |
---|---|---|---|---|
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 | 不能够获得市场价 |
请求示例
POST /v2/instance/bid HTTP/1.1
Host: bcc.bj.baidubce.com
ContentType: application/json
Authorization: bce-auth-v1/f81d3b34e48048fbb2634dc7882d7e21/2015-08-11T04:17:29Z/3600/host/74c506f68c65e26c633bfa104c863fffac5190fdec1ec24b7c03eb5d67d2e1de
{
"instanceType": "N1",
"cpuCount": 2,
"bidModel": "custom",
"bidPrice": 0.01,
"memoryCapacityInGB": 2,
"rootDiskSizeInGb":45,
"rootDiskStorageType":"cloud_hp1",
"createCdsList": [
{
"storageType": "std1",
"cdsSizeInGB": 5
}
],
"name": "example",
"imageId": "m-mRjO3cjs",
"networkCapacityInMbps": 1,
"internetChargeType": "BANDWIDTH_POSTPAID_BY_HOUR",
"purchaseCount": 1,
"relationTag": true,
"tags": [
{
"tagKey":"tag1",
"tagValue":"var1"
}
],
"keypairId":"k-R0J0BEA9"
}
返回示例
HTTP/1.1 200 OK
x-bce-request-id: 1214cca7-4ad5-451d-9215-71cb844c0a50
Date: Wed, 03 Dec 2014 06:42:19 GMT
Content-Type: application/json;charset=UTF-8
Server: BWS
{
"orderId": "d1ace996973643b299ea506a80dae4da",
"instanceIds": [
"i-T1I3OtUO"
]
}