Example usage for com.amazonaws.services.autoscaling.model DescribeAutoScalingInstancesRequest withNextToken

List of usage examples for com.amazonaws.services.autoscaling.model DescribeAutoScalingInstancesRequest withNextToken

Introduction

In this page you can find the example usage for com.amazonaws.services.autoscaling.model DescribeAutoScalingInstancesRequest withNextToken.

Prototype


public DescribeAutoScalingInstancesRequest withNextToken(String nextToken) 

Source Link

Document

The token for the next set of items to return.

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  w ww  .j av a 2  s .c  o  m
 * @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;
}