创建BEC虚机实例
更新时间:2024-10-30
接口描述
本接口用于创建BEC虚机实例。
请求结构
POST /v2/vm/instance?clientToken={clientToken} HTTP/1.1
Host: bec.baidubce.com
Authorization: authorization string
X-Bce-Accesskey: accesskey
{
"adminPass": "",
"autoRenewTime": 0,
"autoRenewTimeUnit": "month、year",
"billing": {
"paymentTiming": "Postpaid、Prepaid",
"reservation": {
"reservationLength": 0,
"reservationTimeUnit": "month、year"
}
},
"cardCount": 0,
"cpuCount": 0,
"createCdsList": [
{
"cdsSizeInGB": 0,
"name": "",
"storageType": "CDS_SSD"
}
],
"deployInstances": [
{
"purchaseCount": 0,
"regionId": "",
"subnetId": "",
"vpcId": ""
}
],
"ephemeralDisks": [
{
"name": "",
"sizeInGB": 0,
"storageType": "NVME、SATA"
}
],
"gpuCard": "",
"hostname": "",
"imageId": "",
"imageType": "bec、bcc",
"keypairId": "",
"memoryCapacityInGB": 0,
"name": "",
"networkCapacityInMbps": 0,
"passthroughDisks": [
{
"name": "",
"passthroughCode": "",
"storageType": "HDD_PASSTHROUGH、SSD_PASSTHROUGH"
}
],
"rootDiskName": "",
"rootDiskSizeInGb": 0,
"rootDiskStorageType": "",
"securityGroupId": "",
"serviceId": "",
"spec": "",
"needPublicSpeedIp": false,
"userData": "userData"
}
请求头域
参数名称 | 参数说明 | 请求类型 | 是否必须 | 数据类型 |
---|---|---|---|---|
X-Bce-Accesskey | BEC加密接口返回的accessKeyId,用作虚机实例管理员密码解密。参考密码加密传输规范 | header | 否 | string |
请求参数
参数名称 | 参数说明 | 请求类型 | 是否必须 | 数据类型 |
---|---|---|---|---|
request | 创建虚机实例请求 | body | 是 | CreateBecVmInstanceRequest |
adminPass | 虚机密码限制长度为8~32位字符,英文、数字和符号必须同时存在, 符号仅限!@#$%^+*() keypairId和adminPass不能同时为空 |
否 | string | |
autoRenewTime | 自动续费的时间 | 否 | integer | |
autoRenewTimeUnit | 自动续费按月付费或者按年付费。月是month,年是year | 否 | string | |
billing | 订单、计费相关参数 | 是 | Billing | |
paymentTiming | 付费方式 | 是 | string | |
reservation | 时长信息 | 否 | Reservation | |
reservationLength | 时长 | 否 | integer | |
reservationTimeUnit | 时间单位 | 否 | string | |
cardCount | 待创建实例所要携带的GPU卡数量 | 否 | integer | |
cpuCount | 待创建虚拟机实例的CPU核数 | 否 | integer | |
createCdsList | 数据盘云磁盘 | 否 | List<CreateCdsModel> | |
cdsSizeInGB | 云磁盘容量 | 否 | integer | |
name | 云磁盘名称 | 否 | string | |
storageType | 云磁盘类型 | 否 | string | |
deployInstances | 部署区域 | 是 | List<DeployInstance> | |
networkType | 指定网络类型,枚举值有classic(经典网络)或vpc(VPC网络)。 | 否 | string | |
purchaseCount | 购买数量 | 是 | integer | |
regionId | 节点ID。由“国家码-城市-运营商”的小写字母组成字符串。例如 cn-hangzhou-cm, 其中国家码标准为ISO 3166-2,城市为拼音,运营商为中国移动cm/中国电信ct/中国联通un/三线ix, 海外节点运营商为bgp。通过/v2/node/type/vm 接口查询获取。 |
是 | string | |
subnetId | 子网ID | 否 | string | |
vpcId | VPC ID | 否 | string | |
ephemeralDisks | 数据盘本地盘 | 否 | List<EphemeralDisk> | |
name | 本地盘名称 | 否 | string | |
sizeInGB | 本地盘大小 | 否 | integer | |
storageType | 本地盘类型 | 否 | string | |
gpuCard | 待创建实例所要携带的GPU卡信息 | 否 | string | |
hostname | 虚机hostname(不传为随机名称)。仅支持小写字母、数字以及-特殊字符, 必须以字母开头,长度2-64。 |
否 | string | |
imageId | 镜像ID(配合imageType使用) | 是 | string | |
imageType | 镜像类型,bec: 公共镜像或bec自定义镜像; bcc: bcc自定义镜像。默认bec | 否 | string | |
keypairId | 待创建实例所要绑定的密钥对ID。keypairId和adminPass不能同时为空 | 否 | string | |
memoryCapacityInGB | 待创建虚拟机实例的内存容量,单位GB | 否 | integer | |
name | 虚机实例名称(不传为随机名称) | 否 | string | |
networkCapacityInMbps | 公网带宽,单位为Mbps。为0表示不分配公网IP,默认为0Mbps。 | 否 | integer | |
passthroughDisks | 数据盘独占盘 | 否 | List<PassthroughDiskModel> | |
name | 独占盘名称 | 否 | string | |
passthroughCode | 独占盘编码 | 是 | string | |
storageType | 独占盘类型 | 否 | string | |
rootDiskName | 系统盘名称,默认是sys | 否 | string | |
rootDiskSizeInGb | 待创建虚拟机实例的系统盘大小,单位GB,默认是40GB | 否 | integer | |
rootDiskStorageType | 待创建虚拟机实例系统盘类型,默认NVME。支持NVME、SATA、CDS_SSD、CDS_HDD | 否 | string | |
securityGroupId | 指定安全组,为空时将使用默认安全组 | 否 | string | |
serviceId | 服务ID,如果有指定,则添加实例到服务。如果为空,则创建一个服务 | 否 | string | |
spec | 分机型规格族,如果指定,则为分机型策略。如果为空,则为随机策略;使用spec参数则不需要填写cpuCount/memoryCapacityInGB | 否 | string | |
needPublicSpeedIp | 是否选择公网加速IP | 否 | boolean | |
userData | 自定义注入的数据,以如下的方式编码: base64(user_injected_data: base64(原文))。注意:user_injected_data冒号后+1个空格+base64字符串。 | 否 | string | |
clientToken | 幂等性Token,是一个长度不超过64位的ASCII字符串 | query | 否 | string |
响应头域
除公共头域外,无其它特殊头域。
响应参数
参数名称 | 参数说明 | 类型 |
---|---|---|
instances | 实例列表 | List<CreateBecVmInstanceModel> |
instanceId | 实例ID | string |
regionId | 节点ID | string |
orderIdList | 预付费 订单ID列表 | List<String> |
serviceId | 服务id | string |
错误码
请参照错误返回章节的内容。
请求示例
分机型策略
POST /v2/vm/instance?clientToken=123456789 HTTP/1.1
Host: bec.baidubce.com
Authorization: bce-auth-v1/f81d3b34e48048fbb2634dc7882d7e21/2015-08-11T04:17:29Z/3600/host/74c506f68c65e26c633bfa104c863fffac5190fdec1ec24b7c03eb5d67d2e1de
{
"name":"test",
"keypairId": "k-xxxxxxxx",
"spec":"bec.g4.c1m4",
"imageId": "m-kHYPoKjl",
"imageType": "bec",
"deployInstances": [
{
"regionId": "cn-hangzhou-cm",
"purchaseCount": 1
}
],
"billing": {
"paymentTiming": "Postpaid"
}
}
随机策略
POST /v2/vm/instance?clientToken=123456789 HTTP/1.1
Host: bec.baidubce.com
Authorization: bce-auth-v1/f81d3b34e48048fbb2634dc7882d7e21/2015-08-11T04:17:29Z/3600/host/74c506f68c65e26c633bfa104c863fffac5190fdec1ec24b7c03eb5d67d2e1de
{
"name":"test",
"keypairId": "k-xxxxxxxx",
"cpuCount": 1,
"memoryCapacityInGB": 4,
"imageId": "m-kHYPoKjl",
"imageType": "bec",
"deployInstances": [
{
"regionId": "cn-hangzhou-cm",
"purchaseCount": 1
}
],
"billing": {
"paymentTiming": "Postpaid"
}
}
自定义密码
POST /v2/vm/instance?clientToken=123456789 HTTP/1.1
Host: bec.baidubce.com
X-Bce-Accesskey: accesskey
Authorization: bce-auth-v1/f81d3b34e48048fbb2634dc7882d7e21/2015-08-11T04:17:29Z/3600/host/74c506f68c65e26c633bfa104c863fffac5190fdec1ec24b7c03eb5d67d2e1de
{
"name":"test",
"adminPass": "fbf1eaa91fc03ed239854885c1a84cb5",
"spec":"bec.g4.c1m4",
"imageId": "m-kHYPoKjl",
"imageType": "bec",
"deployInstances": [
{
"regionId": "cn-hangzhou-cm",
"purchaseCount": 1
}
],
"billing": {
"paymentTiming": "Postpaid"
}
}
响应示例
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Date: Wed, 08 Jul 2015 03:28:11 GMT
x-bce-request-id: d8752367-38e8-45e4-b4c7-e53be3137ce5
Server: BWS
{
"serviceId": "s-njocgbmg",
"instances": [
{
"instanceId": "vm-njocgbmg-1-m-hangzhou-rvquh",
"regionId": "cn-hangzhou-cm"
}
]
}