28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
|
# File 'lib/awspec/generator/spec/security_group.rb', line 28
def generate_linespecs(sg)
linespecs = []
permissions = { 'inbound' => sg.ip_permissions, 'outbound' => sg.ip_permissions_egress }
%w(inbound outbound).each do |inout|
permissions[inout].each do |permission|
if permission.ip_protocol.to_i < 0 || permission.from_port.nil?
linespecs.push('its(:' + inout + ') { should be_opened }')
next
end
port = if permission.from_port == permission.to_port
permission.from_port
else
"'" + permission.from_port.to_s + '-' + permission.to_port.to_s + "'"
end
protocol = permission.ip_protocol
permission.ip_ranges.each do |ip_range|
target = ip_range.cidr_ip
linespecs.push(ERB.new(security_group_spec_linetemplate, nil, '-').result(binding))
end
permission.user_id_group_pairs.each do |group|
target = group.group_name
target = group.group_id unless group.group_name
linespecs.push(ERB.new(security_group_spec_linetemplate, nil, '-').result(binding))
end
end
end
linespecs
end
|