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

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

Introduction

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

Prototype


public void setName(String name) 

Source Link

Document

The name of the filter.

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);/* w w w. j ava2  s. com*/

    filters.add(filter);

    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);//from www  .j  a v a  2 s. co  m

    filters.add(filter);

    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.AMICleaner.java

License:Open Source License

protected void deleteAvailableVolumes() {
    DescribeVolumesRequest describeVolumesRequest = new DescribeVolumesRequest();

    Filter filter = new Filter();

    filter.setName("status");

    filter.withValues("available");

    describeVolumesRequest.withFilters(filter);

    DescribeVolumesResult describeVolumesResult = amazonEC2Client.describeVolumes(describeVolumesRequest);

    List<Volume> volumes = describeVolumesResult.getVolumes();

    for (int i = 0; i < volumes.size(); i++) {
        DeleteVolumeRequest deleteVolumeRequest = new DeleteVolumeRequest();

        Volume volume = volumes.get(i);//www .j  a  v  a2  s  .  co m

        deleteVolumeRequest.setVolumeId(volume.getVolumeId());

        amazonEC2Client.deleteVolume(deleteVolumeRequest);
    }
}

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 v a 2  s . c o  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  . ja  v a  2s.  c  om*/

    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//w ww .  j a v  a2s  . com
 */
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 . j  ava 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:n3phele.factory.ec2.VirtualServerResource.java

License:Open Source License

/**
 * Assimilating a VM is the process of looking for an instance in the Amazon cloud,
 * getting it's details and storing it in the factory database if it's not there yet.
 * This is used when instances are created from outside of the factory (e.g. using Juju)
 * and the factory needs to know about their existence to use them in other operations.
 * @param request/*from ww  w  . j  av a 2 s . c  o  m*/
 *          information about the instance to be looked up in the cloud
 * @return
 *          response code informing success or failure in the search and assimilation
 */
@POST
@Produces("application/json")
@RolesAllowed("authenticated")
@Path("virtualServer/assimilate")
public Response assimilate(ExecutionFactoryAssimilateRequest request) {
    final String TAG = "Assimilate VM: ";

    logger.info(TAG + "EC2 Assimilating VM Begin");
    logger.info(TAG + "Looking for IP " + request.ipaddress + " on " + request.location);

    // Search for instance with the following ip address
    Filter ipFilter = new Filter();
    ipFilter.setName("ip-address");
    ipFilter.withValues(request.ipaddress);

    // This request searches in running instances for one instance that mathes the filters
    DescribeInstancesRequest amazonRequest = new DescribeInstancesRequest();
    amazonRequest.withFilters(ipFilter);

    // Authenticate an Amazon connection
    AmazonEC2Client amazonClient = getEC2Client(request.accessKey, request.encryptedSecret, request.location);

    // Execute request
    DescribeInstancesResult amazonResponse = amazonClient.describeInstances(amazonRequest);

    // Reservations are "sessions" that start a list of instances
    if (amazonResponse.getReservations().size() == 0) {
        logger.warning(TAG + "IP not found on Amazon cloud");
        return Response.status(Response.Status.NOT_FOUND).build();
    }
    logger.info(TAG + "IP found on Amazon cloud, looking for instance id on Amazon factory");

    // We're expecting one instance with the requested IP, getting index 0 should cover this
    Reservation foundReservation = amazonResponse.getReservations().get(0);
    List<Instance> reservationInstances = foundReservation.getInstances();
    Instance foundInstance = reservationInstances.get(0);
    String instanceId = foundInstance.getInstanceId();

    List<VirtualServer> listVS = getByInstanceId(instanceId);
    if (listVS.size() > 0) {
        logger.warning(TAG + "Instance already exists on Amazon factory");
        return Response.status(Response.Status.CONFLICT).build();
    }
    logger.info(TAG + "Instance not found on Amazon factory, adding VM to factory");

    // Required data for VM creation below
    ArrayList<NameValue> paramsVM = new ArrayList<NameValue>();

    NameValue paramLocation = new NameValue();
    NameValue paramFlavor = new NameValue();

    paramLocation.setKey("locationId");
    paramLocation.setValue(request.locationId);
    paramsVM.add(paramLocation);

    paramFlavor.setKey("instanceType");
    paramFlavor.setValue(foundInstance.getInstanceType());
    paramsVM.add(paramFlavor);

    // Instance name is in tag key "Name", assuming first tag is the name
    List<Tag> instanceTags = foundInstance.getTags();
    String instanceName = null;
    if (instanceTags.size() == 0) {
        instanceName = instanceId;
    } else {
        Tag tagName = instanceTags.get(0);
        instanceName = tagName.getValue();
    }

    VirtualServer virtualServer = new VirtualServer(instanceName, request.description, request.location,
            paramsVM, request.notification, request.accessKey, request.encryptedSecret, request.owner,
            request.idempotencyKey);
    virtualServer.setCreated(foundInstance.getLaunchTime());
    virtualServer.setInstanceId(instanceId);

    add(virtualServer);

    logger.info(TAG + "Succesfully added VM to factory");

    List<URI> virtualMachinesRefs = new ArrayList<URI>(1);
    virtualMachinesRefs.add(virtualServer.getUri());
    return Response.created(virtualServer.getUri()).entity(new CreateVirtualServerResponse(virtualMachinesRefs))
            .build();
}

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);//from   w ww.  j  av  a  2 s .co 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;
}