更新BEC虚机服务
接口描述
本接口用于更新BEC虚机服务,包括扩容虚机服务、更新服务内所有实例的密码或密钥、更新服务配置、更新服务自定义名称等。
请求结构
1PUT /v1/vm/service/{serviceId} HTTP/1.1
2Host: bec.baidubce.com
3Authorization: authorization string
4
5{
6 "type": type,
7 "spec": spec,
8 "cpu":cpu,
9 "memory":memory,
10 "adminPass":adminPass,
11 "bandwidth":bandwidth,
12 "dataStorage":{
13 "name":name,
14 "sizeInGB":sizeInGB,
15 "volumeType":NVME
16 },
17 "serviceName":serviceName,
18 "deployInstances":{
19 "regionId": regionId,
20 "region":region,
21 "serviceProvider":serviceProvider,
22 "city":city,
23 "replicas":replicas
24 },
25 "replicaTemplate": {
26 "type": type,
27 "templateId": templateId
28 },
29}
请求头域
除公共头域外,无其它特殊头域。
请求参数
参数名称 | 类型 | 是否必需 | 参数位置 | 描述 |
---|---|---|---|---|
serviceId | String | 是 | URL参数 | 虚机服务ID |
type | String | 是 | RequestBody参数 | 更新类型,取值为 password、replicas、resource、serviceName、securityGroup,分别表示密码、副本数量、虚机资源、服务名字、安全组。其中安全组只适用于VPC网络的虚机。 |
spec | String | 否 | RequestBody参数 | 规格族,传入按指定机型策略创建,不传则按随机分配策略创建;使用spec参数则不需要填写cpu/memory |
cpu | Integer | 否 | RequestBody参数 | CPU大小;随机分配策略必填 |
memory | Integer | 否 | RequestBody参数 | 内存大小;随机分配策略必填 |
dataStorage | VolumeConfig | 否 | RequestBody参数 | 数据盘大小 |
keyConfig | KeyConfig | 是 | RequestBody参数 | 密码或密钥配置 |
bandwidth | float | 否 | RequestBody参数 | 公网带宽大小(-1时为最大值),单位Mbps |
serviceName | String | 否 | RequestBody参数 | 服务名称 |
deployInstances | List<DeploymentInstance> | 否 | RequestBody参数 | 部署区域列表 |
securityGroupIds | List<String> | 否 | RequestBody参数 | 只适用网络类型为vpc的实例 |
响应头域
除公共头域外,无其它特殊头域。
响应参数
参数名称 | 类型 | 描述 |
---|---|---|
result | boolean | 是否成功,true:成功;false:失败 |
action | String | 操作描述 |
detail | VmServiceBriefVo | 操作对象返回 |
错误码
请参照错误返回章节的内容。
请求示例
扩容虚机服务
1PUT /v1/vm/service/s-lqrs2a7u HTTP/1.1
2Host: bec.baidubce.com
3Authorization: bce-auth-v1/f81d3b34e48048fbb2634dc7882d7e21/2015-08-11T04:17:29Z/3600/host/74c506f68c65e26c633bfa104c863fffac5190fdec1ec24b7c03eb5d67d2e1de
4
5{
6 "type":"replicas",
7 "serviceId":"s-lqrs2a7u",
8 "deployInstances":[
9 {
10 "regionId": "cn-chengdu-un",
11 "region":"SOUTH_WEST",
12 "city":"CHENGDU",
13 "serviceProvider":"CHINA_UNICOM",
14 "replicas":2
15 }]
16}
更新虚机服务配置
1PUT /v1/vm/service/s-lqrs2a7u HTTP/1.1
2Host: bec.baidubce.com
3Authorization: bce-auth-v1/f81d3b34e48048fbb2634dc7882d7e21/2015-08-11T04:17:29Z/3600/host/74c506f68c65e26c633bfa104c863fffac5190fdec1ec24b7c03eb5d67d2e1de
4{
5 "type": "resource",
6 "serviceId": "s-lqrs2a7u",
7 "spec": "bec.c2.c1m2"
8 "cpu": 1,
9 "memory": 2,
10 "bandwidth": 99
11}
更新虚机服务内所有虚机实例的密码
目前虚机登录支持密码和密钥两种方式,密码和密钥需要二选一。密码限制长度为8~32位字符,包括英文、数字和符号,符号仅限!@#$%^+*()。
1PUT /v1/vm/service/s-lqrs2a7u HTTP/1.1
2Host: bec.baidubce.com
3Authorization: bce-auth-v1/f81d3b34e48048fbb2634dc7882d7e21/2015-08-11T04:17:29Z/3600/host/74c506f68c65e26c633bfa104c863fffac5190fdec1ec24b7c03eb5d67d2e1de
4{
5 "type": "password",
6 "serviceId": "s-lqrs2a7u",
7 "keyConfig": {
8 "type": "password",
9 "adminPass": "password"
10 }
11}
12
更新虚机服务内所有虚机实例的密钥
目前虚机登录支持密码和密钥两种方式,密码和密钥需要二选一。密钥仅支持BCC密钥,在使用前必须先在BCC的华北-北京区域创建密钥对。
以下是更新虚机服务内所有虚机实例的密钥,其中:
- keyConfig的参数type填bccKeyPair
-
bccKeyPairIdList填bcc密钥对的keyId
keyId可以通过BCC查询密钥对列表获得。
PUT /v1/vm/service/s-lqrs2a7u HTTP/1.1 Host: bec.baidubce.com Authorization: bce-auth-v1/f81d3b34e48048fbb2634dc7882d7e21/2015-08-11T04:17:29Z/3600/host/74c506f68c65e26c633bfa104c863fffac5190fdec1ec24b7c03eb5d67d2e1de { "type": "password", "service": "vm-immgo4ap", "keyConfig": { "type": "bccKeyPair", "bccKeyPairIdList": [ "k-UDUCAe4n", "k-lGMRwvfW", "k-gMgYnQbo" ] } }
更新虚机服务名称
1PUT /v1/vm/service/s-lqrs2a7u HTTP/1.1
2Host: bec.baidubce.com
3Authorization: bce-auth-v1/f81d3b34e48048fbb2634dc7882d7e21/2015-08-11T04:17:29Z/3600/host/74c506f68c65e26c633bfa104c863fffac5190fdec1ec24b7c03eb5d67d2e1de
4{
5 "serviceId": "s-lqrs2a7u",
6 "type": "serviceName",
7 "serviceName": "YourNewName"
8}
扩容实例使用VPC网络注意事项
变配:目前不支持经典网络虚机与VPC网络虚机的互相变配
注意VPC网络分节点创建,不能跨节点指定VPC。 扩容VPC网络的虚机,请求DeploymenetInstance的网络类型networkType为vpc
扩容节点如果选择vpc网络,可以指定使用自定义已创建好的vpcId和subnetId; 如果没有指定vpcId和subnetId,系统会为每个节点创建并使用默认的私有网络和子网;默认私有网络CIDR为172.16.0.0/20,默认子网CIDR为172.16.0.0/24
1 "deployInstances": [
2 {
3 "regionId": regionId,
4 "region": region,
5 "serviceProvider": serviceProvider,
6 "city": city,
7 "networkType":"vpc",
8 "vpcId": vpcId,
9 "subnetId": subnetId,
10 "replicas": replicas
11 }
12 ]
指定安全组(securityGroupIds)只适用于vpc网络的实例。如果选用了vpc网络,但是没有指定安全组ID,BEC会创建并使用一个默认的安全组,默认安全组规则如下:
方向 | 协议 | 端口 | 类型 | 目的地址 |
---|---|---|---|---|
出站 | 全部协议 | 1-65535 | IPv4 | 目的IP: 0.0.0.0/0 |
响应示例
1HTTP/1.1 200 OK
2Content-Type: application/json;charset=UTF-8
3Date: Wed, 08 Jul 2015 03:28:11 GMT
4x-bce-request-id: d8752367-38e8-45e4-b4c7-e53be3137ce5
5Server: BWS
6{
7 "action": "update",
8 "details": {
9 "bandwidth": "100Mbps",
10 "createTime": "2021-02-08T12:06:33Z",
11 "deployInstances": [
12 {
13 "regionId": "cn-chengdu-un",
14 "city": "CHENGDU",
15 "region": "SOUTH_WEST",
16 "replicas": 1,
17 "serviceProvider": "CHINA_UNICOM"
18 }
19 ],
20 "osImage": {
21 "cpu": 0,
22 "createTime": "2020-11-13T13:47:10Z",
23 "desc": "ubuntu-18.04-amd64-20201113213429",
24 "diskSize": 0,
25 "ephemeralSize": 0,
26 "fpgaType": "",
27 "id": "8d3e507f-8b7f-44aa-a3b2-fc52fedecdc3",
28 "imageDescription": "ubuntu-18.04-amd64-20201113213429",
29 "imageId": "m-IIyr1NaO",
30 "imageType": "common",
31 "memory": 0,
32 "minCpu": 0,
33 "minDiskGb": 20,
34 "minMem": 1,
35 "name": "ubuntu-18.04-amd64-20201113213429",
36 "name_fri": null,
37 "osArch": "amd64 (64bit)",
38 "osBuild": "2020111300",
39 "osLang": "ENG",
40 "osName": "Ubuntu",
41 "osType": "linux",
42 "osVersion": "18.04 LTS",
43 "shareToUserNumLimit": 0,
44 "sharedToUserNum": 0,
45 "snapshotId": "",
46 "status": "active"
47 },
48 "regions": 1,
49 "runningInstances": 1,
50 "serviceId": "s-lqrs2a7u",
51 "serviceName": "service-name",
52 "status": "NORMAL",
53 "totalBandwidth": "100Mbps",
54 "totalCpu": 1,
55 "totalDisk": 20,
56 "totalGpu": 0,
57 "totalInstances": 1,
58 "totalMem": 2,
59 "totalRootDisk": 40
60 },
61 "result": true
62}
Model对象定义
ActionInfoVo
参数名称 | 类型 | 描述 |
---|---|---|
result | Boolean | 是否成功,true:成功;false:失败 |
action | String | 操作描述 |
detail | VmServiceBriefVo | 操作对象返回 |
VmServiceBriefVo
参数名称 | 类型 | 描述 |
---|---|---|
serviceId | String | 虚机服务ID |
serviceName | String | 虚机服务名称 |
status | String | 资源状态(NORMAL、FAILED) |
totalCpu | float | CPU数量 |
totalMem | float | 内存数量 |
totalRootDisk | Integer | 系统盘数量 |
totalDisk | Integer | 数据盘数量 |
regions | Integer | 区域数量 |
deployInstances | List<DeploymentInstance> | 部署区域列表 |
totalInstances | Integer | 总实例数 |
runningInstances | Integer | 运行实例数 |
osImage | ImageDetail | 系统镜像详情 |
createTime | Date | 创建时间 |
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 | Integer | 最小磁盘数量 |
desc | String | 描述 |
osArch | String | OS架构 |
ephemeralSize | Integer | ephemeralSize |
imageDescription | String | 镜像描述 |
shareToUserNumLimit | Integer | 分享数量限制 |
sharedToUserNum | Integer | 分享数量 |
fpgaType | String | fpga类型 |
name_fri | String | name_fri |
DeploymentInstance
参数名称 | 类型 | 是否必需 | 描述 |
---|---|---|---|
regionId | String | 否,海外节点为必填。 | 节点ID,由“国家码-城市-运营商”的小写字母组成字符串。例如 cn-hangzhou-cm,其中国家码标准为ISO 3166-2,城市为拼音,运营商为中国移动cm/中国电信ct/中国联通un/三线ix/bgp。如果传regionId,则可以不传region、serviceProvider、city。 |
region | Region | 否 | 区域 |
serviceProvider | ServiceProvider | 否 | 运营商 |
subServiceProviders | List<String> | 否 | 仅适用于VPC三线节点。可以指定运营商公网,值为ct,un,cm,其中ct电信、un联通、cm移动。如果不指定该参数则默认三个运营商 |
city | String | 否 | 城市 |
replicas | Integer | 是 | 副本数,最小为1 |
networkType | String | 否 | 网络类型,枚举值有classic(经典网络)或vpc(私有网络)。开通VPC白名单后,默认网络为VPC;不支持变配网络类型;扩容的实例不限于原网络类型。 |
vpcId | String | 否 | 指定私有网络ID。只有网络类型为vpc时生效;若不指定vpcId,则创建使用一个默认的私有网络 |
subnetId | String | 否 | 指定私有网络的子网ID。只有网络类型为vpc时生效。若不指定subnetId时则会创建使用默认VPC的默认子网 |
VolumeConfig
参数名称 | 类型 | 描述 |
---|---|---|
name | String | 磁盘名称 |
sizeInGB | Integer | 磁盘大小(单位G) |
volumeType | DiskType | 磁盘类型(NVME、SATA) |
KeyConfig
参数名称 | 类型 | 描述 |
---|---|---|
type | String | 类型,bccKeyPair为选择密钥对,password为选择的密码 |
bccKeyPairIdList | List<String> | BCC虚机密钥对ID列表 |
adminPass | String | 虚机密码限制长度为8~32位字符,包括英文、数字和符号,符号仅限!@#$%^+*() |
ReplicaTemplate
参数名称 | 类型 | 描述 |
---|---|---|
type | String | 模板类型(template或instance)。类型为template是基于虚机模板扩容;类型为instance是基于已存在的虚机实例扩容。 |
templateId | String | 当type为template时填写虚机模板ID(需要先通过控制台上创建虚机模板,ID格式为tmpl-xxxxx);type为instance时填虚机实例ID |
ServiceProvider
编码 | 描述 |
---|---|
CHINA_MOBILE | 中国移动 |
CHINA_UNICOM | 中国联通 |
CHINA_TELECOM | 中国电信 |
TRIPLE_LINE | 三线 |
BGP | BGP |