-- *****************************************************************
-- CACTI-SNMPAGENT-MIB
--
-- NOV 2013, Andreas Braun (aka browniebraun)
--
-- Copyright (c) 2004-2023 by The Cacti Group
-- All rights reserved.
--
-- *****************************************************************

CACTI-SNMPAGENT-MIB DEFINITIONS ::= BEGIN

IMPORTS
    OBJECT-TYPE,
    MODULE-IDENTITY,
    OBJECT-IDENTITY,
    NOTIFICATION-TYPE,
    Integer32,
    Unsigned32
        FROM SNMPv2-SMI

    OBJECT-GROUP,
    NOTIFICATION-GROUP
        FROM SNMPv2-CONF

    TEXTUAL-CONVENTION,
    DisplayString
        FROM SNMPv2-TC

    cactiPlugins
        FROM CACTI-MIB
;

snmpagent MODULE-IDENTITY
    LAST-UPDATED    "201311160000Z"
    ORGANIZATION    "The Cacti Group"
    CONTACT-INFO
            "The Cacti Group

            E-mail: developers@cacti.net"
    DESCRIPTION
        "Initial version of this MIB module."
    REVISION        "201311160000Z"
    DESCRIPTION
        "Initial version of this MIB module."
    ::= { cactiPlugins 4 }    -- assigned by the Cacti Group

--
-- TEXTUAL CONVENTIONS
--

-- placeholder for textual conventions


--
-- SNMPAGENT APPLICATION DATA
--
snmpagentAppl OBJECT-IDENTITY
    STATUS          current
    DESCRIPTION
        "reserved for statistics"
    ::= { snmpagent 1 }


--
-- Global SNMPAgent Monitoring Variables
--
snmpagentApplLastUpdate OBJECT-TYPE
    SYNTAX          Unsigned32
    UNITS           "seconds"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "Unix timestamp when this data has been updated for the last time."
    ::= { snmpagentAppl 1 }

--
-- SNMPAGENT STATISTICS
--
snmpagentStats OBJECT-IDENTITY
    STATUS          current
    DESCRIPTION
        "reserved for statistics"
    ::= { snmpagent 2 }

--
-- Global Cacti Stats Variables
--
snmpagentStatsLastUpdate OBJECT-TYPE
    SYNTAX          Unsigned32
    UNITS           "seconds"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "Unix timestamp when this data has been updated for the last time."
    ::= { snmpagentStats 1 }

--
-- SNMPAGENT Events
--
snmpagentEvents OBJECT-IDENTITY
    STATUS          current
    DESCRIPTION
        "reserved for events"
    ::= { snmpagent 3 }

snmpagentEventAttributes OBJECT-IDENTITY
    STATUS          current
    DESCRIPTION
        "reserved for event attributes, used as varbind for the SNMP notifications"
    ::= { snmpagentEvents 1 }

snmpagentEventDescription OBJECT-TYPE
    SYNTAX          DisplayString (SIZE(1..1000))
    MAX-ACCESS      accessible-for-notify
    STATUS          current
    DESCRIPTION
        "Contains a customized event description."
    DEFVAL { "This is a test notification generated by the CACTI-SNMPAgent." }
    ::= { snmpagentEventAttributes 1 }

snmpagentEventNotifications OBJECT-IDENTITY
    STATUS          current
    DESCRIPTION
        "reserved for event notifications"
    ::= { snmpagentEvents 2 }

snmpagentNotificationTest NOTIFICATION-TYPE
    OBJECTS {
        snmpagentEventDescription
    }
    STATUS  current
    DESCRIPTION
        "This SNMP notification will only include varbind snmpagentEventDescription
		and can be used to verify the configuration of SNMP managers."
    ::= { snmpagentEventNotifications 1 }

--
-- SNMPAGENT MIB Groups
--
snmpagentMibGroups OBJECT-IDENTITY
    STATUS          current
    DESCRIPTION
        "reserved for group definitions"
    ::= { snmpagent 4 }

snmpagentEventGroup OBJECT-GROUP
    OBJECTS {
        snmpagentEventDescription
    }
    STATUS          current
    DESCRIPTION
        "A collection of objects providing the SNMPAgent event
         attributes."
    ::= { snmpagentMibGroups 1 }

snmpagentNotifyGroup NOTIFICATION-GROUP
    NOTIFICATIONS {
        snmpagentNotificationTest
    }
    STATUS          current
    DESCRIPTION
        "The group of notifications SNMPAgent offers."
    ::= { snmpagentMibGroups 2 }

END
