List of usage examples for com.amazonaws.services.autoscaling AmazonAutoScalingClient describeAutoScalingInstances
@Override
public DescribeAutoScalingInstancesResult describeAutoScalingInstances(
DescribeAutoScalingInstancesRequest request)
Describes one or more Auto Scaling instances.
From source file:com.netflix.simianarmy.client.aws.AWSClient.java
License:Apache License
/** * Describe a set of specific auto-scaling instances. * * @param instanceIds the instance ids//from ww w. j a va 2 s. com * @return the instances */ public List<AutoScalingInstanceDetails> describeAutoScalingInstances(String... instanceIds) { if (instanceIds == null || instanceIds.length == 0) { LOGGER.info(String.format("Getting all auto-scaling instances in region %s.", region)); } else { LOGGER.info(String.format("Getting auto-scaling instances for %d ids in region %s.", instanceIds.length, region)); } List<AutoScalingInstanceDetails> instances = new LinkedList<AutoScalingInstanceDetails>(); AmazonAutoScalingClient asgClient = asgClient(); DescribeAutoScalingInstancesRequest request = new DescribeAutoScalingInstancesRequest(); if (instanceIds != null) { request.setInstanceIds(Arrays.asList(instanceIds)); } DescribeAutoScalingInstancesResult result = asgClient.describeAutoScalingInstances(request); instances.addAll(result.getAutoScalingInstances()); while (result.getNextToken() != null) { request = request.withNextToken(result.getNextToken()); result = asgClient.describeAutoScalingInstances(request); instances.addAll(result.getAutoScalingInstances()); } LOGGER.info(String.format("Got %d auto-scaling instances.", instances.size())); return instances; }
From source file:dsmwatcher.DSMWatcher.java
License:Open Source License
public void handleAutoScaledInstance(Instance instance) throws Exception { AmazonAutoScalingClient as = new AmazonAutoScalingClient().withRegion(region); DescribeAutoScalingInstancesResult describeResult = as.describeAutoScalingInstances( new DescribeAutoScalingInstancesRequest().withInstanceIds(instance.getInstanceId())); if (describeResult.getAutoScalingInstances().size() == 0) { return;/*from ww w . j a v a2 s .c o m*/ } AutoScalingInstanceDetails instanceDetails = describeResult.getAutoScalingInstances().get(0); DetachInstancesRequest detachRequest = new DetachInstancesRequest() .withInstanceIds(instanceDetails.getInstanceId()) .withAutoScalingGroupName(instanceDetails.getAutoScalingGroupName()) .withShouldDecrementDesiredCapacity(false); as.detachInstances(detachRequest); }