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

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

Introduction

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

Prototype

public Filter(String name, java.util.List<String> values) 

Source Link

Document

Constructs a new Filter object.

Usage

From source file:c3.ops.priam.aws.AWSMembership.java

License:Apache License

public List<String> getRunningInstancesByTags(String tagName, List<String> values) {
    AmazonEC2 client = null;/*  ww w  .  j a va2s  .c  o m*/

    try {

        List<String> instanceIds = Lists.newArrayList();
        List<String> states = new ArrayList<String>();

        client = getEc2Client();
        states.add("running");
        DescribeInstancesRequest req = new DescribeInstancesRequest()
                .withFilters(new Filter("tag:" + tagName, values), new Filter("instance-state-name", states));

        for (Reservation reservation : client.describeInstances(req).getReservations()) {
            for (Instance instance : reservation.getInstances()) {
                instanceIds.add(instance.getInstanceId());
                logger.info(String.format("Querying Amazon returned following instance in the Ring: %s --> %s",
                        config.getRac(), StringUtils.join(instanceIds, ",")));
            }
        }
        return instanceIds;
    } finally {
        if (client != null)
            client.shutdown();
    }
}

From source file:com.bodybuilding.turbine.discovery.Ec2TagInstanceDiscovery.java

License:Apache License

private Collection<Instance> getInstancesInternal() {
    List<Filter> filterList = new ArrayList<>(1);
    filterList.add(new Filter("tag-key", Lists.newArrayList(CLUSTER_TAG_KEY.get())));

    String nextToken = null;/*from   w  w  w.j a  va 2s.c  om*/
    Collection<Instance> instances = new ArrayList<>();
    do {
        DescribeInstancesRequest request = new DescribeInstancesRequest();
        request.setFilters(filterList);
        request.setNextToken(nextToken);
        DescribeInstancesResult results = ec2Client.describeInstances(request);
        nextToken = results.getNextToken();
        instances.addAll(processReservations(results.getReservations()));
    } while (!Strings.isNullOrEmpty(nextToken));

    return instances;
}

From source file:com.carrotgarden.maven.aws.ecc.CarrotElasticCompute.java

License:BSD License

/** List AMI images matching a given filter and regex. */
public List<Image> imageList(//
        final String imageFilter, //
        final String imageRegex, //
        final String entrySplit, //
        final String keySplit, //
        final String valueSplit //
) throws Exception {

    final String[] entryArray = imageFilter.split(entrySplit);

    final List<Filter> filterList = new ArrayList<Filter>();

    for (final String entry : entryArray) {

        final String[] termArray = entry.split(keySplit);

        final String key = termArray[0];
        final String valuesText = termArray[1];

        final String[] valueArray = valuesText.split(valueSplit);

        final Filter filter = new Filter(key, Arrays.asList(valueArray));

        filterList.add(filter);//  ww  w .  j  a  v a2  s . c o m

    }

    final DescribeImagesRequest request = new DescribeImagesRequest();
    request.setFilters(filterList);

    final DescribeImagesResult result = amazonClient.describeImages(request);

    final List<Image> resultImages = result.getImages();

    final List<Image> imageList = new ArrayList<Image>();

    final Pattern pattern = Pattern.compile(imageRegex);

    for (final Image image : resultImages) {
        final String search = image.toString();
        if (pattern.matcher(search).matches()) {
            imageList.add(image);
        }
    }

    return imageList;

}

From source file:com.ec2box.manage.action.SystemAction.java

License:Apache License

@Action(value = "/admin/viewSystems", results = {
        @Result(name = "success", location = "/admin/view_systems.jsp") })
