Example usage for com.amazonaws.services.autoscaling.model TerminateInstanceInAutoScalingGroupRequest TerminateInstanceInAutoScalingGroupRequest

List of usage examples for com.amazonaws.services.autoscaling.model TerminateInstanceInAutoScalingGroupRequest TerminateInstanceInAutoScalingGroupRequest

Introduction

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

Prototype

TerminateInstanceInAutoScalingGroupRequest

Source Link

Usage

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

License:Apache License

@Override
public void terminateInstanceInAutoScalingGroup(String instanceId, boolean decreaseSize) throws Exception {
    TerminateInstanceInAutoScalingGroupRequest request = new TerminateInstanceInAutoScalingGroupRequest();
    request.setShouldDecrementDesiredCapacity(decreaseSize);
    request.setInstanceId(instanceId);//from www.  j ava  2s  .c  o m
    aasClient.terminateInstanceInAutoScalingGroup(request);
}

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

License:Apache License

@Override
public void terminateHosts(String clusterName, Collection<String> hostIds, boolean replaceHost)
        throws Exception {
    if (replaceHost) {
        TerminateInstancesRequest termianteRequest = new TerminateInstancesRequest();
        termianteRequest.setInstanceIds(hostIds);
        try {/*from  www  . j a v a  2s . co m*/
            ec2Client.terminateInstances(termianteRequest);
        } catch (AmazonClientException e) {
            LOG.error(String.format("Failed to termiante hosts %s: %s", hostIds.toString(), e.getMessage()));
            throw new Exception(
                    String.format("Failed to termiante hosts %s: %s", hostIds.toString(), e.getMessage()));
        }
    } else {
        // Do not replace host and decrease the cluster capacity
        AutoScalingGroup group = getAutoScalingGroup(clusterName);
        if (group == null) {
            LOG.error(String.format("Failed to terminate hosts: auto scaling group %s does not exist",
                    clusterName));
            throw new Exception(String.format("Failed to terminate hosts: auto scaling group %s does not exist",
                    clusterName));
        }

        UpdateAutoScalingGroupRequest updateRequest = new UpdateAutoScalingGroupRequest();
        updateRequest.setAutoScalingGroupName(clusterName);
        updateRequest.setMinSize(Math.max(group.getMinSize() - hostIds.size(), 0));

        for (String hostId : hostIds) {
            TerminateInstanceInAutoScalingGroupRequest terminateRequest = new TerminateInstanceInAutoScalingGroupRequest();
            terminateRequest.setShouldDecrementDesiredCapacity(true);
            terminateRequest.setInstanceId(hostId);
            aasClient.terminateInstanceInAutoScalingGroup(terminateRequest);
        }
    }
}

From source file:org.xmlsh.aws.asTerminateInstance.java

License:BSD License

private int terminate(String instanceId, boolean bDecrement)
        throws IOException, XMLStreamException, SaxonApiException, CoreException {

    OutputPort stdout = getStdout();/*from   w ww . j  av a2s  .  c  o  m*/
    mWriter = new SafeXMLStreamWriter(stdout.asXMLStreamWriter(getSerializeOpts()));

    startDocument();
    startElement(getName());

    traceCall("terminateInstanceInAutoScalingGroup");

    TerminateInstanceInAutoScalingGroupRequest request = new TerminateInstanceInAutoScalingGroupRequest()
            .withInstanceId(instanceId).withShouldDecrementDesiredCapacity(bDecrement);
    TerminateInstanceInAutoScalingGroupResult result = getAWSClient()
            .terminateInstanceInAutoScalingGroup(request);

    writeActivity(result.getActivity());

    endElement();
    endDocument();

    closeWriter();

    stdout.writeSequenceTerminator(getSerializeOpts());

    return 0;

}

From source file:web.component.impl.aws.AWSAutoScalingImpl.java

@Override
public TerminateInstanceInAutoScalingGroupResult terminateInstanceInAutoScalingGroup(String instanceId) {

    return terminateInstanceInAutoScalingGroup(new TerminateInstanceInAutoScalingGroupRequest()
            .withInstanceId(instanceId).withShouldDecrementDesiredCapacity(false));
}

From source file:web.component.impl.aws.AWSAutoScalingImpl.java

@Override
public TerminateInstanceInAutoScalingGroupResult terminateInstanceInAutoScalingGroupDecreasingDesiredCapacity(
        String instanceId) {//from  w  ww . j  av  a  2  s.c  o  m

    return terminateInstanceInAutoScalingGroup(new TerminateInstanceInAutoScalingGroupRequest()
            .withInstanceId(instanceId).withShouldDecrementDesiredCapacity(true));

}