summaryrefslogtreecommitdiffstats
path: root/library/Icingadb/Command/Object/ProcessCheckResultCommand.php
blob: 24ae2f3ae69c5aabddfeca762d7e97043135ce4f (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
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
<?php

/* Icinga DB Web | (c) 2021 Icinga GmbH | GPLv2 */

namespace Icinga\Module\Icingadb\Command\Object;

/**
 * Submit a passive check result for a host or service
 */
class ProcessCheckResultCommand extends ObjectsCommand
{
    /**
     * Host up
     */
    const HOST_UP = 0;

    /**
     * Host down
     */
    const HOST_DOWN = 1;

    /**
     * Service ok
     */
    const SERVICE_OK = 0;

    /**
     * Service warning
     */
    const SERVICE_WARNING = 1;

    /**
     * Service critical
     */
    const SERVICE_CRITICAL = 2;

    /**
     * Service unknown
     */
    const SERVICE_UNKNOWN = 3;

    /**
     * Status code of the host or service check result
     *
     * @var int
     */
    protected $status;

    /**
     * Text output of the host or service check result
     *
     * @var string
     */
    protected $output;

    /**
     * Optional performance data of the host or service check result
     *
     * @var string
     */
    protected $performanceData;

    /**
     * Set the status code of the host or service check result
     *
     * @param   int $status
     *
     * @return  $this
     */
    public function setStatus(int $status): self
    {
        $this->status = $status;

        return $this;
    }

    /**
     * Get the status code of the host or service check result
     *
     * @return int
     */
    public function getStatus(): int
    {
        if ($this->status === null) {
            throw new \LogicException(
                'You are accessing an unset property. Please make sure to set it beforehand.'
            );
        }

        return $this->status;
    }

    /**
     * Set the text output of the host or service check result
     *
     * @param   string $output
     *
     * @return  $this
     */
    public function setOutput(string $output): self
    {
        $this->output = $output;

        return $this;
    }

    /**
     * Get the text output of the host or service check result
     *
     * @return ?string
     */
    public function getOutput()
    {
        return $this->output;
    }

    /**
     * Set the performance data of the host or service check result
     *
     * @param   string|null $performanceData
     *
     * @return  $this
     */
    public function setPerformanceData(string $performanceData = null): self
    {
        $this->performanceData = $performanceData;

        return $this;
    }

    /**
     * Get the performance data of the host or service check result
     *
     * @return ?string
     */
    public function getPerformanceData()
    {
        return $this->performanceData;
    }
}