class Rudy::AWS::EC2::Group
Public Instance Methods
add_address(ipaddress, rule)
click to toggle source
-
ipaddress
is a String, ipaddress/mask/protocol -
rule
is a Rule object
# File lib/rudy/aws/ec2/group.rb, line 67 def add_address(ipaddress, rule) return false unless rule.is_a?(Rule) @addresses ||= {} (@addresses[ipaddress] ||= []) << rule rule end
add_group(group, rule)
click to toggle source
-
group
is a String, accountnum:group -
rule
is a Rule object
# File lib/rudy/aws/ec2/group.rb, line 76 def add_group(group, rule) return false unless rule.is_a?(Rule) @groups ||= {} (@groups[group] ||= []) << rule end
liner_note()
click to toggle source
# File lib/rudy/aws/ec2/group.rb, line 27 def liner_note info = "(authorized accounts: #{@groups.keys.join(', ')})" info = '' if @groups.empty? "%s %s" % [@name.bright, info] end
pretty()
click to toggle source
# File lib/rudy/aws/ec2/group.rb, line 45 def pretty lines = [@name.bright] field_names.each do |key| next unless self.respond_to?(key) next if [:addresses, :groups].member?(key) val = self.send(key) lines << sprintf(" %12s: %s", key, (val.is_a?(Array) ? val.join(', ') : val)) end @addresses.each_pair do |a,r| rules = r.collect { |r| r.to_s }.join(', ') if r lines << sprintf(" %12s: %s (%s)", 'address', a.to_s, rules) end @groups.each_pair do |g,r| rules = r.collect { |r| r.to_s }.join(', ') lines << sprintf(" %12s: %s (%s)", 'group', g.to_s, rules) end lines.join($/) end
to_s(with_title=false)
click to toggle source
Print info about a security group
-
group
is a Rudy::AWS::EC2::Group object
# File lib/rudy/aws/ec2/group.rb, line 37 def to_s(with_title=false) lines = [liner_note] (self.addresses || {}).each_pair do |address,rules| lines << "%18s -> %s" % [address.to_s, rules.collect { |p| p.to_s}.join(', ')] end lines.join($/) end