List of usage examples for com.amazonaws.services.elasticloadbalancing.model DescribeInstanceHealthRequest DescribeInstanceHealthRequest
public DescribeInstanceHealthRequest()
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; }