List of usage examples for com.amazonaws.services.ec2.model DescribeImagesRequest DescribeImagesRequest
DescribeImagesRequest
From source file:com.dowdandassociates.gentoo.bootstrap.DefaultKernelImageProvider.java
License:Apache License
@Override protected DescribeImagesRequest getRequest() { StringBuilder manifestLocation = new StringBuilder(); manifestLocation.append("*pv-grub-"); manifestLocation.append(imageInfo.getBootPartition()); manifestLocation.append("_*"); return new DescribeImagesRequest().withOwners("amazon").withFilters( new Filter().withName("image-type").withValues("kernel"), new Filter().withName("architecture").withValues(imageInfo.getArchitecture()), new Filter().withName("manifest-location").withValues(manifestLocation.toString())); }
From source file:com.dowdandassociates.gentoo.bootstrap.DefaultTestImageProvider.java
License:Apache License
public Optional<Image> get() { if (!testSnapshot.isPresent()) { log.info("test snapshot not present"); return Optional.absent(); }// w w w.j av a 2s . c o m StringBuilder name = new StringBuilder(); name.append(prefix.get()); if (StringUtils.isNotBlank(dateFormat.get())) { name.append(DateFormatUtils.formatUTC(System.currentTimeMillis(), dateFormat.get())); } String architecture = imageInformation.getArchitecture(); String virtualizationType = imageInformation.getVirtualizationType(); RegisterImageRequest registerImageRequest = new RegisterImageRequest().withArchitecture(architecture) .withVirtualizationType(virtualizationType).withDescription(description.get()) .withName(name.toString()).withRootDeviceName(rootDeviceName.get()); if ("paravirtual".equals(virtualizationType)) { if (!kernelImage.isPresent()) { log.info("kernel image not present"); return Optional.absent(); } registerImageRequest = registerImageRequest.withKernelId(kernelImage.get().getImageId()); } if ("i386".equals(architecture)) { registerImageRequest = registerImageRequest.withBlockDeviceMappings( new BlockDeviceMapping().withDeviceName(rootDeviceName.get()) .withEbs(new EbsBlockDevice().withSnapshotId(testSnapshot.get().getSnapshotId())), new BlockDeviceMapping().withDeviceName("/dev/sda2").withVirtualName("ephemeral0"), new BlockDeviceMapping().withDeviceName("/dev/sda3").withVirtualName("ephemeral1")); } else { registerImageRequest = registerImageRequest.withBlockDeviceMappings( new BlockDeviceMapping().withDeviceName(rootDeviceName.get()) .withEbs(new EbsBlockDevice().withSnapshotId(testSnapshot.get().getSnapshotId())), new BlockDeviceMapping().withDeviceName("/dev/sdb").withVirtualName("ephemeral0"), new BlockDeviceMapping().withDeviceName("/dev/sdc").withVirtualName("ephemeral1"), new BlockDeviceMapping().withDeviceName("/dev/sdd").withVirtualName("ephemeral2"), new BlockDeviceMapping().withDeviceName("/dev/sde").withVirtualName("ephemeral3")); } RegisterImageResult registerImageResult = ec2Client.registerImage(registerImageRequest); String imageId = registerImageResult.getImageId(); DescribeImagesRequest describeImagesRequest = new DescribeImagesRequest().withImageIds(imageId); try { while (true) { log.info("Sleeping for " + sleep.get() + " ms"); Thread.sleep(sleep.get()); DescribeImagesResult describeImagesResult = ec2Client.describeImages(describeImagesRequest); if (describeImagesResult.getImages().isEmpty()) { return Optional.absent(); } Image image = describeImagesResult.getImages().get(0); String state = image.getState(); log.info("Image state = " + state); if ("pending".equals(state)) { continue; } if (!"available".equals(state)) { return Optional.absent(); } return Optional.fromNullable(image); } } catch (InterruptedException e) { return Optional.absent(); } }
From source file:com.dowdandassociates.gentoo.bootstrap.SimpleImageProvider.java
License:Apache License
public Optional<Image> get() { String imageId = getImageId(); if (null == imageId) { return Optional.absent(); }/*from w ww .j av a 2 s . co m*/ DescribeImagesResult result = ec2Client.describeImages(new DescribeImagesRequest().withImageIds(imageId)); if (result.getImages().isEmpty()) { return Optional.absent(); } return Optional.fromNullable(result.getImages().get(0)); }
From source file:com.eqt.ssc.collector.EC2Collector.java
@Override public int collect() { //TODO: each aws call can throw RuntimeException, need to catch that. compareObjects(ec2.describeAddresses(), "ec2.describeAddresses"); compareObjects(ec2.describeAvailabilityZones(), "ec2.describeAvailabilityZones"); compareObjects(ec2.describeBundleTasks(), "ec2.describeBundleTasks"); compareObjects(ec2.describeConversionTasks(), "ec2.describeConversionTasks"); compareObjects(ec2.describeCustomerGateways(), "ec2.describeCustomerGateways"); compareObjects(ec2.describeDhcpOptions(), "ec2.describeDhcpOptions"); compareObjects(ec2.describeExportTasks(), "ec2.describeExportTasks"); //appears to allow accessing of individual values found in ec2.describeImages().getImages() // compareObjects(ec2.describeImageAttribute(), "ec2.describeImageAttribute"); //limit to images built by this account. DescribeImagesRequest imageRequest = new DescribeImagesRequest(); List<String> accounts = new ArrayList<String>(); accounts.add(getAccountId());// ww w . j a va2s .c o m imageRequest.setOwners(accounts); compareObjects(ec2.describeImages(imageRequest), "ec2.describeImages"); //appears to allow accessing of individual values found in ec2.describeInstances() //compareObjects(ec2.describeInstanceAttribute(), "ec2.describeInstanceAttribute"); compareObjects(ec2.describeInstanceStatus(), "ec2.describeInstanceStatus"); compareObjects(ec2.describeInstances(), "ec2.describeInstances"); compareObjects(ec2.describeInternetGateways(), "ec2.describeInternetGateways"); compareObjects(ec2.describeKeyPairs(), "ec2.describeKeyPairs"); //DEPRECATED // compareObjects(ec2.describeLicenses(), "ec2.describeLicenses"); compareObjects(ec2.describeNetworkAcls(), "ec2.describeNetworkAcls"); //appears to allow accessing of individual values found in ec2.describeNetworkInterfaces() //compareObjects(ec2.describeNetworkInterfaceAttribute(), "ec2.describeNetworkInterfaceAttribute"); compareObjects(ec2.describeNetworkInterfaces(), "ec2.describeNetworkInterfaces"); compareObjects(ec2.describePlacementGroups(), "ec2.describePlacementGroups"); compareObjects(ec2.describeRegions(), "ec2.describeRegions"); DescribeReservedInstancesResult describeReservedInstances = ec2.describeReservedInstances(); compareJson(describeReservedInstances, "ec2.describeReservedInstances"); //not pertinent to state capture.. // compareObjects(ec2.describeReservedInstancesOfferings(), "ec2.describeReservedInstancesOfferings"); compareObjects(ec2.describeRouteTables(), "ec2.describeRouteTables"); compareObjects(ec2.describeSecurityGroups(), "ec2.describeSecurityGroups"); //appears to allow accessing of individual values found in ec2.describeSnapshots() //compareObjects(ec2.describeSnapshotAttribute(), "ec2.describeSnapshotAttribute"); DescribeSnapshotsRequest snapRequest = new DescribeSnapshotsRequest(); snapRequest.setOwnerIds(accounts); compareObjects(ec2.describeSnapshots(snapRequest), "ec2.describeSnapshots"); //creates error: Status Code: 400, AWS Service: AmazonEC2, //AWS Request ID: 22534b6a-9091-4566-b8c7-c10e0dabfe58, AWS Error Code: InvalidSpotDatafeed.NotFound, //AWS Error Message: Spot datafeed subscription does not exist. // compareObjects(ec2.describeSpotDatafeedSubscription(), "ec2.describeSpotDatafeedSubscription"); compareObjects(ec2.describeSpotInstanceRequests(), "ec2.describeSpotInstanceRequests"); //not useful to log. // compareObjects(ec2.describeSpotPriceHistory(), "ec2.describeSpotPriceHistory"); compareObjects(ec2.describeSubnets(), "ec2.describeSubnets"); compareObjects(ec2.describeTags(), "ec2.describeTags"); //appears to allow accessing of individual values found in ec2.describeVolumes() //compareObjects(ec2.describeVolumeAttribute(), "ec2.describeVolumeAttribute"); compareObjects(ec2.describeVolumeStatus(), "ec2.describeVolumeStatus"); compareJson(ec2.describeVolumes(), "ec2.describeVolumes"); //unknown call // compareObjects(ec2.describeVpcPeeringConnection(), "ec2.describeVpcPeeringConnection"); compareObjects(ec2.describeVpcs(), "ec2.describeVpcs"); compareObjects(ec2.describeVpnConnections(), "ec2.describeVpnConnections"); compareObjects(ec2.describeVpnGateways(), "ec2.describeVpnGateways"); return stateChanges; }
From source file:com.liferay.amazontools.AMIBuilder.java
License:Open Source License
protected boolean isImageCreated(String imageId) { DescribeImagesRequest describeImagesRequest = new DescribeImagesRequest(); List<Filter> filters = new ArrayList<Filter>(); Filter filter = new Filter(); filter.setName("state"); List<String> values = new ArrayList<String>(); values.add("available"); filter.setValues(values);/*from w w w .j a v a 2 s. com*/ filters.add(filter); describeImagesRequest.setFilters(filters); List<String> imageIds = new ArrayList<String>(); imageIds.add(imageId); describeImagesRequest.setImageIds(imageIds); DescribeImagesResult describeImagesResult = amazonEC2Client.describeImages(describeImagesRequest); List<Image> images = describeImagesResult.getImages(); return !images.isEmpty(); }
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);/*from w w w . j av a2 s . com*/ 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;//from w ww. ja va 2 s . c o m 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); 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.liferay.amazontools.S3Cleaner.java
License:Open Source License
protected List<String> getImageNames(List<String> imageIds) { List<String> imageNames = new ArrayList<>(); DescribeImagesRequest describeImagesRequest = new DescribeImagesRequest(); describeImagesRequest.setImageIds(imageIds); DescribeImagesResult describeImagesResult = amazonEC2Client.describeImages(describeImagesRequest); for (Image image : describeImagesResult.getImages()) { imageNames.add(image.getName()); }/*from w ww . j av a 2s . co m*/ return imageNames; }
From source file:com.netflix.edda.EddaEc2Client.java
License:Apache License
public DescribeImagesResult describeImages() { return describeImages(new DescribeImagesRequest()); }
From source file:com.netflix.simianarmy.client.aws.AWSClient.java
License:Apache License
/** * Describe a set of specific images.//w w w . j a va 2 s. c o m * * @param imageIds the image ids * @return the images */ public List<Image> describeImages(String... imageIds) { if (imageIds == null || imageIds.length == 0) { LOGGER.info(String.format("Getting all AMIs in region %s.", region)); } else { LOGGER.info(String.format("Getting AMIs for %d ids in region %s.", imageIds.length, region)); } AmazonEC2 ec2Client = ec2Client(); DescribeImagesRequest request = new DescribeImagesRequest(); if (imageIds != null) { request.setImageIds(Arrays.asList(imageIds)); } DescribeImagesResult result = ec2Client.describeImages(request); List<Image> images = result.getImages(); LOGGER.info(String.format("Got %d AMIs in region %s.", images.size(), region)); return images; }