12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091 |
- package com.fdkankan.mqcontroller.utils;
- import com.alibaba.fastjson.JSONObject;
- import com.aliyun.ess20220222.Client;
- import com.aliyun.ess20220222.models.ExecuteScalingRuleRequest;
- import com.aliyun.ess20220222.models.ExecuteScalingRuleResponse;
- import com.aliyun.ess20220222.models.RemoveInstancesRequest;
- import com.aliyun.ess20220222.models.RemoveInstancesResponse;
- import com.aliyun.tea.TeaException;
- import com.aliyun.teaopenapi.models.Config;
- import lombok.extern.slf4j.Slf4j;
- import software.amazon.awssdk.auth.credentials.AwsBasicCredentials;
- import software.amazon.awssdk.auth.credentials.StaticCredentialsProvider;
- import software.amazon.awssdk.http.SdkHttpResponse;
- import software.amazon.awssdk.regions.Region;
- import software.amazon.awssdk.services.autoscaling.AutoScalingClient;
- import software.amazon.awssdk.services.autoscaling.model.*;
- import java.util.Arrays;
- import java.util.UUID;
- @Slf4j
- public class AwsEcsUtils {
- public static Boolean setCapacity(String autoScalingGroupName,String accesskey,String secretkey,Integer desiredCapacity) {
- AwsBasicCredentials awsCreds = AwsBasicCredentials.create(accesskey, secretkey);
- AutoScalingClient autoScalingClient = AutoScalingClient.builder()
- .region(Region.EU_CENTRAL_1)
- .credentialsProvider(StaticCredentialsProvider.create(awsCreds))
- .build();
- autoScalingClient.describeAutoScalingGroups();
- try {
- SetDesiredCapacityRequest request = SetDesiredCapacityRequest.builder()
- .autoScalingGroupName(autoScalingGroupName)
- .desiredCapacity(desiredCapacity)
- .build();
- SetDesiredCapacityResponse setDesiredCapacityResponse = autoScalingClient.setDesiredCapacity(request);
- SdkHttpResponse sdkHttpResponse = setDesiredCapacityResponse.sdkHttpResponse();
- //log.info("resp:{}",sdkHttpResponse);
- return sdkHttpResponse.isSuccessful();
- } catch (AutoScalingException e) {
- log.info(e.awsErrorDetails().errorMessage());
- return false;
- } finally {
- autoScalingClient.close();
- }
- }
- public static Boolean stopEcs(String accesskey,String secretkey,String instanceId){
- boolean shouldDecrementDesiredCapacity = false;
- AwsBasicCredentials awsCreds = AwsBasicCredentials.create(accesskey, secretkey);
- AutoScalingClient autoScalingClient = AutoScalingClient.builder()
- .region(Region.EU_CENTRAL_1)
- .credentialsProvider(StaticCredentialsProvider.create(awsCreds))
- .build();
- try {
- TerminateInstanceInAutoScalingGroupRequest request = TerminateInstanceInAutoScalingGroupRequest.builder()
- .instanceId(instanceId)
- .shouldDecrementDesiredCapacity(shouldDecrementDesiredCapacity)
- .build();
- TerminateInstanceInAutoScalingGroupResponse terminateInstanceInAutoScalingGroupResponse = autoScalingClient.terminateInstanceInAutoScalingGroup(request);
- log.info("resp:{}",terminateInstanceInAutoScalingGroupResponse);
- } catch (AutoScalingException e) {
- log.info(e.awsErrorDetails().errorMessage());
- return false;
- } finally {
- autoScalingClient.close();
- }
- return true;
- }
- public static void main(String[] args) {
- String APPKEY = "AKIAWCV5QFZ3WTRVTJW7";
- String APPSECRET = "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";
- String AUTOSCALINGGROUPNAME = "test";
- //stopEcs(APPKEY,APPSECRET,"i-01849da64bd3919d6");
- System.out.println( setCapacity(AUTOSCALINGGROUPNAME,APPKEY,APPSECRET,0));
- }
- }
|