Class Rudy::AWS::EC2::Group

  1. lib/rudy/aws/ec2/group.rb
Parent: Storable

Methods

public instance

  1. add_address
  2. add_group
  3. liner_note
  4. pretty
  5. to_s

Classes and Modules

Class Rudy::AWS::EC2::Group::Rule

Public instance methods

add_address (ipaddress, rule)
  • ipaddress is a String, ipaddress/mask/protocol
  • rule is a Rule object
[show source]
    # File lib/rudy/aws/ec2/group.rb, line 67
67:     def add_address(ipaddress, rule)
68:       return false unless rule.is_a?(Rule)
69:       @addresses ||= {}
70:       (@addresses[ipaddress] ||= []) << rule
71:       rule
72:     end
add_group (group, rule)
  • group is a String, accountnum:group
  • rule is a Rule object
[show source]
    # File lib/rudy/aws/ec2/group.rb, line 76
76:     def add_group(group, rule)
77:       return false unless rule.is_a?(Rule)
78:       @groups ||= {}
79:       (@groups[group] ||= []) << rule
80:     end
liner_note ()
[show source]
    # File lib/rudy/aws/ec2/group.rb, line 27
27:     def liner_note
28:       info = "(authorized accounts: #{@groups.keys.join(', ')})" 
29:       info = '' if @groups.empty?
30:       "%s %s" % [@name.bright, info]
31:     end
pretty ()
[show source]
    # File lib/rudy/aws/ec2/group.rb, line 45
45:     def pretty
46:       lines = [@name.bright]
47:       field_names.each do |key|
48:         next unless self.respond_to?(key)
49:         next if [:addresses, :groups].member?(key)
50:         val = self.send(key)
51:         lines << sprintf(" %12s: %s", key, (val.is_a?(Array) ? val.join(', ') : val))
52:       end
53:       @addresses.each_pair do |a,r|
54:         rules = r.collect { |r| r.to_s }.join(', ') if r
55:         lines << sprintf(" %12s: %s (%s)", 'address', a.to_s, rules)
56:       end
57:       @groups.each_pair do |g,r|
58:         rules = r.collect { |r| r.to_s }.join(', ')
59:         lines << sprintf(" %12s: %s (%s)", 'group', g.to_s, rules)
60:       end
61:       lines.join($/)
62:     end
to_s (with_title=false)

Print info about a security group

[show source]
    # File lib/rudy/aws/ec2/group.rb, line 37
37:     def to_s(with_title=false)
38:       lines = [liner_note]
39:       (self.addresses || {}).each_pair do |address,rules|
40:         lines << "%18s -> %s" % [address.to_s, rules.collect { |p| p.to_s}.join(', ')]
41:       end
42:       lines.join($/)
43:     end