Refactoring: Changed all check parameters starting with an 'o' to the new rulespec...
[check_mk.git] / checks / agent_siemens_plc
bloba1eee7e68237f01c43d0b59736d605f5fb8bfdfd
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.
28 def agent_siemens_plc_arguments(params, hostname, ipaddress):
29 args = ''
31 if "timeout" in params:
32 args += ' --timeout %d' % params["timeout"]
34 for device in params["devices"]:
35 dev_args = device["host_name"]
36 dev_args += ";%s" % device["host_address"]
37 dev_args += ";%d" % device["rack"]
38 dev_args += ";%d" % device["slot"]
39 dev_args += ";%d" % device["tcp_port"]
41 for value in params["values"] + device["values"]:
42 v = []
43 for part in value:
44 if isinstance(part, tuple):
45 v.append(':'.join(map(str, part)))
46 else:
47 v.append(str(part))
48 dev_args += ";%s" % ",".join(v)
50 args += " " + quote_shell_string(dev_args)
52 return args
55 special_agent_info['siemens_plc'] = agent_siemens_plc_arguments