List of usage examples for com.amazonaws.services.ec2.model Region getRegionName
public String getRegionName()
The name of the Region.
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*/ }