List of usage examples for com.amazonaws.services.ec2.model DescribeImagesRequest DescribeImagesRequest
DescribeImagesRequest
From source file:org.excalibur.service.aws.ec2.EC2.java
License:Open Source License
public List<VirtualMachineImage> listImages(OsArchitectureType architecture, Platform platform, HypervisorType hypervisor, VirtualizationType virtualizationType, String... imageIds) { checkArgument(architecture != null); List<VirtualMachineImage> images = newArrayList(); DescribeImagesRequest request = new DescribeImagesRequest(); request.withFilters(new Filter().withName("state").withValues("available"), new Filter().withName("architecture").withValues(architecture.name().toLowerCase()), new Filter().withName("image-type").withValues("machine")); if (platform != null) { request.withFilters(new Filter().withName("platform").withValues(platform.getValue())); }// w w w .j av a 2s . c o m if (hypervisor != null) { request.withFilters(new Filter().withName("hypervisor").withValues(hypervisor.getValue())); } if (virtualizationType != null) { request.withFilters(new Filter().withName("virtualization-type").withValues(hypervisor.getValue())); } if (imageIds != null && imageIds.length > 0) { request.withImageIds(imageIds); } try { images = IMAGES_FUNCTION.apply(ec2_.describeImages(request).getImages()); } catch (AmazonClientException exception) { LOG.error(exception.getMessage(), exception); } return images; }
From source file:org.excalibur.service.aws.ec2.EC2.java
License:Open Source License
public List<VirtualMachineImage> listImages(String... imageIds) { checkNotNull(imageIds);// ww w . j a v a2s . co m checkArgument(imageIds.length >= 1); List<Image> images = newArrayList(); try { images = ec2_.describeImages(new DescribeImagesRequest().withImageIds(imageIds)).getImages(); } catch (AmazonClientException exception) { LOG.error(exception.getMessage()); } return IMAGES_FUNCTION.apply(images); }
From source file:org.excalibur.service.aws.ec2.EC2.java
License:Open Source License
public Image getImageById(String imageId) { Image image = null;//from w w w .j ava 2 s . c om try { DescribeImagesResult describeImages = ec2_ .describeImages(new DescribeImagesRequest().withImageIds(imageId)); image = Lists2.first(describeImages.getImages()); } catch (com.amazonaws.AmazonServiceException exception) { LOG.error("Error on describing image: [{}]. Error message: [{}]", imageId, exception.getMessage(), exception); } return image; }
From source file:org.gridgain.grid.spi.cloud.ec2lite.GridEc2LiteCloudSpi.java
License:GNU General Public License
/** * Gets EC2 images.//from ww w . ja va 2s . co m * * @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; }
From source file:org.lendingclub.mercator.aws.AMIScanner.java
License:Apache License
@Override protected void doScan() { AmazonEC2Client c = getClient();// www .j a va 2 s.c om NeoRxClient neoRx = getNeoRxClient(); Preconditions.checkNotNull(neoRx); GraphNodeGarbageCollector gc = newGarbageCollector().bindScannerContext(); DescribeImagesRequest req = new DescribeImagesRequest().withOwners("self"); DescribeImagesResult result = c.describeImages(req); result.getImages().forEach(i -> { try { ObjectNode n = convertAwsObject(i, getRegion()); String cypher = "merge (x:AwsAmi {aws_arn:{aws_arn}}) set x+={props} set x.updateTs=timestamp() return x"; neoRx.execCypher(cypher, "aws_arn", n.path("aws_arn").asText(), "props", n).forEach(r -> { gc.MERGE_ACTION.accept(r); getShadowAttributeRemover().removeTagAttributes("AwsAmi", n, r); }); incrementEntityCount(); } catch (RuntimeException e) { maybeThrow(e, "problem scanning AMI " + i.getImageId()); } }); }
From source file:org.zalando.stups.fullstop.plugin.AmiPlugin.java
License:Apache License
@Override public void processEvent(final CloudTrailEvent event) { List<String> amis = getAmis(event); final List<String> whitelistedAmis = Lists.newArrayList(); AmazonEC2Client ec2Client = cachingClientProvider.getClient(AmazonEC2Client.class, whitelistedAmiAccount, Region.getRegion(Regions.fromName(event.getEventData().getAwsRegion()))); DescribeImagesRequest describeImagesRequest = new DescribeImagesRequest().withOwners(whitelistedAmiAccount); DescribeImagesResult describeImagesResult = ec2Client.describeImages(describeImagesRequest); List<Image> images = describeImagesResult.getImages(); whitelistedAmis.addAll(images.stream().filter(image -> image.getName().startsWith(amiNameStartWith)) .map(Image::getImageId).collect(Collectors.toList())); List<String> invalidAmis = Lists.newArrayList(); for (String ami : amis) { boolean valid = false; for (String whitelistedAmi : whitelistedAmis) { if (ami.equals(whitelistedAmi)) { valid = true;/*from w w w. j a v a 2 s. c o m*/ } } if (!valid) { invalidAmis.add(ami); } } if (!CollectionUtils.isEmpty(invalidAmis)) { violationStore .save(new ViolationBuilder(format("Instances with ids: %s was started with wrong images: %s", getInstanceIds(event), invalidAmis)).withEvent(event).build()); } }
From source file:pl.edu.agh.samm.tadapter.eucalyptus.EucalyptusTransportAdapter.java
License:Open Source License
private Image getImageByImageID(AmazonEC2Client client, String imageId) { DescribeImagesRequest describeImagesRequest = new DescribeImagesRequest(); List<String> imageIds = new LinkedList<String>(); imageIds.add(imageId);/*from w ww. j a va2s . c o m*/ describeImagesRequest.setImageIds(imageIds); List<Image> images = client.describeImages(describeImagesRequest).getImages(); if (images.size() != 1) { throw new RuntimeException("Found " + images.size() + " images of id: " + imageId); } return images.get(0); }