更新BEC虚机实例
所有文档
menu

边缘计算节点 BEC

更新BEC虚机实例

产品详情立即开通

接口描述

本接口用于更新BEC虚机实例配置。

请求结构

PUT /v1/vm/instance/{vmId} HTTP/1.1
Host: bec.baidubce.com
Authorization: authorization string

{
    "type": "type",
    "spec": spec,
    "cpu":cpu,
    "memory":memory,
    "systemVolume": {
        "volumeType": "volumeType",
        "sizeInGB": sizeInGB,
        "name": "name",
        "pvcName": "pvcName"
    },
    "keyConfig": {
        "type": "type",
        "adminPass": "password",
        "bccKeyPairIdList": [],
     }
    "bandwidth":bandwidth,
    "dnsConfig": {
        "dnsType": "dnsType",
        "dnsAddress": "dnsAddress"
    },
    "networkConfig": {
        "nodeType": "SINGLE",
        "networksList": [
            {
                "netType": "INTERNAL_IP",
                "netName": "eth0",
                "eniId": "nic-xxx-xxx"
            },
            {
                "netType": "PUBLIC_IP",
                "netName": "eth1",
                "eniId": "nic-xxx-xxx"
            }
        ]
    },
    "dataStorage":{
        "name":"name",
        "sizeInGB":sizeInGB,
        "volumeType":"volumeType",
        "pvcName": "pvcName"
    },
     "securityGroupIds": ["sgId"]
}

请求头域

除公共头域外,无其它特殊头域。

请求参数

参数名称 类型 是否必需 参数位置 描述
vmId String URL参数 虚机实例ID
type String RequestBody参数 更新类型。取值为password、vmName、resource、securityGroup、hostname,分别为密码、虚机名字、资源配置、安全组、主机名
spec String RequestBody参数 规格族,传入按指定机型策略修改,不传则按随机分配策略修改。变配不能改变虚机策略或者机型;使用spec参数则不需要填写cpu/memory
cpu Integer RequestBody参数 CPU大小;修改带宽时必填;随机分配策略必填
memory Integer RequestBody参数 内存大小;随机分配策略必填
dataVolumeList List<VolumeConfig> RequestBody参数 数据盘列表(磁盘类型为CDS_HDD或CDS_SSD时可修改磁盘大小)
systemVolume SystemVolumeConfig RequestBody参数 系统盘大小(磁盘类型为CDS_HDD或CDS_SSD时可修改磁盘大小)
keyConfig KeyConfig RequestBody参数 密码或密钥配置
bandwidth float RequestBody参数 公网带宽大小(-1时为最大值),单位Mbps
dnsConfig DnsConfig RequestBody参数 DNS配置
needIpv6PublicIp Boolean RequestBody参数 是否开通IPv6公网,true为开通,false为不开通。缺省为false
networkConfig NetworkConfig RequestBody参数 包含内外网卡名称的设置
vmName String RequestBody参数 实例名称
securityGroupIds List<String> RequestBody参数 虚机关联的安全组ID列表。仅限虚机的网络类型为vpc时有效。
hostname String RequestBody参数 虚机主机名,仅支持小写字母、数字以及-特殊字符,必须以字母开头,长度2-64。需同时指定参数type为hostname
reboot Boolean RequestBody参数 显式地指定是否自动重启,true为重启,false为不重启。默认忽略此参数。

响应头域

除公共头域外,无其它特殊头域。

响应参数

参数名称 类型 描述
details VmInstanceDetailsVo 虚机实例信息
action String 更新操作,返回为“update”
result Boolean 操作是否成功,true:表示成功;false:表示失败

错误码

请参照错误返回章节的内容。

请求示例

更新资源配置

更新类型值为resource,表示更新虚机配置,包括CPU、内存、DNS、带宽、网卡、IP地址类型、数据盘。

仅修改带宽时不会导致虚机重启,其余情况默认均会导致虚机重启。

PUT /v1/vm/instance/vm-6ahy6dli HTTP/1.1
Host: bec.baidubce.com
Authorization: bce-auth-v1/f81d3b34e48048fbb2634dc7882d7e21/2015-08-11T04:17:29Z/3600/host/74c506f68c65e26c633bfa104c863fffac5190fdec1ec24b7c03eb5d67d2e1de

{
    "vmId": "vm-6ahy6dl",
    "type": "resource",
    "spec": "bec.g2.c1m4"
    "cpu": 1,
    "memory": 4,
    "dataVolumeList": [{
        "sizeInGB": 20,
        "volumeType": "NVME",
        "name": "addNewDataDisk",
        "pvcName": "lvm-6ahy6dl"
    }],
    "systemVolume": {
        "volumeType": "NVME",
        "sizeInGB": 40,
        "name": "sys",
        "pvcName": "lvm-6ahy6dl-rootfs"
    },
    "dnsConfig": {
        "dnsType": "CUSTOMIZE",
        "dnsAddress": "129.29.29.29"
    },
    "networkConfig": {
        "nodeType": "SINGLE",
        "networksList": [
            {
                "netType": "INTERNAL_IP",
                "netName": "eth0",
                "eniId": "nic-6ahy6dli-1"
            }
            {
                "netType": "PUBLIC_IP",
                "netName": "eth1",
                "eniId": "nic-6ahy6dli-2"
            }
        ]
    },
    "needIpv6PublicIp": true,
    "bandwidth": 67
}

