#!/usr/bin/env python3
# -*- coding: utf-8 -*-
# Copyright (C) 2019 tribe29 GmbH - License: GNU General Public License v2
# This file is part of Checkmk (https://checkmk.com). It is subject to the terms and
# conditions defined in the file COPYING, which is part of this source code package.


def inventory_enterasys_lsnat(info):
    return [(None, {})]


def check_enterasys_lsnat(no_item, params, info):
    if not info:
        return 3, "LSNAT bindings info is missing"

    lsnat_bindings = saveint(info[0][0])
    warn, crit = params.get("current_bindings", (None, None))

    state = 0
    state_info = ""
    if warn:
        if lsnat_bindings > crit:
            state = 2
            state_info = state_markers[state]
        elif lsnat_bindings > warn:
            state = 1
            state_info = state_markers[state]

    perfdata = [("current_bindings", lsnat_bindings, warn, crit)]

    return state, "Current bindings %d%s" % (lsnat_bindings, state_info), perfdata


check_info["enterasys_lsnat"] = {
    "check_function": check_enterasys_lsnat,
    "inventory_function": inventory_enterasys_lsnat,
    "service_description": "LSNAT Bindings",
    "group": "lsnat",
    "has_perfdata": True,
    "snmp_info": (".1.3.6.1.4.1.5624.1.2.74.1.1.5", ["0"]),
    "snmp_scan_function": lambda oid: oid(".1.3.6.1.2.1.1.2.0").startswith(".1.3.6.1.4.1.5624.2.1")
    and oid(".1.3.6.1.4.1.5624.1.2.74.1.1.5.0"),
}
