def edit_security_group(action, group_name, params)
hash = {}
case action
when :authorize, :grant then action = "AuthorizeSecurityGroupIngress"
when :revoke, :remove then action = "RevokeSecurityGroupIngress"
else raise "Unknown action #{action.inspect}!"
end
hash['GroupName'] = group_name
hash['SourceSecurityGroupName'] = params[:source_group] unless params[:source_group].blank?
hash['SourceSecurityGroupOwnerId'] = params[:source_group_owner].to_s.gsub(/-/,'') unless params[:source_group_owner].blank?
hash['IpProtocol'] = params[:protocol] unless params[:protocol].blank?
unless params[:port].blank?
hash['FromPort'] = params[:port]
hash['ToPort'] = params[:port]
end
hash['FromPort'] = params[:from_port] unless params[:from_port].blank?
hash['ToPort'] = params[:to_port] unless params[:to_port].blank?
hash['CidrIp'] = params[:cidr_ip] unless params[:cidr_ip].blank?
link = generate_request(action, hash)
request_info(link, RightBoolResponseParser.new(:logger => @logger))
rescue Exception
on_exception
end