虚机服务
更新时间:2022-08-15
创建BEC虚机服务
如下代码可以新建一个BEC虚机服务:
public void createBecVmService(BecClient client) {
// 系统盘信息
SystemVolumeConfig systemVolume = new SystemVolumeConfig();
// 系统盘类型
systemVolume.setVolumeType("SATA");
// 系统盘大小
systemVolume.setSizeInGB(45);
// 系统盘名称
systemVolume.setName("system-disk-name");
// 数据盘列表
List<VolumeConfig> dataVolumeList = new ArrayList<VolumeConfig>();
// 数据盘信息
VolumeConfig volumeConfig = new VolumeConfig();
// 数据盘类型
volumeConfig.setName("SATA");
// 数据盘大小
volumeConfig.setSizeInGB(45);
// 数据盘名称
volumeConfig.setName("test-volume");
dataVolumeList.add(volumeConfig);
// 部署实例
DeploymentInstance deploymentInstance = new DeploymentInstance();
// 部署实例列表
List<DeploymentInstance> deployInstances = new ArrayList<DeploymentInstance>();
// 部署实例地域
deploymentInstance.setRegion("region");
// 部署实例城市
deploymentInstance.setCity("SHANGHAI");
// 部署实例运营商
deploymentInstance.setServiceProvider("CHINA_TELECOM");
// 部署实例节点ID,可替代region city serviceProvider
deploymentInstance.setRegionId("cn-shanghai-cm");
// 网络类型 classic/vpc
deploymentInstance.setNetworkType("vpc");
// VPC ID
deploymentInstance.setVpcId("vpc-xxxxxx");
// 子网ID
deploymentInstance.setSubnetId("sbn-xxxxxx");
// 部署副本
deploymentInstance.setReplicas(1);
deployInstances.add(deploymentInstance);
CreateBecVmServiceRequest request = CreateBecVmServiceRequest.builder()
// 虚机服务名称
.serviceName("service-name")
// 虚机名称
.vmName("vm-name")
// 付费方式,缺省为postpay
.paymentMethod("postpay")
// 是否开通公网,缺省为false
.needPublicIp(true)
// 是否需要内网,缺省为false
.disableIntranet(false)
// 是否需要网络初始化,缺省为false
.disableCloudInit(false)
// 公网带宽大小
.bandwidth(100)
// 部署区域
.deployInstances(deployInstances)
// cpu大小,必须大于1
.cpu(1)
// memory大小,必须大于1
.memory(4)
// 镜像id
.imageId("imageId")
// 镜像类型
.imageType("bec")
// 数据盘
.dataVolumeList(dataVolumeList)
// 系统盘
.systemVolume(systemVolume)
// 密码
.adminPass("adminPass")
// 分机型规则族
.spec("bec.g2.c1m4")
// 主机名
.hostname("hostname")
// 部署集ID列表,目前仅支持1个
.deploysetIdList(Collections.singletonList("dset-xxxxxx"))
.build();
CreateBecVmServiceResponse response = client.createBecVmService(request);
}
获取BEC虚机服务列表
使用以下代码可以获取BEC虚机服务列表:
public void getBecVmServices(BecClient client) {
GetBecVmServicesRequest request = new GetBecVmServicesRequest();
GetBecVmServicesResponse response = client.getBecVmServices(request);
}
更新BEC虚机服务
使用以下代码可以更新BEC虚机服务:
public void updateBecVmService(BecClient client) {
// 部署实例列表
List<DeploymentInstance> deployInstances = new ArrayList<DeploymentInstance>();
// 部署实例
DeploymentInstance deploymentInstance = new DeploymentInstance();
// 部署实例地域
deploymentInstance.setRegion("EAST_CHINA");
// 部署副本
deploymentInstance.setReplicas(2);
// 部署实例运营商
deploymentInstance.setServiceProvider("CHINA_TELECOM");
// 部署实例城市
deploymentInstance.setCity("SHANGHAI");
// 部署实例节点ID,可替代region city serviceProvider
deploymentInstance.setRegionId("cn-shanghai-cm");
deployInstances.add(deploymentInstance);
UpdateBecVmServiceRequest request = UpdateBecVmServiceRequest.builder()
// 服务Id
.serviceId("serviceId")
// 服务名称
.serviceName("test-bec")
// 更新类型(password,replicas,resource)
.type("replicas")
// 密码
.adminPass("adminPass")
.deployInstances(deployInstances)
.build();
UpdateBecVmServiceResponse response = client.updateBecVmService(request);
}
更新虚机服务,包括更新密码、副本数和服务相关参数,详情请参考API参考文档。
获取BEC虚机服务详情
使用以下代码获取BEC虚机服务详情:
public void getBecVmService(BecClient client) {
GetBecVmServiceRequest request = new GetBecVmServiceRequest();
// 服务Id
request.setServiceId("serviceId");
GetBecVmServiceResponse response = client.getBecVmService(request);
}
停止、启动BEC虚机服务
使用以下代码可以停止、启动BEC虚机服务:
public void becVmServiceAction(BecClient client) {
BecVmServiceActionRequest request = new BecVmServiceActionRequest();
// 操作描述(start,stop)
request.setAction("start");
// 服务Id
request.setServiceId("serviceId");
BecVmServiceActionResponse response = client.becVmServiceAction(request);
}
删除BEC虚机服务
使用以下代码可以删除BEC虚机服务:
public void delBecVmService(BecClient client) {
DelBecVmServiceRequest request = new DelBecVmServiceRequest();
// 服务Id
request.setServiceId("serviceId");
DelBecVmServiceResponse response = client.delBecVmService(request);
}
获取BEC服务监控
使用以下代码可以获取BEC服务监控:
public void getBecVmServiceMetrics(BecClient client) {
GetBecVmServiceMetricsRequest request = new GetBecVmServiceMetricsRequest();
// 监控类型(CPU,MEMORY,BANDWIDTH_RECEIVE,BANDWIDTH_TRANSMIT,TRAFFIC_RECEIVE,TRAFFIC_TRANSMIT,REQUEST_NUMBER,REQUEST_RATE,REQUEST_DELAY)
request.setType("CPU");
// 虚机服务id
request.setServiceId("serviceId");
// 偏移秒
request.setOffsetInSeconds(3600);
// 数据点间隔(单位:分钟)
request.setStepInMin(5);
GetBecVmServiceMetricsResponse response = client.getBecVmServiceMetrics(request);
}