Example usage for com.amazonaws.services.elasticloadbalancing.model DescribeInstanceHealthRequest DescribeInstanceHealthRequest

List of usage examples for com.amazonaws.services.elasticloadbalancing.model DescribeInstanceHealthRequest DescribeInstanceHealthRequest

Introduction

In this page you can find the example usage for com.amazonaws.services.elasticloadbalancing.model DescribeInstanceHealthRequest DescribeInstanceHealthRequest.

Prototype

public DescribeInstanceHealthRequest() 

Source Link

Document

Default constructor for DescribeInstanceHealthRequest object.

Usage

From source file:tools.descartes.bungee.cloud.aws.AWSImpl.java

License:Apache License

ResourcesInfo getResourceInfo(String hostName) {
    ResourcesInfo resources = new ResourcesInfo();
    boolean ok = false;
    try {/*from   ww  w  .  ja v  a  2  s  . co  m*/
        LoadBalancerDescription lb = getLoadBalancerForHostName(hostName);
        if (lb != null) {
            List<Instance> instances = lb.getInstances();
            Filter filterRunning = new Filter().withName("instance-state-name").withValues("running");
            List<String> instanceIds = new LinkedList<>();
            for (Instance instance : instances) {
                instanceIds.add(instance.getInstanceId());
            }
            resources.total = lb.getInstances().size();

            DescribeInstanceStatusResult describeInstanceStatus = ec2
                    .describeInstanceStatus(new DescribeInstanceStatusRequest().withInstanceIds(instanceIds)
                            .withFilters(filterRunning));
            resources.running = describeInstanceStatus.getInstanceStatuses().size();

            DescribeInstanceHealthRequest request = new DescribeInstanceHealthRequest()
                    .withLoadBalancerName(lb.getLoadBalancerName());
            DescribeInstanceHealthResult describeInstanceHealth = elasticLB.describeInstanceHealth(request);
            List<InstanceState> instanceStates = describeInstanceHealth.getInstanceStates();
            for (InstanceState instState : instanceStates) {
                if (instState.getState().equals("InService")) {
                    resources.inService++;
                }
                ;
            }
            ok = true;
        }
    } catch (Exception e) {
        e.printStackTrace();
    }
    if (!ok) {
        resources = lastResourceInfo;
    } else {
        lastResourceInfo = resources;
    }
    //System.out.println("size: " + resources.total  + " running: " + resources.running + " inService: " + resources.inService);
    return resources;
}