Class: IcingaApi::Host
Constant Summary collapse
- TARGET =
"host"- CHECKS =
{ integer: i( HOST_ID HOST_OBJECT_ID HOST_INSTANCE_ID HOST_PARENT_OBJECT_ID HOST_CHILD_ID HOST_CURRENT_CHECK_ATTEMPT HOST_MAX_CHECK_ATTEMPTS HOST_STATE_COUNT ), float: i( HOST_LATENCY HOST_EXECUTION_TIME ), boolean: i( HOST_FLAP_DETECTION_ENABLED HOST_ACTIVE_CHECKS_ENABLED HOST_FLAP_DETECTION_ENABLED HOST_FRESHNESS_CHECK_ENABLED HOST_PASSIVE_CHECKS_ENABLED HOST_EVENT_HANDLER_ENABLED HOST_ACTIVE_CHECKS_ENABLED HOST_NOTIFICATIONS_ENABLED HOST_OBSESS_OVER_HOST HOST_FAILURE_PREDICTION_ENABLED HOST_IS_ACTIVE HOST_HAS_BEEN_CHECKED HOST_IS_FLAPPING HOST_PROBLEM_HAS_BEEN_AKNOWLEDGED HOST_IS_PENDING HOST_SHOULD_BE_SCHEDULED HOST_PROCESS_PERFORMANCE_DATA ), string: i( HOST_NAME HOST_ALIAS HOST_DISPLAY_NAME HOST_NOTES HOST_OUTPUT HOST_LONG_OUTPUT HOST_PARENT_NAME HOST_CHILD_NAME HOST_ICON_IMAGE HOST_ICON_IMAGE_ALT HOST_NOTES_URL HOST_ACTION_URL ), time: i( HOST_LAST_CHECK HOST_LAST_STATE_CHANGE HOST_NEXT_CHECK HOST_LAST_NOTIFICATION HOST_STATUS_UPDATE_TIME HOST_LAST_HARD_STATE_CHANGE ) }
Instance Attribute Summary collapse
-
#host_filter ⇒ Object
readonly
Returns the value of attribute host_filter.
-
#name ⇒ Object
readonly
Returns the value of attribute name.
Attributes inherited from Request
Instance Method Summary collapse
- #address ⇒ Object
- #current_state ⇒ Object
- #down? ⇒ Boolean
- #fetch(method) ⇒ Object
-
#initialize(connection, name) ⇒ Host
constructor
A new instance of Host.
- #service(name) ⇒ Object
- #services ⇒ Object
- #unknown? ⇒ Boolean
- #up? ⇒ Boolean
Constructor Details
#initialize(connection, name) ⇒ Host
Returns a new instance of Host.
75 76 77 78 79 |
# File 'lib/icinga_api/host.rb', line 75 def initialize(connection, name) @connection = connection @name = name @host_filter = filter("HOST_NAME", "=", name) end |
Instance Attribute Details
#host_filter ⇒ Object (readonly)
Returns the value of attribute host_filter.
4 5 6 |
# File 'lib/icinga_api/host.rb', line 4 def host_filter @host_filter end |
#name ⇒ Object (readonly)
Returns the value of attribute name.
4 5 6 |
# File 'lib/icinga_api/host.rb', line 4 def name @name end |
Instance Method Details
#address ⇒ Object
114 115 116 117 118 119 120 121 122 |
# File 'lib/icinga_api/host.rb', line 114 def address rc = request(TARGET, @host_filter, [:HOST_ADDRESS]) address = rc[:result][0][:HOST_ADDRESS] begin address = IPAddress(address) rescue address end end |
#current_state ⇒ Object
87 88 89 90 91 92 93 94 95 96 |
# File 'lib/icinga_api/host.rb', line 87 def current_state rc = request(TARGET, @host_filter, ["HOST_CURRENT_STATE"]) return :unknown unless rc[:success] == "true" case rc[:result][0][:HOST_CURRENT_STATE].to_i when 0 :up when 1 :down end end |
#down? ⇒ Boolean
104 105 106 |
# File 'lib/icinga_api/host.rb', line 104 def down? current_state == :down end |
#fetch(method) ⇒ Object
82 83 84 |
# File 'lib/icinga_api/host.rb', line 82 def fetch(method) string_request(TARGET, @host_filter, method) end |
#service(name) ⇒ Object
134 135 136 |
# File 'lib/icinga_api/host.rb', line 134 def service(name) Service.new(@connection, self, name) end |
#services ⇒ Object
125 126 127 128 129 130 131 |
# File 'lib/icinga_api/host.rb', line 125 def services rc = request(Service::TARGET, @host_filter, [:SERVICE_NAME]) # TODO: langsam, und keine Ahnung, warum rc[:result].map do |service_hash| Service.new(@connection, self, service_hash[:SERVICE_NAME]) end end |
#unknown? ⇒ Boolean
109 110 111 |
# File 'lib/icinga_api/host.rb', line 109 def unknown? current_state == :unknown end |
#up? ⇒ Boolean
99 100 101 |
# File 'lib/icinga_api/host.rb', line 99 def up? current_state == :up end |