List of usage examples for com.amazonaws.services.ec2.model Image getImageType
public String getImageType()
The type of image.
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; }