Module: AwsIpUtilities
- Defined in:
- lib/aws_ip_utilities.rb,
lib/aws_ip_utilities/version.rb
Defined Under Namespace
Modules: RackRequestTrustedProxyOverride
Classes: Prefix
Constant Summary
collapse
- PREFIXES =
JSON.parse(File.read(__dir__ + '/aws_ip_utilities/ip-ranges.json'), symbolize_names: true).fetch(:prefixes).map do |prefix|
ipaddr = IPAddr.new(prefix.fetch(:ip_prefix))
Prefix.new(ipaddr, prefix.fetch(:region), prefix.fetch(:service))
end
- VERSION =
"0.2.20180711"
- SYNC_TOKEN =
"1531345951"
Class Method Summary
collapse
Class Method Details
.aws_ip?(ip_addr_string) ⇒ Boolean
18
19
20
|
# File 'lib/aws_ip_utilities.rb', line 18
def self.aws_ip?(ip_addr_string)
aws_prefix(ip_addr_string) ? true : false
end
|
.aws_prefix(ip_addr_string) ⇒ Object
22
23
24
25
|
# File 'lib/aws_ip_utilities.rb', line 22
def self.aws_prefix(ip_addr_string)
ip = IPAddr.new(ip_addr_string)
PREFIXES.find {|subnet| subnet.include?(ip) }
end
|
.make_aws_rack_trusted_proxy! ⇒ Object
39
40
41
42
|
# File 'lib/aws_ip_utilities.rb', line 39
def self.make_aws_rack_trusted_proxy!
require_relative 'aws_ip_utilities/rack_request_trusted_proxy_override'
Rack::Request.prepend(AwsIpUtilities::RackRequestTrustedProxyOverride)
end
|
.region_for(ip_addr_string) ⇒ Object
27
28
29
30
31
|
# File 'lib/aws_ip_utilities.rb', line 27
def self.region_for(ip_addr_string)
if prefix = aws_prefix(ip_addr_string)
prefix.region
end
end
|
.service_for(ip_addr_string) ⇒ Object
33
34
35
36
37
|
# File 'lib/aws_ip_utilities.rb', line 33
def self.service_for(ip_addr_string)
if prefix = aws_prefix(ip_addr_string)
prefix.service
end
end
|