private String tryDetectRegion() { try { return EC2MetadataUtils.getEC2InstanceRegion(); } catch (AmazonClientException sce) { LOG.debug("Ignoring failure to retrieve the region: " + sce.getMessage()); return null; } } }
/** * Returns a Region object representing the region the application is * running in, when running in EC2. If this method is called from a non-EC2 * environment, it will return null. */ public static Region getCurrentRegion() { try { final String region = EC2MetadataUtils.getEC2InstanceRegion(); if (region != null) return RegionUtils.getRegion(region); } catch (AmazonClientException e) { LogFactory.getLog(Regions.class).debug( "Ignoring failure to retrieve the region: " + e.getMessage()); } return null; } }
private String tryDetectRegion() { try { return EC2MetadataUtils.getEC2InstanceRegion(); } catch (AmazonClientException sce) { LOG.debug("Ignoring failure to retrieve the region: " + sce.getMessage()); return null; } } }
/** * Returns a Region object representing the region the application is * running in, when running in EC2. If this method is called from a non-EC2 * environment, it will return null. */ public static Region getCurrentRegion() { try { final String region = EC2MetadataUtils.getEC2InstanceRegion(); if (region != null) return RegionUtils.getRegion(region); } catch (AmazonClientException e) { LogFactory.getLog(Regions.class).debug( "Ignoring failure to retrieve the region: " + e.getMessage()); } return null; } }
@Override public String getInstanceRegion() { return EC2MetadataUtils.getEC2InstanceRegion(); }
private String tryDetectRegion() { try { return EC2MetadataUtils.getEC2InstanceRegion(); } catch (AmazonClientException sce) { LogFactory.getLog(InstanceMetadataRegionProvider.class) .debug("Ignoring failure to retrieve the region: " + sce.getMessage()); return null; } } }
/** * Returns a Region object representing the region the application is * running in, when running in EC2. If this method is called from a non-EC2 * environment, it will return null. */ public static Region getCurrentRegion() { try { final String region = EC2MetadataUtils.getEC2InstanceRegion(); if (region != null) return RegionUtils.getRegion(region); } catch (AmazonClientException e) { LogFactory.getLog(Regions.class).debug( "Ignoring failure to retrieve the region: " + e.getMessage()); } return null; } }
region = EC2MetadataUtils.getEC2InstanceRegion(); } catch (Exception e) { log.warn(String.format("Exception when attempting to get AWS region information. Will "
region = EC2MetadataUtils.getEC2InstanceRegion(); } catch (Exception e) { log.warn(String.format("Exception when attempting to get AWS region information. Will "
/** This will attempt to retrieve metadata about the instance this code is running on. */ public void fetchMetadata() { HttpClient httpClient = HttpClients.createDefault(); RequestConfig requestConfig = RequestConfig.custom().setConnectTimeout(1000).build(); HttpUriRequest get = RequestBuilder.get().setUri(EC2MetadataUtils.getHostAddressForEC2MetadataService()) .setConfig(requestConfig).build(); try { httpClient.execute(get); machineImage = EC2MetadataUtils.getAmiId(); instanceType = EC2MetadataUtils.getInstanceType(); instanceId = EC2MetadataUtils.getInstanceId(); // There is a method to get a Region object, but stick to strings for deserialization simplicity. region = EC2MetadataUtils.getEC2InstanceRegion(); // IP address fetching should really not be tied to EC2 but for now this lets us get a useable IP. privateIp = EC2MetadataUtils.getPrivateIpAddress(); //EC2MetadataUtils.getInstanceInfo(); } catch (IOException ex) { LOG.warn("Connection to metadata URL failed, probably not running on EC2."); } }
/** This will attempt to retrieve metadata about the instance this code is running on. */ public void fetchMetadata() { HttpClient httpClient = HttpClients.createDefault(); RequestConfig requestConfig = RequestConfig.custom().setConnectTimeout(1000).build(); HttpUriRequest get = RequestBuilder.get().setUri(EC2MetadataUtils.getHostAddressForEC2MetadataService()) .setConfig(requestConfig).build(); try { httpClient.execute(get); machineImage = EC2MetadataUtils.getAmiId(); instanceType = EC2MetadataUtils.getInstanceType(); instanceId = EC2MetadataUtils.getInstanceId(); // There is a method to get a Region object, but stick to strings for deserialization simplicity. region = EC2MetadataUtils.getEC2InstanceRegion(); // IP address fetching should really not be tied to EC2 but for now this lets us get a useable IP. privateIp = EC2MetadataUtils.getPrivateIpAddress(); //EC2MetadataUtils.getInstanceInfo(); } catch (IOException ex) { LOG.warn("Connection to metadata URL failed, probably not running on EC2."); } }
@Test public void getsEndpointFromEc2InstanceRegion() { when(EC2MetadataUtils.getEC2InstanceRegion()).thenReturn("ec2-instance-region"); when(RegionUtils.getRegion("ec2-instance-region")).thenReturn(region); when(region.getServiceEndpoint(ServiceAbbreviations.Dynamodb)).thenReturn(TEST_ENDPOINT); assertEquals(TEST_ENDPOINT, DynamoDBUtil.getDynamoDBEndpoint(conf, null)); PowerMockito.verifyStatic(); EC2MetadataUtils.getEC2InstanceRegion(); verify(region, never()).getServiceEndpoint(TEST_REGION); }
@Test public void getsEndpointFromDefaultAwsRegion() { PowerMockito.mockStatic(RegionUtils.class); when(EC2MetadataUtils.getEC2InstanceRegion()).thenThrow(new AmazonClientException("Unable to " + "get region from EC2 instance data")); when(RegionUtils.getRegion(DynamoDBConstants.DEFAULT_AWS_REGION)).thenReturn(region); when(region.getServiceEndpoint(ServiceAbbreviations.Dynamodb)).thenReturn(TEST_ENDPOINT); assertEquals(TEST_ENDPOINT, DynamoDBUtil.getDynamoDBEndpoint(conf, null)); PowerMockito.verifyStatic(); RegionUtils.getRegion(DynamoDBConstants.DEFAULT_AWS_REGION); }