58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
|
# File 'lib/awspec/type/security_group.rb', line 58
def outbound_opened?(port = nil, protocol = nil, cidr = nil)
@resource_via_client.ip_permissions_egress.find do |permission|
next true unless port
next true unless permission.from_port
next true unless permission.to_port
next false unless port_between?(port, permission.from_port, permission.to_port)
next false if protocol && permission.ip_protocol != protocol
next true unless cidr
ret = permission.ip_ranges.select do |ip_range|
ip_range.cidr_ip == cidr
end
next true if ret.count > 0
ret = permission.user_id_group_pairs.select do |sg|
next true if sg.group_id == cidr
sg2 = find_security_group(sg.group_id)
next true if sg2.group_name == cidr
sg2.tags.find do |tag|
tag.key == 'Name' && tag.value == cidr
end
end
next true if ret.count > 0
end
end
|