Example usage for com.amazonaws.services.ec2.model DescribeImagesRequest setImageIds

List of usage examples for com.amazonaws.services.ec2.model DescribeImagesRequest setImageIds

Introduction

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

Prototype


public void setImageIds(java.util.Collection<String> imageIds) 

Source Link

Document

The image IDs.

Usage

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

License:BSD License

/**
 * @return valid image or null if missing
 *///from w w  w  .  ja  va  2 s . com
public Image findImage(final String imageId) throws Exception {

    /**
     * work around for image entry not being immediately available right
     * after create/register operation
     */
    for (int index = 0; index < attemptCount; index++) {

        try {

            final DescribeImagesRequest request = new DescribeImagesRequest();
            request.setImageIds(wrapList(imageId));

            final DescribeImagesResult result = amazonClient.describeImages(request);

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

            switch (imageList.size()) {
            case 0:
                logger.info("image find : missing imageId=" + imageId);
                break;
            case 1:
                logger.info("image find : success imageId=" + imageId);
                return imageList.get(0);
            default:
                logger.info("image find : duplicate imageId=" + imageId);
                break;
            }

        } catch (final Exception e) {
            logger.info("image find : exception imageId={} / {}", //
                    imageId, e.getMessage());
        }

        logger.info("image find : attempt=" + index);

        sleep();

    }

    logger.error("image find : failure imageId=" + imageId);

    return null;

}

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

License:BSD License

private Image waitForImageCreate(final String imageId) throws Exception {

    if (findImage(imageId) == null) {
        throw new IllegalStateException("image create: missing imageId=" + imageId);
    }//from w w  w  . j  a  v  a  2  s  .  c o  m

    final long timeStart = System.currentTimeMillis();

    final List<String> imageIdList = new ArrayList<String>();
    imageIdList.add(imageId);

    final DescribeImagesRequest request = new DescribeImagesRequest();
    request.setImageIds(imageIdList);

    while (true) {

        final DescribeImagesResult result = amazonClient.describeImages(request);

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

        final Image image;

        if (isTimeoutPending(timeStart)) {
            image = newImageWithStatus(ImageState.UNKNOWN.value, "timeout",
                    "image create: timeout while waiting");
        } else if (imageList == null || imageList.isEmpty()) {
            image = newImageWithStatus(ImageState.UNKNOWN.value, "missing",
                    "image create: missing in descriptions");
        } else {
            image = imageList.get(0);
        }

        final String value = image.getState();

        final ImageState state = ImageState.fromValue(value);

        switch (state) {

        case AVAILABLE:
            logger.info("image create: success");
            return image;

        case PENDING:
            final long timeThis = System.currentTimeMillis();
            final long timeDiff = timeThis - timeStart;
            logger.info("image create: in progress; time=" + timeDiff / 1000);
            sleep();
            break;

        default:
            logger.error("image create: failure");
            return image;

        }

    }

}

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

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

License:Open Source License

protected List<String> getImageNames(List<String> imageIds) {
    List<String> imageNames = new ArrayList<>();

    DescribeImagesRequest describeImagesRequest = new DescribeImagesRequest();

    describeImagesRequest.setImageIds(imageIds);

    DescribeImagesResult describeImagesResult = amazonEC2Client.describeImages(describeImagesRequest);

    for (Image image : describeImagesResult.getImages()) {
        imageNames.add(image.getName());
    }/*from  w w  w . j a va  2  s  .co m*/

    return imageNames;
}

From source file:com.netflix.simianarmy.client.aws.AWSClient.java

License:Apache License

/**
 * Describe a set of specific images.//from  ww w . j a v a2s.c  om
 *
 * @param imageIds the image ids
 * @return the images
 */
public List<Image> describeImages(String... imageIds) {
    if (imageIds == null || imageIds.length == 0) {
        LOGGER.info(String.format("Getting all AMIs in region %s.", region));
    } else {
        LOGGER.info(String.format("Getting AMIs for %d ids in region %s.", imageIds.length, region));
    }

    AmazonEC2 ec2Client = ec2Client();
    DescribeImagesRequest request = new DescribeImagesRequest();
    if (imageIds != null) {
        request.setImageIds(Arrays.asList(imageIds));
    }
    DescribeImagesResult result = ec2Client.describeImages(request);
    List<Image> images = result.getImages();

    LOGGER.info(String.format("Got %d AMIs in region %s.", images.size(), region));
    return images;
}

