Example usage for com.amazonaws.services.ec2.model Region getRegionName

List of usage examples for com.amazonaws.services.ec2.model Region getRegionName

Introduction

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

Prototype


public String getRegionName() 

Source Link

Document

The name of the Region.

Usage

From source file:aws.example.ec2.DescribeRegionsAndZones.java

License:Open Source License

public static void main(String[] args) {
    final AmazonEC2 ec2 = AmazonEC2ClientBuilder.defaultClient();

    DescribeRegionsResult regions_response = ec2.describeRegions();

    for (Region region : regions_response.getRegions()) {
        System.out.printf("Found region %s " + "with endpoint %s", region.getRegionName(),
                region.getEndpoint());//from www. j a v a 2s. co  m
    }

    DescribeAvailabilityZonesResult zones_response = ec2.describeAvailabilityZones();

    for (AvailabilityZone zone : zones_response.getAvailabilityZones()) {
        System.out.printf("Found availability zone %s " + "with status %s " + "in region %s",
                zone.getZoneName(), zone.getState(), zone.getRegionName());
    }
}

From source file:com.axemblr.yab.YaB.java

License:Apache License

/**
 * Constructs a new YaB client by fetching credentials in this order:
 * <p>/*from   w  ww.j av  a2  s. com*/
 * - Environment Variables - AWS_ACCESS_KEY_ID and AWS_SECRET_KEY
 * - Java System Properties - aws.accessKeyId and aws.secretKey
 * - Instance profile credentials delivered through the Amazon EC2 metadata service
 * </p>
 */
public static YaB createWithEnvironmentCredentials(String region) {
    AmazonEC2Client client = new AmazonEC2Client();

    boolean regionFound = false;
    DescribeRegionsResult result = client.describeRegions();
    for (Region candidate : result.getRegions()) {
        if (candidate.getRegionName().equals(region)) {
            client.setEndpoint(candidate.getEndpoint());
            regionFound = true;
            break;
        }
    }

    if (!regionFound) {
        throw new IllegalArgumentException("No region found with this name: " + region);
    }

    return new YaB(client);
}

From source file:com.cloudera.director.aws.ec2.EC2Provider.java

License:Apache License

/**
 * Returns the endpoint URL for the specified region.
 *
 * @param client     the EC2 client/*from  w w  w .  j av  a 2 s.  com*/
 * @param regionName the desired region
 * @return the endpoint URL for the specified region
 * @throws IllegalArgumentException if the endpoint cannot be determined
 */
private static String getEndpointForRegion(AmazonEC2Client client, String regionName) {
    checkNotNull(client, "client is null");
    checkNotNull(regionName, "regionName is null");

    LOG.info(">> Describing all regions to find endpoint for '{}'", regionName);

    DescribeRegionsResult result = client.describeRegions();
    List<String> regions = Lists.newArrayListWithExpectedSize(result.getRegions().size());

    for (Region candidate : result.getRegions()) {
        regions.add(candidate.getRegionName());

        if (candidate.getRegionName().equals(regionName)) {
            LOG.info("<< Found endpoint '{}' for region '{}'", candidate.getEndpoint(), regionName);

            return candidate.getEndpoint();
        }
    }

    throw new IllegalArgumentException(String.format(
            "Unable to find an endpoint for region '%s'. " + "Choose one of the following regions: %s",
            regionName, Joiner.on(", ").join(regions)));
}

From source file:com.kixeye.chassis.bootstrap.aws.ServerInstanceContext.java

License:Apache License

private String findRegion() {
    for (Region region : amazonEC2.describeRegions().getRegions()) {
        if (this.availabilityZone.startsWith(region.getRegionName())) {
            return region.getRegionName();
        }//w  w  w .j  a v  a  2  s.  com
    }
    throw new BootstrapException("Unable to determine region");
}

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);
    }/* w  w  w .  ja v  a2 s  .  co 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:com.noctarius.hazelcast.aws.HazelcastAwsDiscoveryStrategy.java

License:Open Source License

private Map<String, String> buildRegionLookup(AmazonEC2Client client) {
    Map<String, String> regionLookup = new HashMap<String, String>();

    DescribeRegionsResult regionsResult = client.describeRegions();
    for (Region region : regionsResult.getRegions()) {
        regionLookup.put(region.getRegionName(), region.getEndpoint());
    }//ww w .j av a 2 s .  c  o  m
    return Collections.unmodifiableMap(regionLookup);
}

From source file:de.fischer.thotti.ec2.clients.EC2Describer.java

License:Apache License

private EC2RequestData<DescribeInstancesRequest> prepareRequests() throws AWSCommunicationException {
    List<Region> regions = getAWSRegions();

    EC2RequestData<DescribeInstancesRequest> requests = new EC2RequestData<DescribeInstancesRequest>();

    for (Region region : regions) {
        DescribeInstancesRequest request = new DescribeInstancesRequest();

        requests.getRegion(region.getRegionName()).addRequest(request);
    }/*w  ww  .  j av a 2  s .c om*/

    return requests;
}

