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

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

Introduction

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

Prototype

@Override
public DescribeAutoScalingGroupsResult describeAutoScalingGroups(DescribeAutoScalingGroupsRequest request) 

Source Link

Document

Describes one or more Auto Scaling groups.

Usage

From source file:com.netflix.simianarmy.aws.AWSClient.java

License:Apache License

/**
 * Describe a set of specific auto scaling groups.
 *
 * @return the auto scaling groups//from   w ww.  j  a  v a  2 s.c  o  m
 */
public List<AutoScalingGroup> describeAutoScalingGroups(String... names) {
    List<AutoScalingGroup> asgs = new LinkedList<AutoScalingGroup>();

    AmazonAutoScalingClient asgClient = asgClient();
    DescribeAutoScalingGroupsRequest request = new DescribeAutoScalingGroupsRequest();
    if (names != null) {
        request.withAutoScalingGroupNames(Arrays.asList(names));
    }
    DescribeAutoScalingGroupsResult result = asgClient.describeAutoScalingGroups(request);

    asgs.addAll(result.getAutoScalingGroups());
    while (result.getNextToken() != null) {
        request = request.withNextToken(result.getNextToken());
        result = asgClient.describeAutoScalingGroups(request);
        asgs.addAll(result.getAutoScalingGroups());
    }

    return asgs;
}

From source file:com.netflix.simianarmy.client.aws.AWSClient.java

License:Apache License

/**
 * Describe a set of specific auto scaling groups.
 *
 * @param names the ASG names//  ww  w.  jav a  2s.  com
 * @return the auto scaling groups
 */
public List<AutoScalingGroup> describeAutoScalingGroups(String... names) {
    if (names == null || names.length == 0) {
        LOGGER.info(String.format("Getting all auto-scaling groups in region %s.", region));
    } else {
        LOGGER.info(
                String.format("Getting auto-scaling groups for %d names in region %s.", names.length, region));
    }

    List<AutoScalingGroup> asgs = new LinkedList<AutoScalingGroup>();

    AmazonAutoScalingClient asgClient = asgClient();
    DescribeAutoScalingGroupsRequest request = new DescribeAutoScalingGroupsRequest();
    if (names != null) {
        request.setAutoScalingGroupNames(Arrays.asList(names));
    }
    DescribeAutoScalingGroupsResult result = asgClient.describeAutoScalingGroups(request);

    asgs.addAll(result.getAutoScalingGroups());
    while (result.getNextToken() != null) {
        request.setNextToken(result.getNextToken());
        result = asgClient.describeAutoScalingGroups(request);
        asgs.addAll(result.getAutoScalingGroups());
    }

    LOGGER.info(String.format("Got %d auto-scaling groups in region %s.", asgs.size(), region));
    return asgs;
}

From source file:io.macgyver.plugin.cloud.aws.scanner.ASGScanner.java

License:Apache License

private void forEachAsg(Region region, Consumer<AutoScalingGroup> consumer) {
    AmazonAutoScalingClient client = new AmazonAutoScalingClient(getAWSServiceClient().getCredentialsProvider())
            .withRegion(region);// w  w w.  ja  va  2  s.  com

    DescribeAutoScalingGroupsRequest request = new DescribeAutoScalingGroupsRequest();
    if (targetAutoScalingGroupNames != null) {
        request.withAutoScalingGroupNames(targetAutoScalingGroupNames);
    }
    DescribeAutoScalingGroupsResult results = client.describeAutoScalingGroups(request);
    String token = results.getNextToken();
    results.getAutoScalingGroups().forEach(consumer);

    while (!Strings.isNullOrEmpty(token) && !token.equals("null")) {
        results = client.describeAutoScalingGroups(request.withNextToken(token));
        token = results.getNextToken();
        results.getAutoScalingGroups().forEach(consumer);
    }
}