Class: Proxy::Monitoring::IcingaDirector::Provider

Inherits:
Proxy::Monitoring::Icinga2::Provider show all
Defined in:
lib/smart_proxy_monitoring_icingadirector/monitoring_icingadirector_main.rb

Constant Summary

Constants inherited from Proxy::Monitoring::Icinga2::Provider

Proxy::Monitoring::Icinga2::Provider::ICINGA_ATTR_MAPPING, Proxy::Monitoring::Icinga2::Provider::ICINGA_HOST_ATTRS

Instance Method Summary collapse

Methods inherited from Proxy::Monitoring::Icinga2::Provider

#remove_downtime_host, #set_downtime_host

Instance Method Details

#create_host(host, attributes) ⇒ Object



12
13
14
15
16
# File 'lib/smart_proxy_monitoring_icingadirector/monitoring_icingadirector_main.rb', line 12

def create_host(host, attributes)
  payload = host_payload(host, attributes)
  check_templates_exist(payload[:imports])
  client.post('host', payload.to_json)
end

#query_host(host) ⇒ Object



7
8
9
10
# File 'lib/smart_proxy_monitoring_icingadirector/monitoring_icingadirector_main.rb', line 7

def query_host(host)
  response = client.get("host?name=#{host}")
  parse_response(response)
end

#remove_host(host) ⇒ Object



26
27
28
# File 'lib/smart_proxy_monitoring_icingadirector/monitoring_icingadirector_main.rb', line 26

def remove_host(host)
  client.delete("host?name=#{host}")
end

#update_host(host, attributes) ⇒ Object



18
19
20
21
22
23
24
# File 'lib/smart_proxy_monitoring_icingadirector/monitoring_icingadirector_main.rb', line 18

def update_host(host, attributes)
  payload = host_payload(host, attributes)
  check_templates_exist(payload[:imports])
  client.put("host?name=#{host}", payload.to_json)
rescue RestClient::NotModified
  true
end