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

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

Introduction

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

Prototype


public void setValues(java.util.Collection<String> values) 

Source Link

Document

The filter values.

Usage

From source file:com.liferay.amazontools.AMIBuilder.java

License:Open Source License

protected Instance getRunningInstance(String instanceId) {
    DescribeInstancesRequest describeInstancesRequest = new DescribeInstancesRequest();

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

    Filter filter = new Filter();

    filter.setName("instance-state-name");

    List<String> values = new ArrayList<String>();

    values.add("running");

    filter.setValues(values);

    filters.add(filter);/*from   ww  w.  java 2 s .c  o m*/

    describeInstancesRequest.setFilters(filters);

    List<String> instanceIds = new ArrayList<String>();

    instanceIds.add(instanceId);

    describeInstancesRequest.setInstanceIds(instanceIds);

    DescribeInstancesResult describeInstancesResult = amazonEC2Client
            .describeInstances(describeInstancesRequest);

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

    if (reservations.isEmpty()) {
        return null;
    }

    Reservation reservation = reservations.get(0);

    List<Instance> instances = reservation.getInstances();

    return instances.get(0);
}

From source file:com.liferay.amazontools.AMIBuilder.java

License:Open Source License

protected boolean isImageCreated(String imageId) {
    DescribeImagesRequest describeImagesRequest = new DescribeImagesRequest();

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

    Filter filter = new Filter();

    filter.setName("state");

    List<String> values = new ArrayList<String>();

    values.add("available");

    filter.setValues(values);

    filters.add(filter);// w  w  w.  jav a 2 s .c o  m

    describeImagesRequest.setFilters(filters);

    List<String> imageIds = new ArrayList<String>();

    imageIds.add(imageId);

    describeImagesRequest.setImageIds(imageIds);

    DescribeImagesResult describeImagesResult = amazonEC2Client.describeImages(describeImagesRequest);

    List<Image> images = describeImagesResult.getImages();

    return !images.isEmpty();
}

From source file:com.liferay.amazontools.BaseAMIBuilder.java

License:Open Source License

protected String getImageId(String imageName) {
    DescribeImagesRequest describeImagesRequest = new DescribeImagesRequest();

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

    Filter filter = new Filter();

    filter.setName("name");

    List<String> values = new ArrayList<String>();

    values.add(imageName);/*from   w  w  w  . j  a va  2  s. co  m*/

    filter.setValues(values);

    filters.add(filter);

    describeImagesRequest.setFilters(filters);

    DescribeImagesResult describeImagesResult = amazonEC2Client.describeImages(describeImagesRequest);

    List<Image> images = describeImagesResult.getImages();

    if (images.isEmpty()) {
        throw new RuntimeException("Image " + imageName + " does not exist");
    }

    Image image = images.get(0);

    return image.getImageId();
}

From source file:com.liferay.amazontools.BaseAMITool.java

License:Open Source License

protected String getImageId(String imageName) {
    DescribeImagesRequest describeImagesRequest = new DescribeImagesRequest();

    Image image = null;//from   w  w  w.  j a  v  a  2s  .  c  o  m

    for (int i = 0; i < 6; i++) {
        List<Filter> filters = new ArrayList<Filter>();

        Filter filter = new Filter();

        filter.setName("name");

        List<String> values = new ArrayList<String>();

        values.add(imageName);

        filter.setValues(values);

        filters.add(filter);

        describeImagesRequest.setFilters(filters);

        DescribeImagesResult describeImagesResult = amazonEC2Client.describeImages(describeImagesRequest);

        List<Image> images = describeImagesResult.getImages();

        if (images.isEmpty()) {
            sleep(30);

            continue;
        }

        image = images.get(0);

        break;
    }

    if (image == null) {
        throw new RuntimeException("Image " + imageName + " does not exist");
    }

    return image.getImageId();
}

From source file:com.vmware.photon.controller.model.adapters.awsadapter.AWSUtils.java

License:Open Source License

/**
 * Creates a filter for the instances that are in non terminated state on the AWS endpoint.
 * @return/*from  ww w  .ja  va 2  s  . c om*/
 */
