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

    JUNIPER-CHASSIS-HA-RESWATCH-MIB DEFINITIONS ::= BEGIN

    IMPORTS
        Counter32, Counter64, IpAddress, Integer32,
        NOTIFICATION-TYPE, MODULE-IDENTITY,
        OBJECT-TYPE
            FROM SNMPv2-SMI

        TEXTUAL-CONVENTION, DisplayString
            FROM SNMPv2-TC

        jnxJsReswatchHA 
            FROM JUNIPER-JS-SMI;


    jnxJsReswatchHAMIB  MODULE-IDENTITY
        LAST-UPDATED  "202005110000Z"
        ORGANIZATION  "Juniper Networks, Inc."
        CONTACT-INFO
            "Juniper Technical Assistance Center
             Juniper Networks, Inc.
             1133 Innovation Way
             Sunnyvale, CA 94089

             E-mail: support@juniper.net
             HTTP://www.juniper.net"
        DESCRIPTION
             "Reswatchd is a background process running on Routing 
             Engine to monitor Routing Engine CPU load and Junos 
             Kernel usage.  It sends a notification to users when 
             Routing Engine CPU load is below set threshold."

        REVISION      "202005110000Z"
        DESCRIPTION   "Creation Date"
    ::= { jnxJsReswatchHA 1 }


    jnxJsReswatchHANotifications OBJECT IDENTIFIER ::=
                                     { jnxJsReswatchHAMIB 0 }
    jnxJsReswatchHATrapObjects   OBJECT IDENTIFIER ::=
                                     { jnxJsReswatchHAMIB 1 }
    -- ******************************************************************
    -- definition of Chassis High Availability related traps and objects.
    -- ******************************************************************

    jnxJsChHACpuBusy NOTIFICATION-TYPE
        OBJECTS { jnxJsChHACpuBusyInfoIdlePercent,
                  jnxJsChHACpuBusyInfoProc0,
                  jnxJsChHACpuBusyInfoProc1,
                  jnxJsChHACpuBusyInfoProc2,
                  jnxJsChHACpuBusyInfoReason }
        STATUS              current
        DESCRIPTION
            "Notification to RE CPU busy."
        ::= { jnxJsReswatchHANotifications 1 }

    -- ***************************************************************
    -- definition of a trap that notifies changes in HA
    -- peer link status.
    -- ***************************************************************

    jnxJsChHAJklBusy  NOTIFICATION-TYPE
        OBJECTS { jnxJsChHAJklBusyInfoLoadPercent,
                  jnxJsChHAJklBusyInfoReason }
        STATUS              current
        DESCRIPTION
            "Notification to Junos Kernel busy."
        ::= { jnxJsReswatchHANotifications 2 }


    -- ***************************************************************
    -- define OBJECTS type
    -- ***************************************************************
    jnxJsChHACpuBusyInfoIdlePercent OBJECT-TYPE

        SYNTAX      DisplayString
        MAX-ACCESS  accessible-for-notify
        STATUS      current
        DESCRIPTION
            "This object contains CPU idle Percent."
        ::= { jnxJsReswatchHATrapObjects 1 }

    jnxJsChHACpuBusyInfoProc0 OBJECT-TYPE
        SYNTAX      DisplayString
        MAX-ACCESS  accessible-for-notify
        STATUS      current
        DESCRIPTION
            "This object contains 1st Porcess consuming CPU."
        ::= { jnxJsReswatchHATrapObjects 2 }

    jnxJsChHACpuBusyInfoProc1 OBJECT-TYPE
        SYNTAX      DisplayString
        MAX-ACCESS  accessible-for-notify
        STATUS      current
        DESCRIPTION
            "This object contains 2nd Porcess consuming CPU."
        ::= { jnxJsReswatchHATrapObjects 3 }

    jnxJsChHACpuBusyInfoProc2 OBJECT-TYPE
        SYNTAX      DisplayString
        MAX-ACCESS  accessible-for-notify
        STATUS      current
        DESCRIPTION
            "This object contains 3rd Porcess consuming CPU."
        ::= { jnxJsReswatchHATrapObjects 4 }

    jnxJsChHACpuBusyInfoReason OBJECT-TYPE
        SYNTAX      DisplayString
        MAX-ACCESS  accessible-for-notify
        STATUS      current
        DESCRIPTION
            "This object contains RE CPU busy reason."
        ::= { jnxJsReswatchHATrapObjects 5 } 
 
     jnxJsChHAJklBusyInfoLoadPercent OBJECT-TYPE
        SYNTAX      DisplayString
        MAX-ACCESS  accessible-for-notify
        STATUS      current
        DESCRIPTION
            "This object contains Junos Kernel load."
        ::= { jnxJsReswatchHATrapObjects 6 }

    jnxJsChHAJklBusyInfoReason OBJECT-TYPE
        SYNTAX      DisplayString
        MAX-ACCESS  accessible-for-notify
        STATUS      current
        DESCRIPTION
            "This object contains Junos Kernel busy reason."
        ::= { jnxJsReswatchHATrapObjects 7 }
END
