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

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

Introduction

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

Prototype


public String getEndpoint() 

Source Link

Document

The Region service endpoint.

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());
    }// w  w  w .  j a  va2s  .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   ww  w  .  jav  a 2 s .  c  o m
 * - 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 ww. j  a  v  a  2 s  .  c  o  m*/
 * @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.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 v a  2 s .  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: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());
    }/*from   ww w  .j av  a2s .  c om*/
    return Collections.unmodifiableMap(regionLookup);
}

From source file:com.norbl.cbp.ppe.AmiDescription.java

License:Open Source License

/** Get the availability zones that the specific ami can
 *  run in.  Note that each ami resides and can be used in one
 *  and only one region (e.g. us-east). This method first
 *  determines the region from the ami, and then identifies
 *  the availability zones available in that region to the user.
 *
 * @param ec2Client//from   w w w  .jav a2 s.  c om
 * @param amiID
 * @return
 */
public static List<AvailabilityZone> getAvailabilityZones(AmazonEC2Client ec2Client, Region region) {

    ec2Client.setEndpoint(region.getEndpoint());
    return (ec2Client.describeAvailabilityZones().getAvailabilityZones());
}

From source file:com.norbl.cbp.ppe.AmiDescription.java

License:Open Source License

public static Region getRegion(AmazonEC2Client ec2Client, String amiID) {

    DescribeRegionsResult rr = ec2Client.describeRegions();
    for (Region reg : rr.getRegions()) {
        ec2Client.setEndpoint(reg.getEndpoint());
        if (hasAmi(ec2Client, amiID)) {
            return (reg);
        }// www.j a va2  s . c o  m
    }
    // Reset the endpoint to the default
    ec2Client.setEndpoint("ec2.amazonaws.com");

    return (null);

}

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);
    }//from w ww  .  jav  a 2 s .  co m

    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() });
                }//from   ww w.  j  a  va 2 s  . co m
            }
        }
    }
}

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

License:Apache License

private void terminateInstances(Region region, List<String> instances) {
    if (instances.isEmpty())
        return;/*from www . j a  v a 2s  .c o m*/

    AmazonEC2Client client = getAmazonClient();

    client.setEndpoint(region.getEndpoint());

    TerminateInstancesRequest terminateReq = new TerminateInstancesRequest();

    for (String id : instances) {
        if (logger.isDebugEnabled())
            logger.debug("Going to terminate instance {} in region {}.",
                    new Object[] { id, region.getRegionName() });

        terminateReq.withInstanceIds(id);
    }

    client.terminateInstances(terminateReq);
}