Commit ee2e3236 authored by chen's avatar chen

轻量级服务器自测

parent 7ff8ded8
......@@ -1169,17 +1169,38 @@ public class IpResourceServiceImpl implements IpResourceService {
}
}else if("tenCent".equals(cloudPlatformOrder.getPlatformType())){
RenewInstancesResponse response = TenCentEcsClient.renewInstance(
ipResource.getOwner(), cloudPlatformOrder.getRegionId(),
cloudPlatformOrder.getPlatformOrderId(), period);
if (null ==response) {
logger.error("fail to renew ip : {}", JSON.toJSON(response));
}else if(Objects.nonNull(response.getRequestId())){
IPData ipData = new IPData();
ipData.setIp(ipResource.getAddr());
ipDataList.add(ipData);
CloudPlatformConfig config = cloudPlatformConfigRepository.findByPlatformAndRegionId(
"tenCent",
cloudPlatformOrder.getRegionId());
if (StringUtils.isNotEmpty(config.getTemplateId())) {
RenewInstancesResponse response = TenCentEcsClient.renewInstance(
ipResource.getOwner(), cloudPlatformOrder.getRegionId(),
cloudPlatformOrder.getPlatformOrderId(), period);
if (null ==response) {
logger.error("fail to renew ip : {}", JSON.toJSON(response));
}else if(Objects.nonNull(response.getRequestId())){
IPData ipData = new IPData();
ipData.setIp(ipResource.getAddr());
ipDataList.add(ipData);
}
}else {
com.tencentcloudapi.lighthouse.v20200324.models.RenewInstancesResponse response = TenCentEcsClient.renewInstanceLight(
ipResource.getOwner(), cloudPlatformOrder.getRegionId(),
cloudPlatformOrder.getPlatformOrderId(), period);
if (null ==response) {
logger.error("fail to renew ip : {}", JSON.toJSON(response));
}else if(Objects.nonNull(response.getRequestId())){
IPData ipData = new IPData();
ipData.setIp(ipResource.getAddr());
ipDataList.add(ipData);
}
}
}
}
if(CollectionUtils.isNotEmpty(ipDataList)) {
......
......@@ -243,7 +243,7 @@ public class BrowserTask {
CreateInstancesResponse response1 = TenCentEcsClient.createInstances(
ipResource.getOwner(), ipResource.getUsername(),
ipResource.getPassword(), config);
if (null != response1 && null == response1.getInstanceIdSet()) {
if (null != response1 && null != response1.getInstanceIdSet()) {
instanceId = response1.getInstanceIdSet()[0];
}
}
......@@ -431,7 +431,7 @@ public class BrowserTask {
CloudPlatformConfig config = cloudPlatformConfigRepository.findByPlatformAndRegionId(
"tenCent",
cloudPlatformOrder.getRegionId());
if (StringUtils.isEmpty(config.getPlatform())) {
if (StringUtils.isEmpty(config.getTemplateId())) {
//轻量级服务器
com.tencentcloudapi.lighthouse.v20200324.models.DescribeInstancesResponse describeInstancesLight = TenCentEcsClient.getDescribeInstancesLight(
ipResource.getOwner(),
......@@ -446,8 +446,7 @@ public class BrowserTask {
if (instance.getInstanceState().equals("RUNNING")) {
ipResource.setAddr(instance.getPublicAddresses()[0]);
ipResource.setStatus(0);
DateTimeFormatter formatter = DateTimeFormatter.ofPattern(
"yyyy-MM-dd'T'HH:mmX");
DateTimeFormatter formatter = DateTimeFormatter.ISO_INSTANT;
Instant instant = Instant.from(
formatter.parse(instance.getExpiredTime()));
ipResource.setValidTime(instant.toEpochMilli());
......@@ -620,6 +619,28 @@ public class BrowserTask {
}
} else if ("tenCent".equals(cloudPlatformOrder.getPlatformType())) {
//判断是否为轻量级
CloudPlatformConfig config = cloudPlatformConfigRepository.findByPlatformAndRegionId(
"tenCent",
cloudPlatformOrder.getRegionId());
if (StringUtils.isEmpty(config.getTemplateId())) {
com.tencentcloudapi.lighthouse.v20200324.models.DescribeInstancesResponse describeInstancesLight = TenCentEcsClient.getDescribeInstancesLight(ipResource.getOwner(), cloudPlatformOrder.getPlatformOrderId(),
cloudPlatformOrder.getRegionId());
if (Objects.nonNull(describeInstancesLight.getInstanceSet())) {
//判断是否重复购买
com.tencentcloudapi.lighthouse.v20200324.models.Instance instance = describeInstancesLight.getInstanceSet()[0];
if (instance.getInstanceState().equals("RUNNING")) {
//包年包夜 更新ip状态
ipResource.setStatus(0);
DateTimeFormatter formatter = DateTimeFormatter.ISO_INSTANT;
Instant instant = Instant.from(
formatter.parse(instance.getExpiredTime()));
ipResource.setValidTime(instant.toEpochMilli());
ipResourceRepository.save(ipResource);
}
}
return;
}
com.tencentcloudapi.cvm.v20170312.models.DescribeInstancesResponse describeInstances = TenCentEcsClient.getDescribeInstances(
ipResource.getOwner(), cloudPlatformOrder.getPlatformOrderId(),
cloudPlatformOrder.getRegionId());
......
......@@ -291,4 +291,31 @@ public class TenCentEcsClient {
return describeInstancesResponse;
}
/**
* 续费轻量级实例
*/
public static com.tencentcloudapi.lighthouse.v20200324.models.RenewInstancesResponse renewInstanceLight(String owner, String regionId, String instanceId,
Integer period){
LighthouseClient cvmClient = createLightHouseClient(regionId);
com.tencentcloudapi.lighthouse.v20200324.models.RenewInstancesResponse response = null;
try {
com.tencentcloudapi.lighthouse.v20200324.models.RenewInstancesRequest req =
new com.tencentcloudapi.lighthouse.v20200324.models.RenewInstancesRequest();
String[] instanceIds = {""+ instanceId + ""};
req.setInstanceIds(instanceIds);
com.tencentcloudapi.lighthouse.v20200324.models.InstanceChargePrepaid instanceChargePrepaid1 = new com.tencentcloudapi.lighthouse.v20200324.models.InstanceChargePrepaid();
instanceChargePrepaid1.setPeriod((long)period);
req.setInstanceChargePrepaid(instanceChargePrepaid1);
log.info("调用TenCentEcs续费轻量级实例,入参:owner:{},regionId:{},instanceId:{},period:{}", owner, regionId, instanceId, period);
response = cvmClient.RenewInstances(req);
log.info("调用TenCentEcs续费轻量级实例,响应参数:owner:{},response:{}", owner, JSON.toJSON(response));
} catch (Exception e) {
log.error("fail to TenCentEcs renewInstance {}", e.getMessage());
}
return response;
}
}
package com.edgec.browserbackend.common.enums;
import java.util.Arrays;
import java.util.List;
import java.util.Objects;
import java.util.Random;
import lombok.AllArgsConstructor;
import lombok.Getter;
import org.thymeleaf.expression.Lists;
/**
* @Description //地区映射枚举
......@@ -31,22 +33,22 @@ public enum RegionMappingEnum {
US_CALIFORNIA("california","加利福尼亚","",""),//待确认
US_VIRGINIA("virginia","弗吉尼亚","us-east-1",""),
EU_UK("uk","英国-伦敦","eu-west-1",""),
EU_CENTRAL("germany","德国-法兰克福","eu-central-1",""),
JAPAN("japan","日本-东京","ap-northeast-1",""),
SINGAPORE("singapore","新加坡","ap-southeast-1",""),
EU_CENTRAL("germany","德国-法兰克福","eu-central-1","eu-frankfurt"),
JAPAN("japan","日本-东京","ap-northeast-1","ap-tokyo"),
SINGAPORE("singapore","新加坡","ap-southeast-1","ap-singapore"),
AUSTRALIA("australia","澳大利亚-悉尼","",""),//待确认
MALAYSIA("malaysia","马来西亚-吉隆坡","ap-southeast-3",""),
YAJIADA("yajiada","印度尼西亚-雅加达","ap-southeast-5",""),
INDIA("india","孟买","",""),//待确认
YAJIADA("yajiada","印度尼西亚-雅加达","ap-southeast-5","ap-jakarta"),
INDIA("india","孟买","","ap-mumbai"),//待确认
MEAST("meast","迪拜","me-east-1",""),
BRAZIL("brazil","巴西-圣保罗","","sa-saopaulo"),
ULANNQAB("ulanqab","乌兰察布","cn-wulanchabu",""),
SILICON("silicon","美国(硅谷)","us-west-1",""),
SILICON("silicon","美国(硅谷)","us-west-1","na-siliconvalley"),
NANJING("nanjing","南京","","ap-nanjing"),
BANGKOK("bangkok","泰国(曼谷)","ap-southeast-7",""),
MANILA("manila","菲律宾-马尼拉","ap-southeast-6",""),
SEOUL("seoul","韩国-首尔","ap-northeast-2",""),
SEOUL("seoul","韩国-首尔","ap-northeast-2","ap-seoul"),
;
......@@ -117,17 +119,17 @@ public enum RegionMappingEnum {
* @date 2024/7/30 21:40
*/
public static String getTenCentRegion(String region) {
String aliResion = "";
String tenCentResion = "";
RegionMappingEnum byRegion = getByRegion(region);
if(Objects.isNull(byRegion)){
return aliResion;
return tenCentResion;
}
if(region.equals("mainland")){
RegionMappingEnum regionMappingEnum = RegionMappingEnum.getCnRandom();
aliResion = regionMappingEnum.getTenCentRegionApi();
tenCentResion = regionMappingEnum.getTenCentRegionApi();
}else {
aliResion = byRegion.getTenCentRegionApi();
tenCentResion = byRegion.getTenCentRegionApi();
}
return aliResion;
return tenCentResion;
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment