class SecurityGroup

Public Class Methods

new(all_groups, group, config) click to toggle source
# File lib/ec2/security_groups.rb, line 34
def initialize(all_groups, group, config)
  @all_groups = all_groups
  @group = group
  @config = config
end

Public Instance Methods

permissions() click to toggle source
# File lib/ec2/security_groups.rb, line 40
def permissions
  ingress_permissions = @group.ip_permissions.collect { |ip|
    IpPermission.new(@group, ip, true, @config.exclusions)
  }
  return ingress_permissions unless @config.egress?
  egress_permissions = @group.ip_permissions_egress.collect { |ip|
    IpPermission.new(@group, ip, false, @config.exclusions)
  }
  ingress_permissions + egress_permissions
end
traffic() click to toggle source
# File lib/ec2/security_groups.rb, line 51
def traffic
  all_traffic = permissions.collect { |permission|
    permission.traffic
  }.flatten.uniq
  CidrGroupMapping.new(@all_groups, @config.groups).map(all_traffic)
end