Example usage for com.amazonaws.services.ec2.model Reservation withInstances

List of usage examples for com.amazonaws.services.ec2.model Reservation withInstances

Introduction

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

Prototype


public Reservation withInstances(java.util.Collection<Instance> instances) 

Source Link

Document

The instances.

Usage

From source file:com.netflix.edda.EddaEc2Client.java

License:Apache License

public DescribeInstancesResult describeInstances(DescribeInstancesRequest request) {
    validateEmpty("Filter", request.getFilters());

    TypeReference<List<Reservation>> ref = new TypeReference<List<Reservation>>() {
    };//  w w  w  .j av a2 s.  c om
    String url = config.url() + "/api/v2/aws/instances;_expand";
    try {
        List<Reservation> reservations = parse(ref, doGet(url));

        List<String> ids = request.getInstanceIds();
        if (shouldFilter(ids)) {
            List<Reservation> rs = new ArrayList<Reservation>();
            for (Reservation r : reservations) {
                List<Instance> is = new ArrayList<Instance>();
                for (Instance i : r.getInstances()) {
                    if (matches(ids, i.getInstanceId()))
                        is.add(i);
                }
                if (is.size() > 0)
                    rs.add(r.withInstances(is));
            }
            reservations = rs;
        }
        return new DescribeInstancesResult().withReservations(reservations);
    } catch (IOException e) {
        throw new AmazonClientException("Faled to parse " + url, e);
    }
}