Class: Inventory::Rds::Port
- Includes:
- Shared
- Defined in:
- lib/inventory/rds/port.rb
Instance Method Summary collapse
- #data ⇒ Object
- #header ⇒ Object
- #ip_range_and_source(permission) ⇒ Object
- #port(permission) ⇒ Object
Methods included from Shared
#db_instances, #lookup_vpc_name, #pretty_vpc_security_group, #security_group_names, #vpc_name, #vpc_security_groups, #vpcs
Methods inherited from Base
eager_load!, inherited, #initialize, #report, #show, #sort, subclasses, #test_mode
Methods included from AwsServices
#acm, #cfn, #cw, #eb, #ec2, #ecs, #elbv1, #elbv2, #iam, #pricing, #rds, #route53
Methods included from Shared
Constructor Details
This class inherits a constructor from Inventory::Base
Instance Method Details
#data ⇒ Object
9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
# File 'lib/inventory/rds/port.rb', line 9 def data data = [] db_instances.each do |db| db_security_groups = vpc_security_groups(db) db_security_groups.each do |sg| sg..each do || data << [ db.db_name, "#{sg.group_id} (#{sg.group_name})", ip_range_and_source(), port() ] end end end data end |
#header ⇒ Object
5 6 7 |
# File 'lib/inventory/rds/port.rb', line 5 def header ["RDS Db Name", "Security Group", "Range/Source", "Port"] end |
#ip_range_and_source(permission) ⇒ Object
38 39 40 41 42 43 44 45 46 47 48 49 50 |
# File 'lib/inventory/rds/port.rb', line 38 def ip_range_and_source() cidr_ips = .ip_ranges.map {|range| range.cidr_ip } user_id_group_pairs = .user_id_group_pairs.map do |pair| # pair.group_name is always returning nil :( Might be AWS bug # so fetching it from security groups themselves sg = security_groups.find {|sg| sg.group_id == pair.group_id } sg_name = " (#{sg.group_name})" if sg "#{pair.group_id}#{sg_name}" # pretty format end result = cidr_ips + user_id_group_pairs result.join(', ') end |
#port(permission) ⇒ Object
29 30 31 32 33 34 35 36 |
# File 'lib/inventory/rds/port.rb', line 29 def port() ports = [.from_port, .to_port].uniq if ports.size > 1 raise "TODO: account for port ranges" else ports.first end end |