List of usage examples for com.amazonaws.services.autoscaling.model DescribeAutoScalingInstancesRequest DescribeAutoScalingInstancesRequest
DescribeAutoScalingInstancesRequest
From source file:com.netflix.servo.tag.aws.AwsInjectableTag.java
License:Apache License
static String getAutoScaleGroup() { try {// w ww. ja v a 2 s. c o m String credFileProperty = System.getProperties().getProperty(AwsPropertyKeys.awsCredentialsFile); AWSCredentials credentials; if (credFileProperty != null) { credentials = new PropertiesCredentials(new File(credFileProperty)); } else { credentials = new DefaultAWSCredentialsProviderChain().getCredentials(); } AmazonAutoScaling autoScalingClient = new AmazonAutoScalingClient(credentials); return autoScalingClient .describeAutoScalingInstances( new DescribeAutoScalingInstancesRequest().withInstanceIds(getInstanceId())) .getAutoScalingInstances().get(0).getAutoScalingGroupName(); } catch (Exception e) { log.error("Unable to get ASG name.", e); return undefined; } }
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 w w. j a va2s . 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.AwsAutoScaleGroupManager.java
License:Apache License
@Override public Collection<String> instancesInAutoScalingGroup(Collection<String> instances) throws Exception { DescribeAutoScalingInstancesRequest request = new DescribeAutoScalingInstancesRequest(); request.setInstanceIds(instances);/* w w w . j a va 2 s . co m*/ List<AutoScalingInstanceDetails> asgInstanceDetails = aasClient.describeAutoScalingInstances(request) .getAutoScalingInstances(); 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; }//from www . j av a 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()); }/* w w w . ja va2 s . com*/ } 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. j av a 2 s . 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;//from w w w . jav a 2 s . c om } AutoScalingInstanceDetails instanceDetails = describeResult.getAutoScalingInstances().get(0); DetachInstancesRequest detachRequest = new DetachInstancesRequest() .withInstanceIds(instanceDetails.getInstanceId()) .withAutoScalingGroupName(instanceDetails.getAutoScalingGroupName()) .withShouldDecrementDesiredCapacity(false); as.detachInstances(detachRequest); }