class Sgupdater::CLI
Public Instance Methods
add()
click to toggle source
# File lib/sgupdater/cli.rb, line 33 def add added = client.add if added puts "Add success" else puts "No change" end end
show()
click to toggle source
# File lib/sgupdater/cli.rb, line 14 def show client.get.each {|sg| show_security_groups(sg, options[:from_cidr], options[:to_cidr])} end
update()
click to toggle source
# File lib/sgupdater/cli.rb, line 21 def update updated = client.update if updated puts "Update success" else puts "No change" end end
Private Instance Methods
cidr1_in_ip_permission_and_cidr2_not_in_ip_permission?(ip_permission, cidr1, cidr2)
click to toggle source
# File lib/sgupdater/cli.rb, line 51 def cidr1_in_ip_permission_and_cidr2_not_in_ip_permission?(ip_permission, cidr1, cidr2) cidr1_find = cidr_in_ip_permission?(ip_permission, cidr1) cidr2_not_find = !cidr_in_ip_permission?(ip_permission, cidr2) cidr1_find && cidr2_not_find end
cidr_in_ip_permission?(ip_permission, cidr)
click to toggle source
# File lib/sgupdater/cli.rb, line 47 def cidr_in_ip_permission?(ip_permission, cidr) ip_permission.ip_ranges.select {|ip| ip.values.include? cidr}.size > 0 end
client()
click to toggle source
# File lib/sgupdater/cli.rb, line 43 def client @client ||= Client.new options, aws_configuration end
ip_ranges_to_ips(ip_ranges)
click to toggle source
# File lib/sgupdater/cli.rb, line 57 def ip_ranges_to_ips(ip_ranges) ip_ranges.map {|ip_range| ip_range.values}.flatten end
show_security_groups(sg, from_cidr, to_cidr)
click to toggle source
# File lib/sgupdater/cli.rb, line 61 def show_security_groups(sg, from_cidr, to_cidr) sg.ip_permissions.each do |perm| found = false if to_cidr found = cidr1_in_ip_permission_and_cidr2_not_in_ip_permission?(perm, from_cidr, to_cidr) else found = cidr_in_ip_permission?(perm, from_cidr) end if found print "#{sg.owner_id}\t" if options[:show_account] puts [aws_configuration[:region], sg.vpc_id || '(classic)', sg.group_id, sg.group_name, perm.from_port, perm.to_port, ip_ranges_to_ips(perm.ip_ranges).join(",")].join("\t") end end end