List of usage examples for com.amazonaws.services.ec2.model DescribeRegionsRequest DescribeRegionsRequest
DescribeRegionsRequest
From source file:com.netflix.spinnaker.clouddriver.aws.security.DefaultAWSAccountInfoLookup.java
License:Apache License
@Override public List<AWSRegion> listRegions(Collection<String> regionNames) { Set<String> nameSet = new HashSet<>(regionNames); AmazonEC2 ec2 = amazonClientProvider.getAmazonEC2(credentialsProvider, AmazonClientProvider.DEFAULT_REGION); DescribeRegionsRequest request = new DescribeRegionsRequest(); if (!nameSet.isEmpty()) { request.withRegionNames(regionNames); }//from ww w . java2s. com List<Region> regions = ec2.describeRegions(request).getRegions(); if (regions.size() != nameSet.size()) { Set<String> missingSet = new HashSet<>(nameSet); for (Region region : regions) { missingSet.remove(region.getRegionName()); } throw new IllegalArgumentException( "Unknown region" + (missingSet.size() > 1 ? "s: " : ": ") + missingSet); } List<AWSRegion> awsRegions = new ArrayList<>(regions.size()); for (Region region : regions) { ec2.setEndpoint(region.getEndpoint()); List<AvailabilityZone> azs = ec2.describeAvailabilityZones().getAvailabilityZones(); List<String> availabilityZoneNames = new ArrayList<>(azs.size()); for (AvailabilityZone az : azs) { availabilityZoneNames.add(az.getZoneName()); } awsRegions.add(new AWSRegion(region.getRegionName(), availabilityZoneNames)); } return awsRegions; }
From source file:jp.primecloud.auto.aws.typica.EucaEc2Client.java
License:Open Source License
@Override public DescribeRegionsResult describeRegions() { return describeRegions(new DescribeRegionsRequest()); }
From source file:org.elasticdroid.model.EC2InstancesModel.java
License:Open Source License
/** * //w ww . ja va2 s. c om * @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; }
From source file:org.excalibur.service.aws.ec2.EC2.java
License:Open Source License
public Region getRegionByName(String regionName) { try {/*from w w w . j a va 2s. c o m*/ DescribeRegionsResult regionResult = ec2_ .describeRegions(new DescribeRegionsRequest().withRegionNames(regionName)); com.amazonaws.services.ec2.model.Region region = org.excalibur.core.util.Lists2 .first(regionResult.getRegions()); return new Region().setEndpoint(region.getEndpoint()).setName(region.getRegionName()); } catch (AmazonClientException exception) { LOG.error("Invalid region name [{}]. Message error: [{}]", regionName, exception.getMessage()); return null; } }
From source file:org.jenkinsci.plugins.amazonwebservices.cloud.EC2.java
License:Open Source License
public static URL getEc2RegionEndpointUrl(AmazonEC2 ec2, String region) { try {// w ww. j a va2s. c o m DescribeRegionsResult regions = ec2 .describeRegions(new DescribeRegionsRequest().withRegionNames(region)); return new URL("https://" + regions.getRegions().get(0).getEndpoint()); } catch (MalformedURLException e) { throw new Error(e); } catch (AmazonClientException e) { throw new Error(e); } }