Example usage for com.amazonaws.services.elasticloadbalancing.model InstanceState getState

List of usage examples for com.amazonaws.services.elasticloadbalancing.model InstanceState getState

Introduction

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

Prototype


public String getState() 

Source Link

Document

The current state of the instance.

Usage

From source file:com.mentation.alfonso.aws.ElasticLoadBalancer.java

License:Apache License

public boolean isInstanceHealthy() {
    List<Instance> instances = new ArrayList<>();
    instances.add(_instance);//from  w ww .  j  ava2s.  c  o  m

    DescribeInstanceHealthRequest describeInstanceHealthRequest = new DescribeInstanceHealthRequest(_name);
    describeInstanceHealthRequest.withInstances(instances);

    DescribeInstanceHealthResult describeInstanceHealthResult = _elbClient
            .describeInstanceHealth(describeInstanceHealthRequest);

    for (InstanceState state : describeInstanceHealthResult.getInstanceStates()) {
        System.out.println(state);

        if (!state.getState().equals("InService"))
            continue;

        if (state.getInstanceId().equals(getInstanceId())) {
            return true;
        }
    }

    return false;
}

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 w ww.  j av a  2s  . c o 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;
}