From source file:com.norbl.cbp.ppe.AmiDescription.java

License:Open Source License

/**
 *
 * @param ec2Client//from  w w w .j  a  v  a2  s  . c om
 * @param amiID
 * @return null if amiID does not exist.
 */
public static Image getImageInfo(AmazonEC2Client ec2Client, String amiID) {
    List<String> IDs = new ArrayList<String>();
    IDs.add(amiID);
    DescribeImagesRequest req = new DescribeImagesRequest();
    req.setImageIds(IDs);

    List<Image> imgs = ec2Client.describeImages(req).getImages();
    for (Image img : imgs) {
        if (img.getImageId().equals(amiID))
            return (img);
    }
    return (null);
}

From source file:com.norbl.cbp.ppe.Ec2Wrangler.java

License:Open Source License

public boolean isHVM(String imageID) {

    DescribeImagesRequest req = new DescribeImagesRequest();
    List<String> iids = new ArrayList<String>();
    iids.add(imageID);//from ww  w .  j a  va 2  s . c  om
    req.setImageIds(iids);

    DescribeImagesResult res = ec2Client.describeImages(req);

    for (Image img : res.getImages()) {
        if (img.getImageId().equals(imageID)) {
            return (img.getVirtualizationType().equals("hvm"));
        }
    }
    return (false);
}

From source file:eu.optimis.monitoring.amazoncollector.MeasurementsHelper.java

License:Apache License

private Measurement getOSRelease(String ami_id, String instance_id, String service_id) {
    AmazonEC2 ec2 = getAmazonEC2Client();
    DescribeImagesRequest req = new DescribeImagesRequest();
    List<String> ids = new LinkedList<String>();
    ids.add(ami_id);/*w  ww. j  av a  2 s .  c  o m*/
    req.setImageIds(ids);
    DescribeImagesResult res = ec2.describeImages(req);
    String platform = res.getImages().get(0).getPlatform();
    if (platform == null || platform.isEmpty()) {
        platform = "linux";
    }
    return new Measurement("os_release", platform, "", new Date(), instance_id, service_id);
}

From source file:integratedtoolkit.connectors.amazon.EC2.java

License:Apache License

private String classifyMachine(int CPU, float memory, float disk, String diskImage) {
    DescribeImagesRequest dirq = new DescribeImagesRequest();
    LinkedList<String> amiIds = new LinkedList<String>();
    amiIds.add(diskImage);/*from w  w w  .  j av a 2s  .c om*/
    dirq.setImageIds(amiIds);
    DescribeImagesResult dirt = client.describeImages(dirq);
    String imageArchitecture = "";
    for (Image image : dirt.getImages()) {
        imageArchitecture = image.getArchitecture();
    }
    if (imageArchitecture.compareTo("i386") == 0) {
        if (CPU <= smallCPUCount && memory <= smallMemory && disk <= smallDisk) {
            return smallCode;
        }
        return null;
    }

    if (CPU <= largeCPUCount && memory <= largeMemory && disk <= largeDisk) {
        return largeCode;
    }
    return xlargeCode;
}

From source file:org.gridgain.grid.spi.cloud.ec2lite.GridEc2LiteCloudSpi.java

License:GNU General Public License

/**
 * Gets EC2 images.//www  .jav a2s . c om
 *
 * @return EC2 images.
 * @throws GridSpiException If any exception occurs.
 */
private Iterable<Image> getEc2Images() throws GridSpiException {
    if (imgs == null) {
        DescribeImagesRequest req = new DescribeImagesRequest();

        if (!F.isEmpty(imgIds))
            req.setImageIds(imgIds);

        try {
            imgs = ec2.describeImages(req).getImages();

            if (log.isDebugEnabled())
                log.debug("Images initialized: " + imgs);

            return imgs;
        } catch (AmazonClientException e) {
            throw new GridSpiException("Failed to get EC2 images by request: " + req, e);
        }
    } else
        return imgs;
}