Example usage for com.amazonaws.services.ec2.model Image getImageId

List of usage examples for com.amazonaws.services.ec2.model Image getImageId

Introduction

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

Prototype


public String getImageId() 

Source Link

Document

The ID of the AMI.

Usage

From source file:at.ac.tuwien.infosys.jcloudscale.vm.ec2.EC2Wrapper.java

License:Apache License

String lookupImageId(String imgName) {

    DescribeImagesRequest req = new DescribeImagesRequest();

    if (imgName == null || imgName.length() == 0)
        return null;

    req.setRequestCredentials(creds);//from  w w w  . j  ava  2s  .c  om
    DescribeImagesResult result = ec2Client.describeImages();
    for (Image image : result.getImages()) {
        if (image.getName() != null && image.getName().equals(imgName))
            return image.getImageId();
    }
    return null;
}

From source file:com.axemblr.yab.cli.ListCommand.java

License:Apache License

@Override
public void run() {
    YaB yab = YaB.createWithEnvironmentCredentials(getRegion());

    try {//from   w w w  .j  a  v a2 s  .  com
        System.out.println(";; using region " + getRegion());

        for (Image image : yab.describeBackedImages()) {
            System.out.printf("%s : %s : %s - %s (%s)%n", image.getImageId(),
                    (image.getPublic() ? "public" : "private"), image.getState(), image.getName(),
                    image.getDescription());
            System.out.printf(String.format("tags: %s%n", image.getTags()));
        }

    } finally {
        yab.close();
    }
}

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

License:BSD License

@Override
public void execute() throws MojoFailureException {

    try {/*from w w  w  . j a v  a  2  s .co  m*/

        getLog().info("image create init [" + imageName() + "]");

        final CarrotElasticCompute compute = newElasticCompute();

        final Image image = compute.imageCreate( //
                imageInstanceId(), //
                imageName(), //
                imageDescription //
        );

        final ImageState state = ImageState.fromValue(image.getState());

        switch (state) {
        case AVAILABLE:
            break;
        default:
            throw new IllegalStateException("image create failed : \n" + image);
        }

        final String imageId = image.getImageId();

        /** publish result */
        project().getProperties().put(imageResultProperty, image);
        project().getProperties().put(imageIdResultProperty, imageId);

        /** tag image */
        compute.tagCreate(imageId, amazonTagName(), imageName());

        /** tag image devices */
        for (final BlockDeviceMapping blockDevice : image.getBlockDeviceMappings()) {

            final EbsBlockDevice elasticDevice = blockDevice.getEbs();

            if (elasticDevice == null) {
                continue;
            }

            final String snapshotId = elasticDevice.getSnapshotId();

            if (snapshotId == null) {
                continue;
            }

            compute.tagCreate(snapshotId, amazonTagName(), imageName());

        }

        getLog().info("image create image=\n" + image);

        getLog().info("image create done [" + imageName() + "]");

    } catch (final Exception e) {

        throw new MojoFailureException("bada-boom", e);

    }

}

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);/*  ww w  .j a  v a 2 s  .  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;

    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);//from w w  w.  j ava  2 s  .  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()) {
            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.netflix.edda.EddaEc2Client.java

License:Apache License

public DescribeImagesResult describeImages(DescribeImagesRequest request) {
    validateEmpty("ExecutableUsers", request.getExecutableUsers());
    List<Filter> filters = request.getFilters();
    String path = "aws/images";
    if (filters != null && filters.size() > 0) {
        if (filters.size() == 1 && filters.get(0) != null && "is-public".equals(filters.get(0).getName())
                && filters.get(0).getValues() != null && filters.get(0).getValues().size() == 1
                && "false".equals(filters.get(0).getValues().get(0))) {
            path = "view/images";
        } else {/* w  w  w. ja  va 2 s  . com*/
            throw new UnsupportedOperationException("filters only support is-public=false");
        }
    }

    TypeReference<List<Image>> ref = new TypeReference<List<Image>>() {
    };
    String url = config.url() + "/api/v2/" + path + ";_expand";
    try {
        List<Image> images = parse(ref, doGet(url));

        List<String> owners = request.getOwners();
        List<String> ids = request.getImageIds();
        if (shouldFilter(owners) || shouldFilter(ids)) {
            List<Image> is = new ArrayList<Image>();
            for (Image i : images) {
                if (matches(owners, i.getOwnerId()) && matches(ids, i.getImageId()))
                    is.add(i);
            }
            images = is;
        }

        return new DescribeImagesResult().withImages(images);
    } catch (IOException e) {
        throw new AmazonClientException("Faled to parse " + url, e);
    }
}

From source file:com.netflix.simianarmy.aws.janitor.crawler.EBSSnapshotJanitorCrawler.java

License:Apache License

private void refreshSnapshotToAMIs() {
    snapshotToAMIs.clear();/*from   w  w  w.  j a va  2s  .  c  o m*/
    for (Image image : getAWSClient().describeImages()) {
        for (BlockDeviceMapping bdm : image.getBlockDeviceMappings()) {
            EbsBlockDevice ebd = bdm.getEbs();
            if (ebd != null && ebd.getSnapshotId() != null) {
                LOGGER.debug(String.format("Snapshot %s is used to generate AMI %s", ebd.getSnapshotId(),
                        image.getImageId()));
                Collection<String> amis = snapshotToAMIs.get(ebd.getSnapshotId());
                if (amis == null) {
                    amis = new ArrayList<String>();
                    snapshotToAMIs.put(ebd.getSnapshotId(), amis);
                }
                amis.add(image.getImageId());
            }
        }
    }
}

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

License:Open Source License

/**
 *
 * @param ec2Client//from  w  w  w  .j  a  v  a2s. com
 * @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  w w w .j av  a2s .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: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 ww .java  2s .c  o  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);
        }
    }
}