cloudTower申请虚拟机流程

develop
guyuliang 2024-05-29 16:13:50 +08:00
parent 2741746796
commit d71ec3e89f
8 changed files with 130 additions and 1 deletions

View File

@ -12,5 +12,5 @@ public enum CloudProvider {
OPENSTACK, VMWARE, ALIYUN, JDCLOUD, UNKNOWN, SCP, H3C, HMC, FUSIONCLOUD, TENCENT, F5, HUAWEI, XEN, POWERVC, OPENSTACK, VMWARE, ALIYUN, JDCLOUD, UNKNOWN, SCP, H3C, HMC, FUSIONCLOUD, TENCENT, F5, HUAWEI, XEN, POWERVC,
CLOUDOS, AZURE, KINGCLOUD, KUBERNETES, AWS, QCLOUD, TCE, PQCLOUD, MANAGEONE, CLOUDOS, AZURE, KINGCLOUD, KUBERNETES, AWS, QCLOUD, TCE, PQCLOUD, MANAGEONE,
JUMPSERVER, HORIZON, TIANYI, HILLSTONE, CISCO, AGILE, NSX, CAMPUS, HCSO, VEEAM, SMARTX, VOLCENGINE, JUMPSERVER, HORIZON, TIANYI, HILLSTONE, CISCO, AGILE, NSX, CAMPUS, HCSO, VEEAM, SMARTX, VOLCENGINE,
FUSIONSPHERE,EASYSTACK,SANGFOR; FUSIONSPHERE,EASYSTACK,SANGFOR,CLOUDTOWER;
} }

View File

@ -168,6 +168,8 @@ public class VolumeModel {
private String policyName; private String policyName;
private Integer disk;
public VolumeModel() { public VolumeModel() {
super(); super();
} }

View File

@ -73,4 +73,6 @@ public class ApplicationParam {
*/ */
private Long serverId; private Long serverId;
private AssignParam assignParam;
} }

View File

@ -0,0 +1,28 @@
package com.bocloud.cmp.model.common;
import com.bocloud.cmp.model.VolumeModel;
import com.bocloud.cmp.vm.model.CloudTowerDisk;
import lombok.Data;
@Data
public class AssignDataDiskParam {
private Long size;
private VolumeModel originalVolumeModel;
public AssignDataDiskParam() {
}
// public AssignDataDiskParam(ArcherOsDisk archerOsDisk){
// this.size = archerOsDisk.getSize();
// }
public AssignDataDiskParam(CloudTowerDisk cloudTowerDisk) {
this.size = cloudTowerDisk.getSize();
}
// public AssignDataDiskParam(VmwareDisk vmwareDisk) {
// this.size = vmwareDisk.getDisk();
// }
}

View File

@ -0,0 +1,13 @@
package com.bocloud.cmp.model.common;
import lombok.Data;
@Data
public class AssignDataDiskResult {
private Long storeId;
private Long hostId;
private Long size;
private String storeName;
private String storeDeviceUuid;
private AssignDataDiskParam assignDataDiskParam;
}

View File

@ -0,0 +1,28 @@
package com.bocloud.cmp.model.common;
import com.alibaba.fastjson.JSONObject;
import lombok.Data;
import java.util.List;
@Data
public class AssignParam {
private String uuid;
private Long Cpu;
private Long Memory;
private Long Disk;
private Integer Instance;
private Integer remain;
private Long poolGroupId;
private Long templateDisk;
private List<AssignDataDiskParam> dataDiskParams;
private JSONObject originalConfigs;
public Integer getInstance() {
if (Instance == null){
Instance = 1;
}
return Instance;
}
}

View File

@ -0,0 +1,29 @@
package com.bocloud.cmp.model.common;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import lombok.Data;
import java.util.List;
@Data
public class AssignResult {
private Boolean success;
private Long storeId;
private Long hostId;
private Long vdcId;
private String assignId;
private Long clusterId;
private List<AssignDataDiskResult> assignDataDiskResultList;
private JSONArray dataDiskList;
private JSONArray addDiskList;
private AssignParam assignParam;
public JSONObject toJson(){
return (JSONObject) JSON.toJSON(this);
}
}

View File

@ -0,0 +1,27 @@
package com.bocloud.cmp.vm.model;
import lombok.Data;
@Data
public class CloudTowerDisk {
// {
// "categoryId": 38,
// "disk": "100",
// "size": "100",
// "type": "newDisk",
// "category": null,
// "bus": "VIRTIO",
// "volumeTemplateId": 21,
// "volumeTemplateName": "REPLICA_2_THICK_PROVISION"
// }
private Long categoryId;
private Long disk;
private Long size;
private String type;
private String category;
private String bus;
private Long volumeTemplateId;
private String volumeTemplateName;
}