Example usage for com.amazonaws.services.autoscaling AmazonAutoScalingClient describeAutoScalingInstances

List of usage examples for com.amazonaws.services.autoscaling AmazonAutoScalingClient describeAutoScalingInstances

Introduction

In this page you can find the example usage for com.amazonaws.services.autoscaling AmazonAutoScalingClient describeAutoScalingInstances.

Prototype

@Override
public DescribeAutoScalingInstancesResult describeAutoScalingInstances(
        DescribeAutoScalingInstancesRequest request) 

Source Link

Document

Describes one or more Auto Scaling instances.

Usage

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);
}