Example usage for com.amazonaws.services.ec2.model DescribeRegionsRequest DescribeRegionsRequest

List of usage examples for com.amazonaws.services.ec2.model DescribeRegionsRequest DescribeRegionsRequest

Introduction

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

Prototype

DescribeRegionsRequest

Source Link

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