更新密码

密码限制长度为8~32位字符,由英文、数字和符号组成,符号仅限!@#$%^+*()。

PUT /v1/vm/instance/vm-6ahy6dli HTTP/1.1
Host: bec.baidubce.com
Authorization: bce-auth-v1/f81d3b34e48048fbb2634dc7882d7e21/2015-08-11T04:17:29Z/3600/host/74c506f68c65e26c633bfa104c863fffac5190fdec1ec24b7c03eb5d67d2e1de

    {
        "keyConfig": {
            "type": "bccKeyPair",
            "bccKeyPairIdList": ["k-1MkI9Laa"]
        },
        "type": "password",
        "vmId": "vm-6ahy6dli"
    }

更新密钥

仅支持BCC密钥。使用前必须先在BCC的华北-北京区域创建密钥对。keyConfig的参数type填bccKeyPair,bccKeyPairIdList是bcc密钥对的keyId列表,keyId可通过BCC查询密钥对列表获得。

PUT /v1/vm/instance/vm-6ahy6dli HTTP/1.1
Host: bec.baidubce.com
Authorization: bce-auth-v1/f81d3b34e48048fbb2634dc7882d7e21/2015-08-11T04:17:29Z/3600/host/74c506f68c65e26c633bfa104c863fffac5190fdec1ec24b7c03eb5d67d2e1de

    {
        "keyConfig": {
            "type": "bccKeyPair",
            "bccKeyPairIdList": ["k-1MkI9Laa"]
        },
        "type": "password",
        "vmId": "vm-6ahy6dli"
    }     

更新安全组

仅限于虚机的网络为VPC网络

PUT /v1/vm/instance/vm-6ahy6dli HTTP/1.1
Host: bec.baidubce.com
Authorization: bce-auth-v1/f81d3b34e48048fbb2634dc7882d7e21/2015-08-11T04:17:29Z/3600/host/uuid

{
     "type": "securityGroup",
     "vmId": "vm-6ahy6dli",
     "securityGroupIds": ["sg-i3zdwkp8","sg-kmmmiueq"]
}      

更新hostname

PUT /v1/vm/instance/vm-6ahy6dli HTTP/1.1
Host: bec.baidubce.com
Authorization: bce-auth-v1/f81d3b34e48048fbb2634dc7882d7e21/2015-08-11T04:17:29Z/3600/host/uuid

{
     "type": "hostname",
     "vmId": "vm-6ahy6dli",
     "hostname": "mynewone"
}       

VPC网络变更网卡

对于VPC网络的虚机,支持自定义网卡名称和顺序:

  • networkConfig.networksList为网络变配目标后的全量网卡的列表;注意:如果不在列表内的网卡,变配后该网卡将被移除!
  • 如果变更网卡顺序,networksList为网络变配目标的全部网卡的列表,按照列表顺序排列即可;
  • 如果更新既有网卡名称,必须携带eniId标识指定更新的网卡:
    {
        "netType": "PUBLIC_IP",
        "netName": "eth0",
        "eniId": "eni-xxx-xxx"
    }
  • 如果新增网卡,新增一个networks结构且不指定eniId
    {
        "netType": "PUBLIC_IP",
        "netName": "newNetwork"
    }
  • 如果移除网卡,networksList不包括该网卡即可;
  • 网卡变配操作将触发虚机自动重启,重启完成后网卡配置才能生效;

networksList为网卡列表,nodeType值SINGLE为单线,值TRIPLE为三线节点; 网卡变配示例如下,包含2个既有网卡和新增1个外网网卡:

PUT /v1/vm/instance/vm-6ahy6dli HTTP/1.1
Host: bec.baidubce.com
Authorization: bce-auth-v1/f81d3b34e48048fbb2634dc7882d7e21/2015-08-11T04:17:29Z/3600/host/uuid

{
     "type": "resource",
     "networkConfig": {
        "nodeType": "SINGLE",
        "networksList": [
            {
                "netType": "INTERNAL_IP",
                "netName": "eth0",
                "eniId": "nic-6ahy6dli-1"
            },
            {
                "netType": "PUBLIC_IP",
                "netName": "eth1",
                "eniId": "nic-6ahy6dli-2"
            },
            {
                "netType": "PUBLIC_IP",
                "netName": "eth2"
            }
        ]
    }
}       

