Example usage for com.amazonaws.services.ec2.model DescribeImagesRequest setOwners

List of usage examples for com.amazonaws.services.ec2.model DescribeImagesRequest setOwners

Introduction

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

Prototype


public void setOwners(java.util.Collection<String> owners) 

Source Link

Document

Filters the images by the owner.

Usage

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;
}