虚机镜像
更新时间: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    }