Refactoring: Changed all check parameters starting with an 'e' to new rulespec regist...
[check_mk.git] / cmk / gui / plugins / wato / check_parameters / esx_vsphere_datastores.py
blob8e3af6930dda45ff8b4edfad9a976934f75dcedb
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 Dictionary,
30 Percentage,
31 TextAscii,
32 Tuple,
35 from cmk.gui.plugins.wato import (
36 CheckParameterRulespecWithItem,
37 rulespec_registry,
38 RulespecGroupCheckParametersStorage,
40 from cmk.gui.plugins.wato.check_parameters.utils import filesystem_elements
43 @rulespec_registry.register
44 class RulespecCheckgroupParametersEsxVsphereDatastores(CheckParameterRulespecWithItem):
45 @property
46 def group(self):
47 return RulespecGroupCheckParametersStorage
49 @property
50 def check_group_name(self):
51 return "esx_vsphere_datastores"
53 @property
54 def title(self):
55 return _("ESX Datastores (used space and growth)")
57 @property
58 def match_type(self):
59 return "dict"
61 @property
62 def parameter_valuespec(self):
63 return Dictionary(
64 elements=filesystem_elements + [
65 ("provisioning_levels",
66 Tuple(
67 title=_("Provisioning Levels"),
68 help=
69 _("A provisioning of more than 100% is called "
70 "over provisioning and can be a useful strategy for saving disk space. But you cannot guarantee "
71 "any longer that every VM can really use all space that it was assigned. Here you can "
72 "set levels for the maximum provisioning. A warning level of 150% will warn at 50% over provisioning."
74 elements=[
75 Percentage(
76 title=_("Warning at a provisioning of"),
77 maxvalue=None,
78 default_value=120.0),
79 Percentage(
80 title=_("Critical at a provisioning of"),
81 maxvalue=None,
82 default_value=150.0),
84 )),
86 hidden_keys=["flex_levels"],
89 @property
90 def item_spec(self):
91 return TextAscii(
92 title=_("Datastore Name"), help=_("The name of the Datastore"), allow_empty=False)