From 3a143278c2c4cc549a3af88183a1d991c2c1a169 Mon Sep 17 00:00:00 2001 From: sunxingye Date: Wed, 23 Aug 2023 10:05:59 +0800 Subject: [PATCH] =?UTF-8?q?=E5=85=AC=E6=9C=89=E4=BA=91=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?=E5=AE=9A=E4=B9=89,=E7=AC=AC=E4=B8=80=E7=89=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pub-cloud-provider/pom.xml | 34 ++ .../pub/cloud/provider/driver/BaseDriver.java | 9 + .../provider/driver/BillingModeDriver.java | 16 + .../cloud/provider/driver/DiskTypeDriver.java | 20 + .../driver/HelloProgrammerDriver.java | 7 + .../provider/driver/HelloworldDriver.java | 7 + .../cloud/provider/driver/ImageDriver.java | 31 ++ .../driver/InquiryPriceRunDriver.java | 30 ++ .../provider/driver/InstanceTypeDriver.java | 20 + .../provider/driver/RegionsZonesDriver.java | 32 ++ .../pub/cloud/provider/driver/Secret.java | 21 + .../provider/driver/SecurityGroupDriver.java | 31 ++ .../cloud/provider/driver/SwitchDriver.java | 17 + .../provider/driver/VirtualMachineDriver.java | 17 + .../pub/cloud/provider/driver/VpcDriver.java | 11 + .../pub/cloud/provider/entity/AuthInfo.java | 45 ++ .../cloud/provider/entity/BillingMode.java | 57 +++ .../pub/cloud/provider/entity/Disk.java | 89 ++++ .../pub/cloud/provider/entity/Image.java | 49 +++ .../pub/cloud/provider/entity/ImageOS.java | 24 ++ .../provider/entity/InquiryPriceInstance.java | 59 +++ .../cloud/provider/entity/InstanceFamily.java | 24 ++ .../cloud/provider/entity/InstanceType.java | 55 +++ .../pub/cloud/provider/entity/Page.java | 67 +++ .../pub/cloud/provider/entity/Region.java | 60 +++ .../cloud/provider/entity/SecurityGroup.java | 34 ++ .../pub/cloud/provider/entity/Switch.java | 85 ++++ .../cloud/provider/entity/VirtualMachine.java | 385 ++++++++++++++++++ .../pub/cloud/provider/entity/Vpc.java | 44 ++ .../pub/cloud/provider/entity/Zone.java | 46 +++ .../provider/enums/ImportStateEnums.java | 22 + .../provider/enums/InstanceChargeType.java | 21 + .../provider/enums/InternetChargeType.java | 21 + .../pub/cloud/provider/enums/OSArch.java | 5 + .../cloud/provider/enums/ProviderCode.java | 10 + .../enums/PubVirtualMachineStateEnums.java | 34 ++ .../pub/cloud/provider/enums/SaleStatus.java | 18 + .../cloud/provider/request/BaseRequest.java | 49 +++ .../request/CloudPlatformRequest.java | 95 +++++ .../request/CreateSecurityGroupRequest.java | 45 ++ .../provider/request/DiskTypeRequest.java | 18 + .../cloud/provider/request/ImageRequest.java | 41 ++ .../request/InquiryPriceRunDriverRequest.java | 185 +++++++++ .../provider/request/InstanceTypeRequest.java | 70 ++++ .../request/JoinSecurityGroupRequest.java | 28 ++ .../provider/request/ListInstanceRequest.java | 21 + .../request/ListSecurityGroupRequest.java | 23 ++ .../request/ListVirtualMachineRequest.java | 44 ++ .../provider/request/RegionsRequest.java | 11 + .../cloud/provider/request/SwitchRequest.java | 14 + .../cloud/provider/request/ZoneRequest.java | 24 ++ 51 files changed, 2225 insertions(+) create mode 100644 pub-cloud-provider/pom.xml create mode 100644 pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/driver/BaseDriver.java create mode 100644 pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/driver/BillingModeDriver.java create mode 100644 pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/driver/DiskTypeDriver.java create mode 100644 pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/driver/HelloProgrammerDriver.java create mode 100644 pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/driver/HelloworldDriver.java create mode 100644 pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/driver/ImageDriver.java create mode 100644 pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/driver/InquiryPriceRunDriver.java create mode 100644 pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/driver/InstanceTypeDriver.java create mode 100644 pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/driver/RegionsZonesDriver.java create mode 100644 pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/driver/Secret.java create mode 100644 pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/driver/SecurityGroupDriver.java create mode 100644 pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/driver/SwitchDriver.java create mode 100644 pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/driver/VirtualMachineDriver.java create mode 100644 pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/driver/VpcDriver.java create mode 100644 pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/entity/AuthInfo.java create mode 100644 pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/entity/BillingMode.java create mode 100644 pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/entity/Disk.java create mode 100644 pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/entity/Image.java create mode 100644 pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/entity/ImageOS.java create mode 100644 pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/entity/InquiryPriceInstance.java create mode 100644 pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/entity/InstanceFamily.java create mode 100644 pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/entity/InstanceType.java create mode 100644 pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/entity/Page.java create mode 100644 pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/entity/Region.java create mode 100644 pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/entity/SecurityGroup.java create mode 100644 pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/entity/Switch.java create mode 100644 pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/entity/VirtualMachine.java create mode 100644 pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/entity/Vpc.java create mode 100644 pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/entity/Zone.java create mode 100644 pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/enums/ImportStateEnums.java create mode 100644 pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/enums/InstanceChargeType.java create mode 100644 pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/enums/InternetChargeType.java create mode 100644 pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/enums/OSArch.java create mode 100644 pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/enums/ProviderCode.java create mode 100644 pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/enums/PubVirtualMachineStateEnums.java create mode 100644 pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/enums/SaleStatus.java create mode 100644 pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/request/BaseRequest.java create mode 100644 pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/request/CloudPlatformRequest.java create mode 100644 pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/request/CreateSecurityGroupRequest.java create mode 100644 pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/request/DiskTypeRequest.java create mode 100644 pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/request/ImageRequest.java create mode 100644 pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/request/InquiryPriceRunDriverRequest.java create mode 100644 pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/request/InstanceTypeRequest.java create mode 100644 pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/request/JoinSecurityGroupRequest.java create mode 100644 pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/request/ListInstanceRequest.java create mode 100644 pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/request/ListSecurityGroupRequest.java create mode 100644 pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/request/ListVirtualMachineRequest.java create mode 100644 pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/request/RegionsRequest.java create mode 100644 pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/request/SwitchRequest.java create mode 100644 pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/request/ZoneRequest.java diff --git a/pub-cloud-provider/pom.xml b/pub-cloud-provider/pom.xml new file mode 100644 index 0000000..0956f19 --- /dev/null +++ b/pub-cloud-provider/pom.xml @@ -0,0 +1,34 @@ + + + + aclome-cmp-parent + com.neusoft.aclome + 5.0.0 + + 4.0.0 + + com.neusoft.pub.cloud + pub-cloud-provider + ${aclome.cmp.version} + jar + + + 8 + 8 + + + + + org.springframework.boot + spring-boot-starter-web + + + io.swagger + swagger-annotations + 1.5.13 + + + + \ No newline at end of file diff --git a/pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/driver/BaseDriver.java b/pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/driver/BaseDriver.java new file mode 100644 index 0000000..fc059b5 --- /dev/null +++ b/pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/driver/BaseDriver.java @@ -0,0 +1,9 @@ +package com.neusoft.pub.cloud.provider.driver; + +import com.neusoft.pub.cloud.provider.enums.ProviderCode; + +public interface BaseDriver { + + ProviderCode getProviderCode(); + +} diff --git a/pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/driver/BillingModeDriver.java b/pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/driver/BillingModeDriver.java new file mode 100644 index 0000000..270192f --- /dev/null +++ b/pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/driver/BillingModeDriver.java @@ -0,0 +1,16 @@ +package com.neusoft.pub.cloud.provider.driver; + +import com.neusoft.pub.cloud.provider.entity.BillingMode; + +import java.util.List; + +/** + * describe : 计费模式 + * 由于各厂商的计费模式都是写死的,为了简化开发,由此接口提供枚举实现 + * + * @author hao.dd + * @date 2023/7/28 + */ +public interface BillingModeDriver extends BaseDriver { + List listBillingMode(); +} diff --git a/pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/driver/DiskTypeDriver.java b/pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/driver/DiskTypeDriver.java new file mode 100644 index 0000000..4d3bcb4 --- /dev/null +++ b/pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/driver/DiskTypeDriver.java @@ -0,0 +1,20 @@ +package com.neusoft.pub.cloud.provider.driver; + +import com.neusoft.pub.cloud.provider.entity.Disk; +import com.neusoft.pub.cloud.provider.request.DiskTypeRequest; + +import java.util.List; + +/** + * describe : 磁盘类型驱动 + * + * @author hao.dd + * @date 2023/7/28 + */ +public interface DiskTypeDriver extends BaseDriver { + + List listSystemDiskType(DiskTypeRequest req); + + List listDataDiskType(DiskTypeRequest req); + +} diff --git a/pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/driver/HelloProgrammerDriver.java b/pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/driver/HelloProgrammerDriver.java new file mode 100644 index 0000000..4ab5582 --- /dev/null +++ b/pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/driver/HelloProgrammerDriver.java @@ -0,0 +1,7 @@ +package com.neusoft.pub.cloud.provider.driver; + +public interface HelloProgrammerDriver extends BaseDriver { + + String sayHello(String word); + +} diff --git a/pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/driver/HelloworldDriver.java b/pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/driver/HelloworldDriver.java new file mode 100644 index 0000000..82a9fee --- /dev/null +++ b/pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/driver/HelloworldDriver.java @@ -0,0 +1,7 @@ +package com.neusoft.pub.cloud.provider.driver; + +public interface HelloworldDriver extends BaseDriver { + + String sayHello(String word); + +} diff --git a/pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/driver/ImageDriver.java b/pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/driver/ImageDriver.java new file mode 100644 index 0000000..d6a283b --- /dev/null +++ b/pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/driver/ImageDriver.java @@ -0,0 +1,31 @@ +package com.neusoft.pub.cloud.provider.driver; + +import com.neusoft.pub.cloud.provider.entity.Image; +import com.neusoft.pub.cloud.provider.entity.ImageOS; +import com.neusoft.pub.cloud.provider.entity.Page; +import com.neusoft.pub.cloud.provider.request.BaseRequest; +import com.neusoft.pub.cloud.provider.request.ImageRequest; + +import java.util.List; + + +/** + * 公有云镜像 + */ +public interface ImageDriver extends BaseDriver { + + /** + * 通过查询条件返回平台的镜像列表 + * + * @return + */ + Page listImage(ImageRequest req); + + /** + * 返回操作系统平台列表 + * + * @return + */ + List listPlatform(BaseRequest req); + +} \ No newline at end of file diff --git a/pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/driver/InquiryPriceRunDriver.java b/pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/driver/InquiryPriceRunDriver.java new file mode 100644 index 0000000..d2a8ce4 --- /dev/null +++ b/pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/driver/InquiryPriceRunDriver.java @@ -0,0 +1,30 @@ +package com.neusoft.pub.cloud.provider.driver; + +import com.neusoft.pub.cloud.provider.entity.InquiryPriceInstance; +import com.neusoft.pub.cloud.provider.request.InquiryPriceRunDriverRequest; + +/** + * describe : 询价 + * + * @author hao.dd + * @date 2023/7/31 + */ + +public interface InquiryPriceRunDriver extends BaseDriver { + + /** + * 创建实例询价 + * + * @param request + * @return + */ + InquiryPriceInstance inquiryPriceInstanceDriver(InquiryPriceRunDriverRequest request); + + /** + * 带宽询价(当选择为“按使用流量时,用于计算公网流量费用”) + * + * @param request + * @return + */ + InquiryPriceInstance inquiryPriceBandwidthDriver(InquiryPriceRunDriverRequest request); +} diff --git a/pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/driver/InstanceTypeDriver.java b/pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/driver/InstanceTypeDriver.java new file mode 100644 index 0000000..dd8dcb8 --- /dev/null +++ b/pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/driver/InstanceTypeDriver.java @@ -0,0 +1,20 @@ +package com.neusoft.pub.cloud.provider.driver; + +import com.neusoft.pub.cloud.provider.entity.InstanceFamily; +import com.neusoft.pub.cloud.provider.entity.InstanceType; +import com.neusoft.pub.cloud.provider.entity.Page; +import com.neusoft.pub.cloud.provider.request.BaseRequest; +import com.neusoft.pub.cloud.provider.request.InstanceTypeRequest; + +import java.util.List; + +/** + * 公有云实例类型(规格) + */ +public interface InstanceTypeDriver extends BaseDriver { + + Page listInstanceType(InstanceTypeRequest req); + + List listInstanceFamily(BaseRequest req); + +} diff --git a/pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/driver/RegionsZonesDriver.java b/pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/driver/RegionsZonesDriver.java new file mode 100644 index 0000000..7034903 --- /dev/null +++ b/pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/driver/RegionsZonesDriver.java @@ -0,0 +1,32 @@ +package com.neusoft.pub.cloud.provider.driver; + +import com.neusoft.pub.cloud.provider.entity.Region; +import com.neusoft.pub.cloud.provider.entity.Zone; +import com.neusoft.pub.cloud.provider.request.BaseRequest; +import com.neusoft.pub.cloud.provider.request.ZoneRequest; + +import java.util.List; + +/** + * describe : 地域。可用区相关接口 + * + * @author hao.dd + * @date 2023/7/21 + */ +public interface RegionsZonesDriver extends BaseDriver { + /** + * 查询地域列表 + * + * @param request + * @return + */ + List listRegions(BaseRequest request); + + /** + * 查询可用区列表 + * @param request + * @return + */ + List listZones(ZoneRequest request); + +} diff --git a/pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/driver/Secret.java b/pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/driver/Secret.java new file mode 100644 index 0000000..acd2ed4 --- /dev/null +++ b/pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/driver/Secret.java @@ -0,0 +1,21 @@ +package com.neusoft.pub.cloud.provider.driver; + +import com.neusoft.pub.cloud.provider.entity.AuthInfo; + +public class Secret { + + private final static ThreadLocal CONTEXT = new ThreadLocal<>(); + + public static void putValue(AuthInfo authInfo) { + CONTEXT.set(authInfo); + } + + public static AuthInfo getInfo() { + return CONTEXT.get(); + } + + public static void remove() { + CONTEXT.remove(); + } + +} diff --git a/pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/driver/SecurityGroupDriver.java b/pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/driver/SecurityGroupDriver.java new file mode 100644 index 0000000..1e117d6 --- /dev/null +++ b/pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/driver/SecurityGroupDriver.java @@ -0,0 +1,31 @@ +package com.neusoft.pub.cloud.provider.driver; + +import com.neusoft.pub.cloud.provider.entity.SecurityGroup; +import com.neusoft.pub.cloud.provider.request.BaseRequest; +import com.neusoft.pub.cloud.provider.request.CreateSecurityGroupRequest; +import com.neusoft.pub.cloud.provider.request.JoinSecurityGroupRequest; + +import java.util.List; + +/** + * describe : 安全组驱动 + * + * @author hao.dd + * @date 2023/7/24 + */ +public interface SecurityGroupDriver extends BaseDriver { + /** + * 将实例加入到指定安全组 + */ + boolean joinSecurityGroup(JoinSecurityGroupRequest request); + + /** + * 查询安全组列表 + */ + List listSecurityGroup(BaseRequest request); + + /** + * 创建安全组 + */ + SecurityGroup createSecurityGroup(CreateSecurityGroupRequest request); +} diff --git a/pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/driver/SwitchDriver.java b/pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/driver/SwitchDriver.java new file mode 100644 index 0000000..d622d20 --- /dev/null +++ b/pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/driver/SwitchDriver.java @@ -0,0 +1,17 @@ +package com.neusoft.pub.cloud.provider.driver; + +import com.neusoft.pub.cloud.provider.entity.Page; +import com.neusoft.pub.cloud.provider.entity.Switch; +import com.neusoft.pub.cloud.provider.request.SwitchRequest; + +/** + * describe : + * + * @author zfl + * @date 2023/8/1 + */ +public interface SwitchDriver extends BaseDriver{ + + Page getSwitchList(SwitchRequest request); + +} diff --git a/pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/driver/VirtualMachineDriver.java b/pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/driver/VirtualMachineDriver.java new file mode 100644 index 0000000..2b8bc66 --- /dev/null +++ b/pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/driver/VirtualMachineDriver.java @@ -0,0 +1,17 @@ +package com.neusoft.pub.cloud.provider.driver; + +import com.neusoft.pub.cloud.provider.entity.Page; +import com.neusoft.pub.cloud.provider.entity.VirtualMachine; +import com.neusoft.pub.cloud.provider.request.BaseRequest; +import com.neusoft.pub.cloud.provider.request.ListInstanceRequest; + +// 虚拟机相关 +public interface VirtualMachineDriver extends BaseDriver { + + void create(VirtualMachine vm); + + Page listInstance(ListInstanceRequest req); + + void delInstance(VirtualMachine vm); + +} diff --git a/pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/driver/VpcDriver.java b/pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/driver/VpcDriver.java new file mode 100644 index 0000000..5cf7ffb --- /dev/null +++ b/pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/driver/VpcDriver.java @@ -0,0 +1,11 @@ +package com.neusoft.pub.cloud.provider.driver; + +import com.neusoft.pub.cloud.provider.entity.Page; +import com.neusoft.pub.cloud.provider.entity.Vpc; +import com.neusoft.pub.cloud.provider.request.BaseRequest; + +public interface VpcDriver extends BaseDriver { + + Page getVpcList(BaseRequest request); + +} diff --git a/pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/entity/AuthInfo.java b/pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/entity/AuthInfo.java new file mode 100644 index 0000000..d17964b --- /dev/null +++ b/pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/entity/AuthInfo.java @@ -0,0 +1,45 @@ +package com.neusoft.pub.cloud.provider.entity; + +import com.neusoft.pub.cloud.provider.enums.ProviderCode; + +public class AuthInfo { + + private Integer dataCenterId; + private String secretId; + + private String secretKey; + + private ProviderCode providerCode; + + public Integer getDataCenterId() { + return dataCenterId; + } + + public void setDataCenterId(Integer dataCenterId) { + this.dataCenterId = dataCenterId; + } + + public String getSecretId() { + return secretId; + } + + public void setSecretId(String secretId) { + this.secretId = secretId; + } + + public String getSecretKey() { + return secretKey; + } + + public void setSecretKey(String secretKey) { + this.secretKey = secretKey; + } + + public ProviderCode getProviderCode() { + return providerCode; + } + + public void setProviderCode(ProviderCode providerCode) { + this.providerCode = providerCode; + } +} diff --git a/pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/entity/BillingMode.java b/pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/entity/BillingMode.java new file mode 100644 index 0000000..c5133a4 --- /dev/null +++ b/pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/entity/BillingMode.java @@ -0,0 +1,57 @@ +package com.neusoft.pub.cloud.provider.entity; + +/** + * describe : 计费模式 + * + * @author hao.dd + * @date 2023/7/28 + */ + +public class BillingMode { + private String billingModelKey; + private String billingModelName; + + public String getBillingModelKey() { + return billingModelKey; + } + + public void setBillingModelKey(String billingModelKey) { + this.billingModelKey = billingModelKey; + } + + public String getBillingModelName() { + return billingModelName; + } + + public void setBillingModelName(String billingModelName) { + this.billingModelName = billingModelName; + } + + private BillingMode(String billingModelKey, String billingModelName) { + this.billingModelKey = billingModelKey; + this.billingModelName = billingModelName; + } + + public static class Builder { + private String billingModelKey; + private String billingModelName; + + public static Builder builder() { + return new Builder(); + } + + public Builder setBillingModelKey(String billingModelKey) { + this.billingModelKey = billingModelKey; + return this; + } + + public Builder setBillingModelName(String billingModelName) { + this.billingModelName = billingModelName; + return this; + } + + public BillingMode build() { + return new BillingMode(billingModelKey, billingModelName); + } + } +} \ No newline at end of file diff --git a/pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/entity/Disk.java b/pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/entity/Disk.java new file mode 100644 index 0000000..960ece9 --- /dev/null +++ b/pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/entity/Disk.java @@ -0,0 +1,89 @@ +package com.neusoft.pub.cloud.provider.entity; + +import java.util.Objects; + +/** + * describe : + * + * @author hao.dd + * @date 2023/8/3 + */ +public class Disk { + + // 磁盘类型 + private String diskType; + + // 磁盘显示名称 + private String diskName; + + // 磁盘容量(GB) + private Integer diskSize; + + public Integer getDiskSize() { + return diskSize; + } + + public void setDiskSize(Integer diskSize) { + this.diskSize = diskSize; + } + + // 支持最小容量 + private Long min; + + // 支持最大容量 + private Long max; + + public Disk() { + + } + + public Disk(String diskType, String diskName) { + this.diskType = diskType; + this.diskName = diskName; + } + + public Long getMin() { + return min; + } + + public void setMin(Long min) { + this.min = min; + } + + public Long getMax() { + return max; + } + + public void setMax(Long max) { + this.max = max; + } + + public String getDiskType() { + return diskType; + } + + public void setDiskType(String diskType) { + this.diskType = diskType; + } + + public String getDiskName() { + return diskName; + } + + public void setDiskName(String diskName) { + this.diskName = diskName; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (!(o instanceof Disk)) return false; + Disk disk = (Disk) o; + return Objects.equals(getDiskType(), disk.getDiskType()) && Objects.equals(getDiskName(), disk.getDiskName()) && Objects.equals(getDiskSize(), disk.getDiskSize()) && Objects.equals(getMin(), disk.getMin()) && Objects.equals(getMax(), disk.getMax()); + } + + @Override + public int hashCode() { + return Objects.hash(getDiskType(), getDiskName(), getDiskSize(), getMin(), getMax()); + } +} diff --git a/pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/entity/Image.java b/pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/entity/Image.java new file mode 100644 index 0000000..a9ab0b2 --- /dev/null +++ b/pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/entity/Image.java @@ -0,0 +1,49 @@ +package com.neusoft.pub.cloud.provider.entity; + +import com.neusoft.pub.cloud.provider.enums.OSArch; + +public class Image { + + private String id; + + private String name; + + /** + * 操作系统平台 + */ + private String platform; + + private OSArch arch; + + public String getPlatform() { + return platform; + } + + public void setPlatform(String platform) { + this.platform = platform; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public OSArch getArch() { + return arch; + } + + public void setArch(OSArch arch) { + this.arch = arch; + } +} diff --git a/pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/entity/ImageOS.java b/pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/entity/ImageOS.java new file mode 100644 index 0000000..88c54c2 --- /dev/null +++ b/pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/entity/ImageOS.java @@ -0,0 +1,24 @@ +package com.neusoft.pub.cloud.provider.entity; + +public class ImageOS { + + private String id; + + private String name; + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } +} \ No newline at end of file diff --git a/pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/entity/InquiryPriceInstance.java b/pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/entity/InquiryPriceInstance.java new file mode 100644 index 0000000..d06caee --- /dev/null +++ b/pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/entity/InquiryPriceInstance.java @@ -0,0 +1,59 @@ +package com.neusoft.pub.cloud.provider.entity; + +/** + * describe : 实例价格 + * + * @author hao.dd + * @date 2023/8/2 + */ +public class InquiryPriceInstance { + /** + * 原价 + */ + private String originalPrice; + /** + * 折扣 + */ + private String discountPrice; + /** + * 币种 + */ + private String currency; + /** + * 最终价 + */ + private String tradePrice; + + + public String getDiscountPrice() { + return discountPrice; + } + + public void setDiscountPrice(String discountPrice) { + this.discountPrice = discountPrice; + } + + public String getCurrency() { + return currency; + } + + public void setCurrency(String currency) { + this.currency = currency; + } + + public String getOriginalPrice() { + return originalPrice; + } + + public void setOriginalPrice(String originalPrice) { + this.originalPrice = originalPrice; + } + + public String getTradePrice() { + return tradePrice; + } + + public void setTradePrice(String tradePrice) { + this.tradePrice = tradePrice; + } +} diff --git a/pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/entity/InstanceFamily.java b/pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/entity/InstanceFamily.java new file mode 100644 index 0000000..ccabcfe --- /dev/null +++ b/pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/entity/InstanceFamily.java @@ -0,0 +1,24 @@ +package com.neusoft.pub.cloud.provider.entity; + +public class InstanceFamily { + + private String instanceFamily; + + private String instanceFamilyName; + + public String getInstanceFamily() { + return instanceFamily; + } + + public void setInstanceFamily(String instanceFamily) { + this.instanceFamily = instanceFamily; + } + + public String getInstanceFamilyName() { + return instanceFamilyName; + } + + public void setInstanceFamilyName(String instanceFamilyName) { + this.instanceFamilyName = instanceFamilyName; + } +} \ No newline at end of file diff --git a/pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/entity/InstanceType.java b/pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/entity/InstanceType.java new file mode 100644 index 0000000..597f403 --- /dev/null +++ b/pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/entity/InstanceType.java @@ -0,0 +1,55 @@ +package com.neusoft.pub.cloud.provider.entity; + +public class InstanceType { + + private String instanceType; + + private String instanceTypeName; + + private String instanceTypeFamily; + + private Integer cpuCoreCount; + + // 内存(GB) + private Float memorySize; + + public String getInstanceType() { + return instanceType; + } + + public void setInstanceType(String instanceType) { + this.instanceType = instanceType; + } + + public String getInstanceTypeName() { + return instanceTypeName; + } + + public void setInstanceTypeName(String instanceTypeName) { + this.instanceTypeName = instanceTypeName; + } + + public String getInstanceTypeFamily() { + return instanceTypeFamily; + } + + public void setInstanceTypeFamily(String instanceTypeFamily) { + this.instanceTypeFamily = instanceTypeFamily; + } + + public Integer getCpuCoreCount() { + return cpuCoreCount; + } + + public void setCpuCoreCount(Integer cpuCoreCount) { + this.cpuCoreCount = cpuCoreCount; + } + + public Float getMemorySize() { + return memorySize; + } + + public void setMemorySize(Float memorySize) { + this.memorySize = memorySize; + } +} \ No newline at end of file diff --git a/pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/entity/Page.java b/pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/entity/Page.java new file mode 100644 index 0000000..76d4774 --- /dev/null +++ b/pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/entity/Page.java @@ -0,0 +1,67 @@ +package com.neusoft.pub.cloud.provider.entity; + +import java.util.ArrayList; +import java.util.List; + +public class Page { + + private int pageNumber; + + private int pageSize; + + private List pageData; + + private long total; + + public Page() { + pageData = new ArrayList<>(); + } + + /** + * list转分页 + * @param pageNumber + * @param pageSize + * @param list + */ + public Page(Integer pageNumber, Integer pageSize, List list) { + int startIndex = (pageNumber - 1) * pageSize; + int endIndex = Math.min(startIndex + pageSize, list.size()); + List sublist = list.subList(startIndex, endIndex); + this.setPageNumber(pageNumber); + this.setPageSize(pageSize); + this.setPageData(sublist); + this.setTotal(list.size()); + } + + public int getPageNumber() { + return pageNumber; + } + + public void setPageNumber(int pageNumber) { + this.pageNumber = pageNumber; + } + + public int getPageSize() { + return pageSize; + } + + public void setPageSize(int pageSize) { + this.pageSize = pageSize; + } + + public List getPageData() { + return pageData; + } + + public void setPageData(List pageData) { + this.pageData = pageData; + } + + public long getTotal() { + return total; + } + + public void setTotal(long total) { + this.total = total; + } +} diff --git a/pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/entity/Region.java b/pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/entity/Region.java new file mode 100644 index 0000000..e221538 --- /dev/null +++ b/pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/entity/Region.java @@ -0,0 +1,60 @@ +package com.neusoft.pub.cloud.provider.entity; + +import com.neusoft.pub.cloud.provider.enums.SaleStatus; + +/** + * describe : 地域 + * + * @author hao.dd + * @date 2023/7/24 + */ +public class Region { + /** + *地域ID + */ + private String regionId; + /** + * 地域对应的接入地址(Endpoint) + */ + private String regionEndpoint; + /** + * 地域名称 + */ + private String localName; + /** + * 售卖状态 + */ + private SaleStatus saleStatus; + + public String getRegionId() { + return regionId; + } + + public void setRegionId(String regionId) { + this.regionId = regionId; + } + + public String getRegionEndpoint() { + return regionEndpoint; + } + + public void setRegionEndpoint(String regionEndpoint) { + this.regionEndpoint = regionEndpoint; + } + + public String getLocalName() { + return localName; + } + + public void setLocalName(String localName) { + this.localName = localName; + } + + public SaleStatus getSaleStatus() { + return saleStatus; + } + + public void setSaleStatus(SaleStatus saleStatus) { + this.saleStatus = saleStatus; + } +} diff --git a/pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/entity/SecurityGroup.java b/pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/entity/SecurityGroup.java new file mode 100644 index 0000000..ee11da1 --- /dev/null +++ b/pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/entity/SecurityGroup.java @@ -0,0 +1,34 @@ +package com.neusoft.pub.cloud.provider.entity; + +/** + * describe : + * + * @author hao.dd + * @date 2023/7/24 + */ +public class SecurityGroup { + /** + * 安全组ID + */ + private String securityGroupId; + /** + * 安全组名称 + */ + private String securityGroupName; + + public String getSecurityGroupId() { + return securityGroupId; + } + + public void setSecurityGroupId(String securityGroupId) { + this.securityGroupId = securityGroupId; + } + + public String getSecurityGroupName() { + return securityGroupName; + } + + public void setSecurityGroupName(String securityGroupName) { + this.securityGroupName = securityGroupName; + } +} diff --git a/pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/entity/Switch.java b/pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/entity/Switch.java new file mode 100644 index 0000000..cbdacb6 --- /dev/null +++ b/pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/entity/Switch.java @@ -0,0 +1,85 @@ +package com.neusoft.pub.cloud.provider.entity; + +/** + * describe :交换机 + * + * @author zfl + * @date 2023/8/1 + */ +public class Switch { + + /** + * 区域ID + */ + private String zoneId; + + /** + * 交换机ID + */ + private String vSwitchId; + + /** + * 交换机名称 + */ + private String vSwitchName; + + private String vpcId; + + /** + * 网段 + */ + private String cidrBlock; + + /** + * 可用IP数量 + */ + private Long availableIpAddressCount; + + public String getZoneId() { + return zoneId; + } + + public void setZoneId(String zoneId) { + this.zoneId = zoneId; + } + + public String getvSwitchId() { + return vSwitchId; + } + + public void setvSwitchId(String vSwitchId) { + this.vSwitchId = vSwitchId; + } + + public String getvSwitchName() { + return vSwitchName; + } + + public void setvSwitchName(String vSwitchName) { + this.vSwitchName = vSwitchName; + } + + public String getVpcId() { + return vpcId; + } + + public void setVpcId(String vpcId) { + this.vpcId = vpcId; + } + + public String getCidrBlock() { + return cidrBlock; + } + + public void setCidrBlock(String cidrBlock) { + this.cidrBlock = cidrBlock; + } + + public Long getAvailableIpAddressCount() { + return availableIpAddressCount; + } + + public void setAvailableIpAddressCount(Long availableIpAddressCount) { + this.availableIpAddressCount = availableIpAddressCount; + } +} \ No newline at end of file diff --git a/pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/entity/VirtualMachine.java b/pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/entity/VirtualMachine.java new file mode 100644 index 0000000..c13981d --- /dev/null +++ b/pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/entity/VirtualMachine.java @@ -0,0 +1,385 @@ +package com.neusoft.pub.cloud.provider.entity; + +import com.neusoft.pub.cloud.provider.enums.ImportStateEnums; +import com.neusoft.pub.cloud.provider.enums.InstanceChargeType; +import com.neusoft.pub.cloud.provider.enums.InternetChargeType; +import com.neusoft.pub.cloud.provider.enums.PubVirtualMachineStateEnums; +import io.swagger.annotations.ApiModelProperty; + +import java.util.List; + +public class VirtualMachine { + + @ApiModelProperty(value = "地域id") + private String regionId; + + /** + * 数据中心id + */ + private Integer dataCenterId; + + private String cloudPlatformName; + + private String regionName; + + private String zoneId; + + private String zoneName; + + private String instanceId; + + // 实例名称 + private String instanceName; + + // 主机名 + private String hostname; + + // 镜像ID + private String imageId; + + // 规格ID + private String instanceType; + + // VPC网络ID + private String vpcId; + + // 子网/子交换机ID + private String vSwitchId; + /** + * ip + */ + private String ip; + + private Integer cpu; + /** + * 内存 + */ + private Integer memory; + /** + * 操作系统id + */ + private String osId; + /** + * 操作系统名称 + */ + private String osName; + + private String imageName; + /** + * 当前使用带宽(峰值) + */ + private Integer internetMaxBandwidthOut; + + private PubVirtualMachineStateEnums state; + + private String stateName; + + private String description; + + // 安全组ID + private List securityGroupIds; + + // 分配公网IP + private Boolean publicIP; + + public Boolean getPublicIP() { + return publicIP; + } + + public void setPublicIP(Boolean publicIP) { + this.publicIP = publicIP; + } + + // 实例付费类型 + private InstanceChargeType instanceChargeType; + + // 公网IP付费类型 + private InternetChargeType internetChargeType; + + // 公网IP付费类型 + private String internetChargeTypeName; + public InternetChargeType getInternetChargeType() { + return internetChargeType; + } + + public void setInternetChargeType(InternetChargeType internetChargeType) { + this.internetChargeType = internetChargeType; + } + + /** + * 实例付费类型 + */ + private String instanceChargeTypeName; + /** + * 云平台id + */ + private String platformResourceId; + /** + * 导入状态 + */ + private ImportStateEnums importState; + + private String importStateName; + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + // 系统盘 + private Disk sysDisk; + + public Disk getSysDisk() { + return sysDisk; + } + + public void setSysDisk(Disk sysDisk) { + this.sysDisk = sysDisk; + } + + public List getDataDisk() { + return dataDisk; + } + + public void setDataDisk(List dataDisk) { + this.dataDisk = dataDisk; + } + + // 数据盘 + private List dataDisk; + + public String getRegionId() { + return regionId; + } + + public void setRegionId(String regionId) { + this.regionId = regionId; + } + + public String getZoneId() { + return zoneId; + } + + public void setZoneId(String zoneId) { + this.zoneId = zoneId; + } + + public String getInstanceId() { + return instanceId; + } + + public void setInstanceId(String instanceId) { + this.instanceId = instanceId; + } + + public String getInstanceName() { + return instanceName; + } + + public void setInstanceName(String instanceName) { + this.instanceName = instanceName; + } + + public String getImageId() { + return imageId; + } + + public void setImageId(String imageId) { + this.imageId = imageId; + } + + public String getInstanceType() { + return instanceType; + } + + public void setInstanceType(String instanceType) { + this.instanceType = instanceType; + } + + public String getVpcId() { + return vpcId; + } + + public void setVpcId(String vpcId) { + this.vpcId = vpcId; + } + + public String getvSwitchId() { + return vSwitchId; + } + + public void setvSwitchId(String vSwitchId) { + this.vSwitchId = vSwitchId; + } + + public List getSecurityGroupIds() { + return securityGroupIds; + } + + public void setSecurityGroupIds(List securityGroupIds) { + this.securityGroupIds = securityGroupIds; + } + + public InstanceChargeType getInstanceChargeType() { + return instanceChargeType; + } + + public void setInstanceChargeType(InstanceChargeType instanceChargeType) { + this.instanceChargeType = instanceChargeType; + } + + public Integer getDataCenterId() { + return dataCenterId; + } + + public void setDataCenterId(Integer dataCenterId) { + this.dataCenterId = dataCenterId; + } + + public String getIp() { + return ip; + } + + public void setIp(String ip) { + this.ip = ip; + } + + public Integer getCpu() { + return cpu; + } + + public void setCpu(Integer cpu) { + this.cpu = cpu; + } + + public Integer getMemory() { + return memory; + } + + public void setMemory(Integer memory) { + this.memory = memory; + } + + public String getOsId() { + return osId; + } + + public void setOsId(String osId) { + this.osId = osId; + } + + public String getOsName() { + return osName; + } + + public void setOsName(String osName) { + this.osName = osName; + } + + public String getImageName() { + return imageName; + } + + public void setImageName(String imageName) { + this.imageName = imageName; + } + + public Integer getInternetMaxBandwidthOut() { + return internetMaxBandwidthOut; + } + + public void setInternetMaxBandwidthOut(Integer internetMaxBandwidthOut) { + this.internetMaxBandwidthOut = internetMaxBandwidthOut; + } + + public PubVirtualMachineStateEnums getState() { + return state; + } + + public void setState(PubVirtualMachineStateEnums state) { + this.state = state; + } + + public String getStateName() { + return stateName; + } + + public void setStateName(String stateName) { + this.stateName = stateName; + } + + public String getPlatformResourceId() { + return platformResourceId; + } + + public void setPlatformResourceId(String platformResourceId) { + this.platformResourceId = platformResourceId; + } + + public String getHostname() { + return hostname; + } + + public void setHostname(String hostname) { + this.hostname = hostname; + } + + public String getInstanceChargeTypeName() { + return instanceChargeTypeName; + } + + public void setInstanceChargeTypeName(String instanceChargeTypeName) { + this.instanceChargeTypeName = instanceChargeTypeName; + } + + public ImportStateEnums getImportState() { + return importState; + } + + public void setImportState(ImportStateEnums importState) { + this.importState = importState; + } + + public String getImportStateName() { + return importStateName; + } + + public void setImportStateName(String importStateName) { + this.importStateName = importStateName; + } + + public String getRegionName() { + return regionName; + } + + public void setRegionName(String regionName) { + this.regionName = regionName; + } + + public String getZoneName() { + return zoneName; + } + + public void setZoneName(String zoneName) { + this.zoneName = zoneName; + } + + public String getInternetChargeTypeName() { + return internetChargeTypeName; + } + + public void setInternetChargeTypeName(String internetChargeTypeName) { + this.internetChargeTypeName = internetChargeTypeName; + } + + public String getCloudPlatformName() { + return cloudPlatformName; + } + + public void setCloudPlatformName(String cloudPlatformName) { + this.cloudPlatformName = cloudPlatformName; + } +} \ No newline at end of file diff --git a/pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/entity/Vpc.java b/pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/entity/Vpc.java new file mode 100644 index 0000000..30a1805 --- /dev/null +++ b/pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/entity/Vpc.java @@ -0,0 +1,44 @@ +package com.neusoft.pub.cloud.provider.entity; + +public class Vpc { + + private String vpcStatus; + + private String vpcId; + + private String regionId; + + private String vpcName; + + public String getVpcStatus() { + return vpcStatus; + } + + public void setVpcStatus(String vpcStatus) { + this.vpcStatus = vpcStatus; + } + + public String getVpcId() { + return vpcId; + } + + public void setVpcId(String vpcId) { + this.vpcId = vpcId; + } + + public String getRegionId() { + return regionId; + } + + public void setRegionId(String regionId) { + this.regionId = regionId; + } + + public String getVpcName() { + return vpcName; + } + + public void setVpcName(String vpcName) { + this.vpcName = vpcName; + } +} diff --git a/pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/entity/Zone.java b/pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/entity/Zone.java new file mode 100644 index 0000000..f475fd3 --- /dev/null +++ b/pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/entity/Zone.java @@ -0,0 +1,46 @@ +package com.neusoft.pub.cloud.provider.entity; + +/** + * describe : 可用区 + * + * @author hao.dd + * @date 2023/7/24 + */ +public class Zone { + /** + * 可用区ID + */ + private String zoneId; + /** + * 可用区标识 + */ + private String zone; + /** + * 可用区本地语言名 + */ + private String localName; + + public String getZoneId() { + return zoneId; + } + + public void setZoneId(String zoneId) { + this.zoneId = zoneId; + } + + public String getLocalName() { + return localName; + } + + public void setLocalName(String localName) { + this.localName = localName; + } + + public String getZone() { + return zone; + } + + public void setZone(String zone) { + this.zone = zone; + } +} diff --git a/pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/enums/ImportStateEnums.java b/pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/enums/ImportStateEnums.java new file mode 100644 index 0000000..2d7d89a --- /dev/null +++ b/pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/enums/ImportStateEnums.java @@ -0,0 +1,22 @@ +package com.neusoft.pub.cloud.provider.enums; + +/** + * describe : + * + * @author hao.dd + * @date 2023/8/15 + */ +public enum ImportStateEnums { + UN_IMPORT("未导入"), + IMPORTED("已导入"); + + String name; + + ImportStateEnums(String name) { + this.name = name; + } + + public String getName() { + return name; + } +} diff --git a/pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/enums/InstanceChargeType.java b/pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/enums/InstanceChargeType.java new file mode 100644 index 0000000..0bfb0b1 --- /dev/null +++ b/pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/enums/InstanceChargeType.java @@ -0,0 +1,21 @@ +package com.neusoft.pub.cloud.provider.enums; + +// 实例的付费方式 +public enum InstanceChargeType { + + // 包年包月 + PREPAID("包年包月"), + + // 按量付费 + POSTPAID("按量计费"); + + String name; + + InstanceChargeType(String name) { + this.name = name; + } + + public String getName() { + return name; + } +} diff --git a/pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/enums/InternetChargeType.java b/pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/enums/InternetChargeType.java new file mode 100644 index 0000000..f3fddea --- /dev/null +++ b/pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/enums/InternetChargeType.java @@ -0,0 +1,21 @@ +package com.neusoft.pub.cloud.provider.enums; + +// 公网IP的付费方式 +public enum InternetChargeType { + + PAYBYBANDWIDTH("按固定带宽"), + + PAYBYTRAFFIC("按使用流量"), + + NULLable("无"); + + String name; + + InternetChargeType(String name) { + this.name = name; + } + + public String getName() { + return name; + } +} \ No newline at end of file diff --git a/pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/enums/OSArch.java b/pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/enums/OSArch.java new file mode 100644 index 0000000..0b4c676 --- /dev/null +++ b/pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/enums/OSArch.java @@ -0,0 +1,5 @@ +package com.neusoft.pub.cloud.provider.enums; + +public enum OSArch { + I386, X86_64, ARM64, MIPS +} \ No newline at end of file diff --git a/pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/enums/ProviderCode.java b/pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/enums/ProviderCode.java new file mode 100644 index 0000000..66abc07 --- /dev/null +++ b/pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/enums/ProviderCode.java @@ -0,0 +1,10 @@ +package com.neusoft.pub.cloud.provider.enums; + +public enum ProviderCode { + + // 阿里云供应商代码 + ALIYUN, + // 腾讯云供应商代码 + TENCENT; + +} diff --git a/pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/enums/PubVirtualMachineStateEnums.java b/pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/enums/PubVirtualMachineStateEnums.java new file mode 100644 index 0000000..3c48a41 --- /dev/null +++ b/pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/enums/PubVirtualMachineStateEnums.java @@ -0,0 +1,34 @@ +package com.neusoft.pub.cloud.provider.enums; + +/** + * describe : 云主机运行状态 + * + * @author hao.dd + * @date 2023/8/15 + */ +public enum PubVirtualMachineStateEnums { + PENDING("创建中"), + RUNNING("运行中"), + STARTING("启动中"), + STOPPING("停止中"), + + STOPPED("已停止"), + LAUNCH_FAILED("创建失败"), + REBOOTING("重启中"), + SHUTDOWN("停止待销毁"), + TERMINATING("销毁中"), + + UNKNOWN("未知"), + ERROR("错误"), + + ; + private String name; + + public String getName() { + return this.name; + } + + PubVirtualMachineStateEnums(String name) { + this.name = name; + } +} diff --git a/pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/enums/SaleStatus.java b/pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/enums/SaleStatus.java new file mode 100644 index 0000000..5afa16f --- /dev/null +++ b/pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/enums/SaleStatus.java @@ -0,0 +1,18 @@ +package com.neusoft.pub.cloud.provider.enums; + +/** + * describe : 售卖状态 + * + * @author hao.dd + * @date 2023/7/24 + */ +public enum SaleStatus { + /** + * 未售罄 + */ + AVAILABLE, + /** + * 已售罄 + */ + SOLD_OUT +} diff --git a/pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/request/BaseRequest.java b/pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/request/BaseRequest.java new file mode 100644 index 0000000..a163c16 --- /dev/null +++ b/pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/request/BaseRequest.java @@ -0,0 +1,49 @@ +package com.neusoft.pub.cloud.provider.request; + +/** + * 通用请求参数 + * + * @author sunxingye + */ +public class BaseRequest { + + private int pageNumber = 1; + + private int pageSize = 20; + + private String regionId; + + private String zoneId; + + public String getRegionId() { + return regionId; + } + + public void setRegionId(String regionId) { + this.regionId = regionId; + } + + public String getZoneId() { + return zoneId; + } + + public void setZoneId(String zoneId) { + this.zoneId = zoneId; + } + + public int getPageNumber() { + return pageNumber; + } + + public void setPageNumber(int pageNumber) { + this.pageNumber = pageNumber; + } + + public int getPageSize() { + return pageSize; + } + + public void setPageSize(int pageSize) { + this.pageSize = pageSize; + } +} \ No newline at end of file diff --git a/pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/request/CloudPlatformRequest.java b/pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/request/CloudPlatformRequest.java new file mode 100644 index 0000000..f5ac752 --- /dev/null +++ b/pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/request/CloudPlatformRequest.java @@ -0,0 +1,95 @@ +package com.neusoft.pub.cloud.provider.request; + +/** + * describe : + * + * @author hao.dd + * @date 2023/8/8 + */ +public class CloudPlatformRequest { + private Integer id; + /** + * 云平台名称 + */ + private String platformName; + /** + * 云平台类型 + */ + private String platformType; + + private String secretId; + + private String secretKey; + /** + * 冗余 + */ + private String note; + + private Integer pageNo; + + private Integer pageSize; + + public Integer getPageNo() { + return pageNo; + } + + public void setPageNo(Integer pageNo) { + this.pageNo = pageNo; + } + + public Integer getPageSize() { + return pageSize; + } + + public void setPageSize(Integer pageSize) { + this.pageSize = pageSize; + } + + public Integer getId() { + return id; + } + + public void setId(Integer id) { + this.id = id; + } + + public String getPlatformName() { + return platformName; + } + + public void setPlatformName(String platformName) { + this.platformName = platformName; + } + + public String getPlatformType() { + return platformType; + } + + public void setPlatformType(String platformType) { + this.platformType = platformType; + } + + public String getSecretId() { + return secretId; + } + + public void setSecretId(String secretId) { + this.secretId = secretId; + } + + public String getSecretKey() { + return secretKey; + } + + public void setSecretKey(String secretKey) { + this.secretKey = secretKey; + } + + public String getNote() { + return note; + } + + public void setNote(String note) { + this.note = note; + } +} diff --git a/pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/request/CreateSecurityGroupRequest.java b/pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/request/CreateSecurityGroupRequest.java new file mode 100644 index 0000000..8cb1ab1 --- /dev/null +++ b/pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/request/CreateSecurityGroupRequest.java @@ -0,0 +1,45 @@ +package com.neusoft.pub.cloud.provider.request; + +/** + * describe : + * + * @author hao.dd + * @date 2023/7/26 + */ +public class CreateSecurityGroupRequest extends BaseRequest { + /** + * 安全组描述信息 + */ + private String description; + /** + * 安全组名称 + */ + private String securityGroupName; + + private Integer dataCenterId; + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public String getSecurityGroupName() { + return securityGroupName; + } + + public void setSecurityGroupName(String securityGroupName) { + this.securityGroupName = securityGroupName; + } + + public Integer getDataCenterId() { + return dataCenterId; + } + + public void setDataCenterId(Integer dataCenterId) { + this.dataCenterId = dataCenterId; + } + +} diff --git a/pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/request/DiskTypeRequest.java b/pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/request/DiskTypeRequest.java new file mode 100644 index 0000000..0f205c2 --- /dev/null +++ b/pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/request/DiskTypeRequest.java @@ -0,0 +1,18 @@ +package com.neusoft.pub.cloud.provider.request; + +/** + * 磁盘类型 + */ +public class DiskTypeRequest extends BaseRequest { + + // 实例规格 + private String instanceType; + + public String getInstanceType() { + return instanceType; + } + + public void setInstanceType(String instanceType) { + this.instanceType = instanceType; + } +} diff --git a/pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/request/ImageRequest.java b/pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/request/ImageRequest.java new file mode 100644 index 0000000..d8f5462 --- /dev/null +++ b/pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/request/ImageRequest.java @@ -0,0 +1,41 @@ +package com.neusoft.pub.cloud.provider.request; + +import com.neusoft.pub.cloud.provider.enums.OSArch; + +public class ImageRequest extends BaseRequest { + + /** + * 架构 + */ + private OSArch arch; + /** + * 操作系统平台 + */ + private String platform; + + private String imageId; + + public String getImageId() { + return imageId; + } + + public void setImageId(String imageId) { + this.imageId = imageId; + } + + public OSArch getArch() { + return arch; + } + + public void setArch(OSArch arch) { + this.arch = arch; + } + + public String getPlatform() { + return platform; + } + + public void setPlatform(String platform) { + this.platform = platform; + } +} diff --git a/pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/request/InquiryPriceRunDriverRequest.java b/pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/request/InquiryPriceRunDriverRequest.java new file mode 100644 index 0000000..2c2b0df --- /dev/null +++ b/pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/request/InquiryPriceRunDriverRequest.java @@ -0,0 +1,185 @@ +package com.neusoft.pub.cloud.provider.request; + +import java.util.List; + +/** + * describe : + * + * @author hao.dd + * @date 2023/7/31 + */ +public class InquiryPriceRunDriverRequest extends BaseRequest { + private Integer dataCenterId; + /** + * 实例规格(InstanceType):用于指定实例的计算能力和配置。 + */ + private String instanceType; + /** + * 操作系统(ImageId):用于指定实例的操作系统镜像,如Linux、Windows等。 + */ + private String imageId; + /** + * 系统盘 + */ + private DiskInfo systemDisk; + /** + * 数据盘 + */ + private List dataDisks; + + /** + * 网络带宽(InternetMaxBandwidthOut):用于指定实例的出网带宽,即实例可用于外部网络的最大带宽。 + */ + private Integer internetMaxBandwidthOut; + + /** + * 网络带宽计费方式 + * PayByBandwidth:按固定带宽计费。 + * PayByTraffic:按带宽流量计费 + */ + private String internetChargeType; + /** + * 计费方式 + * 查询云服务器ECS不同计费周期的价格。取值范围: + *

