class AwsInventory::Elb
Public Instance Methods
application_load_balancers()
click to toggle source
# File lib/aws_inventory/elb.rb, line 58 def application_load_balancers @application_load_balancers ||= elbv2.describe_load_balancers.load_balancers end
classic_load_balancers()
click to toggle source
# File lib/aws_inventory/elb.rb, line 38 def classic_load_balancers @classic_load_balancers ||= elbv1.describe_load_balancers.load_balancer_descriptions end
data()
click to toggle source
# File lib/aws_inventory/elb.rb, line 6 def data data = [] elbs.each do |lb| # lb.security_groups is actualy a list of group_ids lb.security_groups.each do |group_id| security_group_name = security_group_name(group_id) # weird: sometimes sg doesnt exist open_ports = open_ports(group_id) data << [ lb.load_balancer_name, lb_type(lb), security_group_name, open_ports] end end data end
elbs()
click to toggle source
# File lib/aws_inventory/elb.rb, line 29 def elbs application_load_balancers + classic_load_balancers end
header()
click to toggle source
# File lib/aws_inventory/elb.rb, line 2 def header ["ELB", "Type", "Security Group", "Open Ports"] end
lb_type(lb)
click to toggle source
# File lib/aws_inventory/elb.rb, line 25 def lb_type(lb) lb.respond_to?(:type) ? lb.type : 'classic' end
open_ports(group_id)
click to toggle source
Returns an Array of ports with a cidr of 0.0.0.0/0 Delegates to AwsInventory::SecurityGroup
# File lib/aws_inventory/elb.rb, line 64 def open_ports(group_id) sg = security_groups.find { |sg| sg.group_id == group_id } return unless sg aws_inventory = AwsInventory::SecurityGroup::Open.new(@options) aws_inventory.ports_open_to_world(sg) end
security_group_name(group_id)
click to toggle source
Somehow sometimes there can be an ELB with a security group that does not actually exist. In the AWS Console it says:
"There was an error loading the Security Groups."
# File lib/aws_inventory/elb.rb, line 52 def security_group_name(group_id) security_group = security_groups.find { |sg| sg.group_id == group_id } group_name = security_group ? security_group.group_name : "not found" "#{group_id} (#{group_name})" end
security_group_names(lb)
click to toggle source
# File lib/aws_inventory/elb.rb, line 42 def security_group_names(lb) # lb.security_groups is actualy a list of group_ids lb.security_groups.map do |group_id| security_group_name(group_id) end.join(', ') end
sort(data)
click to toggle source
override custom sort
# File lib/aws_inventory/elb.rb, line 34 def sort(data) data end