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

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

Introduction

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

Prototype

@Override
public DetachInstancesResult detachInstances(DetachInstancesRequest request) 

Source Link

Document

Removes one or more instances from the specified Auto Scaling group.

Usage

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  www . ja  v 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);
}