Example usage for com.amazonaws.services.ec2.model DescribeAddressesRequest getPublicIps

List of usage examples for com.amazonaws.services.ec2.model DescribeAddressesRequest getPublicIps

Introduction

In this page you can find the example usage for com.amazonaws.services.ec2.model DescribeAddressesRequest getPublicIps.

Prototype


public java.util.List<String> getPublicIps() 

Source Link

Document

One or more Elastic IP addresses.

Usage

From source file:jp.primecloud.auto.aws.typica.EucaEc2Client.java

License:Open Source License

@Override
public DescribeAddressesResult describeAddresses(DescribeAddressesRequest describeAddressesRequest) {
    List<String> publicIps = describeAddressesRequest.getPublicIps();

    try {/*w w  w.j  a  v a 2  s .  c  o  m*/
        List<AddressInfo> infos = jec2.describeAddresses(publicIps);

        if (publicIps != null && !publicIps.isEmpty()) {
            // ??????????
            // Eucalyptus?????????
            List<AddressInfo> newInfos = new ArrayList<AddressInfo>();
            for (AddressInfo info : infos) {
                if (publicIps.contains(info.getPublicIp())) {
                    newInfos.add(info);
                }
            }
            infos = newInfos;
        }

        // ??????instanceId??
        // EC2??????Eucalyptus??"available"????
        for (int i = 0; i < infos.size(); i++) {
            AddressInfo info = infos.get(i);
            if ("available".equals(info.getInstanceId())) {
                infos.set(i, new AddressInfo(info.getPublicIp(), ""));
            }
        }

        List<Address> addresses = new AddressConverter().convert(infos);
        return new DescribeAddressesResult().withAddresses(addresses);
    } catch (EC2Exception e) {
        throw new AmazonClientException(e);
    }
}