Example usage for com.amazonaws.services.ec2.model DescribeAddressesResult DescribeAddressesResult

List of usage examples for com.amazonaws.services.ec2.model DescribeAddressesResult DescribeAddressesResult

Introduction

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

Prototype

DescribeAddressesResult

Source Link

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 va2  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);
    }
}