#!/usr/bin/python
# -*- encoding: utf-8; py-indent-offset: 4 -*-
# +------------------------------------------------------------------+
# |             ____ _               _        __  __ _  __           |
# |            / ___| |__   ___  ___| | __   |  \/  | |/ /           |
# |           | |   | '_ \ / _ \/ __| |/ /   | |\/| | ' /            |
# |           | |___| | | |  __/ (__|   <    | |  | | . \            |
# |            \____|_| |_|\___|\___|_|\_\___|_|  |_|_|\_\           |
# |                                                                  |
# | Copyright Mathias Kettner 2016             mk@mathias-kettner.de |
# +------------------------------------------------------------------+
#
# This file is part of Check_MK.
# The official homepage is at http://mathias-kettner.de/check_mk.
#
# check_mk is free software;  you can redistribute it and/or modify it
# under the  terms of the  GNU General Public License  as published by
# the Free Software Foundation in version 2.  check_mk is  distributed
# in the hope that it will be useful, but WITHOUT ANY WARRANTY;  with-
# out even the implied warranty of  MERCHANTABILITY  or  FITNESS FOR A
# PARTICULAR PURPOSE. See the  GNU General Public License for more de-
# tails. You should have  received  a copy of the  GNU  General Public
# License along with GNU Make; see the file  COPYING.  If  not,  write
# to the Free Software Foundation, Inc., 51 Franklin St,  Fifth Floor,
# Boston, MA 02110-1301 USA.


# Example output:
# .1.3.6.1.4.1.2021.100.6.0  '--host=x86_64-unknown-linux-gnu' '--build=x86_64-unknown-linux-gnu' '--target=x86_64-redhat-linux' '--program-prefix=' '--prefix=/usr' '--exec-prefix=/usr' '--bindir=/usr/bin' '--sbindir=/usr/sbin' '--datadir=/usr/share' '--includedir=/usr/include' '--libdir=/usr/lib64' '--libexecdir=/usr/libexec' '--localstatedir=/var' '--sharedstatedir=/var/lib' '--mandir=/usr/share/man' '--infodir=/usr/share/info' '--disable-static' '--enable-shared' '--without-rpm' '--with-cflags=-O2 -g -D_FORTIFY_SOURCE=2' '--with-sys-location=Unknown' '--with-logfile=/var/log/snmpd.log' '--with-persistent-directory=/var/lib/net-snmp' '--with-default-snmp-version=3' '--with-mib-modules=agentx' '--with-libwrap=yes' '--sysconfdir=/etc' '--enable-ipv6' '--enable-ucd-snmp-compatibility' '--disable-embedded-perl' '--enable-as-needed' '--with-perl-modules=INSTALLDIRS=vendor' '--enable-local-smux' '--with-temp-file-pattern=/var/run/net-snmp/snmp-tmp-XXXXXX' '--with-transports=DTLSUDP TLSTCP' '--with-security-modules=tsm' '--with-sys-contact=c

def inv_infoblox_osinfo(info):
    os = info[0][0].split("=")
    for line in os:
        node = inv_tree("software.os.")
        if "linux" in line.lower():
            node["type"] = "Linux"
        if "redhat" in line.lower():
            node["Vendor"] = "RedHat"
        if "x86_64" in line.lower():
            node["arch"] = "x86_64"

inv_info['infoblox_osinfo'] = {
    'inv_function'          : inv_infoblox_osinfo,
    'snmp_info'             : (".1.3.6.1.4.1.2021.100", [
                                    '6.0' # versionConfigureOptions
                              ]),
    'snmp_scan_function'    : lambda oid: oid(".1.3.6.1.4.1.2021.4.1.*") and "infoblox" in oid(".1.3.6.1.2.1.1.1.0").lower(),

}
