def each
security_group.ip_permissions_list_egress.each do |p|
if p.respond_to?(:from_port)
ports = [p.from_port, p.to_port]
else
ports = nil
end
ip_ranges = p.ip_ranges.collect{|ip| ip.cidr_ip }
groups = p.groups.collect do |group|
SecurityGroup.new(group.group_id,
:owner_id => group.user_id,
:vpc_id => security_group.vpc_id,
:config => config)
end
permission = IpPermission.new(security_group, p.ip_protocol, ports,
:ip_ranges => ip_ranges,
:groups => groups,
:egress => true,
:config => config)
yield(permission)
end
end