public String viewSystems() {

    Long userId = AuthUtil.getUserId(servletRequest.getSession());
    String userType = AuthUtil.getUserType(servletRequest.getSession());

    List<String> ec2RegionList = EC2KeyDB.getEC2Regions();
    List<String> instanceIdList = new ArrayList<String>();

    //default instance state
    if (sortedSet.getFilterMap().get(FILTER_BY_INSTANCE_STATE) == null) {
        sortedSet.getFilterMap().put(FILTER_BY_INSTANCE_STATE, AppConfig.getProperty("defaultInstanceState"));
    }/*from   w  w  w. j  ava  2s  .c  om*/

    try {
        Map<String, HostSystem> hostSystemList = new HashMap<String, HostSystem>();

        //if user profile has been set or user is a manager
        List<Profile> profileList = UserProfileDB.getProfilesByUser(userId);
        if (profileList.size() > 0 || Auth.MANAGER.equals(userType)) {
            //set tags for profile
            List<String> profileTags = new ArrayList<>();
            for (Profile profile : profileList) {
                profileTags.add(profile.getTag());
            }
            Map<String, List<String>> profileTagMap = parseTags(profileTags);

            //set tags from input filters
            Map<String, List<String>> filterTags = fetchInputFilterTags(userType, profileTagMap);

            //parse out security group list in format group[,group]
            List<String> securityGroupList = new ArrayList<>();
            if (StringUtils.isNotEmpty(sortedSet.getFilterMap().get(FILTER_BY_SECURITY_GROUP))) {
                securityGroupList = Arrays
                        .asList(sortedSet.getFilterMap().get(FILTER_BY_SECURITY_GROUP).split(","));
            }

            //get AWS credentials from DB
            for (AWSCred awsCred : AWSCredDB.getAWSCredList()) {

                if (awsCred != null) {
                    //set  AWS credentials for service
                    BasicAWSCredentials awsCredentials = new BasicAWSCredentials(awsCred.getAccessKey(),
                            awsCred.getSecretKey());

                    for (String ec2Region : ec2RegionList) {
                        //create service

                        AmazonEC2 service = new AmazonEC2Client(awsCredentials,
                                AWSClientConfig.getClientConfig());
                        service.setEndpoint(ec2Region);

                        //only return systems that have keys set
                        List<String> keyValueList = new ArrayList<String>();
                        for (EC2Key ec2Key : EC2KeyDB.getEC2KeyByRegion(ec2Region, awsCred.getId())) {
                            keyValueList.add(ec2Key.getKeyNm());
                        }

                        DescribeInstancesRequest describeInstancesRequest = new DescribeInstancesRequest();

                        Filter keyNmFilter = new Filter("key-name", keyValueList);
                        describeInstancesRequest.withFilters(keyNmFilter);

                        //instance state filter
                        if (StringUtils.isNotEmpty(sortedSet.getFilterMap().get(FILTER_BY_INSTANCE_STATE))) {
                            List<String> instanceStateList = new ArrayList<String>();
                            instanceStateList.add(sortedSet.getFilterMap().get(FILTER_BY_INSTANCE_STATE));
                            Filter instanceStateFilter = new Filter("instance-state-name", instanceStateList);
                            describeInstancesRequest.withFilters(instanceStateFilter);
                        }

                        if (securityGroupList.size() > 0) {
                            Filter groupFilter = new Filter("group-name", securityGroupList);
                            describeInstancesRequest.withFilters(groupFilter);
                        }
                        //set name value pair for tag filter
                        List<String> tagList = new ArrayList<String>();

                        //always add all profile tags to filter list
                        addTagsToDescribeInstanceRequest(profileTagMap, describeInstancesRequest, tagList);

                        //add all additional filter tags provided by the user
                        addTagsToDescribeInstanceRequest(filterTags, describeInstancesRequest, tagList);

                        if (tagList.size() > 0) {
                            Filter tagFilter = new Filter("tag-key", tagList);
                            describeInstancesRequest.withFilters(tagFilter);
                        }

                        DescribeInstancesResult describeInstancesResult = service
                                .describeInstances(describeInstancesRequest);

                        for (Reservation res : describeInstancesResult.getReservations()) {
                            for (Instance instance : res.getInstances()) {

                                HostSystem hostSystem = new HostSystem();
                                hostSystem.setInstance(instance.getInstanceId());

                                //check for public dns if doesn't exist set to ip or pvt dns
                                if (!"true".equals(AppConfig.getProperty("useEC2PvtDNS"))
                                        && StringUtils.isNotEmpty(instance.getPublicDnsName())) {
                                    hostSystem.setHost(instance.getPublicDnsName());
                                } else if (!"true".equals(AppConfig.getProperty("useEC2PvtDNS"))
                                        && StringUtils.isNotEmpty(instance.getPublicIpAddress())) {
                                    hostSystem.setHost(instance.getPublicIpAddress());
                                } else if (StringUtils.isNotEmpty(instance.getPrivateDnsName())) {
                                    hostSystem.setHost(instance.getPrivateDnsName());
                                } else {
                                    hostSystem.setHost(instance.getPrivateIpAddress());
                                }

                                hostSystem.setKeyId(EC2KeyDB
                                        .getEC2KeyByNmRegion(instance.getKeyName(), ec2Region, awsCred.getId())
                                        .getId());
                                hostSystem.setEc2Region(ec2Region);
                                hostSystem.setState(instance.getState().getName());
                                for (Tag tag : instance.getTags()) {
                                    if ("Name".equals(tag.getKey())) {
                                        hostSystem.setDisplayNm(tag.getValue());
                                    }
                                }
                                instanceIdList.add(hostSystem.getInstance());
                                hostSystemList.put(hostSystem.getInstance(), hostSystem);
                            }
                        }

                        if (instanceIdList.size() > 0) {
                            //set instance id list to check permissions when creating sessions
                            servletRequest.getSession().setAttribute("instanceIdList",
                                    new ArrayList<String>(instanceIdList));
                            if (showStatus) {
                                //make service call 100 instances at a time b/c of AWS limitation
                                int i = 0;
                                List<String> idCallList = new ArrayList<String>();
                                while (!instanceIdList.isEmpty()) {
                                    idCallList.add(instanceIdList.remove(0));
                                    i++;
                                    //when i eq 100 make call
                                    if (i >= 100 || instanceIdList.isEmpty()) {

                                        //get status for host systems
                                        DescribeInstanceStatusRequest describeInstanceStatusRequest = new DescribeInstanceStatusRequest();
                                        describeInstanceStatusRequest.withInstanceIds(idCallList);
                                        DescribeInstanceStatusResult describeInstanceStatusResult = service
                                                .describeInstanceStatus(describeInstanceStatusRequest);

                                        for (InstanceStatus instanceStatus : describeInstanceStatusResult
                                                .getInstanceStatuses()) {

                                            HostSystem hostSystem = hostSystemList
                                                    .remove(instanceStatus.getInstanceId());
                                            hostSystem.setSystemStatus(
                                                    instanceStatus.getSystemStatus().getStatus());
                                            hostSystem.setInstanceStatus(
                                                    instanceStatus.getInstanceStatus().getStatus());

                                            //check and filter by instance or system status
                                            if ((StringUtils.isEmpty(
                                                    sortedSet.getFilterMap().get(FILTER_BY_INSTANCE_STATUS))
                                                    && StringUtils.isEmpty(sortedSet.getFilterMap()
                                                            .get(FILTER_BY_SYSTEM_STATUS)))
                                                    || (hostSystem.getInstanceStatus()
                                                            .equals(sortedSet.getFilterMap()
                                                                    .get(FILTER_BY_INSTANCE_STATUS))
                                                            && StringUtils.isEmpty(sortedSet.getFilterMap()
                                                                    .get(FILTER_BY_SYSTEM_STATUS)))
                                                    || (hostSystem.getInstanceStatus()
                                                            .equals(sortedSet.getFilterMap()
                                                                    .get(FILTER_BY_SYSTEM_STATUS))
                                                            && StringUtils.isEmpty(sortedSet.getFilterMap()
                                                                    .get(FILTER_BY_INSTANCE_STATUS)))
                                                    || (hostSystem.getInstanceStatus()
                                                            .equals(sortedSet.getFilterMap()
                                                                    .get(FILTER_BY_SYSTEM_STATUS))
                                                            && hostSystem.getInstanceStatus()
                                                                    .equals(sortedSet.getFilterMap()
                                                                            .get(FILTER_BY_INSTANCE_STATUS)))) {
                                                hostSystemList.put(hostSystem.getInstance(), hostSystem);
                                            }
                                        }

                                        //start over
                                        i = 0;
                                        //clear list
                                        idCallList.clear();
                                    }

                                }

                                //check alarms for ec2 instances
                                AmazonCloudWatchClient cloudWatchClient = new AmazonCloudWatchClient(
                                        awsCredentials, AWSClientConfig.getClientConfig());
                                cloudWatchClient.setEndpoint(ec2Region.replace("ec2", "monitoring"));

                                DescribeAlarmsResult describeAlarmsResult = cloudWatchClient.describeAlarms();

                                for (MetricAlarm metricAlarm : describeAlarmsResult.getMetricAlarms()) {

                                    for (Dimension dim : metricAlarm.getDimensions()) {

                                        if (dim.getName().equals("InstanceId")) {
                                            HostSystem hostSystem = hostSystemList.remove(dim.getValue());
                                            if (hostSystem != null) {
                                                if ("ALARM".equals(metricAlarm.getStateValue())) {
                                                    hostSystem
                                                            .setMonitorAlarm(hostSystem.getMonitorAlarm() + 1);
                                                } else if ("INSUFFICIENT_DATA"
                                                        .equals(metricAlarm.getStateValue())) {
                                                    hostSystem.setMonitorInsufficientData(
                                                            hostSystem.getMonitorInsufficientData() + 1);
                                                } else {
                                                    hostSystem.setMonitorOk(hostSystem.getMonitorOk() + 1);
                                                }
                                                //check and filter by alarm state
                                                if (StringUtils.isEmpty(
                                                        sortedSet.getFilterMap().get(FILTER_BY_ALARM_STATE))) {
                                                    hostSystemList.put(hostSystem.getInstance(), hostSystem);
                                                } else if ("ALARM".equals(
                                                        sortedSet.getFilterMap().get(FILTER_BY_ALARM_STATE))
                                                        && hostSystem.getMonitorAlarm() > 0) {
                                                    hostSystemList.put(hostSystem.getInstance(), hostSystem);
                                                } else if ("INSUFFICIENT_DATA".equals(
                                                        sortedSet.getFilterMap().get(FILTER_BY_ALARM_STATE))
                                                        && hostSystem.getMonitorInsufficientData() > 0) {
                                                    hostSystemList.put(hostSystem.getInstance(), hostSystem);
                                                } else if ("OK".equals(
                                                        sortedSet.getFilterMap().get(FILTER_BY_ALARM_STATE))
                                                        && hostSystem.getMonitorOk() > 0
                                                        && hostSystem.getMonitorInsufficientData() <= 0
                                                        && hostSystem.getMonitorAlarm() <= 0) {
                                                    hostSystemList.put(hostSystem.getInstance(), hostSystem);
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }

            //set ec2 systems
            SystemDB.setSystems(hostSystemList.values());
            sortedSet = SystemDB.getSystemSet(sortedSet, new ArrayList<String>(hostSystemList.keySet()));

        }
    } catch (AmazonServiceException ex) {
        log.error(ex.toString(), ex);
    }

    if (script != null && script.getId() != null) {
        script = ScriptDB.getScript(script.getId(), userId);
    }

    return SUCCESS;
}

From source file:com.ec2box.manage.action.SystemAction.java

License:Apache License

private void addTagsToDescribeInstanceRequest(Map<String, List<String>> profileTagMap,
        DescribeInstancesRequest describeInstancesRequest, List<String> tagList) {
    for (String tag : profileTagMap.keySet()) {
        if (profileTagMap.get(tag) != null) {
            Filter tagValueFilter = new Filter("tag:" + tag, profileTagMap.get(tag));
            describeInstancesRequest.withFilters(tagValueFilter);
        } else {//from ww w .j a v  a 2 s . c  o  m
            tagList.add(tag);
        }
    }
}

From source file:com.epam.dlab.automation.cloud.aws.AmazonHelper.java

License:Apache License

private static List<Instance> getInstances(String instanceName) {
    AWSCredentials credentials = getCredentials();
    AmazonEC2 ec2 = new AmazonEC2Client(credentials);
    ec2.setRegion(getRegion());//  w  ww .  j ava  2s  .com

    List<String> valuesT1 = new ArrayList<>();
    valuesT1.add(instanceName + "*");
    Filter filter = new Filter("tag:" + NamingHelper.getServiceBaseName() + "-Tag", valuesT1);

    DescribeInstancesRequest describeInstanceRequest = new DescribeInstancesRequest().withFilters(filter);
    DescribeInstancesResult describeInstanceResult = ec2.describeInstances(describeInstanceRequest);

    List<Reservation> reservations = describeInstanceResult.getReservations();

    if (reservations.isEmpty()) {
        throw new CloudException("Instance " + instanceName + " in Amazon not found");
    }

    List<Instance> instances = reservations.get(0).getInstances();
    if (instances.isEmpty()) {
        throw new CloudException("Instance " + instanceName + " in Amazon not found");
    }

    return instances;
}

From source file:com.hazelcast.simulator.provisioner.AwsProvisioner.java

License:Open Source License

private List<Instance> getInstancesByPublicIp(List<AgentData> agentDataList, boolean removeFromRegistry) {
    List<String> ips = new ArrayList<String>();
    for (AgentData agentData : agentDataList) {
        ips.add(agentData.getPublicAddress());
        if (removeFromRegistry) {
            componentRegistry.removeAgent(agentData);
        }//www.jav a 2  s  .c o m
    }

    DescribeInstancesRequest request = new DescribeInstancesRequest();
    Filter filter = new Filter(AWS_PUBLIC_IP_FILTER, ips);

    DescribeInstancesResult result = ec2.describeInstances(request.withFilters(filter));
    List<Reservation> reservations = result.getReservations();
    List<Instance> foundInstances = new ArrayList<Instance>();

    for (Reservation reservation : reservations) {
        List<Instance> instances = reservation.getInstances();
        foundInstances.addAll(instances);
    }
    return foundInstances;
}

From source file:com.keybox.manage.db.ProfileSystemsDB.java

License:Apache License

/**
 * Update Profile and AWS Systems in DB/*  w w  w  .  j  a  va  2  s.  c  o m*/
 * <br><br>
 * Call first updateAWSSystem() to Update EC2 systems<br>
 * Clean SystemProfileEntries from EC2 systems<br>
 * Rebuild SystemProfileEntries for EC2 systems
 */
public static void updateProfileAWSSysteme() {

    SystemDB.updateAWSSystems();
    deleteAWSSystemProfileEntries();

    try {
        List<Profile> profileList = ProfileDB.getAllProfiles();
        for (Profile profile : profileList) {
            if (profile.getTag().equals("")) {
                continue;
            }

            List<String> ec2RegionList = PrivateKeyDB.getEC2Regions();

            //remove Formating Char
            String tags = profile.getTag().replaceAll("\n", "").replaceAll("\r", "").replaceAll("\t", "");

            String[] tagArr1 = tags.split(",");

            Map<String, String> tagMap = new HashMap<>();
            List<String> tagList = new ArrayList<>();

            if (tagArr1.length > 0) {
                for (String tag1 : tagArr1) {
                    String[] tagArr2 = tag1.split("=");
                    if (tagArr2.length > 1) {
                        tagMap.put(tag1.split("=")[0], tag1.split("=")[1]);
                    } else {
                        tagList.add(tag1);
                    }
                }
            }

            //get AWS credentials from DB
            for (AWSCred awsCred : AWSCredDB.getAWSCredList()) {

                if (awsCred != null && awsCred.isValid()) {
                    //set  AWS credentials for service
                    BasicAWSCredentials awsCredentials = new BasicAWSCredentials(awsCred.getAccessKey(),
                            awsCred.getSecretKey());

                    for (String ec2Region : ec2RegionList) {
                        //create service

                        AmazonEC2 service = new AmazonEC2Client(awsCredentials,
                                AWSClientConfig.getClientConfig());
                        service.setEndpoint(ec2Region);

                        //only return systems that have keys set
                        List<String> keyValueList = new ArrayList<String>();
                        for (ApplicationKey ec2Key : PrivateKeyDB.getEC2KeyByRegion(ec2Region)) {
                            if (ec2Key.isEnabled()) {
                                keyValueList.add(ec2Key.getKeyname());
                            }
                        }

                        DescribeInstancesRequest describeInstancesRequest = new DescribeInstancesRequest();

                        Filter keyNmFilter = new Filter("key-name", keyValueList);
                        describeInstancesRequest.withFilters(keyNmFilter);

                        if (tagList.size() > 0) {
                            Filter tagFilter = new Filter("tag-key", tagList);
                            describeInstancesRequest.withFilters(tagFilter);
                        }

                        //set name value pair for tag filter
                        for (String tag : tagMap.keySet()) {
                            Filter tagValueFilter = new Filter("tag:" + tag, Arrays.asList(tagMap.get(tag)));
                            describeInstancesRequest.withFilters(tagValueFilter);
                        }

                        DescribeInstancesResult describeInstancesResult = service
                                .describeInstances(describeInstancesRequest);

                        for (Reservation res : describeInstancesResult.getReservations()) {
                            for (Instance instance : res.getInstances()) {
                                HostSystem ec2System = SystemDB.getSystemByInstance(instance.getInstanceId());
                                addSystemToProfile(profile.getId(), ec2System.getId());
                            }
                        }
                    }
                }
            }
        }
    } catch (AmazonServiceException ex) {
        ex.printStackTrace();
    }
}

From source file:com.keybox.manage.db.SystemDB.java

License:Apache License

/**
 * Update AWS Systems/*from   www  . ja va  2 s .  com*/
 * <br><br>
 * Update all EC2 System based on setting AWS Credentials and the EC2 Keys
 * and added new System
 */
public static void updateAWSSystems() {

    List<String> ec2RegionList = PrivateKeyDB.getEC2Regions();

    try {
        //get AWS credentials from DB
        for (AWSCred awsCred : AWSCredDB.getAWSCredList()) {

            if (awsCred != null && awsCred.isValid()) {
                //set  AWS credentials for service
                BasicAWSCredentials awsCredentials = new BasicAWSCredentials(awsCred.getAccessKey(),
                        awsCred.getSecretKey());

                for (String ec2Region : ec2RegionList) {
                    //create service

                    AmazonEC2 service = new AmazonEC2Client(awsCredentials, AWSClientConfig.getClientConfig());
                    service.setEndpoint(ec2Region);

                    //only return systems that have keys set
                    List<String> keyValueList = new ArrayList<String>();
                    for (ApplicationKey ec2Key : PrivateKeyDB.getEC2KeyByRegion(ec2Region)) {
                        if (ec2Key.isEnabled()) {
                            keyValueList.add(ec2Key.getKeyname());
                        }
                    }

                    DescribeInstancesRequest describeInstancesRequest = new DescribeInstancesRequest();

                    Filter keyNmFilter = new Filter("key-name", keyValueList);

                    describeInstancesRequest.withFilters(keyNmFilter);

                    DescribeInstancesResult describeInstancesResult = service
                            .describeInstances(describeInstancesRequest);

                    for (Reservation res : describeInstancesResult.getReservations()) {
                        for (Instance instance : res.getInstances()) {
                            HostSystem hostSystem = transformerEC2InstanzToHostSystem(instance, ec2Region);

                            setEC2System(hostSystem);
                        }
                    }
                }
            }
        }
    } catch (AmazonServiceException ex) {
        ex.printStackTrace();
    }
}

From source file:com.meltmedia.jgroups.aws.AWS_PING.java

License:Apache License

/**
 * Gets the list of private IP addresses found in AWS based on the filters and
 * tag names defined./* w ww  . j  ava  2  s .  c o  m*/
 *
 * @return the list of private IP addresses found on AWS.
 */
protected List<String> getPrivateIpAddresses() {
    List<String> result = new ArrayList<String>();

    List<Filter> filters = new ArrayList<Filter>();

    // if there are aws tags defined, then look them up and create filters.
    if (awsTagNames != null) {
        Collection<Tag> instanceTags = getInstanceTags(ec2, instanceId);
        for (Tag instanceTag : instanceTags) {
            if (awsTagNames.contains(instanceTag.getKey())) {
                filters.add(new Filter("tag:" + instanceTag.getKey(), Arrays.asList(instanceTag.getValue())));
            }
        }

    }

    // if there are aws filters defined, then add them to the list.
    if (awsFilters != null) {
        filters.addAll(awsFilters);
    }
    DescribeInstancesRequest request = new DescribeInstancesRequest().withFilters(filters);
    if (log.isDebugEnabled()) {
        log.debug("Describing AWS instances with the following filters [" + filters + "]");
        log.debug("Making AWS Request {" + request + "}");
    }
    // NOTE: the reservations group nodes together by when they were started. We
    // need to dig through all of the reservations.
    DescribeInstancesResult filterResult = ec2.describeInstances(request);
    for (Reservation reservation : filterResult.getReservations()) {
        for (Instance instance : reservation.getInstances()) {
            result.add(instance.getPrivateIpAddress());
        }
    }
    if (log.isDebugEnabled()) {
        log.debug("Instances found [" + result + "]");
    }
    return result;
}