public static Filter getAWSNonTerminatedInstancesFilter() {
    // Create a filter to only get non terminated instances from the remote instance.
    List<String> stateValues = new ArrayList<String>(
            Arrays.asList(INSTANCE_STATE_RUNNING, INSTANCE_STATE_PENDING, INSTANCE_STATE_STOPPING,
                    INSTANCE_STATE_STOPPED, INSTANCE_STATE_SHUTTING_DOWN));
    Filter runningInstanceFilter = new Filter();
    runningInstanceFilter.setName(INSTANCE_STATE);
    runningInstanceFilter.setValues(stateValues);
    return runningInstanceFilter;
}

From source file:jp.aws.test.ec2.EC2Instance.java

License:Apache License

/**
 * AMI?//  w w  w . ja  v  a 2  s  .c  o m
 *
 * @param HashMap
 *            <String,String> filterMap : ID: ownerid => self, amazon,
 *            redhat, 00000000  root-device-type => ebs, instance-store
 *            architecture => i386, x86_64 name => amzn-ami*
 * @return
 * @throws Exception
 * @note - ????????
 */
public List<AMIItem> ami_list(HashMap<String, String> filterMap) {

    List<AMIItem> amiItemList = new ArrayList<AMIItem>();

    // 
    this.clientManager.changeRegion();

    // AMI??
    DescribeImagesRequest describeImagesRequest = new DescribeImagesRequest();
    List<String> ownersList = new ArrayList<String>();

    // OwnerID?(self, amazon, redhat, 00000000)
    ownersList.add(filterMap.get("ownerid"));
    describeImagesRequest.setOwners(ownersList);

    // AMI????????Filter?
    ArrayList<Filter> filters = new ArrayList<Filter>();

    Filter filter = new Filter();
    filter.setName("image-type");

    // machine
    List<String> valueList = new ArrayList<String>();
    valueList.add("machine");
    filter.setValues(valueList);

    // Filter
    filters.add(filter);

    // 
    for (Iterator<String> it = filterMap.keySet().iterator(); it.hasNext();) {
        String key = it.next();
        Log.d("ami_list", String.format("key:%s, value:%s", key, filterMap.get(key)));
        if (key.toLowerCase().equals("ownerid"))
            continue;
        filters.add(new Filter().withName(key).withValues(filterMap.get(key)));
    }

    // Filter
    describeImagesRequest.setFilters(filters);

    // ????AMI??
    DescribeImagesResult describeImagesResult = this.clientManager.ec2().describeImages(describeImagesRequest);

    // AMI?List?(Image?com.amazonaws.services.ec2.model?Image???)
    List<Image> amiList = describeImagesResult.getImages();

    // ?AMI??
    for (Image image : amiList) {
        // http://docs.amazonwebservices.com/AWSAndroidSDK/latest/javadoc/com/amazonaws/services/ec2/model/Image.html
        AMIItem amiItem = new AMIItem();

        StringBuilder builder = new StringBuilder();

        amiItem.imageId = image.getImageId();
        amiItem.imageType = image.getImageType();
        amiItem.imageLocation = image.getImageLocation();
        amiItem.name = image.getName();
        amiItem.architecture = image.getArchitecture();
        amiItem.platform = image.getPlatform();
        amiItem.state = image.getState();
        amiItem.ownerId = image.getOwnerId();
        amiItem.rootDeviceType = image.getRootDeviceType();
        amiItem.rootDeviceName = image.getRootDeviceName();
        amiItem.description = image.getDescription();
        builder.setLength(0); // ?
        List<Tag> tags = image.getTags(); // tag
        for (Tag tag : tags) {
            builder.append(tag.getValue());
            builder.append(", ");
        }

        // ?
        amiItemList.add(amiItem);
    }

    return amiItemList;
}

From source file:org.apache.stratos.aws.extension.AWSHelper.java

License:Apache License

private Set<Filter> getFilters(String vpcId, String securityGroupName) {
    // vpc id filter
    Filter vpcIdFilter = new Filter();
    vpcIdFilter.setName("vpc-id");
    Set<String> singleVpcIdSet = new HashSet<>();
    singleVpcIdSet.add(vpcId);// ww w.j a va 2s  .  c  o m
    vpcIdFilter.setValues(singleVpcIdSet);
    // group name filter
    Filter groupNameFilter = new Filter();
    groupNameFilter.setName("group-name");
    Set<String> singleGroupNameSet = new HashSet<>();
    singleGroupNameSet.add(securityGroupName);
    groupNameFilter.setValues(singleGroupNameSet);

    Set<Filter> filters = new HashSet<>();
    filters.add(vpcIdFilter);
    filters.add(groupNameFilter);
    return filters;
}

