List of usage examples for com.amazonaws.services.ec2.model Region getEndpoint
public String getEndpoint()
The Region service endpoint.
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); }