I am writing the code below if any mistakes please let me know.
//DescribeDBInstancesResult result = rds.describeDBInstances(new DescribeDBInstancesRequest().withDBInstanceIdentifier(dbInstanceId));
AmazonRDS rdsClient = AmazonRDSClient.builder().withCredentials(new DefaultAWSCredentialsProviderChain())
.withRegion(Regions.US_EAST_1).build();
DescribeDBInstancesResult response = rdsClient.describeDBInstances(new DescribeDBInstancesRequest());
// If the master exist and has any read replicas
if(response.getDBInstances().size() == 1 && response.getDBInstances().get(0).getReadReplicaDBInstanceIdentifiers().size() > 0) {
endpoints = new ArrayList<Endpoint>();
for(String readReplicaId : response.getDBInstances().get(0).getReadReplicaDBInstanceIdentifiers()) {
DBInstance rrInstance = rdsClient.describeDBInstances(new DescribeDBInstancesRequest().withDBInstanceIdentifier(readReplicaId)).getDBInstances().get(0);
if (rrInstance.getDBInstanceStatus().equals("available")) {
endpoints.add(rrInstance.getEndpoint());
}
}
if(endpoints.size() == 0) {
endpoints = null;
}
}
return endpoints;
}