Class: SecurityGroup

Inherits:
Object
  • Object
show all
Extended by:
Forwardable
Defined in:
lib/ec2/security_groups.rb

Instance Method Summary collapse

Constructor Details

#initialize(all_groups, group, config) ⇒ SecurityGroup

Returns a new instance of SecurityGroup.



34
35
36
37
38
# File 'lib/ec2/security_groups.rb', line 34

def initialize(all_groups, group, config)
  @all_groups = all_groups
  @group = group
  @config = config
end

Instance Method Details

#permissionsObject



40
41
42
43
44
45
46
47
48
49
# 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

#trafficObject



51
52
53
54
55
56
# 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