The AWS Java API [DescribeLoadBalancersResult][1] returns Empty load balancers descriptions after providing the correct region codes and aws credentials. Ther are Loadbalancers in the AWS and same is returned via CLI
public void getELB(String accessKey, String secretKey, String region, String... elbids) throws Exception {
AmazonElasticLoadBalancingClient amazonElasticLoadBalancingClient = new EC2Client().getELBClient(accessKey,
secretKey, region);
DescribeLoadBalancersResult describeLoadBalancersResult = amazonElasticLoadBalancingClient.describeLoadBalancers();
System.out.println(describeLoadBalancersResult);
List<LoadBalancerDescription> balancerDescriptions = describeLoadBalancersResult.getLoadBalancerDescriptions();
for (Iterator iterator = balancerDescriptions.iterator(); iterator.hasNext();) {
LoadBalancerDescription loadBalancerDescription = (LoadBalancerDescription) iterator.next();
System.out.println(loadBalancerDescription);
}
}
It output
{LoadBalancerDescriptions: [],}
Here is the Method of creating the AmazonElasticLoadBalancingClient
public AmazonElasticLoadBalancingClient getELBClient(String accessKey, String secretKey, String region) throws Exception {
AWSCredentialsProvider provider;
if (accessKey != null && secretKey != null) {
AWSCredentials credentials = new BasicAWSCredentials(accessKey, secretKey);
provider = new StaticCredentialsProvider(credentials);
} else {
provider = new DefaultAWSCredentialsProviderChain();
}
AmazonElasticLoadBalancingClient client = new AmazonElasticLoadBalancingClient(provider).withRegion(Regions.fromName(region));
ClientConfiguration configuration = new ClientConfiguration();
configuration.setProtocol(Protocol.HTTPS);
return client;
}
[1]: https://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/services/elasticloadbalancing/model/DescribeLoadBalancersResult.html