Example usage for com.amazonaws.services.ec2 AmazonEC2 describeRegions

List of usage examples for com.amazonaws.services.ec2 AmazonEC2 describeRegions

Introduction

In this page you can find the example usage for com.amazonaws.services.ec2 AmazonEC2 describeRegions.

Prototype

DescribeRegionsResult describeRegions(DescribeRegionsRequest describeRegionsRequest);

Source Link

Document

Describes the Regions that are enabled for your account, or all Regions.

Usage

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