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

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

Introduction

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

Prototype


public String getInstanceId() 

Source Link

Document

The ID 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  ww  w .j  a v a 2s .  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:com.netflix.edda.EddaElasticLoadBalancingClient.java

License:Apache License

public DescribeInstanceHealthResult describeInstanceHealth(DescribeInstanceHealthRequest request) {
    validateNotEmpty("LoadBalancerName", request.getLoadBalancerName());

    TypeReference<InstanceStateView> ref = new TypeReference<InstanceStateView>() {
    };//from ww  w.j ava  2s. c o m
    String loadBalancerName = request.getLoadBalancerName();

    String url = config.url() + "/api/v2/view/loadBalancerInstances/" + loadBalancerName + ";_expand";
    try {
        InstanceStateView instanceStateView = parse(ref, doGet(url));
        List<InstanceState> instanceStates = instanceStateView.getInstances();

        List<Instance> instances = request.getInstances();
        List<String> ids = new ArrayList<String>();
        if (instances != null) {
            for (Instance i : instances)
                ids.add(i.getInstanceId());
        }
        if (shouldFilter(ids)) {
            List<InstanceState> iss = new ArrayList<InstanceState>();
            for (InstanceState is : instanceStates) {
                if (matches(ids, is.getInstanceId()))
                    iss.add(is);
            }
            instanceStates = iss;
        }

        return new DescribeInstanceHealthResult().withInstanceStates(instanceStateView.getInstances());
    } catch (IOException e) {
        throw new AmazonClientException("Faled to parse " + url, e);
    }
}