List of usage examples for com.amazonaws.services.ec2.model DescribeImagesRequest setImageIds
public void setImageIds(java.util.Collection<String> imageIds)
The image IDs.
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; }