创建BEC虚机实例
更新时间:2023-06-25
接口描述
本接口用于创建BEC虚机实例。
请求结构
POST /v1/vm/service/{serviceId}/instance HTTP/1.1
Host: bec.baidubce.com
Authorization: authorization string
{
"vmName": vmName,
"needPublicIp": needPublicIp,
"bandwidth": bandwidth,
"deployInstances": [
{
"regionId": regionId,
"region": region,
"serviceProvider": serviceProvider,
"city": city,
"replicas": replicas
},
{
"regionId": regionId,
"region": region,
"serviceProvider": serviceProvider,
"city": city,
"replicas": replicas,
"networkType": "vpc",
"vpcId": vpcId,
"subnetId": subnetId
}
],
"needIpv6PublicIp": false,
"spec": spec,
"cpu": cpu,
"memory": memory,
"imageId": imageId,
"imageType": bec,
"systemVolume": {
"volumeType": SATA,
"name": vm-rootfs,
"sizeInGB": 40
},
"dnsConfig": {
"dnsType": dnsType,
"dnsAddress": dnsAddress
},
"keyConfig": {
"type": "password",
"adminPass": "adminPass",
},
"dataVolumeList": [
{
"name": name,
"volumeType": volumeType,
"sizeInGB": sizeInGB
},
{
"name": name,
"volumeType": volumeType,
"sizeInGB": sizeInGB
}
],
"disableIntranet": disableIntranet,
"disableCloudInit": disableCloudInit,
"networkConfigList": [
{
"nodeType": "SINGLE",
"networksList": [
{
"netType": "netType",
"netName": "netName"
},
{
"netType": "netType",
"netName": "netName"
}
]
}
],
"hostname": hostname,
"deploysetIdList": ["deploysetId"]
}
注意事项
下面的注意事项,请参考创建BEC虚机服务详细描述。
- 创建独占盘
- 密码和密钥配置注意事项
- 网卡命名和配置注意事项
- 使用VPC网络注意事项
- VPC网络三线节点网卡指定运营商、单线节点多网卡配置
请求头域
除公共头域外,无其它特殊头域。
请求参数
参数名称 | 类型 | 是否必需 | 参数位置 | 描述 |
---|---|---|---|---|
vmName | String | 否 | RequestBody参数 | 虚机实例名称(不传为随机名称) |
needPublicIp | boolean | 否 | RequestBody参数 | 是否开通公网,true为公开,false为不公开,缺省为false |
bandwidth | Integer | 否 | RequestBody参数 | 公网带宽大小(-1时为最大值),单位Mbps |
deployInstances | List<DeploymentInstance> | 是 | RequestBody参数 | 部署区域 |
dnsConfig | DnsConfig | 是 | RequestBody参数 | DNS配置 |
spec | String | 否 | RequestBody参数 | 规格族,传入按指定机型策略创建,不传则按随机分配策略创建;使用spec参数则不需要填写cpu/memory |
cpu | Integer | 是 | RequestBody参数 | CPU大小,必须大于1;随机分配策略必填 |
memory | Integer | 是 | RequestBody参数 | 内存大小,必须大于1;随机分配策略必填 |
imageId | String | 是 | RequestBody参数 | 镜像ID(配合imageType使用) |
imageType | String | 是 | RequestBody参数 | 镜像类型,取值为bec、bcc,分别表示为公共镜像或bec自定义镜像、bcc自定义镜像,缺省为bcc |
needIpv6PublicIp | boolean | 是 | RequestBody参数 | 是否开通IPv6公网,true:表示开通。false:表示不开通。缺省为false |
systemVolume | VolumnConfig | 是 | RequestBody参数 | 系统盘配置 |
dataVolumeList | List<VolumeConfig> | 否 | RequestBody参数 | 数据盘配置 |
keyConfig | KeyConfig | 是 | RequestBody参数 | 密码或密钥配置 |
disableIntranet | Boolean | 否 | RequestBody参数 | 是否需要内网,true:表示不需要;false:表示需要。缺省为false |
disableCloudInit | Boolean | 否 | RequestBody参数 | 是否需要网络初始化,true:表示不需要;false:表示需要。缺省为false |
networkConfigList | List<NetworkConfig> | 否 | RequestBody参数 | 网卡命名配置列表,包含NetworkConfig,缺省为默认命名 |
securityGroupIds | List<String> | 否 | RequestBody参数 | 指定私有网络的安全组ID。只适用于网络类型为vpc的实例。如果选用了vpc网络,但是没有指定安全组ID,BEC会创建并使用一个“出站方向端口全开”的默认的安全组 |
hostname | String | 否 | RequestBody参数 | 虚机hostname(不传为随机名称)。仅支持小写字母、数字以及-特殊字符,必须以字母开头,长度2-64。 |
deploysetIdList | List<String> | 否 | RequestBody参数 | 部署集ID列表,目前只支持数量为1。 |
响应头域
除公共头域外,无其它特殊头域。
响应参数
参数名称 | 类型 | 描述 |
---|---|---|
result | Boolean | 返回结果,true:表示为成功,false:表示为不成功 |
action | String | 系统返回的操作描述,返回为“create” |
details | Map | 返回结果 |
错误码
请参照错误返回章节的内容。
请求示例
DeploymentInstance支持regionId
POST /v1/vm/service/s-zz9r0enj/instance HTTP/1.1
Host: bec.baidubce.com
Authorization: bce-auth-v1/f81d3b34e48048fbb2634dc7882d7e21/2015-08-11T04:17:29Z/3600/host/74c506f68c65e26c633bfa104c863fffac5190fdec1ec24b7c03eb5d67d2e1de
{
"dataVolumeList": [
{
"volumeType": "SATA",
"sizeInGB": 20,
"name": "data-disk-name"
}
],
"adminPass": "Password12345!",
"imageId": "im-DqQdV8VQ",
"imageType": "bec",
"bandwidth": 100,
"deployInstances": [
{
"regionId": "cn-chengdu-un",
"replicas": 1,
"networkType": "vpc",
"vpcId": "vpc-12ou61",
"subnetId": "sbn-14okg1j"
}
],
"securityGroupIds": ["sg-bjlfkdq"],
"systemVolume": {
"volumeType": "SATA",
"name": "system-disk-name",
"sizeInGB": 40
},
"dnsConfig": {
"dnsType": "CUSTOMIZE",
"dnsAddress": "129.29.29.29"
},
"vmName": "vmName",
"purchaseMonth": null,
"needPublicIp": false,
"spec": "bec.c2.c4m8",
"cpu": 4,
"memory": 8,
"disableIntranet": false,
"disableCloudInit": false,
"networkConfigList": [
{
"nodeType": "SINGLE",
"networksList": [
{
"netType": "INTERNAL_IP",
"netName": "intra"
},
{
"netType": "PUBLIC_IP",
"netName": "extra"
}
]
}
],
"deploysetIdList": ["dset-enckow4i"]
}
DeploymentInstance兼容region/city/serviceProvider
POST /v1/vm/service/s-zz9r0enj/instance HTTP/1.1
Host: bec.baidubce.com
Authorization: bce-auth-v1/f81d3b34e48048fbb2634dc7882d7e21/2015-08-11T04:17:29Z/3600/host/74c506f68c65e26c633bfa104c863fffac5190fdec1ec24b7c03eb5d67d2e1de
{
"dataVolumeList": [
{
"volumeType": "SATA",
"sizeInGB": 20,
"name": "data-disk-name"
}
],
"adminPass": "Password12345!",
"imageId": "im-DqQdV8VQ",
"imageType": "bec",
"bandwidth": 100,
"deployInstances": [
{
"region": "SOUTH_WEST",
"city": "CHENGDU",
"serviceProvider": "CHINA_UNICOM",
"replicas": 1,
"networkType": "vpc",
"vpcId": "vpc-12ou61",
"subnetId": "sbn-14okg1j"
}
],
"securityGroupIds": ["sg-bjlfkdq"],
"systemVolume": {
"volumeType": "SATA",
"name": "system-disk-name",
"sizeInGB": 40
},
"dnsConfig": {
"dnsType": "CUSTOMIZE",
"dnsAddress": "129.29.29.29"
},
"vmName": "vmName",
"purchaseMonth": null,
"needPublicIp": false,
"spec": "bec.c2.c4m8",
"cpu": 4,
"memory": 8,
"disableIntranet": false,
"disableCloudInit": false,
"networkConfigList": [
{
"nodeType": "SINGLE",
"networksList": [
{
"netType": "INTERNAL_IP",
"netName": "intra"
},
{
"netType": "PUBLIC_IP",
"netName": "extra"
}
]
}
],
"deploysetIdList": ["dset-enckow4i"]
}
响应示例
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
{
"result": true,
"action": "create",
"details": {
"serviceId": "s-zz9r0enj",
"serviceName": "test",
"status": "NORMAL",
"totalCpu": 1,
"totalMem": 2,
"totalDisk": 0,
"totalRootDisk": 40,
"regions": 1,
"instances": [
{
"vmId": "vm-wbolbmuo-1-m-chengdu-2ds4d",
"vmName": "vm-wbolbmuo-1-m-chengdu-2ds4d",
"regionId": "cn-chengdu-un",
"region": "SOUTH_WEST",
"city": "CHENGDU",
"serviceProvider": "CHINA_UNICOM"
}
],
"deployInstances": [
{
"regionId": "cn-chengdu-un",
"region": "SOUTH_WEST",
"serviceProvider": "CHINA_UNICOM",
"replicas": 1,
"city": "CHENGDU"
}
],
"totalInstances": 1,
"runningInstances": 0,
"osImage": {
"id": "5732f5cf-fd17-4e6b-a044-e95bed7da02e",
"imageId": "im-DqQdV8VQ",
"name": "qa-hello-world",
"imageType": "becCommon",
"snapshotId": "",
"cpu": 1,
"memory": 2,
"osType": "linux",
"osVersion": "7.5",
"osName": "CentOS",
"osBuild": "2019110600",
"osLang": "ENG",
"diskSize": 0,
"createTime": "2020-10-22T03:59:36Z",
"status": "active",
"minMem": 1,
"minCpu": 0,
"minDiskGb": 40,
"desc": "centos-7u5-x86_64-20191105105756",
"osArch": "x86_64 (64bit)",
"ephemeralSize": 0,
"imageDescription": "centos-7u5-x86_64-20191105105756",
"shareToUserNumLimit": 0,
"sharedToUserNum": 0,
"fpgaType": "",
"name_fri": null
},
"createTime": null,
"totalGpu": 0,
"bandwidth": null,
"totalBandwidth": "0Mbps"
}
}
Model对象定义
ActionInfoVo
参数名称 | 类型 | 描述 |
---|---|---|
result | Boolean | 返回结果,true:表示为成功,false:表示为不成功 |
action | String | 系统返回的操作描述,本接口为“create” |
details | Map | 返回结果,包含VmServiceBriefVo |
VmServiceBriefVo
参数名称 | 类型 | 描述 |
---|---|---|
serviceId | String | 虚机服务ID |
serviceName | String | 虚机服务名称 |
status | String | 资源状态(NORMAL、FAILED) |
instances | List<VmInstanceIdVo> | 创建请求返回的虚机ID信息列表 |
totalCpu | float | 该服务的CPU总数 |
totalMem | float | 该服务的内存总数 |
totalRootDisk | Integer | 该服务的系统盘总数 |
totalDisk | Integer | 该服务的数据盘总数 |
regions | Integer | 该服务的区域总数 |
deployInstances | List<DeploymentInstance> | 该服务部署区域列表 |
totalInstances | Integer | 该服务已部署实例总数 |
runningInstances | Integer | 该服务运行实例数 |
osImage | ImageDetail | 系统镜像详情 |
createTime | Date | 创建时间 |
VmInstanceIdVo
参数名称 | 类型 | 描述 |
---|---|---|
vmId | String | 创建返回的虚机ID |
vmName | String | 虚机名称(默认与VmId相同) |
regionId | String | 节点ID |
region | String | 虚机部署区域 |
serviceProvider | String | 虚机部署运营商 |
city | String | 虚机部署城市 |
ImageDetail
参数名称 | 类型 | 描述 |
---|---|---|
id | String | ID |
imageId | String | imageId |
name | String | 镜像名称 |
imageType | String | 镜像类型 |
snapshotId | String | 快照ID |
cpu | Integer | CPU数量 |
memory | Integer | 内存数量 |
osType | String | OS类型 |
osVersion | String | OS版本 |
osName | String | OS名称 |
osBuild | String | OS创建时间 |
osLang | String | OS语言 |
diskSize | Integer | 磁盘大小 |
createTime | Date | 创建时间 |
minCpu | Integer | 最小CPU数量 |
minMem | Integer | 最小内存数量 |
minDiskGb | Integert | 最小磁盘数量 |
desc | String | 描述 |
osArch | String | OS Arch |
ephemeralSize | Integer | Ephemeral大小 |
imageDescription | String | 镜像描述 |
shareToUserNumLimit | Integer | 分享数量限制 |
sharedToUserNum | Integer | 分享数量 |
fpgaType | String | FPGA类型 |
name_fri | String | name_fri |
VolumeConfig
参数名称 | 类型 | 描述 |
---|---|---|
name | String | 磁盘名称 |
sizeInGB | Integer | 磁盘大小(单位G) |
volumeType | DiskType | 磁盘类型,普通数据盘类型包括:NVME和SATA; 云磁盘类型包括:CDS_HDD; 独占盘类型包括HDD_PASSTHROUGH和SSD_PASSTHROUGH |
passthroughCode | String | 独占盘套餐码,非独占盘不需要填写,独占盘套餐码可通过获取独占盘接口获取 |
DeploymentInstance
参数名称 | 类型 | 是否必需 | 描述 |
---|---|---|---|
regionId | String | 否,海外节点为必填。 | 节点ID,由“国家码-城市-运营商”的小写字母组成字符串。例如 cn-hangzhou-cm,其中国家码标准为ISO 3166-2,城市为拼音,运营商为中国移动cm/中国电信ct/中国联通un/三线ix,海外节点运营商为bgp。如果传regjionId,则可以不传region、serviceProvider、city。 |
region | Region | 是 | 区域 |
city | String | 是 | 城市 |
serviceProvider | ServiceProvider | 是 | 运营商 |
subServiceProviders | List<String> | 否 | 仅适用于VPC三线节点。可以指定运营商公网,值为ct,un,cm,其中ct电信、un联通、cm移动。如果不指定该参数则默认三个运营商 |
replicas | Integer | 是 | 副本数,最小为1 |
networkType | String | 是 | 指定网络类型,枚举值有classic(经典网络)或vpc(VPC网络) |
vpcId | String | 否 | 指定私有网络ID。只有网络类型为vpc时生效;若不指定vpcId时则使用默认私有网络和默认子网 |
subnetId | String | 否 | 指定私有网络的子网ID。只有网络类型为vpc时生效;若不指定subnetId时则会使用默认VPC的默认子网 |
DnsConfig
参数名称 | 类型 | 描述 |
---|---|---|
dnsType | DnsType | DNS类型 |
dnsAddress | String | DNS地址,多个DNS地址以逗号分隔 |
DnsType
类型 | 描述 |
---|---|
NONE | 不需要设置 |
DEFAULT | 国内节点使用默认DNS地址(114.114.114.114), 海外节点使用默认DNS地址(8.8.8.8) |
CUSTOMIZE | 使用自定义DNS地址 |
LOCAL | 使用所属节点的local dns |
NetworkConfig
参数名称 | 类型 | 描述 |
---|---|---|
nodeType | NodeType | 节点类型(SINGLE单线、TRIPLE三线) |
networksList | List<Networks> | 网卡信息,包含Networks |
Networks
参数名称 | 类型 | 描述 |
---|---|---|
netType | NetType | 网卡类型 (INTERNAL_IP表示内网;单线节点使用PUBLIC_IP表示公网网卡;三线节点用TRIPLE_CT、TRIPLE_UN、TRIPLE_CM分别表示公网的电信、联通、移动) |
netName | String | 网卡名称,内外网卡的名称不能重复;支持大小写字母,数字,"-_",必须以字母开头,长度3-16字符。 |
NetType
类型 | 描述 |
---|---|
INTERNAL_IP | 内网 |
PUBLIC_IP | 外网 |
NodeType
类型 | 描述 |
---|---|
SINGLE | 单线 |
TRIPLE | 三线 |
KeyConfig
参数名称 | 类型 | 描述 |
---|---|---|
type | String | 类型,bccKeyPair为选择密钥对,password为选择的密码 |
bccKeyPairIdList | List<String> | 虚机密钥对ID列表 |
adminPass | String | 虚机密码限制长度为8~32位字符,英文、数字和符号必须同时存在,符号仅限!@#$%^+*() |
ServiceProvider
编码 | 描述 |
---|---|
CHINA_MOBILE | 中国移动 |
CHINA_UNICOM | 中国联通 |
CHINA_TELECOM | 中国电信 |
TRIPLE_LINE | 三线 |
BGP | BGP海外节点 |