+ * Month:按月计费的价格单位。 + * Year:按年计费的价格单位。 + * Hour(默认):按小时计费的价格单位。 + * Week:按周计费的价格单位。 + */ + private String priceUnit; + /** + * 云服务器ECS的计费时长。取值范围: + *

+ * 当参数PriceUnit取值为Month时:1~9。 + * 当参数PriceUnit取值为Year时:1~5。 + * 当参数PriceUnit取值为Hour时:1。 + * 当参数PriceUnit取值为Week时:1~4。 + */ + private Integer period; + /** + * 购买数量 + */ + private Integer amount; + + public Integer getDataCenterId() { + return dataCenterId; + } + + public void setDataCenterId(Integer dataCenterId) { + this.dataCenterId = dataCenterId; + } + + public String getInstanceType() { + return instanceType; + } + + public void setInstanceType(String instanceType) { + this.instanceType = instanceType; + } + + public DiskInfo getSystemDisk() { + return systemDisk; + } + + public void setSystemDisk(DiskInfo systemDisk) { + this.systemDisk = systemDisk; + } + + public List getDataDisks() { + return dataDisks; + } + + public void setDataDisks(List dataDisks) { + this.dataDisks = dataDisks; + } + + public Integer getInternetMaxBandwidthOut() { + return internetMaxBandwidthOut; + } + + public void setInternetMaxBandwidthOut(Integer internetMaxBandwidthOut) { + this.internetMaxBandwidthOut = internetMaxBandwidthOut; + } + + public String getInternetChargeType() { + return internetChargeType; + } + + public void setInternetChargeType(String internetChargeType) { + this.internetChargeType = internetChargeType; + } + + public String getPriceUnit() { + return priceUnit; + } + + public void setPriceUnit(String priceUnit) { + this.priceUnit = priceUnit; + } + + public Integer getPeriod() { + return period; + } + + public void setPeriod(Integer period) { + this.period = period; + } + + public Integer getAmount() { + return amount; + } + + public void setAmount(Integer amount) { + this.amount = amount; + } + + public String getImageId() { + return imageId; + } + + public void setImageId(String imageId) { + this.imageId = imageId; + } + + public static class DiskInfo { + /** + * 磁盘类型 + */ + private String diskType; + /** + * 系统盘类型为ESSD云盘时,区分性能等级。仅当SystemDiskCategory=cloud_essd时该参数有效。取值范围: + *

+ * PL0。 PL1(默认)。 PL2。 PL3。 + */ + private String performanceLevel; + /** + * 磁盘大小 + */ + private Integer diskSize; + + public String getDiskType() { + return diskType; + } + + public void setDiskType(String diskType) { + this.diskType = diskType; + } + + public String getPerformanceLevel() { + return performanceLevel; + } + + public void setPerformanceLevel(String performanceLevel) { + this.performanceLevel = performanceLevel; + } + + public Integer getDiskSize() { + return diskSize; + } + + public void setDiskSize(Integer diskSize) { + this.diskSize = diskSize; + } + } +} diff --git a/pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/request/InstanceTypeRequest.java b/pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/request/InstanceTypeRequest.java new file mode 100644 index 0000000..9627d97 --- /dev/null +++ b/pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/request/InstanceTypeRequest.java @@ -0,0 +1,70 @@ +package com.neusoft.pub.cloud.provider.request; + +import com.neusoft.pub.cloud.provider.enums.OSArch; + +import java.util.List; + +public class InstanceTypeRequest extends BaseRequest { + + private List instanceTypes; + + private OSArch arch; + + private String instanceTypeFamily; + + private String imageId; + + private Integer cpuCoreCount; + + // 内存(GB) + private Float memorySize; + + public String getImageId() { + return imageId; + } + + public void setImageId(String imageId) { + this.imageId = imageId; + } + + public String getInstanceTypeFamily() { + return instanceTypeFamily; + } + + public void setInstanceTypeFamily(String instanceTypeFamily) { + this.instanceTypeFamily = instanceTypeFamily; + } + + public OSArch getArch() { + return arch; + } + + public void setArch(OSArch arch) { + this.arch = arch; + } + + public Integer getCpuCoreCount() { + return cpuCoreCount; + } + + public void setCpuCoreCount(Integer cpuCoreCount) { + this.cpuCoreCount = cpuCoreCount; + } + + public Float getMemorySize() { + return memorySize; + } + + public void setMemorySize(Float memorySize) { + this.memorySize = memorySize; + } + + public List getInstanceTypes() { + return instanceTypes; + } + + public void setInstanceTypes(List instanceTypes) { + this.instanceTypes = instanceTypes; + } + +} diff --git a/pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/request/JoinSecurityGroupRequest.java b/pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/request/JoinSecurityGroupRequest.java new file mode 100644 index 0000000..bc26464 --- /dev/null +++ b/pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/request/JoinSecurityGroupRequest.java @@ -0,0 +1,28 @@ +package com.neusoft.pub.cloud.provider.request; + +/** + * describe : + * + * @author hao.dd + * @date 2023/7/28 + */ +public class JoinSecurityGroupRequest extends BaseRequest { + private String securityGroupId; + private String instanceId; + + public String getSecurityGroupId() { + return securityGroupId; + } + + public void setSecurityGroupId(String securityGroupId) { + this.securityGroupId = securityGroupId; + } + + public String getInstanceId() { + return instanceId; + } + + public void setInstanceId(String instanceId) { + this.instanceId = instanceId; + } +} diff --git a/pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/request/ListInstanceRequest.java b/pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/request/ListInstanceRequest.java new file mode 100644 index 0000000..5ffed1f --- /dev/null +++ b/pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/request/ListInstanceRequest.java @@ -0,0 +1,21 @@ +package com.neusoft.pub.cloud.provider.request; + +import java.util.List; + +/** + * describe : + * + * @author hao.dd + * @date 2023/8/16 + */ +public class ListInstanceRequest extends BaseRequest { + private List instanceIds; + + public List getInstanceIds() { + return instanceIds; + } + + public void setInstanceIds(List instanceIds) { + this.instanceIds = instanceIds; + } +} diff --git a/pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/request/ListSecurityGroupRequest.java b/pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/request/ListSecurityGroupRequest.java new file mode 100644 index 0000000..6ccf81c --- /dev/null +++ b/pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/request/ListSecurityGroupRequest.java @@ -0,0 +1,23 @@ +package com.neusoft.pub.cloud.provider.request; + +/** + * describe : + * + * @author hao.dd + * @date 2023/7/24 + */ +@Deprecated +public class ListSecurityGroupRequest { + /** + * 地域id + */ + private String regionId; + + public String getRegionId() { + return regionId; + } + + public void setRegionId(String regionId) { + this.regionId = regionId; + } +} diff --git a/pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/request/ListVirtualMachineRequest.java b/pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/request/ListVirtualMachineRequest.java new file mode 100644 index 0000000..8f22c93 --- /dev/null +++ b/pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/request/ListVirtualMachineRequest.java @@ -0,0 +1,44 @@ +package com.neusoft.pub.cloud.provider.request; + +import io.swagger.annotations.ApiModelProperty; + +/** + * describe : + * + * @author hao.dd + * @date 2023/8/14 + */ +public class ListVirtualMachineRequest extends BaseRequest { + @ApiModelProperty(value = "云平台账号id") + private Integer dataCenterId; + + @ApiModelProperty(value = "名称") + private String name; + + @ApiModelProperty(value = "ip") + private String ip; + + public Integer getDataCenterId() { + return dataCenterId; + } + + public void setDataCenterId(Integer dataCenterId) { + this.dataCenterId = dataCenterId; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getIp() { + return ip; + } + + public void setIp(String ip) { + this.ip = ip; + } +} diff --git a/pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/request/RegionsRequest.java b/pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/request/RegionsRequest.java new file mode 100644 index 0000000..ebf5925 --- /dev/null +++ b/pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/request/RegionsRequest.java @@ -0,0 +1,11 @@ +package com.neusoft.pub.cloud.provider.request; + +/** + * describe : + * + * @author hao.dd + * @date 2023/7/24 + */ +public class RegionsRequest { + +} diff --git a/pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/request/SwitchRequest.java b/pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/request/SwitchRequest.java new file mode 100644 index 0000000..5431cae --- /dev/null +++ b/pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/request/SwitchRequest.java @@ -0,0 +1,14 @@ +package com.neusoft.pub.cloud.provider.request; + +public class SwitchRequest extends BaseRequest { + + private String vpcId; + + public String getVpcId() { + return vpcId; + } + + public void setVpcId(String vpcId) { + this.vpcId = vpcId; + } +} diff --git a/pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/request/ZoneRequest.java b/pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/request/ZoneRequest.java new file mode 100644 index 0000000..7358364 --- /dev/null +++ b/pub-cloud-provider/src/main/java/com/neusoft/pub/cloud/provider/request/ZoneRequest.java @@ -0,0 +1,24 @@ +package com.neusoft.pub.cloud.provider.request; + +/** + * describe : + * + * @author hao.dd + * @date 2023/7/24 + */ +public class ZoneRequest extends BaseRequest { + + /** + * 地域对应的接入地址(Endpoint) + */ + private String regionEndpoint; + + + public String getRegionEndpoint() { + return regionEndpoint; + } + + public void setRegionEndpoint(String regionEndpoint) { + this.regionEndpoint = regionEndpoint; + } +} -- Gitee