Example usage for com.amazonaws.services.elasticbeanstalk.model DescribeEnvironmentResourcesResult getEnvironmentResources

List of usage examples for com.amazonaws.services.elasticbeanstalk.model DescribeEnvironmentResourcesResult getEnvironmentResources

Introduction

In this page you can find the example usage for com.amazonaws.services.elasticbeanstalk.model DescribeEnvironmentResourcesResult getEnvironmentResources.

Prototype


public EnvironmentResourceDescription getEnvironmentResources() 

Source Link

Document

A list of EnvironmentResourceDescription.

Usage

From source file:br.com.ingenieux.mojo.beanstalk.env.DumpInstancesMojo.java

License:Apache License

@Override
protected Object executeInternal() throws Exception {
    AmazonEC2 ec2 = clientFactory.getService(AmazonEC2Client.class);

    DescribeEnvironmentResourcesResult envResources = getService().describeEnvironmentResources(
            new DescribeEnvironmentResourcesRequest().withEnvironmentId(curEnv.getEnvironmentId())
                    .withEnvironmentName(curEnv.getEnvironmentName()));
    List<String> instanceIds = new ArrayList<String>();

    for (Instance i : envResources.getEnvironmentResources().getInstances()) {
        instanceIds.add(i.getId());//from  w  w w  . j  ava  2  s .c om
    }

    DescribeInstancesResult ec2Instances = ec2
            .describeInstances(new DescribeInstancesRequest().withInstanceIds(instanceIds));

    PrintStream printStream = null;

    if (null != outputFile) {
        printStream = new PrintStream(outputFile);
    }

    for (Reservation r : ec2Instances.getReservations()) {
        for (com.amazonaws.services.ec2.model.Instance i : r.getInstances()) {
            String ipAddress = dumpPrivateAddresses ? i.getPrivateIpAddress()
                    : StringUtils.defaultString(i.getPublicIpAddress(), i.getPrivateDnsName());
            String instanceId = i.getInstanceId();

            if (null != printStream) {
                printStream.println(ipAddress + " # " + instanceId);
            } else {
                getLog().info(" * " + instanceId + ": " + ipAddress);
            }
        }
    }

    if (null != printStream) {
        printStream.close();
    }

    return null;
}

From source file:org.cloudml.connectors.BeanstalkConnector.java

License:Open Source License

public Collection<String> getEnvIPs(String envName, int timeout) {
    DescribeEnvironmentResourcesRequest request = new DescribeEnvironmentResourcesRequest()
            .withEnvironmentName(envName);
    List<Instance> instances = null;
    System.out.print("Waiting for environment ips");
    while (timeout-- > 0) {
        try {//  ww  w .  jav  a2s.  c  om
            Thread.sleep(1000);
        } catch (InterruptedException ex) {
            Logger.getLogger(BeanstalkConnector.class.getName()).log(Level.SEVERE, null, ex);
        }
        System.out.print("-");
        DescribeEnvironmentResourcesResult res = beanstalkClient.describeEnvironmentResources(request);
        instances = res.getEnvironmentResources().getInstances();
        if (instances.size() == 0)
            continue;
        AmazonEC2Client ec2 = new AmazonEC2Client(awsCredentials);
        ec2.setEndpoint(beanstalkEndpoint.replace("elasticbeanstalk", "ec2"));
        List<String> instanceIds = new ArrayList<String>();
        for (Instance instance : instances) {
            instanceIds.add(instance.getId());
        }
        List<String> ips = new ArrayList<String>();
        DescribeInstancesRequest desins = new DescribeInstancesRequest().withInstanceIds(instanceIds);
        DescribeInstancesResult desinres = ec2.describeInstances(desins);
        for (Reservation reservation : desinres.getReservations()) {
            for (com.amazonaws.services.ec2.model.Instance ins : reservation.getInstances()) {
                String ip = ins.getPublicIpAddress();
                if (ip != null && ip.length() > 0)
                    ips.add(ip);
            }
        }
        if (ips.size() > 0)
            return ips;

    }
    return Collections.EMPTY_LIST;
}