summaryrefslogtreecommitdiffstats
path: root/lib/icinga/checkresult.ti
blob: 09312dc1285a117bc5bc8da2975b7d269450ffc2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
/* Icinga 2 | (c) 2012 Icinga GmbH | GPLv2+ */

library icinga;

namespace icinga
{

code {{{
/**
 * The state of a host.
 *
 * @ingroup icinga
 */
enum HostState
{
	HostUp = 0,
	HostDown = 1
};

/**
 * The state of a service.
 *
 * @ingroup icinga
 */
enum ServiceState
{
	ServiceOK = 0,
	ServiceWarning = 1,
	ServiceCritical = 2,
	ServiceUnknown = 3
};

/**
 * The state type of a host or service.
 *
 * @ingroup icinga
 */
enum StateType
{
	StateTypeSoft = 0,
	StateTypeHard = 1
};
}}}

class CheckResult
{
	[state] Timestamp schedule_start;
	[state] Timestamp schedule_end;
	[state] Timestamp execution_start;
	[state] Timestamp execution_end;

	[state] Value command;
	[state] int exit_status;

	[state, enum] ServiceState "state";
	[state, enum] ServiceState previous_hard_state;
	[state] String output;
	[state] Array::Ptr performance_data;

	[state] bool active {
		default {{{ return true; }}}
	};

	[state] String check_source;
	[state] String scheduling_source;
	[state] double ttl;

	[state] Dictionary::Ptr vars_before;
	[state] Dictionary::Ptr vars_after;
};

}