List of usage examples for com.amazonaws.services.autoscaling.model DescribeAutoScalingGroupsRequest DescribeAutoScalingGroupsRequest
DescribeAutoScalingGroupsRequest
From source file:virtualIT.java
License:Open Source License
private void deleteAutoScalingGroup(int userId) throws InterruptedException { System.out.println("delete auto scaling group for" + userId); DescribeAutoScalingGroupsRequest describeAutoScalingGroupsRequest = new DescribeAutoScalingGroupsRequest(); describeAutoScalingGroupsRequest.withAutoScalingGroupNames(virtualIT.autoScalingGroupName); DescribeAutoScalingGroupsResult describeAutoScalingGroupResult = autoScaleClient .describeAutoScalingGroups(describeAutoScalingGroupsRequest); List<AutoScalingGroup> groups = describeAutoScalingGroupResult.getAutoScalingGroups(); if (groups.size() == 0) return;/*w ww . ja v a 2 s . com*/ // waiting for auto scaling activities to complete //-- waitForAutoScalingActivities(user); // delete the pre-existed one DeleteAutoScalingGroupRequest deleteAutoScalingGroupRequest = new DeleteAutoScalingGroupRequest(); deleteAutoScalingGroupRequest.withAutoScalingGroupName(virtualIT.autoScalingGroupName); autoScaleClient.deleteAutoScalingGroup(deleteAutoScalingGroupRequest); System.out.println("deleting auto scaling group done for" + userId); }
From source file:com.bodybuilding.turbine.discovery.AsgTagInstanceDiscovery.java
License:Apache License
/** * Returns auto scaling groups that have the CLUSTER_TAG_KEY tag * @return collection of AutoScalingGroup that contain the CLUSTER_TAG_KEY *//*from w w w.ja va2 s . c om*/ private Collection<AutoScalingGroup> findAutoscalingGroups() { String token = null; List<AutoScalingGroup> groupList = new ArrayList<>(); do { DescribeAutoScalingGroupsRequest request = new DescribeAutoScalingGroupsRequest(); request.setNextToken(token); DescribeAutoScalingGroupsResult result = asgClient.describeAutoScalingGroups(request); result.getAutoScalingGroups().stream().filter(a -> containsTag(a.getTags())).forEach(groupList::add); token = result.getNextToken(); } while (!Strings.isNullOrEmpty(token)); return groupList; }
From source file:com.haskins.cloudtrailviewer.dialog.resourcedetail.detailpanels.AsGroupDetail.java
License:Open Source License
@Override public String retrieveDetails(ResourceDetailRequest detailRequest) { String response = null;//from w w w . ja v a 2 s .co m try { AmazonAutoScaling asClient = new AmazonAutoScalingClient(credentials); asClient.setRegion(Region.getRegion(Regions.fromName(detailRequest.getRegion()))); DescribeAutoScalingGroupsRequest request = new DescribeAutoScalingGroupsRequest(); request.setAutoScalingGroupNames(Collections.singletonList(detailRequest.getResourceName())); DescribeAutoScalingGroupsResult result = asClient.describeAutoScalingGroups(request); buildUI(result); } catch (IllegalArgumentException | AmazonClientException e) { LOGGER.log(Level.WARNING, "Problem retrieving AS detail from AWS", e); response = e.getMessage(); } return response; }
From source file:com.netflix.dynomitemanager.sidecore.aws.AWSMembership.java
License:Apache License
@Override public List<String> getRacMembership() { AmazonAutoScaling client = null;/* w ww . j a v a 2s . c om*/ try { client = getAutoScalingClient(); DescribeAutoScalingGroupsRequest asgReq = new DescribeAutoScalingGroupsRequest() .withAutoScalingGroupNames(config.getASGName()); DescribeAutoScalingGroupsResult res = client.describeAutoScalingGroups(asgReq); List<String> instanceIds = Lists.newArrayList(); for (AutoScalingGroup asg : res.getAutoScalingGroups()) { for (Instance ins : asg.getInstances()) if (!(ins.getLifecycleState().equalsIgnoreCase("Terminating") || ins.getLifecycleState().equalsIgnoreCase("shutting-down") || ins.getLifecycleState().equalsIgnoreCase("Terminated"))) instanceIds.add(ins.getInstanceId()); } logger.info(String.format("Querying Amazon returned following instance in the ASG: %s --> %s", config.getRack(), StringUtils.join(instanceIds, ","))); return instanceIds; } finally { if (client != null) client.shutdown(); } }
From source file:com.netflix.dynomitemanager.sidecore.aws.AWSMembership.java
License:Apache License
@Override public List<String> getCrossAccountRacMembership() { AmazonAutoScaling client = null;/*from w ww . j a v a 2s . c o m*/ try { client = getCrossAccountAutoScalingClient(); DescribeAutoScalingGroupsRequest asgReq = new DescribeAutoScalingGroupsRequest() .withAutoScalingGroupNames(config.getASGName()); DescribeAutoScalingGroupsResult res = client.describeAutoScalingGroups(asgReq); List<String> instanceIds = Lists.newArrayList(); for (AutoScalingGroup asg : res.getAutoScalingGroups()) { for (Instance ins : asg.getInstances()) if (!(ins.getLifecycleState().equalsIgnoreCase("Terminating") || ins.getLifecycleState().equalsIgnoreCase("shutting-down") || ins.getLifecycleState().equalsIgnoreCase("Terminated"))) instanceIds.add(ins.getInstanceId()); } logger.info( String.format("Querying Amazon returned following instance in the cross-account ASG: %s --> %s", config.getRack(), StringUtils.join(instanceIds, ","))); return instanceIds; } finally { if (client != null) client.shutdown(); } }
From source file:com.netflix.dynomitemanager.sidecore.aws.AWSMembership.java
License:Apache License
/** * Actual membership AWS source of truth... *///from w w w. j a va 2 s . c om @Override public int getRacMembershipSize() { AmazonAutoScaling client = null; try { client = getAutoScalingClient(); DescribeAutoScalingGroupsRequest asgReq = new DescribeAutoScalingGroupsRequest() .withAutoScalingGroupNames(config.getASGName()); DescribeAutoScalingGroupsResult res = client.describeAutoScalingGroups(asgReq); int size = 0; for (AutoScalingGroup asg : res.getAutoScalingGroups()) { size += asg.getMaxSize(); } logger.info(String.format("Query on ASG returning %d instances", size)); return size; } finally { if (client != null) client.shutdown(); } }
From source file:com.netflix.dynomitemanager.sidecore.aws.AWSMembership.java
License:Apache License
@Override public void expandRacMembership(int count) { AmazonAutoScaling client = null;/*from ww w . j ava 2 s . c o m*/ try { client = getAutoScalingClient(); DescribeAutoScalingGroupsRequest asgReq = new DescribeAutoScalingGroupsRequest() .withAutoScalingGroupNames(config.getASGName()); DescribeAutoScalingGroupsResult res = client.describeAutoScalingGroups(asgReq); AutoScalingGroup asg = res.getAutoScalingGroups().get(0); UpdateAutoScalingGroupRequest ureq = new UpdateAutoScalingGroupRequest(); ureq.setAutoScalingGroupName(asg.getAutoScalingGroupName()); ureq.setMinSize(asg.getMinSize() + 1); ureq.setMaxSize(asg.getMinSize() + 1); ureq.setDesiredCapacity(asg.getMinSize() + 1); client.updateAutoScalingGroup(ureq); } finally { if (client != null) client.shutdown(); } }
From source file:com.netflix.edda.EddaAutoScalingClient.java
License:Apache License
public DescribeAutoScalingGroupsResult describeAutoScalingGroups() { return describeAutoScalingGroups(new DescribeAutoScalingGroupsRequest()); }
From source file:com.netflix.eureka.aws.AwsAsgUtil.java
License:Apache License
/** * Queries AWS to get the autoscaling information given the asgName. * * @param asgName/*from ww w .j av a 2 s .c o m*/ * - The name of the ASG. * @return - The auto scaling group information. */ private AutoScalingGroup retrieveAutoScalingGroup(String asgName) { if (Strings.isNullOrEmpty(asgName)) { logger.warn("null asgName specified, not attempting to retrieve AutoScalingGroup from AWS"); return null; } // You can pass one name or a list of names in the request DescribeAutoScalingGroupsRequest request = new DescribeAutoScalingGroupsRequest() .withAutoScalingGroupNames(asgName); DescribeAutoScalingGroupsResult result = awsClient.describeAutoScalingGroups(request); List<AutoScalingGroup> asgs = result.getAutoScalingGroups(); if (asgs.isEmpty()) { return null; } else { return asgs.get(0); } }
From source file:com.netflix.eureka.aws.AwsAsgUtil.java
License:Apache License
private AutoScalingGroup retrieveAutoScalingGroupCrossAccount(String asgAccount, String asgName) { logger.debug("Getting cross account ASG for asgName: " + asgName + ", asgAccount: " + asgAccount); Credentials credentials = stsCredentials.get(asgAccount); if (credentials == null || credentials.getExpiration().getTime() < System.currentTimeMillis() + 1000) { stsCredentials.put(asgAccount, initializeStsSession(asgAccount)); credentials = stsCredentials.get(asgAccount); }//from w w w. j a v a 2s.c om ClientConfiguration clientConfiguration = new ClientConfiguration() .withConnectionTimeout(serverConfig.getASGQueryTimeoutMs()); AmazonAutoScaling autoScalingClient = new AmazonAutoScalingClient( new BasicSessionCredentials(credentials.getAccessKeyId(), credentials.getSecretAccessKey(), credentials.getSessionToken()), clientConfiguration); String region = clientConfig.getRegion(); if (!region.equals("us-east-1")) { autoScalingClient.setEndpoint("autoscaling." + region + ".amazonaws.com"); } DescribeAutoScalingGroupsRequest request = new DescribeAutoScalingGroupsRequest() .withAutoScalingGroupNames(asgName); DescribeAutoScalingGroupsResult result = autoScalingClient.describeAutoScalingGroups(request); List<AutoScalingGroup> asgs = result.getAutoScalingGroups(); if (asgs.isEmpty()) { return null; } else { return asgs.get(0); } }