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

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

Introduction

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

Prototype


public String getImageType() 

Source Link

Document

The type of image.

Usage

From source file:jp.aws.test.ec2.EC2Instance.java

License:Apache License

/**
 * AMI?//  w ww  .j a  v  a2  s  .  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;
}

From source file:org.gridgain.grid.spi.cloud.ec2lite.GridEc2LiteCloudSpi.java

License:GNU General Public License

/**
 * Gets image resource from EC2 image.//from w  w w.j a  v  a  2  s . c  o  m
 *
 * @param img EC2 image.
 * @return Image resource.
 */
private GridCloudSpiResourceAdapter createImageResource(Image img) {
    assert img != null;

    Map<String, String> params = new HashMap<String, String>();

    params.put(IMG_ARCH, img.getArchitecture());
    params.put(IMG_LOC, img.getImageLocation());
    params.put(IMG_STATE, img.getState());
    params.put(INST_TYPE, img.getImageType());
    params.put(IMG_KERNEL_ID, img.getKernelId());
    params.put(OWNER_ID, img.getOwnerId());
    params.put(INST_PLATFORM, img.getPlatform());
    params.put(IMG_RAMDISK_ID, img.getRamdiskId());
    params.put(IMG_PUBLIC, String.valueOf(img.isPublic()));

    params.put(PRODUCT_CODE_IDS, F.concat(F.transform(img.getProductCodes(), new C1<ProductCode, String>() {
        @Override
        public String apply(ProductCode e) {
            return e.getProductCodeId();
        }
    }), VAL_DELIM));

    return new GridCloudSpiResourceAdapter(img.getImageId(), CLD_IMAGE, cloudId, params);
}

From source file:pl.edu.agh.samm.tadapter.eucalyptus.EucalyptusTransportAdapter.java

License:Open Source License

/**
 * starts new VM instance, <b>does not add new resource to core</b>
 *
 * @param resource//from w  w w. ja va 2  s. c o  m
 * @param imageId
 * @param instanceType
 * @return
 * @throws Exception
 */
private Instance startOneInstanceAction(Resource resource, final String imageId, String instanceType,
        String userData) throws Exception {
    AmazonEC2Client client = ec2Clients.get(resource);

    Image image = getImageByImageID(client, imageId);
    if (!IMAGE_TYPE_MACHINE.equals(image.getImageType())) {
        throw new RuntimeException("Provided image type is not machine!");
    }
    if (!IMAGE_STATE_AVAILABLE.equals(image.getState())) {
        throw new RuntimeException("Provided image state is not " + IMAGE_STATE_AVAILABLE);
    }

    RunInstancesRequest command = new RunInstancesRequest();

    if (userData != null) {
        command.setUserData(userData);
    }

    command.setImageId(image.getImageId());
    command.setInstanceType(instanceType);
    command.setKernelId(image.getKernelId());
    command.setMaxCount(1);
    command.setMinCount(1);
    command.setRamdiskId(image.getRamdiskId());
    command.setKeyName(resource.getProperty(EUCALYPTUS_KEY_NAME).toString());

    RunInstancesResult result = client.runInstances(command);
    List<Instance> instances = result.getReservation().getInstances();
    if (instances.size() < 1) {
        logger.error("Something bad happend while running VM instance");
    }
    Instance instance = instances.get(0);
    instance = EC2Util.waitForRunningState(client, instance);

    logger.info("Started new instance of image " + imageId + "! InstanceId = " + instance.getInstanceId());
    instance = EC2Util.waitForPublicDNS(client, instance);
    logger.info("Instance IP address is: " + instance.getPublicDnsName());
    return instance;
}