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

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

Introduction

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

Prototype

DescribeImagesRequest

Source Link

Usage

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);
}