class AWS::EC2::SecurityGroup::IpPermissionCollection
Attributes
egress[R]
@return [Boolean]
egress?[R]
@return [Boolean]
security_group[R]
@return [SecurityGroup]
Public Class Methods
new(security_group, options = {})
click to toggle source
Calls superclass method
# File lib/aws/ec2/security_group/ip_permission_collection.rb, line 22 def initialize security_group, options = {} @security_group = security_group @egress = !!options[:egress] super end
Private Instance Methods
_each_item(options = {}) { |permission| ... }
click to toggle source
# File lib/aws/ec2/security_group/ip_permission_collection.rb, line 38 def _each_item options = {} list_method = 'ip_permissions_list' list_method += '_egress' if egress? security_group.send(list_method).each do |p| # egress permissions don't always have ports ports = p[:from_port] ? [p[:from_port], p[:to_port]] : nil 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 => egress?, :config => config) yield(permission) end end