class Proxy::Monitoring::IcingaDirector::DirectorClient
Public Class Methods
instance()
click to toggle source
# File lib/smart_proxy_monitoring_icingadirector/director_client.rb, line 8 def self.instance @instance ||= new end
Public Instance Methods
client(url)
click to toggle source
# File lib/smart_proxy_monitoring_icingadirector/director_client.rb, line 12 def client(url) RestClient::Resource.new( request_url(url), request_options ) end
delete(url)
click to toggle source
# File lib/smart_proxy_monitoring_icingadirector/director_client.rb, line 40 def delete(url) logger.debug "IcingaDirector: DELETE request to #{url}" client(url).delete.body rescue RestClient::NotFound raise Proxy::Monitoring::NotFound.new("Icinga Director returned not found for #{url}.") end
get(url)
click to toggle source
# File lib/smart_proxy_monitoring_icingadirector/director_client.rb, line 23 def get(url) logger.debug "IcingaDirector: GET request to #{url}" client(url).get.body rescue RestClient::NotFound raise Proxy::Monitoring::NotFound.new("Icinga Director returned not found for #{url}.") end
post(url, payload)
click to toggle source
# File lib/smart_proxy_monitoring_icingadirector/director_client.rb, line 30 def post(url, payload) logger.debug "IcingaDirector: POST request to #{url} with payload: #{payload}" client(url).post(payload).body end
put(url, payload)
click to toggle source
# File lib/smart_proxy_monitoring_icingadirector/director_client.rb, line 35 def put(url, payload) logger.debug "IcingaDirector: PUT request to #{url} with payload: #{payload}" client(url).put(payload).body end
request_url(url)
click to toggle source
# File lib/smart_proxy_monitoring_icingadirector/director_client.rb, line 19 def request_url(url) URI.join(baseurl, url).to_s end
Private Instance Methods
auth_options()
click to toggle source
# File lib/smart_proxy_monitoring_icingadirector/director_client.rb, line 57 def auth_options return {} unless basic_auth? { user: user, password: password, } end
baseurl()
click to toggle source
# File lib/smart_proxy_monitoring_icingadirector/director_client.rb, line 75 def baseurl Proxy::Monitoring::IcingaDirector::Plugin.settings.director_url + '/' end
basic_auth?()
click to toggle source
# File lib/smart_proxy_monitoring_icingadirector/director_client.rb, line 65 def basic_auth? user && password end
cacert()
click to toggle source
# File lib/smart_proxy_monitoring_icingadirector/director_client.rb, line 87 def cacert Proxy::Monitoring::IcingaDirector::Plugin.settings.director_cacert end
password()
click to toggle source
# File lib/smart_proxy_monitoring_icingadirector/director_client.rb, line 83 def password Proxy::Monitoring::IcingaDirector::Plugin.settings.director_password end
request_headers()
click to toggle source
# File lib/smart_proxy_monitoring_icingadirector/director_client.rb, line 69 def request_headers { 'Accept' => 'application/json' } end
request_options()
click to toggle source
# File lib/smart_proxy_monitoring_icingadirector/director_client.rb, line 49 def request_options { headers: request_headers, ssl_ca_file: cacert, verify_ssl: verify_ssl? }.merge(auth_options) end
user()
click to toggle source
# File lib/smart_proxy_monitoring_icingadirector/director_client.rb, line 79 def user Proxy::Monitoring::IcingaDirector::Plugin.settings.director_user end
verify_ssl?()
click to toggle source
# File lib/smart_proxy_monitoring_icingadirector/director_client.rb, line 91 def verify_ssl? Proxy::Monitoring::Icinga2::Plugin.settings.verify_ssl end