...
|
...
|
@@ -119,13 +119,13 @@ public class AwsQueryService { |
|
|
AmazonAutoScaling client = new AmazonAutoScalingClient(awsClientComp.getAWSCredentials());
|
|
|
client.setRegion(awsClientComp.getRegion(Regions.CN_NORTH_1));
|
|
|
DescribeAutoScalingGroupsRequest request = null;
|
|
|
/*if(StringUtils.isNotBlank(equalsName)){
|
|
|
if(StringUtils.isNotBlank(equalsName)){
|
|
|
request = new DescribeAutoScalingGroupsRequest()
|
|
|
.withAutoScalingGroupNames(equalsName);
|
|
|
}else{*/
|
|
|
}else{
|
|
|
request = new DescribeAutoScalingGroupsRequest()
|
|
|
.withAutoScalingGroupNames();
|
|
|
// }
|
|
|
}
|
|
|
DescribeAutoScalingGroupsResult result = client .describeAutoScalingGroups(request);
|
|
|
if(result == null){
|
|
|
return null;
|
...
|
...
|
@@ -144,41 +144,71 @@ public class AwsQueryService { |
|
|
}
|
|
|
}
|
|
|
|
|
|
if(!nameTag.equals(group.getAutoScalingGroupName())&&!equalsName.equals(group.getAutoScalingGroupName())){
|
|
|
continue;
|
|
|
}
|
|
|
|
|
|
}
|
|
|
if(nameTag.equals(group.getAutoScalingGroupName())||equalsName.equals(group.getAutoScalingGroupName())){
|
|
|
commGroup = new CommAutoScalingGroup();
|
|
|
commGroup.setScalingGroupName(group.getAutoScalingGroupName());
|
|
|
commGroup.setMinSize(group.getMinSize());
|
|
|
commGroup.setMaxSize(group.getMaxSize());
|
|
|
commGroup.setDesiredCapacity(group.getDesiredCapacity());
|
|
|
|
|
|
if(CollectionUtils.isNotEmpty(group.getInstances())){
|
|
|
Collection<String> ids = new ArrayList<>();
|
|
|
Map<String, Boolean> idsMap = new HashMap<>();
|
|
|
for(com.amazonaws.services.autoscaling.model.Instance instance : group.getInstances()){
|
|
|
ids.add(instance.getInstanceId());
|
|
|
idsMap.put(instance.getInstanceId(),instance.getProtectedFromScaleIn());
|
|
|
}
|
|
|
//根据InstanceId获取详细信息
|
|
|
List<CommAutoScalingInstances> commInstancess = getDescribeInstances(ids, idsMap);
|
|
|
//计算出几台是受保护的机器,方便前台使用
|
|
|
if(CollectionUtils.isNotEmpty(commInstancess)){
|
|
|
int count = 0;
|
|
|
for(CommAutoScalingInstances awsInstance : commInstancess){
|
|
|
if("TRUE".equals(awsInstance.getProtectedFrom().toUpperCase())){
|
|
|
count += 1;
|
|
|
}
|
|
|
}
|
|
|
commGroup.setProtectedFromCount(count);
|
|
|
}
|
|
|
commGroup.setScalingInstancess(commInstancess);
|
|
|
|
|
|
commGroup = new CommAutoScalingGroup();
|
|
|
commGroup.setScalingGroupName(group.getAutoScalingGroupName());
|
|
|
commGroup.setMinSize(group.getMinSize());
|
|
|
commGroup.setMaxSize(group.getMaxSize());
|
|
|
commGroup.setDesiredCapacity(group.getDesiredCapacity());
|
|
|
|
|
|
if(CollectionUtils.isNotEmpty(group.getInstances())){
|
|
|
Collection<String> ids = new ArrayList<>();
|
|
|
Map<String, Boolean> idsMap = new HashMap<>();
|
|
|
for(com.amazonaws.services.autoscaling.model.Instance instance : group.getInstances()){
|
|
|
ids.add(instance.getInstanceId());
|
|
|
idsMap.put(instance.getInstanceId(),instance.getProtectedFromScaleIn());
|
|
|
commGroups.add(commGroup);
|
|
|
}
|
|
|
}
|
|
|
//根据InstanceId获取详细信息
|
|
|
List<CommAutoScalingInstances> commInstancess = getDescribeInstances(ids, idsMap);
|
|
|
//计算出几台是受保护的机器,方便前台使用
|
|
|
if(CollectionUtils.isNotEmpty(commInstancess)){
|
|
|
int count = 0;
|
|
|
for(CommAutoScalingInstances awsInstance : commInstancess){
|
|
|
if("TRUE".equals(awsInstance.getProtectedFrom().toUpperCase())){
|
|
|
count += 1;
|
|
|
|
|
|
}else{
|
|
|
commGroup = new CommAutoScalingGroup();
|
|
|
commGroup.setScalingGroupName(group.getAutoScalingGroupName());
|
|
|
commGroup.setMinSize(group.getMinSize());
|
|
|
commGroup.setMaxSize(group.getMaxSize());
|
|
|
commGroup.setDesiredCapacity(group.getDesiredCapacity());
|
|
|
|
|
|
if(CollectionUtils.isNotEmpty(group.getInstances())){
|
|
|
Collection<String> ids = new ArrayList<>();
|
|
|
Map<String, Boolean> idsMap = new HashMap<>();
|
|
|
for(com.amazonaws.services.autoscaling.model.Instance instance : group.getInstances()){
|
|
|
ids.add(instance.getInstanceId());
|
|
|
idsMap.put(instance.getInstanceId(),instance.getProtectedFromScaleIn());
|
|
|
}
|
|
|
//根据InstanceId获取详细信息
|
|
|
List<CommAutoScalingInstances> commInstancess = getDescribeInstances(ids, idsMap);
|
|
|
//计算出几台是受保护的机器,方便前台使用
|
|
|
if(CollectionUtils.isNotEmpty(commInstancess)){
|
|
|
int count = 0;
|
|
|
for(CommAutoScalingInstances awsInstance : commInstancess){
|
|
|
if("TRUE".equals(awsInstance.getProtectedFrom().toUpperCase())){
|
|
|
count += 1;
|
|
|
}
|
|
|
}
|
|
|
commGroup.setProtectedFromCount(count);
|
|
|
}
|
|
|
commGroup.setProtectedFromCount(count);
|
|
|
}
|
|
|
commGroup.setScalingInstancess(commInstancess);
|
|
|
commGroup.setScalingInstancess(commInstancess);
|
|
|
|
|
|
commGroups.add(commGroup);
|
|
|
commGroups.add(commGroup);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
|
|
|
}
|
|
|
}catch (Exception e){
|
|
|
DEBUG.error(" - AwsController - getAwsAutoScaling - error", e);
|
...
|
...
|
|