Cleanup config.nodes_of
[check_mk.git] / cmk / gui / plugins / wato / check_parameters / licenses.py
blob495390362080e6a6fba0d8b0125cff4fae0546ec
1 #!/usr/bin/python
2 # -*- encoding: utf-8; py-indent-offset: 4 -*-
3 # +------------------------------------------------------------------+
4 # | ____ _ _ __ __ _ __ |
5 # | / ___| |__ ___ ___| | __ | \/ | |/ / |
6 # | | | | '_ \ / _ \/ __| |/ / | |\/| | ' / |
7 # | | |___| | | | __/ (__| < | | | | . \ |
8 # | \____|_| |_|\___|\___|_|\_\___|_| |_|_|\_\ |
9 # | |
10 # | Copyright Mathias Kettner 2014 mk@mathias-kettner.de |
11 # +------------------------------------------------------------------+
13 # This file is part of Check_MK.
14 # The official homepage is at http://mathias-kettner.de/check_mk.
16 # check_mk is free software; you can redistribute it and/or modify it
17 # under the terms of the GNU General Public License as published by
18 # the Free Software Foundation in version 2. check_mk is distributed
19 # in the hope that it will be useful, but WITHOUT ANY WARRANTY; with-
20 # out even the implied warranty of MERCHANTABILITY or FITNESS FOR A
21 # PARTICULAR PURPOSE. See the GNU General Public License for more de-
22 # tails. You should have received a copy of the GNU General Public
23 # License along with GNU Make; see the file COPYING. If not, write
24 # to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
25 # Boston, MA 02110-1301 USA.
27 from cmk.gui.i18n import _
28 from cmk.gui.valuespec import (
29 Alternative,
30 FixedValue,
31 Integer,
32 Percentage,
33 TextAscii,
34 Tuple,
36 from cmk.gui.plugins.wato import (
37 RulespecGroupCheckParametersApplications,
38 CheckParameterRulespecWithItem,
39 rulespec_registry,
43 def _vs_license():
44 return Alternative(
45 title=_("Levels for Number of Licenses"),
46 style="dropdown",
47 default_value=None,
48 elements=[
49 Tuple(
50 title=_("Absolute levels for unused licenses"),
51 elements=[
52 Integer(title=_("Warning below"), default_value=5, unit=_("unused licenses")),
53 Integer(title=_("Critical below"), default_value=0, unit=_("unused licenses")),
54 ]),
55 Tuple(
56 title=_("Percentual levels for unused licenses"),
57 elements=[
58 Percentage(title=_("Warning below"), default_value=10.0),
59 Percentage(title=_("Critical below"), default_value=0),
60 ]),
61 FixedValue(
62 None,
63 totext=_("Critical when all licenses are used"),
64 title=_("Go critical if all licenses are used"),
66 FixedValue(
67 False,
68 title=_("Always report OK"),
69 totext=_("Alerting depending on the number of used licenses is disabled"),
74 @rulespec_registry.register
75 class RulespecCheckgroupParametersCitrixLicenses(CheckParameterRulespecWithItem):
76 @property
77 def group(self):
78 return RulespecGroupCheckParametersApplications
80 @property
81 def check_group_name(self):
82 return "citrix_licenses"
84 @property
85 def title(self):
86 return _("Number of used Citrix licenses")
88 @property
89 def parameter_valuespec(self):
90 return _vs_license()
92 @property
93 def item_spec(self):
94 return TextAscii(
95 title=_("ID of the license, e.g. <tt>PVSD_STD_CCS</tt>"),
96 allow_empty=False,
100 @rulespec_registry.register
101 class RulespecCheckgroupParametersEsxLicenses(CheckParameterRulespecWithItem):
102 @property
103 def group(self):
104 return RulespecGroupCheckParametersApplications
106 @property
107 def check_group_name(self):
108 return "esx_licenses"
110 @property
111 def title(self):
112 return _("Number of used VMware licenses")
114 @property
115 def parameter_valuespec(self):
116 return _vs_license()
118 @property
119 def item_spec(self):
120 return TextAscii(
121 title=_("Name of the license"),
122 help=_("For example <tt>VMware vSphere 5 Standard</tt>"),
123 allow_empty=False,
127 @rulespec_registry.register
128 class RulespecCheckgroupParametersIbmsvcLicenses(CheckParameterRulespecWithItem):
129 @property
130 def group(self):
131 return RulespecGroupCheckParametersApplications
133 @property
134 def check_group_name(self):
135 return "ibmsvc_licenses"
137 @property
138 def title(self):
139 return _("Number of used IBM SVC licenses")
141 @property
142 def parameter_valuespec(self):
143 return _vs_license()
145 @property
146 def item_spec(self):
147 return TextAscii(
148 title=_("ID of the license, e.g. <tt>virtualization</tt>"),
149 allow_empty=False,
153 @rulespec_registry.register
154 class RulespecCheckgroupParametersRdsLicenses(CheckParameterRulespecWithItem):
155 @property
156 def group(self):
157 return RulespecGroupCheckParametersApplications
159 @property
160 def check_group_name(self):
161 return "rds_licenses"
163 @property
164 def title(self):
165 return _("Number of used Remote Desktop Licenses")
167 @property
168 def parameter_valuespec(self):
169 return _vs_license()
171 @property
172 def item_spec(self):
173 return TextAscii(
174 title=_("ID of the license, e.g. <tt>Windows Server 2008 R2</tt>"),
175 allow_empty=False,