F5-ALERT-DEF-MIB DEFINITIONS ::= BEGIN

IMPORTS
    MODULE-IDENTITY, OBJECT-TYPE
        FROM SNMPv2-SMI
    TEXTUAL-CONVENTION, DisplayString
        FROM SNMPv2-TC
    OBJECT-GROUP, MODULE-COMPLIANCE
        FROM SNMPv2-CONF
    platform, f5Compliance
        FROM F5-COMMON-SMI-MIB
    ;

f5Alerts MODULE-IDENTITY
    LAST-UPDATED "201908010941Z"
    ORGANIZATION "F5 Networks, Inc."
    CONTACT-INFO
         "postal: F5 Networks, Inc.
                  801 5th Ave
                  Seattle,  WA 98104
          phone:  (206) 272-5555
          email:  support@f5.com"

    DESCRIPTION
        "Top-level infrastructure of the F5 Networks enterprise Alert MIB tree."

    REVISION      "201908010941Z"
    DESCRIPTION
        "F5 Alert Common MIB definitions."


    ::= { platform 1 }

--=====================================================================--
-- Local Textual Conventions
--=====================================================================--
F5Severity ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION
        "The severity of the alerts."
    SYNTAX      INTEGER{
        emergency     (0),     -- system is unusable
        alert         (1),     -- action must be taken immediately
        critical      (2),     -- critical conditions
        error         (3),     -- error conditions
        warning       (4),     -- Warning conditions
        notice        (5),     -- normal but significant condition
        info          (6),     -- informational
        debug         (7),     -- debug-level messages
        na            (8)      -- Severity is not-applicable for cleared alerts
    }

F5CondEffect ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION
        "The effect of the condition."
    SYNTAX      INTEGER{
        clear      (0),         -- Condition is Cleared
        assert     (1),         -- Condition is Asserted
        event      (2),         -- Condition is Event
        other      (9999)       -- Other
    }

--=====================================================================--
-- Base Level Objects
--=====================================================================--
f5AlertObjects     OBJECT IDENTIFIER ::= { f5Alerts 0 }

f5AlertNotificationObject OBJECT IDENTIFIER ::= { f5AlertObjects 1 }
f5AlertNotificationObjectGroup OBJECT IDENTIFIER ::= { f5AlertObjects 2 }

f5AlertNotificationGroup OBJECT IDENTIFIER ::= { f5AlertObjects 3 }

alertSource OBJECT-TYPE
    SYNTAX      DisplayString (SIZE (0..255))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The source/facility generating this trap."
    ::= { f5AlertNotificationObject 1 }

alertEffect OBJECT-TYPE
    SYNTAX      F5CondEffect
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The effect of the alert, whether it is raising or clearing."
    ::= { f5AlertNotificationObject 2 }

alertSeverity OBJECT-TYPE
    SYNTAX      F5Severity
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The severity of the alarm."
    ::= { f5AlertNotificationObject 3 }

alertTimeStamp OBJECT-TYPE
    SYNTAX      DisplayString(SIZE(0..80))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "This object specifies the date and time the Trap was generated."
    ::= { f5AlertNotificationObject 4 }

alertDescription OBJECT-TYPE
    SYNTAX      DisplayString(SIZE(0..1024))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The alarm Trap description."
    ::= { f5AlertNotificationObject 5 }

alertGroup OBJECT-GROUP
    OBJECTS { alertSource,
              alertEffect,
              alertSeverity,
              alertTimeStamp,
              alertDescription
    }
    -- MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "This is a generic Trap for reporting alerts."
    ::= { f5AlertNotificationObjectGroup 1 }

-- =====================================
-- Compliance
--======================================
f5AlertGroupCompliance MODULE-COMPLIANCE
    STATUS      current
    DESCRIPTION
        "This specifies the objects that are required to claim
         compliance to F5 Alert Notifications."
    MODULE
       MANDATORY-GROUPS { 
         alertGroup
       }
    ::= { f5Compliance 1 }

END