From source file:de.fischer.thotti.ec2.clients.EC2Describer.java

License:Apache License

private Map<String, SortedSet<Instance>> executeRequest(EC2RequestData<DescribeInstancesRequest> requestData)
        throws AWSCommunicationException {
    int requestID = 1;
    Map<String, SortedSet<Instance>> instances = new HashMap<String, SortedSet<Instance>>();
    List<Region> awsRegions = getAWSRegions();

    // @todo this should be a separate method
    for (Region region : awsRegions) {
        EC2RunnerContext context = new EC2RunnerContext();

        context.regionName = region.getRegionName();
        context.endPoint = region.getEndpoint();

        getRegionContextCache().put(context.regionName, context);
    }/* ww w .  j a va  2s. com*/

    for (String regionName : requestData.getAllRegions()) {
        EC2RunnerContext ctx = getRegionContextCache().get(regionName);
        Comparator comparator = new EC2Executor.InstaceAvailabilityComparator();
        SortedSet<Instance> describedInstances = new TreeSet<Instance>(comparator);

        setRegionContext(ctx);
        switchCommunicationEndPoint();

        RegionRequests<DescribeInstancesRequest> regionRequests = requestData.getRegion(regionName);
        List<DescribeInstancesRequest> runRequests = regionRequests.getRequests();

        for (DescribeInstancesRequest request : runRequests) {
            if (logger.isInfoEnabled()) {
                List<String> idList = request.getInstanceIds();

                for (String id : idList) {
                    logger.info(
                            "Going to request description of "
                                    + "instances in region {}. Internal request ID is #{}.",
                            new Object[] { regionName, requestID });
                }
            }

            DescribeInstancesResult result = null;

            try {
                result = getClient().describeInstances(request);
            } catch (AmazonServiceException ase) {
                handleAmazonServiceException(ase);
            } catch (AmazonClientException ace) {
                handleAmazonClientException(ace);
            }

            for (Reservation reservation : result.getReservations()) {
                for (Instance instance : reservation.getInstances()) {
                    if (logger.isInfoEnabled()) {
                        logger.info("Amazon AWS returned description for instance {} " + "in region {}",
                                new Object[] { instance.getInstanceId(), regionName });
                    }

                    describedInstances.add(instance);
                }

                requestID++; // For the next request
            }

            instances.put(regionName, describedInstances);
        }
    }

    return instances;
}

From source file:de.fischer.thotti.ec2.clients.EC2ExecutorITHelper.java

License:Apache License

private void loadInstanceInformation(Map<String, List<String>> instanceMap) {
    AmazonEC2Client awsClient = getAmazonClient();

    // Get all existing instances in all regions
    for (Region region : awsRegions) {
        String regionName = region.getRegionName();

        if (!instanceMap.containsKey(regionName))
            instanceMap.put(regionName, new LinkedList<String>());

        List<String> instanceIDs = instanceMap.get(regionName);

        awsClient.setEndpoint(region.getEndpoint());
        DescribeInstancesResult instancesRes = awsClient.describeInstances();

        List<Reservation> instancesList = instancesRes.getReservations();

        if (instancesList.isEmpty())
            if (logger.isDebugEnabled())
                logger.debug("No existing instances found in region {}", region.getRegionName());

        for (Reservation reservation : instancesList) {
            for (Instance instance : reservation.getInstances()) {
                instanceIDs.add(instance.getInstanceId());

                if (logger.isDebugEnabled()) {
                    logger.debug("Found instance {} in region {}",
                            new Object[] { instance.getInstanceId(), region.getRegionName() });
                }/*w  w  w.j  a va 2s .c  om*/
            }
        }
    }
}

From source file:de.fischer.thotti.ec2.clients.EC2ExecutorITHelper.java

License:Apache License

public void terminateNewInstances() {
    for (Region region : awsRegions) {
        String regionName = region.getRegionName();
        List<String> instancesBefore = existingInstancesMap.get(regionName);
        List<String> instancesAfter = currentInstancesMap.get(regionName);

        List<String> addedInstances = new LinkedList(instancesAfter);
        addedInstances.removeAll(instancesBefore);

        terminateInstances(region, addedInstances);
    }/*from  w w  w. j  ava  2 s . c om*/
}