Module: AwsPublicIps::Checks::Elbv2
- Defined in:
- lib/aws_public_ips/checks/elbv2.rb
Class Method Summary collapse
Class Method Details
.run ⇒ Object
9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
# File 'lib/aws_public_ips/checks/elbv2.rb', line 9 def self.run client = Aws::ElasticLoadBalancingV2::Client.new # EC2-Classic load balancers are only returned by the 'elasticloadbalancing' API, and # EC2-VPC ALBs/NLBs are only returned by the 'elasticloadbalancingv2' API # NLBs only support IPv4 # ALBs support IPv4 or dualstack. Unlike Classic ELBs which have a separate IPv6 DNS name, # dualstack ALBs only have a single DNS name client.describe_load_balancers.flat_map do |response| response.load_balancers.flat_map do |load_balancer| next [] unless load_balancer.scheme == 'internet-facing' { id: load_balancer.canonical_hosted_zone_id, hostname: load_balancer.dns_name, ip_addresses: Utils.resolve_hostname(load_balancer.dns_name) } end end end |