响应示例

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": "update",
    "details": {
        "publicIp": "36.158.184.31",
        "ipv6PublicIp": "",
        "internalIp": null,
        "multiplePublicIp": null,
        "serviceProvider": "CHINA_MOBILE",
        "vmId": "vm-i029wtci-0-m-xiangtan-f1gvv",
        "uuid": "76050e65-b8e5-4fcf-a61b-dd2b71949370",
        "vmName": "vm-i029wtci-0-m-xiangtan-f1gvv",
        "status": "RUNNING",
        "spec": "bec.c2.c1m2"
        "cpu": 1,
        "mem": 2,
        "gpu": 0,
        "regionId": "cn-xiangtan-cm"
        "region": "CENTRAL_CHINA",
        "city": "XIANGTAN",
        "needPublicIp": true,
        "needIpv6PublicIp": true,
        "bandwidth": "100Mbps",
        "osImage": {
            "id": "49",
            "imageId": "im-awwxnhme-2-u-huhehaote",
            "name": "helloworld",
            "imageType": "becCustom",
            "snapshotId": null,
            "cpu": 0,
            "memory": 0,
            "osType": "linux",
            "osVersion": "7.3",
            "osName": "CentOS",
            "osBuild": "2020122100",
            "osLang": "ENG",
            "diskSize": 0,
            "createTime": "2021-01-25T13:30:02Z",
            "status": null,
            "minMem": 0,
            "minCpu": 0,
            "minDiskGb": 0,
            "desc": null,
            "osArch": "x86_64 (64bit)",
            "ephemeralSize": 0,
            "imageDescription": null,
            "shareToUserNumLimit": 0,
            "sharedToUserNum": 0,
            "fpgaType": null,
            "name_fri": null
        },
        "dns":"customize-129.29.29.29",
        "serviceId": "s-i029wtci",
        "createTime": "2021-03-01T10:34:06Z",
        "rootDiskSize": 40,
        "dataStorage": 43,
        "systemVolume": {
            "volumeType": "SATA",
            "sizeInGB": 40,
            "name": "vm-rootfs",
            "pvcName": "lvm-i029wtci-0-m-xiangtan-f1gvv-rootfs"
        },
        "dataVolumeList": [
            {
                "name": "volume1",
                "volumeType": "NVME",
                "sizeInGB": 21,
                "pvcName": "lvm-i029wtci-0-m-xiangtan-f1gvv-0ya7f"
            }
        ]
    }
}

Model对象定义

VmInstanceDetailsVo

参数名称 类型 描述
vmId String 虚机实例ID
uuId String 虚机实例ID
vmName String 虚机实例名称
status String 资源状态(CREATING、RUNNING、STOPPING、STOPPED、RESTARTING、REINSTALLING、STARTING、IMAGING、FAILED、UNKNOWN)
spec String 分机型策略虚机规格族
cpu Integer CPU数量
mem Integer 内存数量
gpu Integer GPU数量
rootDiskSize Integer 系统盘数量
dataStorage Integer 数据盘数量
regionId String 节点ID
region String 地域
serviceProvider String 运营商
city String 城市
needPublicIp boolean 是否开通公网
needIpv6PublicIp Boolean 是否开通IPv6公网
multiplePublicIp List<IpInfo> 三线公网IP
ipv6PublicIp String IPv6公网IP
internalIp String 内网IP
bandwidth String 公网带宽大小
osImage ImageDetail 系统镜像详情
serviceId String 虚机服务ID
createTime Date 创建时间
systemVolume SystemVolumeConfig 系统盘
dataVolumeList List<VolumeConfig> 数据盘列表

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 osArch
ephemeralSize Integer ephemeralSize
imageDescription String 镜像描述
shareToUserNumLimit Integer 分享数量限制
sharedToUserNum Integer 分享数量
fpgaType String fpgaType
name_fri String name_fri

SystemVolumeConfig

参数名称 类型 描述
volumeType DiskType 盘类型
sizeInGB Integer 盘尺寸
name String 盘名称
pvcName String PVC名称

VolumeConfig

参数名称 类型 描述
volumeType DiskType 盘类型
sizeInGB Integer 盘尺寸
name String 盘名称
pvcName String PVC名称

KeyConfig

参数名称 类型 描述
type String 类型。bccKeyPair为选择密钥对,password为选择的密码
bccKeyPairIdList List<String> 虚机密钥对ID列表
adminPass String 虚机密码限制长度为8~32位字符,英文、数字和符号必须同时存在,符号仅限!@#$%^+*()

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 String 节点类型(SINGLE、TRIPLE,分别表示单线节点和三线节点)
networksList List<Networks> 网卡信息,包含Networks。经典网络顺序固定为内+外,不可自定义;VPC网络可以自定义网卡顺序

Networks

参数名称 类型 描述
netType String 网卡类型 (INTERNAL_IP表示内网;单线节点使用PUBLIC_IP表示单线公网网卡;三线节点用TRIPLE_CT、TRIPLE_UN、TRIPLE_CM分别表示三线公网的电信、联通、移动)
netName String 网卡名称,内外网卡的名称不能重复;支持大小写字母,数字,"-_",必须以字母开头,长度3-16字符。
eniId String 网卡ID,更新网卡时需指定该ID。通过获取虚机实例详情获得eniId

上一篇
添加虚机内网辅助IP
下一篇
BEC虚机解除关联安全组