Example usage for com.amazonaws.services.autoscaling AmazonAutoScaling shutdown

List of usage examples for com.amazonaws.services.autoscaling AmazonAutoScaling shutdown

Introduction

In this page you can find the example usage for com.amazonaws.services.autoscaling AmazonAutoScaling shutdown.

Prototype

void shutdown();

Source Link

Document

Shuts down this client object, releasing any resources that might be held open.

Usage

From source file:com.netflix.dynomitemanager.sidecore.aws.AWSMembership.java

License:Apache License

@Override
public List<String> getRacMembership() {
    AmazonAutoScaling client = null;
    try {/*from w  w  w.  j  av  a2s  .  c  o  m*/
        client = getAutoScalingClient();
        DescribeAutoScalingGroupsRequest asgReq = new DescribeAutoScalingGroupsRequest()
                .withAutoScalingGroupNames(config.getASGName());
        DescribeAutoScalingGroupsResult res = client.describeAutoScalingGroups(asgReq);

        List<String> instanceIds = Lists.newArrayList();
        for (AutoScalingGroup asg : res.getAutoScalingGroups()) {
            for (Instance ins : asg.getInstances())
                if (!(ins.getLifecycleState().equalsIgnoreCase("Terminating")
                        || ins.getLifecycleState().equalsIgnoreCase("shutting-down")
                        || ins.getLifecycleState().equalsIgnoreCase("Terminated")))
                    instanceIds.add(ins.getInstanceId());
        }
        logger.info(String.format("Querying Amazon returned following instance in the ASG: %s --> %s",
                config.getRack(), StringUtils.join(instanceIds, ",")));
        return instanceIds;
    } finally {
        if (client != null)
            client.shutdown();
    }
}

From source file:com.netflix.dynomitemanager.sidecore.aws.AWSMembership.java

License:Apache License

@Override
public List<String> getCrossAccountRacMembership() {
    AmazonAutoScaling client = null;
    try {//  w w w  .  ja v a2  s.  c o  m
        client = getCrossAccountAutoScalingClient();
        DescribeAutoScalingGroupsRequest asgReq = new DescribeAutoScalingGroupsRequest()
                .withAutoScalingGroupNames(config.getASGName());
        DescribeAutoScalingGroupsResult res = client.describeAutoScalingGroups(asgReq);

        List<String> instanceIds = Lists.newArrayList();
        for (AutoScalingGroup asg : res.getAutoScalingGroups()) {
            for (Instance ins : asg.getInstances())
                if (!(ins.getLifecycleState().equalsIgnoreCase("Terminating")
                        || ins.getLifecycleState().equalsIgnoreCase("shutting-down")
                        || ins.getLifecycleState().equalsIgnoreCase("Terminated")))
                    instanceIds.add(ins.getInstanceId());
        }
        logger.info(
                String.format("Querying Amazon returned following instance in the cross-account ASG: %s --> %s",
                        config.getRack(), StringUtils.join(instanceIds, ",")));
        return instanceIds;
    } finally {
        if (client != null)
            client.shutdown();
    }
}

From source file:com.netflix.dynomitemanager.sidecore.aws.AWSMembership.java

License:Apache License

/**
 * Actual membership AWS source of truth...
 *///from w ww.  j ava 2s .c  o  m
@Override
public int getRacMembershipSize() {
    AmazonAutoScaling client = null;
    try {
        client = getAutoScalingClient();
        DescribeAutoScalingGroupsRequest asgReq = new DescribeAutoScalingGroupsRequest()
                .withAutoScalingGroupNames(config.getASGName());
        DescribeAutoScalingGroupsResult res = client.describeAutoScalingGroups(asgReq);
        int size = 0;
        for (AutoScalingGroup asg : res.getAutoScalingGroups()) {
            size += asg.getMaxSize();
        }
        logger.info(String.format("Query on ASG returning %d instances", size));
        return size;
    } finally {
        if (client != null)
            client.shutdown();
    }
}

From source file:com.netflix.dynomitemanager.sidecore.aws.AWSMembership.java

License:Apache License

@Override
public void expandRacMembership(int count) {
    AmazonAutoScaling client = null;
    try {/*from  w ww . java  2  s .  c  om*/
        client = getAutoScalingClient();
        DescribeAutoScalingGroupsRequest asgReq = new DescribeAutoScalingGroupsRequest()
                .withAutoScalingGroupNames(config.getASGName());
        DescribeAutoScalingGroupsResult res = client.describeAutoScalingGroups(asgReq);
        AutoScalingGroup asg = res.getAutoScalingGroups().get(0);
        UpdateAutoScalingGroupRequest ureq = new UpdateAutoScalingGroupRequest();
        ureq.setAutoScalingGroupName(asg.getAutoScalingGroupName());
        ureq.setMinSize(asg.getMinSize() + 1);
        ureq.setMaxSize(asg.getMinSize() + 1);
        ureq.setDesiredCapacity(asg.getMinSize() + 1);
        client.updateAutoScalingGroup(ureq);
    } finally {
        if (client != null)
            client.shutdown();
    }
}

From source file:com.netflix.priam.aws.AWSMembership.java

License:Apache License

@Override
public List<String> getRacMembership() {
    AmazonAutoScaling client = null;
    try {//from  w  w w .j  a  v  a 2s .c  o  m
        client = getAutoScalingClient();
        DescribeAutoScalingGroupsRequest asgReq = new DescribeAutoScalingGroupsRequest()
                .withAutoScalingGroupNames(config.getASGName());
        DescribeAutoScalingGroupsResult res = client.describeAutoScalingGroups(asgReq);

        List<String> instanceIds = Lists.newArrayList();
        for (AutoScalingGroup asg : res.getAutoScalingGroups()) {
            for (Instance ins : asg.getInstances())
                if (!(ins.getLifecycleState().equalsIgnoreCase("Terminating")
                        || ins.getLifecycleState().equalsIgnoreCase("shutting-down")
                        || ins.getLifecycleState().equalsIgnoreCase("Terminated")))
                    instanceIds.add(ins.getInstanceId());
        }
        logger.info(String.format("Querying Amazon returned following instance in the ASG: %s --> %s",
                config.getRac(), StringUtils.join(instanceIds, ",")));
        return instanceIds;
    } finally {
        if (client != null)
            client.shutdown();
    }
}