虚机服务
更新时间:2022-08-15
创建BEC虚机服务
如下代码可以新建一个BEC虚机服务:
Java
1public void createBecVmService(BecClient client) {
2 // 系统盘信息
3 SystemVolumeConfig systemVolume = new SystemVolumeConfig();
4 // 系统盘类型
5 systemVolume.setVolumeType("SATA");
6 // 系统盘大小
7 systemVolume.setSizeInGB(45);
8 // 系统盘名称
9 systemVolume.setName("system-disk-name");
10
11 // 数据盘列表
12 List<VolumeConfig> dataVolumeList = new ArrayList<VolumeConfig>();
13 // 数据盘信息
14 VolumeConfig volumeConfig = new VolumeConfig();
15 // 数据盘类型
16 volumeConfig.setName("SATA");
17 // 数据盘大小
18 volumeConfig.setSizeInGB(45);
19 // 数据盘名称
20 volumeConfig.setName("test-volume");
21 dataVolumeList.add(volumeConfig);
22
23 // 部署实例
24 DeploymentInstance deploymentInstance = new DeploymentInstance();
25 // 部署实例列表
26 List<DeploymentInstance> deployInstances = new ArrayList<DeploymentInstance>();
27 // 部署实例地域
28 deploymentInstance.setRegion("region");
29 // 部署实例城市
30 deploymentInstance.setCity("SHANGHAI");
31 // 部署实例运营商
32 deploymentInstance.setServiceProvider("CHINA_TELECOM");
33 // 部署实例节点ID,可替代region city serviceProvider
34 deploymentInstance.setRegionId("cn-shanghai-cm");
35 // 网络类型 classic/vpc
36 deploymentInstance.setNetworkType("vpc");
37 // VPC ID
38 deploymentInstance.setVpcId("vpc-xxxxxx");
39 // 子网ID
40 deploymentInstance.setSubnetId("sbn-xxxxxx");
41 // 部署副本
42 deploymentInstance.setReplicas(1);
43 deployInstances.add(deploymentInstance);
44
45 CreateBecVmServiceRequest request = CreateBecVmServiceRequest.builder()
46 // 虚机服务名称
47 .serviceName("service-name")
48 // 虚机名称
49 .vmName("vm-name")
50 // 付费方式,缺省为postpay
51 .paymentMethod("postpay")
52 // 是否开通公网,缺省为false
53 .needPublicIp(true)
54 // 是否需要内网,缺省为false
55 .disableIntranet(false)
56 // 是否需要网络初始化,缺省为false
57 .disableCloudInit(false)
58 // 公网带宽大小
59 .bandwidth(100)
60 // 部署区域
61 .deployInstances(deployInstances)
62 // cpu大小,必须大于1
63 .cpu(1)
64 // memory大小,必须大于1
65 .memory(4)
66 // 镜像id
67 .imageId("imageId")
68 // 镜像类型
69 .imageType("bec")
70 // 数据盘
71 .dataVolumeList(dataVolumeList)
72 // 系统盘
73 .systemVolume(systemVolume)
74 // 密码
75 .adminPass("adminPass")
76 // 分机型规则族
77 .spec("bec.g2.c1m4")
78 // 主机名
79 .hostname("hostname")
80 // 部署集ID列表,目前仅支持1个
81 .deploysetIdList(Collections.singletonList("dset-xxxxxx"))
82 .build();
83 CreateBecVmServiceResponse response = client.createBecVmService(request);
84}
获取BEC虚机服务列表
使用以下代码可以获取BEC虚机服务列表:
Java
1public void getBecVmServices(BecClient client) {
2 GetBecVmServicesRequest request = new GetBecVmServicesRequest();
3 GetBecVmServicesResponse response = client.getBecVmServices(request);
4}
更新BEC虚机服务
使用以下代码可以更新BEC虚机服务:
Java
1public void updateBecVmService(BecClient client) {
2 // 部署实例列表
3 List<DeploymentInstance> deployInstances = new ArrayList<DeploymentInstance>();
4 // 部署实例
5 DeploymentInstance deploymentInstance = new DeploymentInstance();
6 // 部署实例地域
7 deploymentInstance.setRegion("EAST_CHINA");
8 // 部署副本
9 deploymentInstance.setReplicas(2);
10 // 部署实例运营商
11 deploymentInstance.setServiceProvider("CHINA_TELECOM");
12 // 部署实例城市
13 deploymentInstance.setCity("SHANGHAI");
14 // 部署实例节点ID,可替代region city serviceProvider
15 deploymentInstance.setRegionId("cn-shanghai-cm");
16 deployInstances.add(deploymentInstance);
17
18 UpdateBecVmServiceRequest request = UpdateBecVmServiceRequest.builder()
19 // 服务Id
20 .serviceId("serviceId")
21 // 服务名称
22 .serviceName("test-bec")
23 // 更新类型(password,replicas,resource)
24 .type("replicas")
25 // 密码
26 .adminPass("adminPass")
27 .deployInstances(deployInstances)
28 .build();
29 UpdateBecVmServiceResponse response = client.updateBecVmService(request);
30}
更新虚机服务,包括更新密码、副本数和服务相关参数,详情请参考API参考文档。
获取BEC虚机服务详情
使用以下代码获取BEC虚机服务详情:
Java
1public void getBecVmService(BecClient client) {
2 GetBecVmServiceRequest request = new GetBecVmServiceRequest();
3 // 服务Id
4 request.setServiceId("serviceId");
5 GetBecVmServiceResponse response = client.getBecVmService(request);
6}
停止、启动BEC虚机服务
使用以下代码可以停止、启动BEC虚机服务:
Java
1public void becVmServiceAction(BecClient client) {
2 BecVmServiceActionRequest request = new BecVmServiceActionRequest();
3 // 操作描述(start,stop)
4 request.setAction("start");
5 // 服务Id
6 request.setServiceId("serviceId");
7 BecVmServiceActionResponse response = client.becVmServiceAction(request);
8}
删除BEC虚机服务
使用以下代码可以删除BEC虚机服务:
Java
1public void delBecVmService(BecClient client) {
2 DelBecVmServiceRequest request = new DelBecVmServiceRequest();
3 // 服务Id
4 request.setServiceId("serviceId");
5 DelBecVmServiceResponse response = client.delBecVmService(request);
6}
获取BEC服务监控
使用以下代码可以获取BEC服务监控:
Java
1public void getBecVmServiceMetrics(BecClient client) {
2 GetBecVmServiceMetricsRequest request = new GetBecVmServiceMetricsRequest();
3 // 监控类型(CPU,MEMORY,BANDWIDTH_RECEIVE,BANDWIDTH_TRANSMIT,TRAFFIC_RECEIVE,TRAFFIC_TRANSMIT,REQUEST_NUMBER,REQUEST_RATE,REQUEST_DELAY)
4 request.setType("CPU");
5 // 虚机服务id
6 request.setServiceId("serviceId");
7 // 偏移秒
8 request.setOffsetInSeconds(3600);
9 // 数据点间隔(单位:分钟)
10 request.setStepInMin(5);
11 GetBecVmServiceMetricsResponse response = client.getBecVmServiceMetrics(request);
12}