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

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

Introduction

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

Prototype


public void setInstanceIds(java.util.Collection<String> instanceIds) 

Source Link

Document

The IDs of the 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 va2s . co  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;
}

From source file:com.pinterest.arcee.autoscaling.AwsAutoScaleGroupManager.java

License:Apache License

@Override
public Collection<String> instancesInAutoScalingGroup(Collection<String> instances) throws Exception {
    DescribeAutoScalingInstancesRequest request = new DescribeAutoScalingInstancesRequest();
    request.setInstanceIds(instances);
    List<AutoScalingInstanceDetails> asgInstanceDetails = aasClient.describeAutoScalingInstances(request)
            .getAutoScalingInstances();/*from w w  w .ja v a 2 s . c  o  m*/
    Collection<String> asgInstances = new ArrayList<>();
    for (AutoScalingInstanceDetails instance : asgInstanceDetails) {
        asgInstances.add(instance.getInstanceId());
    }
    return asgInstances;
}

From source file:com.pinterest.arcee.autoscaling.AwsAutoScalingManager.java

License:Apache License

@Override
public boolean isInstanceProtected(String instance) throws Exception {
    DescribeAutoScalingInstancesRequest request = new DescribeAutoScalingInstancesRequest();
    request.setInstanceIds(Collections.singletonList(instance));
    DescribeAutoScalingInstancesResult result = aasClient.describeAutoScalingInstances(request);
    if (result.getAutoScalingInstances().isEmpty()) {
        LOG.error(String.format("Failed to find any instances details for  %s", instance));
        return false;
    }/*w ww . j ava 2s. c  o m*/
    AutoScalingInstanceDetails details = result.getAutoScalingInstances().get(0);
    return details.getProtectedFromScaleIn();
}

From source file:com.pinterest.arcee.autoscaling.AwsAutoScalingManager.java

License:Apache License

@Override
public Collection<String> getAutoScalingInstances(String groupName, Collection<String> hostIds)
        throws Exception {
    Collection<String> asgHostIds = new ArrayList<>();
    DescribeAutoScalingInstancesRequest asgInstancesRequest = new DescribeAutoScalingInstancesRequest();
    asgInstancesRequest.setInstanceIds(hostIds);
    DescribeAutoScalingInstancesResult asgInstancesResult = aasClient
            .describeAutoScalingInstances(asgInstancesRequest);
    List<AutoScalingInstanceDetails> instanceDetails = asgInstancesResult.getAutoScalingInstances();
    for (AutoScalingInstanceDetails instanceDetail : instanceDetails) {
        if (instanceDetail.getAutoScalingGroupName().equals(groupName)) {
            asgHostIds.add(instanceDetail.getInstanceId());
        }/*from   ww  w  . j a v a2 s. c  o  m*/
    }
    return asgHostIds;
}

From source file:com.pinterest.clusterservice.cm.AwsVmManager.java

License:Apache License

@Override
public Collection<String> getHosts(String clusterName, Collection<String> hostIds) throws Exception {
    Collection<String> asgHostIds = new ArrayList<>();
    if (hostIds == null || hostIds.isEmpty()) {
        AutoScalingGroup group = getAutoScalingGroup(clusterName);
        List<Instance> asgInstances = group.getInstances();
        for (Instance asgInstance : asgInstances) {
            asgHostIds.add(asgInstance.getInstanceId());
        }/*  ww  w .j  av  a 2 s . c  om*/
    } else {
        DescribeAutoScalingInstancesRequest asgInstancesRequest = new DescribeAutoScalingInstancesRequest();
        asgInstancesRequest.setInstanceIds(hostIds);
        DescribeAutoScalingInstancesResult asgInstancesResult = aasClient
                .describeAutoScalingInstances(asgInstancesRequest);
        List<AutoScalingInstanceDetails> instanceDetails = asgInstancesResult.getAutoScalingInstances();
        for (AutoScalingInstanceDetails instanceDetail : instanceDetails) {
            if (instanceDetail.getAutoScalingGroupName().equals(clusterName)) {
                asgHostIds.add(instanceDetail.getInstanceId());
            }
        }
    }
    return asgHostIds;
}