-- *******************************************************************
-- Juniper enterprise specific jsysmon MIB.
--
-- Copyright (c) 2019-2020, Juniper Networks, Inc.
-- All rights reserved.
--
-- The contents of this document are subject to change without notice.
-- *******************************************************************

JUNIPER-JSYSMON-MIB DEFINITIONS ::= BEGIN

IMPORTS
    MODULE-IDENTITY, OBJECT-IDENTITY, OBJECT-TYPE,
    NOTIFICATION-TYPE, Unsigned32
        FROM SNMPv2-SMI
    DisplayString, DateAndTime, TEXTUAL-CONVENTION
        FROM SNMPv2-TC
    jnxjSysmonMibRoot, jnxjSysmonNotifications
        FROM JUNIPER-SMI;

jnxjSysmon MODULE-IDENTITY
    LAST-UPDATED "201910230924Z" --  Wed 23 09:24:00 2019 UTC
    ORGANIZATION "Juniper Networks, Inc."
    CONTACT-INFO
            "Juniper Technical Assistance Center
             Juniper Networks, Inc.
             1133 Innovation Way
             Sunnyvale, CA 94089
             E-mail: support@juniper.net"

    DESCRIPTION
            "This is Juniper Networks implementation of enterprise
             specific MIB for jsysmons generated by JUNOS."
    -- revision history
    REVISION      "201910230924Z"
    DESCRIPTION   "Creation Date"
    ::= { jnxjSysmonMibRoot 1 }

--
-- jSysmon Notification objects
--

    jnxjSysmonNotifyVars OBJECT-IDENTITY
        STATUS current
        DESCRIPTION
            "Notification object definitions."
        ::= { jnxjSysmon 1 }

    jnxjSysmonTable OBJECT-TYPE
      SYNTAX      SEQUENCE OF JnxjSysmonEntry
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
            "A table of jsysmon messages generated by the device."
      ::= { jnxjSysmonNotifyVars 1 }

    jnxjSysmonEntry    OBJECT-TYPE
      SYNTAX      JnxjSysmonEntry
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
            "An entry of jsysmon table."
      INDEX     { jnxjSysmonId }
      ::= { jnxjSysmonTable 1 }

    JnxjSysmonEntry ::=
        SEQUENCE {
          jnxjSysmonId             Unsigned32,
          jnxjSysmonEventType      DisplayString,
          jnxjSysmonTimestamp      DateAndTime,
          jnxjSysmonEventName      DisplayString,
          jnxjSysmonResource       DisplayString,
          jnxjSysmonMessage        OCTET STRING
        }

    jnxjSysmonId OBJECT-TYPE
        SYNTAX      Unsigned32
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "jsysmon message identifier."
        ::= { jnxjSysmonEntry 1 }

    jnxjSysmonEventType OBJECT-TYPE
        SYNTAX      DisplayString
        MAX-ACCESS  accessible-for-notify
        STATUS      current
        DESCRIPTION
            "An octet string containing jsysmon event name."
        ::= { jnxjSysmonEntry 2 }

    jnxjSysmonTimestamp OBJECT-TYPE
        SYNTAX      DateAndTime
        MAX-ACCESS  accessible-for-notify
        STATUS      current
        DESCRIPTION
            "Date and Time of jsysmon message generation."
        ::= { jnxjSysmonEntry 3 }

    jnxjSysmonEventName OBJECT-TYPE
        SYNTAX      DisplayString
        MAX-ACCESS  accessible-for-notify
        STATUS      current
        DESCRIPTION
            "An octet string containing jsysmon event name."
        ::= { jnxjSysmonEntry 5 }

    jnxjSysmonResource OBJECT-TYPE
        SYNTAX      DisplayString
        MAX-ACCESS  accessible-for-notify
        STATUS      current
        DESCRIPTION
            "An octet string containing jsysmon resource name being monitored."
        ::= { jnxjSysmonEntry 6 }

    jnxjSysmonMessage OBJECT-TYPE
        SYNTAX      OCTET STRING
        MAX-ACCESS  accessible-for-notify
        STATUS      current
        DESCRIPTION
            "The jsysmon message string."
        ::= { jnxjSysmonEntry 7 }
--
-- jSysmon Notification Definitions
--

    jnxjSysmonNotificationPrefix OBJECT-IDENTITY
        STATUS current
        DESCRIPTION
            "All jsysmon notifications are registered under
             this branch."
        ::= { jnxjSysmonNotifications 0 }

    jnxjSysmonTrap NOTIFICATION-TYPE
        OBJECTS { jnxjSysmonEventType, jnxjSysmonTimestamp,
                  jnxjSysmonEventName,
                  jnxjSysmonResource, jnxjSysmonMessage
                }
        STATUS  current
        DESCRIPTION
            "Notification of a generated jsysmon message. Apart from
             the jnxjSysmonTrap objects, this notification can include
             one or more attribute-value pairs."
        ::= { jnxjSysmonNotificationPrefix 1 }

END

