List of usage examples for com.amazonaws.services.ec2 AmazonEC2 describeRegions
DescribeRegionsResult describeRegions(DescribeRegionsRequest describeRegionsRequest);
Describes the Regions that are enabled for your account, or all Regions.
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 w w w. j a va2s.c o m*/ 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:org.jenkinsci.plugins.amazonwebservices.cloud.EC2.java
License:Open Source License
public static URL getEc2RegionEndpointUrl(AmazonEC2 ec2, String region) { try {/* ww w. j a va 2 s. 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); } }