List of usage examples for com.amazonaws.services.ec2 AmazonEC2Client describeRegions
@Override
public DescribeRegionsResult describeRegions(DescribeRegionsRequest request)
Describes the Regions that are enabled for your account, or all Regions.
From source file:org.elasticdroid.model.EC2InstancesModel.java
License:Open Source License
/** * /*from ww w .j a v a2s .c o m*/ * @param filters * @return This method can return: * <ul> * <li>ArrayList<SerializableInstance>: If all goes well</li> * <li>AmazonClientException: If there's connectivity problems on the client.</li> * <li>AmazonServiceException: If there's AWS service problems.</li> * <li>IllegalArgumentException: If the region can't be found.</li> * </ul> */ public Object getInstances(Filter... filters) { ArrayList<SerializableInstance> serInstances = new ArrayList<SerializableInstance>(); //result passed to Activity List<Region> regions; List<Reservation> reservations; //restult from EC2 //create credentials using the BasicAWSCredentials class BasicAWSCredentials credentials = new BasicAWSCredentials(connectionData.get("accessKey"), connectionData.get("secretAccessKey")); //create Amazon EC2 Client object, and set tye end point to the region. params[3] //contains endpoint AmazonEC2Client amazonEC2Client = new AmazonEC2Client(credentials); //1. create a filter for this region name Filter regionFilter = new Filter("region-name"); regionFilter.setValues(new ArrayList<String>(Arrays.asList(new String[] { selectedRegion }))); //2. query using this filter try { regions = amazonEC2Client.describeRegions(new DescribeRegionsRequest().withFilters(regionFilter)) .getRegions(); } catch (AmazonServiceException exc) { return exc; } catch (AmazonClientException exc) { return exc; } //3. Make sure the region was found. if (regions.size() != 1) { return new IllegalArgumentException("Invalid region passed to model."); } Log.v(TAG + ".doInBackground()", "endpoint for region : " + selectedRegion + "=" + regions.get(0).getEndpoint()); //set the endpoint amazonEC2Client.setEndpoint(regions.get(0).getEndpoint()); //now get the instances Log.v(TAG, "Size of filters:" + filters.length); DescribeInstancesRequest request = new DescribeInstancesRequest(); request.setFilters(Arrays.asList(filters)); //get the list of instances using this filter try { reservations = amazonEC2Client.describeInstances(request).getReservations(); } catch (AmazonServiceException amazonServiceException) { return amazonServiceException; } catch (AmazonClientException amazonClientException) { return amazonClientException; } //add each instance found into the list of instances to return to the view for (Reservation reservation : reservations) { List<String> securityGroups = reservation.getGroupNames(); //note to self: List is an interface ArrayList implements. //for each reservation, get the list of instances associated for (Instance instance : reservation.getInstances()) { serInstances.add(new SerializableInstance(instance, securityGroups)); } } return serInstances; }