class Nagios::API::Service

Public Instance Methods

downtimes() click to toggle source
# File lib/nagios/api/service.rb, line 43
def downtimes
  return nil unless state
  
  dts = state['downtimes'] ? state['downtimes'].values : []
  dts.collect { |dt| Nagios::API::Downtime.new(dt.merge(service: self, api_client: api_client)) }
end
name() click to toggle source
# File lib/nagios/api/service.rb, line 33
def name
  service
end
schedule_downtime(params = {}) click to toggle source

schedule_downtime arguments:

author
comment
start_time
fixed
duration
end_time
# File lib/nagios/api/service.rb, line 57
def schedule_downtime(params = {})
  params = params.dup
  params[:host] = host.name
  params[:service] = name
  params[:start_time] = params[:start_time].to_i if params[:start_time]
  params[:end_time] = params[:end_time].to_i if params[:end_time]
  
  result = api_client.api.post("/schedule_downtime", params)
  
  raise StandardError, "Unknown response scheduling downtime: #{result}" unless result == "scheduled"
  
  true
end
state() click to toggle source
# File lib/nagios/api/service.rb, line 37
def state
  return nil unless host
  
  host.state['services'][name]
end
status() click to toggle source
# File lib/nagios/api/service.rb, line 71
def status
  case current_state.to_i
  when 0
    :ok
  when 1
    :warning
  when 2
    :critical
  else
    :unknown
  end
end
status_details() click to toggle source
# File lib/nagios/api/service.rb, line 84
def status_details
  plugin_output
end