List of usage examples for com.amazonaws.services.ec2.model DescribeImagesRequest setFilters
public void setFilters(java.util.Collection<Filter> filters)
The filters.
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);//from w w w .j a v a2 s. com } 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.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 . j ava 2 s.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.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.ja va 2s . 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 ww w.j av a 2 s. co 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.pinterest.arcee.handler.SpecsHandler.java
License:Apache License
public void updateAllImages(Long after) { DescribeImagesRequest request = new DescribeImagesRequest(); request.setOwners(Arrays.asList(OWNER_ID)); Filter envFilter = new Filter("tag:environment", Arrays.asList("prod")); Filter archFilter = new Filter("tag:release", Arrays.asList("precise")); Filter vtypeFilter = new Filter("virtualization-type", Arrays.asList("hvm")); Filter rootType = new Filter("root-device-type", Arrays.asList("instance-store")); Filter archType = new Filter("architecture", Arrays.asList("x86_64")); request.setFilters(Arrays.asList(envFilter, archFilter, vtypeFilter, rootType, archType)); DescribeImagesResult result = client.describeImages(request); List<Image> images = result.getImages(); for (Image image : images) { try {//from w w w . ja v a 2 s.co m ImageBean imageBean = new ImageBean(); imageBean.setId(image.getImageId()); Long createTime = getDateTime(image.getCreationDate()); if (createTime <= after) { continue; } imageBean.setPublish_date(getDateTime(image.getCreationDate())); List<Tag> tags = image.getTags(); for (Tag tag : tags) { if (tag.getKey().equals("application")) { String app = tag.getValue(); imageBean.setApp_name(app); break; } } imageDAO.insertOrUpdate(imageBean); } catch (Exception ex) { LOG.error("Failed to get image info:", ex); } } }
From source file:eu.optimis.interopt.provider.aws.AmazonClient.java
License:Apache License
public String describeImage(String imageId) { AmazonEC2 ec2 = getAmazonEC2Client(); DescribeImagesRequest req = new DescribeImagesRequest(); List<Filter> filters = new ArrayList<Filter>(); List<String> imgs = new ArrayList<String>(); imgs.add(imageId);// w w w . j a va2 s . co m filters.add(new Filter("image-id", imgs)); req.setFilters(filters); DescribeImagesResult res = ec2.describeImages(req); return res.getImages().get(0).getName() + "----" + res.getImages().get(0).getDescription(); }
From source file:jp.aws.test.ec2.EC2Instance.java
License:Apache License
/** * AMI?/*from ww w.j av a 2s .co 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; }