虚机镜像
更新时间:2025-08-05
创建BEC虚机镜像
- 如果存在还未完成的镜像则不允许创建新镜像。
- 基于快照ID创建镜像:快照状态必须是created,一个快照只能创建一个自定义镜像。
Java
1public void createBecVmImage(BecClient client) {
2 CreateBecVmImageRequest request = new CreateBecVmImageRequest();
3 List<VmImage> images = new ArrayList<>();
4 VmImage image = new VmImage();
5 // 镜像名称,长度为1~65位的字符,包括英文、数字和符号,必需
6 image.setImageName("image name");
7 // 基于虚机实例ID创建镜像 (与snapshotId二选一),非必需
8 request.setVmId("vm-hj4tcvq4-cn-baoding-ct-o4bpk");
9 // 快照ID(与vmId二选一),非必需
10 // image.setPvcId("snap-xxxxxxxx");
11 images.add(image);
12 request.setImages(images);
13 CreateBecVmImageResponse response = client.createBecVmImage(request);
14 }
更新BEC虚机镜像
Java
1public void updateBecVmImage(BecClient client) {
2 UpdateBecVmImageRequest request = new UpdateBecVmImageRequest();
3 // 镜像ID,必需
4 request.setImageId("im-h0otpb5p");
5 // 镜像名称,必需
6 request.setName("new name");
7 UpdateBecVmImageResponse response = client.updateBecVmImage(request);
8 }
获取BEC虚机镜像列表
Java
1public void getBecVmImages(BecClient client) {
2 GetBecVmImagesRequest request = new GetBecVmImagesRequest();
3 ListRequest listRequest = new ListRequest();
4 // 页数,缺省值为1,非必需
5 listRequest.setPageNo(1);
6 // 每页个数,取值范围1~1000,缺省值为1000,非必需
7 listRequest.setPageSize(10);
8 // 查询类型,取值范围为imageId、name,分别表示镜像Id、镜像名字,非必需
9 listRequest.setKeywordType("name");
10 // 查询的关键字,即对应查询类型的具体字段,非必需
11 listRequest.setKeyword("word");
12 // 排序,取值为ASC、DESC,分别表示升序、降序,非必需
13 listRequest.setOrder("ASC");
14 // 排序字段,取值为createTime、systemDisk,分别表示镜像创建时间、系统盘大小,非必需
15 listRequest.setOrderBy("createTime");
16 request.setListRequest(listRequest);
17 // 操作系统名称筛选,取值为CentOS、Ubuntu、Debian、opensuse,非必需
18 request.setOsName("CentOS");
19 // 镜像类型(becCommon公共镜像,becCustom私有镜像),非必需
20 request.setType("becCustom");
21 GetBecVmImagesResponse response = client.getBecVmImages(request);
22 }
批量删除BEC虚机镜像
Java
1public void batchDeleteBecVmImage(BecClient client) {
2 BatchDeleteBecVmImageRequest request = new BatchDeleteBecVmImageRequest();
3 // 镜像ID,必需
4 List<String> imageIdList = Arrays.asList("im-h0otpb5p");
5 request.setImageIdList(imageIdList);
6 BatchDeleteBecVmImageResponse response = client.batchDeleteBecVmImage(request);
7 }