List of usage examples for com.amazonaws.services.autoscaling.model DescribeAutoScalingInstancesResult getAutoScalingInstances
public java.util.List<AutoScalingInstanceDetails> getAutoScalingInstances()
The 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/* w ww .jav 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; }
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; }/*from w w w . j a v a 2 s .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()); }/*w w w .j a v a 2 s .c om*/ } 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()); }// w w w .ja v a 2s . c o m } 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; }
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;/* ww w. j av 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); }