class BaruwaAPI
Constants
- ENDPOINTS
Public Class Methods
new(url, token, ssl_verify=false)
click to toggle source
# File lib/baruwa.rb, line 117 def initialize (url, token, ssl_verify=false) @baruwa_url = "#{url}/api/v1" @baruwa_token = token @ssl_verify = ssl_verify end
Public Instance Methods
call_api(endpoint, opts=[], data=false, params=false)
click to toggle source
# File lib/baruwa.rb, line 563 def call_api(endpoint, opts=[], data=false, params=false) url = parse_url(endpoint, opts, params) call = get_request(endpoint, url) call.body = get_params(data) request = Net::HTTP.new(url.host, url.port) usessl = @baruwa_url.match('https') request.use_ssl = usessl if usessl if @ssl_verify == false request.verify_mode = OpenSSL::SSL::VERIFY_NONE end end response = request.start {|http| http.request(call)} parse_response(response) end
create_alias(userid, data)
click to toggle source
# File lib/baruwa.rb, line 162 def create_alias(userid, data) # create an alias address call_api(ENDPOINTS[:aliases][:new], [userid], data) end
create_authserver(domainid, data)
click to toggle source
# File lib/baruwa.rb, line 341 def create_authserver(domainid, data) # create auth server call_api(ENDPOINTS[:authservers][:new], [domainid], data) end
create_deliveryserver(domainid, data)
click to toggle source
# File lib/baruwa.rb, line 283 def create_deliveryserver(domainid, data) # create a delivery server call_api(ENDPOINTS[:deliveryservers][:new], [domainid], data) end
create_domain(data)
click to toggle source
# File lib/baruwa.rb, line 196 def create_domain(data) # create a domain call_api(ENDPOINTS[:domains][:new], [], data) end
create_domain_smarthost(domainid, data)
click to toggle source
# File lib/baruwa.rb, line 254 def create_domain_smarthost(domainid, data) # create a domain smarthost call_api(ENDPOINTS[:domainsmarthosts][:new], [domainid], data) end
create_domainalias(domainid, data)
click to toggle source
# File lib/baruwa.rb, line 225 def create_domainalias(domainid, data) # create a domain alias call_api(ENDPOINTS[:domainaliases][:new], [domainid], data) end
create_fallbackserver(orgid, data)
click to toggle source
# File lib/baruwa.rb, line 459 def create_fallbackserver(orgid, data) # create a fallback server call_api(ENDPOINTS[:fallbackservers][:new], [orgid], data) end
create_ldapsettings(domainid, serverid, data)
click to toggle source
# File lib/baruwa.rb, line 361 def create_ldapsettings(domainid, serverid, data) # create ldap settings call_api(ENDPOINTS[:ldapsettings][:new], [domainid, serverid], data) end
create_org_smarthost(orgid, data)
click to toggle source
# File lib/baruwa.rb, line 488 def create_org_smarthost(orgid, data) # create a organization smarthost call_api(ENDPOINTS[:orgsmarthosts][:new], [orgid], data) end
create_organization(data)
click to toggle source
# File lib/baruwa.rb, line 410 def create_organization(data) # create an organization call_api(ENDPOINTS[:organizations][:new], [], data) end
create_radiussettings(domainid, serverid, data)
click to toggle source
# File lib/baruwa.rb, line 381 def create_radiussettings(domainid, serverid, data) # create radius settings call_api(ENDPOINTS[:radiussettings][:new], [domainid, serverid], data) end
create_relay(orgid, data)
click to toggle source
# File lib/baruwa.rb, line 430 def create_relay(orgid, data) # create a relay setting call_api(ENDPOINTS[:relays][:new], [orgid], data) end
create_user(data)
click to toggle source
# File lib/baruwa.rb, line 137 def create_user(data) # create a user call_api(ENDPOINTS[:users][:new], [], data) end
create_user_deliveryserver(domainid, data)
click to toggle source
# File lib/baruwa.rb, line 312 def create_user_deliveryserver(domainid, data) # create a delivery server call_api(ENDPOINTS[:userdeliveryservers][:new], [domainid], data) end
delete_alias(addressid, data)
click to toggle source
# File lib/baruwa.rb, line 172 def delete_alias(addressid, data) # delete an alias address call_api(ENDPOINTS[:aliases][:delete], [addressid], data) end
delete_authserver(domainid, serverid, data)
click to toggle source
# File lib/baruwa.rb, line 351 def delete_authserver(domainid, serverid, data) # delete an auth server call_api(ENDPOINTS[:authservers][:delete], [domainid, serverid], data) end
delete_deliveryserver(domainid, serverid, data)
click to toggle source
# File lib/baruwa.rb, line 293 def delete_deliveryserver(domainid, serverid, data) # delete delivery servers call_api(ENDPOINTS[:deliveryservers][:delete], [domainid, serverid], data) end
delete_domain(domainid)
click to toggle source
# File lib/baruwa.rb, line 206 def delete_domain(domainid) # delete a domain call_api(ENDPOINTS[:domains][:delete], [domainid]) end
delete_domain_smarthost(domainid, smarthostid, data)
click to toggle source
# File lib/baruwa.rb, line 264 def delete_domain_smarthost(domainid, smarthostid, data) # delete a domain smarthost call_api(ENDPOINTS[:domainsmarthosts][:delete], [domainid, smarthostid], data) end
delete_domainalias(domainid, aliasid, data)
click to toggle source
# File lib/baruwa.rb, line 235 def delete_domainalias(domainid, aliasid, data) # delete a domain alias call_api(ENDPOINTS[:domainaliases][:delete], [domainid, aliasid], data) end
delete_fallbackserver(serverid, data)
click to toggle source
# File lib/baruwa.rb, line 469 def delete_fallbackserver(serverid, data) # delete a fallback server call_api(ENDPOINTS[:fallbackservers][:delete], [serverid], data) end
delete_ldapsettings(domainid, serverid, settingsid, data)
click to toggle source
# File lib/baruwa.rb, line 371 def delete_ldapsettings(domainid, serverid, settingsid, data) # delete ldap settings call_api(ENDPOINTS[:ldapsettings][:delete], [domainid, serverid, settingsid], data) end
delete_org_smarthost(orgid, smarthostid, data)
click to toggle source
# File lib/baruwa.rb, line 498 def delete_org_smarthost(orgid, smarthostid, data) # delete a organization smarthost call_api(ENDPOINTS[:orgsmarthosts][:delete], [orgid, smarthostid], data) end
delete_organization(orgid)
click to toggle source
# File lib/baruwa.rb, line 420 def delete_organization(orgid) # delete an organization call_api(ENDPOINTS[:organizations][:delete], [orgid]) end
delete_radiussettings(domainid, serverid, settingsid, data)
click to toggle source
# File lib/baruwa.rb, line 391 def delete_radiussettings(domainid, serverid, settingsid, data) # delete radius settings call_api(ENDPOINTS[:radiussettings][:delete], [domainid, serverid, settingsid], data) end
delete_relay(relayid, data)
click to toggle source
# File lib/baruwa.rb, line 440 def delete_relay(relayid, data) # delete relay settings call_api(ENDPOINTS[:relays][:delete], [relayid], data) end
delete_user(userid)
click to toggle source
# File lib/baruwa.rb, line 147 def delete_user(userid) # delete a user call_api(ENDPOINTS[:users][:delete], [userid]) end
delete_user_deliveryserver(domainid, serverid, data)
click to toggle source
# File lib/baruwa.rb, line 322 def delete_user_deliveryserver(domainid, serverid, data) # delete delivery servers call_api(ENDPOINTS[:userdeliveryservers][:delete], [domainid, serverid], data) end
get_aliases(addressid)
click to toggle source
# File lib/baruwa.rb, line 157 def get_aliases(addressid) # get aliases call_api(ENDPOINTS[:aliases][:get], [addressid]) end
get_authserver(domainid, serverid)
click to toggle source
# File lib/baruwa.rb, line 336 def get_authserver(domainid, serverid) # get auth server call_api(ENDPOINTS[:authservers][:get], [domainid, serverid]) end
get_authservers(domainid, page=nil)
click to toggle source
# File lib/baruwa.rb, line 327 def get_authservers(domainid, page=nil) # get auth servers params = {} if page.is_a? Integer then params[:page] = page end call_api(ENDPOINTS[:authservers][:list], [domainid], false, params) end
get_deliveryserver(domainid, serverid)
click to toggle source
# File lib/baruwa.rb, line 278 def get_deliveryserver(domainid, serverid) # get a delivery server call_api(ENDPOINTS[:deliveryservers][:get], [domainid, serverid]) end
get_deliveryservers(domainid, page=nil)
click to toggle source
# File lib/baruwa.rb, line 269 def get_deliveryservers(domainid, page=nil) # get delivery servers params = {} if page.is_a? Integer then params[:page] = page end call_api(ENDPOINTS[:deliveryservers][:list], [domainid], false, params) end
get_domain(domainid)
click to toggle source
# File lib/baruwa.rb, line 186 def get_domain(domainid) # get a domain call_api(ENDPOINTS[:domains][:get], [domainid]) end
get_domain_by_name(domainname)
click to toggle source
# File lib/baruwa.rb, line 191 def get_domain_by_name(domainname) # get a domain by name call_api(ENDPOINTS[:domains][:get_by_name], [domainname]) end
get_domain_smarthost(domainid, smarthostid)
click to toggle source
# File lib/baruwa.rb, line 249 def get_domain_smarthost(domainid, smarthostid) # get domain smarthost call_api(ENDPOINTS[:domainsmarthosts][:get], [domainid, smarthostid]) end
get_domain_smarthosts(domainid, page=nil)
click to toggle source
# File lib/baruwa.rb, line 240 def get_domain_smarthosts(domainid, page=nil) # get domain smarthosts params = {} if page.is_a? Integer then params[:page] = page end call_api(ENDPOINTS[:domainsmarthosts][:list], [domainid], false, params) end
get_domainalias(domainid, aliasid)
click to toggle source
# File lib/baruwa.rb, line 220 def get_domainalias(domainid, aliasid) # get domain alias call_api(ENDPOINTS[:domainaliases][:get], [domainid, aliasid]) end
get_domainaliases(domainid, page=nil)
click to toggle source
# File lib/baruwa.rb, line 211 def get_domainaliases(domainid, page=nil) # get domain aliases params = {} if page.is_a? Integer then params[:page] = page end call_api(ENDPOINTS[:domainaliases][:list], [domainid], false, params) end
get_domains(page=nil)
click to toggle source
# File lib/baruwa.rb, line 177 def get_domains(page=nil) # get domains params = {} if page.is_a? Integer then params[:page] = page end call_api(ENDPOINTS[:domains][:list], [], false, params) end
get_fallbackserver(serverid)
click to toggle source
# File lib/baruwa.rb, line 454 def get_fallbackserver(serverid) # get fallback server call_api(ENDPOINTS[:fallbackservers][:get], [serverid]) end
get_fallbackservers(orgid, page=nil)
click to toggle source
# File lib/baruwa.rb, line 445 def get_fallbackservers(orgid, page=nil) # get fallback servers params = {} if page.is_a? Integer then params[:page] = page end call_api(ENDPOINTS[:fallbackservers][:list], [orgid], false, params) end
get_ldapsettings(domainid, serverid, settingsid)
click to toggle source
# File lib/baruwa.rb, line 356 def get_ldapsettings(domainid, serverid, settingsid) # get ldap settings call_api(ENDPOINTS[:ldapsettings][:get], [domainid, serverid, settingsid]) end
get_org_smarthost(orgid, smarthostid)
click to toggle source
# File lib/baruwa.rb, line 483 def get_org_smarthost(orgid, smarthostid) # get organization smarthost call_api(ENDPOINTS[:orgsmarthosts][:get], [orgid, smarthostid]) end
get_org_smarthosts(orgid, page=nil)
click to toggle source
# File lib/baruwa.rb, line 474 def get_org_smarthosts(orgid, page=nil) # get organization smarthosts params = {} if page.is_a? Integer then params[:page] = page end call_api(ENDPOINTS[:orgsmarthosts][:list], [orgid], false, params) end
get_organization(orgid)
click to toggle source
# File lib/baruwa.rb, line 405 def get_organization(orgid) # get organization call_api(ENDPOINTS[:organizations][:get], [orgid]) end
get_organizations(page=nil)
click to toggle source
# File lib/baruwa.rb, line 396 def get_organizations(page=nil) # get organizations params = {} if page.is_a? Integer then params[:page] = page end call_api(ENDPOINTS[:organizations][:list], [], false, params) end
get_params(params)
click to toggle source
# File lib/baruwa.rb, line 508 def get_params(params) # convert params has to string if params then params.collect {|k,v| "#{k}=#{CGI::escape(v.to_s)}"}.join('&') else params end end
get_radiussettings(domainid, serverid, settingsid)
click to toggle source
# File lib/baruwa.rb, line 376 def get_radiussettings(domainid, serverid, settingsid) # get radius settings call_api(ENDPOINTS[:radiussettings][:get], [domainid, serverid, settingsid]) end
get_relay(relayid)
click to toggle source
# File lib/baruwa.rb, line 425 def get_relay(relayid) # get a relay setting call_api(ENDPOINTS[:relays][:get], [relayid]) end
get_request(endpoint, url)
click to toggle source
# File lib/baruwa.rb, line 536 def get_request(endpoint, url) case endpoint[:method] when :post Net::HTTP::Post.new(url.request_uri, set_headers) when :get Net::HTTP::Get.new(url.request_uri, set_headers) when :put Net::HTTP::Put.new(url.request_uri, set_headers) when :delete Net::HTTP::Delete.new(url.request_uri, set_headers) else throw "Unknown call method #{endpoint[:method]}" end end
get_status()
click to toggle source
# File lib/baruwa.rb, line 503 def get_status # get status call_api(ENDPOINTS[:status]) end
get_user(userid)
click to toggle source
# File lib/baruwa.rb, line 132 def get_user(userid) # get a user call_api(ENDPOINTS[:users][:get], [userid]) end
get_user_deliveryserver(domainid, serverid)
click to toggle source
# File lib/baruwa.rb, line 307 def get_user_deliveryserver(domainid, serverid) # get a delivery server call_api(ENDPOINTS[:userdeliveryservers][:get], [domainid, serverid]) end
get_user_deliveryservers(domainid, page=nil)
click to toggle source
# File lib/baruwa.rb, line 298 def get_user_deliveryservers(domainid, page=nil) # get delivery servers params = {} if page.is_a? Integer then params[:page] = page end call_api(ENDPOINTS[:userdeliveryservers][:list], [domainid], false, params) end
get_users(page=nil)
click to toggle source
# File lib/baruwa.rb, line 123 def get_users(page=nil) # get users params = {} if page.is_a? Integer then params[:page] = page end call_api(ENDPOINTS[:users][:list], [], false, params) end
parse_response(response)
click to toggle source
# File lib/baruwa.rb, line 551 def parse_response(response) if response.code.to_i == 200 || response.code.to_i == 201 if response.body.nil? || response.body.empty? {:code => response.code.to_i, :message => "Completed successfully"} else JSON.parse(response.body) end else raise StandardError.new("#{response.code} #{response.body}") end end
parse_url(endpoint, opts, params=false)
click to toggle source
# File lib/baruwa.rb, line 517 def parse_url(endpoint, opts, params=false) if opts.length > 0 then endpoint_string = endpoint[:name] % opts else endpoint_string = endpoint[:name] end url_string = @baruwa_url + endpoint_string url_string = url_string + '?' + get_params(params) if params uri = URI.parse(url_string) return uri end
set_headers()
click to toggle source
# File lib/baruwa.rb, line 529 def set_headers { 'User-Agent' => 'BaruwaAPI-Ruby', 'Authorization' => "Bearer #{@baruwa_token}" } end
set_user_passwd(userid, data)
click to toggle source
# File lib/baruwa.rb, line 152 def set_user_passwd(userid, data) # set a user password call_api(ENDPOINTS[:users][:password], [userid], data) end
update_alias(addressid, data)
click to toggle source
# File lib/baruwa.rb, line 167 def update_alias(addressid, data) # update an alias address call_api(ENDPOINTS[:aliases][:update], [addressid], data) end
update_authserver(domainid, serverid, data)
click to toggle source
# File lib/baruwa.rb, line 346 def update_authserver(domainid, serverid, data) # update an auth server call_api(ENDPOINTS[:authservers][:update], [domainid, serverid], data) end
update_deliveryserver(domainid, serverid, data)
click to toggle source
# File lib/baruwa.rb, line 288 def update_deliveryserver(domainid, serverid, data) # update a delivery server call_api(ENDPOINTS[:deliveryservers][:update], [domainid, serverid], data) end
update_domain(domainid, data)
click to toggle source
# File lib/baruwa.rb, line 201 def update_domain(domainid, data) # update a domain call_api(ENDPOINTS[:domains][:update], [domainid], data) end
update_domain_smarthost(domainid, smarthostid, data)
click to toggle source
# File lib/baruwa.rb, line 259 def update_domain_smarthost(domainid, smarthostid, data) # update a domain smarthost call_api(ENDPOINTS[:domainsmarthosts][:update], [domainid, smarthostid], data) end
update_domainalias(domainid, aliasid, data)
click to toggle source
# File lib/baruwa.rb, line 230 def update_domainalias(domainid, aliasid, data) # update a domain alias call_api(ENDPOINTS[:domainaliases][:update], [domainid, aliasid], data) end
update_fallbackserver(serverid, data)
click to toggle source
# File lib/baruwa.rb, line 464 def update_fallbackserver(serverid, data) # update a fallback server call_api(ENDPOINTS[:fallbackservers][:update], [serverid], data) end
update_ldapsettings(domainid, serverid, settingsid, data)
click to toggle source
# File lib/baruwa.rb, line 366 def update_ldapsettings(domainid, serverid, settingsid, data) # update ldap settings call_api(ENDPOINTS[:ldapsettings][:update], [domainid, serverid, settingsid], data) end
update_org_smarthost(orgid, smarthostid, data)
click to toggle source
# File lib/baruwa.rb, line 493 def update_org_smarthost(orgid, smarthostid, data) # update a organization smarthost call_api(ENDPOINTS[:orgsmarthosts][:update], [orgid, smarthostid], data) end
update_organization(orgid, data)
click to toggle source
# File lib/baruwa.rb, line 415 def update_organization(orgid, data) # update an organization call_api(ENDPOINTS[:organizations][:update], [orgid], data) end
update_radiussettings(domainid, serverid, settingsid, data)
click to toggle source
# File lib/baruwa.rb, line 386 def update_radiussettings(domainid, serverid, settingsid, data) # update radius settings call_api(ENDPOINTS[:radiussettings][:update], [domainid, serverid, settingsid], data) end
update_relay(relayid, data)
click to toggle source
# File lib/baruwa.rb, line 435 def update_relay(relayid, data) # update relay settings call_api(ENDPOINTS[:relays][:update], [relayid], data) end
update_user(data)
click to toggle source
# File lib/baruwa.rb, line 142 def update_user(data) # update a user call_api(ENDPOINTS[:users][:update], [], data) end
update_user_deliveryserver(domainid, serverid, data)
click to toggle source
# File lib/baruwa.rb, line 317 def update_user_deliveryserver(domainid, serverid, data) # update a delivery server call_api(ENDPOINTS[:userdeliveryservers][:update], [domainid, serverid], data) end