From source file:org.elasticdroid.EC2DisplayInstancesView.java

License:Open Source License

/**
 * Execute the model to retrieve EC2 instance data for the selected region. The model
 * runs in a different thread and calls processModelResults when done.
 *//*from   www . j a va  2s .c  o  m*/
private void executeModel() {
    ec2InstancesModel = new EC2InstancesModel(this, connectionData, selectedRegion);
    // add the endpoint for this region to connectionData
    // it's not nice to modify a member like this, now, is it?

    Filter instanceStateFilter = new Filter("instance-state-code");
    if (listType == InstanceStateConstants.RUNNING) {
        instanceStateFilter
                .setValues(Arrays.asList(new String[] { String.valueOf(InstanceStateConstants.RUNNING) }));
    } else {
        instanceStateFilter
                .setValues(Arrays.asList(new String[] { String.valueOf(InstanceStateConstants.STOPPED) }));
    }

    ec2InstancesModel.execute(instanceStateFilter);
}

From source file:org.elasticdroid.model.EC2InstancesModel.java

License:Open Source License

/**
 * //from   ww w  .  j a v a  2  s .  c  o m
 * @param filters
 * @return This method can return:
 * <ul>
 * <li>ArrayList<SerializableInstance>: If all goes well</li>
 * <li>AmazonClientException: If there's connectivity problems on the client.</li>
 * <li>AmazonServiceException: If there's AWS service problems.</li>
 * <li>IllegalArgumentException: If the region can't be found.</li>
 * </ul>
 */
public Object getInstances(Filter... filters) {
    ArrayList<SerializableInstance> serInstances = new ArrayList<SerializableInstance>();
    //result passed to Activity
    List<Region> regions;
    List<Reservation> reservations; //restult from EC2

    //create credentials using the BasicAWSCredentials class
    BasicAWSCredentials credentials = new BasicAWSCredentials(connectionData.get("accessKey"),
            connectionData.get("secretAccessKey"));
    //create Amazon EC2 Client object, and set tye end point to the region. params[3]
    //contains endpoint
    AmazonEC2Client amazonEC2Client = new AmazonEC2Client(credentials);

    //1. create a filter for this region name
    Filter regionFilter = new Filter("region-name");
    regionFilter.setValues(new ArrayList<String>(Arrays.asList(new String[] { selectedRegion })));

    //2. query using this filter
    try {
        regions = amazonEC2Client.describeRegions(new DescribeRegionsRequest().withFilters(regionFilter))
                .getRegions();
    } catch (AmazonServiceException exc) {
        return exc;
    } catch (AmazonClientException exc) {
        return exc;
    }

    //3. Make sure the region was found.
    if (regions.size() != 1) {
        return new IllegalArgumentException("Invalid region passed to model.");
    }

    Log.v(TAG + ".doInBackground()",
            "endpoint for region : " + selectedRegion + "=" + regions.get(0).getEndpoint());
    //set the endpoint
    amazonEC2Client.setEndpoint(regions.get(0).getEndpoint());

    //now get the instances

    Log.v(TAG, "Size of filters:" + filters.length);
    DescribeInstancesRequest request = new DescribeInstancesRequest();
    request.setFilters(Arrays.asList(filters));

    //get the list of instances using this filter
    try {
        reservations = amazonEC2Client.describeInstances(request).getReservations();
    } catch (AmazonServiceException amazonServiceException) {
        return amazonServiceException;
    } catch (AmazonClientException amazonClientException) {
        return amazonClientException;
    }

    //add each instance found into the list of instances to return to the view
    for (Reservation reservation : reservations) {
        List<String> securityGroups = reservation.getGroupNames();
        //note to self: List is an interface ArrayList implements.
        //for each reservation, get the list of instances associated
        for (Instance instance : reservation.getInstances()) {
            serInstances.add(new SerializableInstance(instance, securityGroups));
        }
    }

    return serInstances;
}