From e3b5447ea6bd543f75d4693ebcb6a09f7f7201af Mon Sep 17 00:00:00 2001 From: HoweChen Date: Thu, 14 May 2020 16:53:26 +0800 Subject: [PATCH] #78 update CoreCreateLoadBalancerRequestDto, add LoadBalancerPayType --- .../CoreCreateLoadBalancerRequestDto.java | 33 ++++++++++++++----- .../loadBalancer/LoadBalancerPayType.java | 8 +++++ 2 files changed, 33 insertions(+), 8 deletions(-) create mode 100644 src/main/java/com/webank/wecube/plugins/alicloud/service/loadBalancer/LoadBalancerPayType.java diff --git a/src/main/java/com/webank/wecube/plugins/alicloud/dto/loadBalancer/CoreCreateLoadBalancerRequestDto.java b/src/main/java/com/webank/wecube/plugins/alicloud/dto/loadBalancer/CoreCreateLoadBalancerRequestDto.java index a026b2d9..fea11b17 100644 --- a/src/main/java/com/webank/wecube/plugins/alicloud/dto/loadBalancer/CoreCreateLoadBalancerRequestDto.java +++ b/src/main/java/com/webank/wecube/plugins/alicloud/dto/loadBalancer/CoreCreateLoadBalancerRequestDto.java @@ -2,8 +2,11 @@ import com.aliyuncs.slb.model.v20140515.CreateLoadBalancerRequest; import com.fasterxml.jackson.annotation.JsonProperty; +import com.webank.wecube.plugins.alicloud.common.PluginException; import com.webank.wecube.plugins.alicloud.dto.CoreRequestInputDto; import com.webank.wecube.plugins.alicloud.dto.PluginSdkInputBridge; +import com.webank.wecube.plugins.alicloud.service.loadBalancer.LoadBalancerPayType; +import org.apache.commons.lang3.EnumUtils; import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.builder.ToStringBuilder; import org.apache.commons.lang3.builder.ToStringStyle; @@ -15,14 +18,6 @@ */ public class CoreCreateLoadBalancerRequestDto extends CoreRequestInputDto implements PluginSdkInputBridge { - @Override - public void adaptToAliCloud() { - if (!StringUtils.isEmpty(this.getAddressType()) && StringUtils.equalsIgnoreCase(AddressType.internet.toString(), this.getAddressType())) { - this.setAddress(null); - this.setVSwitchId(null); - } - } - private String loadBalancerId; private String loadBalancerProtocol; @@ -278,6 +273,28 @@ public String toString() { .toString(); } + @Override + public void adaptToAliCloud() throws PluginException { + if (!StringUtils.isEmpty(this.getAddressType()) && StringUtils.equalsIgnoreCase(AddressType.internet.toString(), this.getAddressType())) { + this.setAddress(null); + this.setVSwitchId(null); + } + + if (StringUtils.isNotEmpty(payType)) { + if (EnumUtils.isValidEnumIgnoreCase(LoadBalancerPayType.class, payType)) { + payType = EnumUtils.getEnumIgnoreCase(LoadBalancerPayType.class, payType).toString(); + } else { + if (StringUtils.equalsIgnoreCase("postpaid", payType)) { + payType = LoadBalancerPayType.PayOnDemand.toString(); + } else if (StringUtils.equalsIgnoreCase("prepaid", payType)) { + payType = LoadBalancerPayType.PrePay.toString(); + } else { + throw new PluginException(String.format("Invalid given payType: [%s]", payType)); + } + } + } + } + private enum AddressType { // internet internet, diff --git a/src/main/java/com/webank/wecube/plugins/alicloud/service/loadBalancer/LoadBalancerPayType.java b/src/main/java/com/webank/wecube/plugins/alicloud/service/loadBalancer/LoadBalancerPayType.java new file mode 100644 index 00000000..c0ce9a16 --- /dev/null +++ b/src/main/java/com/webank/wecube/plugins/alicloud/service/loadBalancer/LoadBalancerPayType.java @@ -0,0 +1,8 @@ +package com.webank.wecube.plugins.alicloud.service.loadBalancer; + +public enum LoadBalancerPayType { + // pay on demand + PayOnDemand, + // pre pay + PrePay +}