Class: Rudy::AWS::EC2::Group
- Inherits:
-
Storable
- Object
- Storable
- Rudy::AWS::EC2::Group
- Defined in:
- lib/rudy/aws/ec2/group.rb,
lib/rudy/aws/ec2/group.rb
Defined Under Namespace
Classes: Rule
Instance Method Summary collapse
-
#add_address(ipaddress, rule) ⇒ Object
-
ipaddressis a String, ipaddress/mask/protocol *ruleis a Rule object.
-
-
#add_group(group, rule) ⇒ Object
-
groupis a String, accountnum:group *ruleis a Rule object.
-
- #inspect ⇒ Object
- #liner_note ⇒ Object
-
#to_s(with_title = false) ⇒ Object
Print info about a security group.
Instance Method Details
#add_address(ipaddress, rule) ⇒ Object
-
ipaddressis a String, ipaddress/mask/protocol -
ruleis a Rule object
67 68 69 70 71 72 |
# 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) ⇒ Object
-
groupis a String, accountnum:group -
ruleis a Rule object
76 77 78 79 80 |
# 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 |
#inspect ⇒ Object
45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 |
# File 'lib/rudy/aws/ec2/group.rb', line 45 def inspect 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 |
#liner_note ⇒ Object
27 28 29 30 31 |
# 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 |
#to_s(with_title = false) ⇒ Object
Print info about a security group
-
groupis a Rudy::AWS::EC2::Group object
37 38 39 40 41 42 43 |
# 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 |