class Ec2SecurityGroup

API 1.0

Constants

VALID_RULE_TYPES

Public Instance Methods

add_rule(opts={}) click to toggle source

NOTE - Create, Destroy, and Update require “security_manager” permissions NOTE - Can’t remove rules, can only add

# File lib/rest_connection/rightscale/ec2_security_group.rb, line 39
def add_rule(opts={})
  rule = {}
  opts.each { |k,v| rule["#{k}".to_sym] = v }    

  unless validate_rule(rule)
    raise ArgumentError.new("add_rule expects one of these valid rule types: #{VALID_RULE_TYPES.to_json}")
  end

  params = {:ec2_security_group => rule}
  uri = URI.parse(self.href)
  connection.put(uri.path, params)

  self.reload
end
validate_rule(rule) click to toggle source
# File lib/rest_connection/rightscale/ec2_security_group.rb, line 54
def validate_rule(rule)
  VALID_RULE_TYPES.each do |valid_rule_type|
    if rule.keys.sort_by {|sym| sym.to_s} == valid_rule_type.sort_by {|sym| sym.to_s}
      return true
    end
  end

  false
end