List of usage examples for com.amazonaws.services.ec2.model DescribeImagesRequest setOwners
public void setOwners(java.util.Collection<String> owners)
Filters the images by the owner.
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());/*from w w w . j av a 2 s. com*/ 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.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 {// w ww .j a v a 2 s.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); } } }
From source file:jp.aws.test.ec2.EC2Instance.java
License:Apache License
/** * AMI?//ww w .j av a 2 s .c om * * @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:net.firejack.aws.web.controller.AWSController.java
License:Apache License
@ResponseBody @ExceptionHandler(Exception.class) @RequestMapping(value = "region/{region}", method = RequestMethod.GET) public InstanceDetails changeRegion(@PathVariable("region") String region) { if (amazonEC2 == null) throw new AmazonServiceException("Amazon service can't initialize"); if (region.isEmpty()) throw new AmazonServiceException("Region is empty"); amazonEC2.setRegion(RegionUtils.getRegion(region)); InstanceDetails details = new InstanceDetails(); DescribeImagesRequest request = new DescribeImagesRequest(); request.setOwners(Arrays.asList(owner)); DescribeImagesResult result = amazonEC2.describeImages(request); List<Image> images = result.getImages(); List<Dropdown> amis = new ArrayList<Dropdown>(images.size()); for (Image image : images) amis.add(new Dropdown(image.getImageId(), image.getName())); details.setAmis(amis);// w w w . j a v a2 s . c o m DescribeSecurityGroupsResult securityGroupsResult = amazonEC2.describeSecurityGroups(); List<SecurityGroup> securityGroups = securityGroupsResult.getSecurityGroups(); List<Dropdown> groups = new ArrayList<Dropdown>(securityGroups.size()); for (SecurityGroup group : securityGroups) groups.add(new Dropdown(group.getGroupId(), group.getGroupName())); details.setSecurityGroups(groups); DescribeKeyPairsResult keyPairsResult = amazonEC2.describeKeyPairs(); List<KeyPairInfo> keyPairInfos = keyPairsResult.getKeyPairs(); List<Dropdown> keyPairs = new ArrayList<Dropdown>(keyPairInfos.size()); for (KeyPairInfo keyPairInfo : keyPairInfos) keyPairs.add(new Dropdown(keyPairInfo.getKeyName(), keyPairInfo.getKeyName())); details.setKeys(keyPairs); details.setInstanceTypes(InstanceType.values()); return details; }