DMOS-CPU-NOTIFICATIONS-MIB DEFINITIONS ::= BEGIN

IMPORTS
    MODULE-IDENTITY,
    OBJECT-TYPE,
    NOTIFICATION-TYPE,
    Gauge32
        FROM SNMPv2-SMI
    OBJECT-GROUP,
    NOTIFICATION-GROUP
        FROM SNMPv2-CONF
    UnsignedPercent
        FROM DMOS-TC-MIB
    alarmNotifications,
    notificationTime,
    notificationName,
    notificationSourceType,
    notificationSourceValue,
    notificationSeverity,
    notificationInfo,
    notificationAlarmState
        FROM DMOS-NOTIFICATIONS-MIB;

dmosCpuNotificationsMIB MODULE-IDENTITY
    LAST-UPDATED "201610200000Z"
    ORGANIZATION "DATACOM"
    CONTACT-INFO
                 "DATACOM

                 Postal: DATACOM
                     Rua America, 1000
                     Eldorado do Sul, RS
                     CEP 92990-000
                             BRAZIL

                 Tel:+55(51)3933 3000
                 Fax:+55(51)3933 3003

                 E-mail: datacom@datacom.ind.br "
    DESCRIPTION "The CPU notifications designed to be used by notification manager"
    REVISION    "201610200000Z"
    DESCRIPTION "Initial revision"
    ::= { alarmNotifications 0 }

dmosCpuNotificationObjects OBJECT IDENTIFIER ::= { dmosCpuNotificationsMIB 1 }

dmosCpuNotificationThreshold OBJECT-TYPE
    SYNTAX          UnsignedPercent
    UNITS           "%"
    MAX-ACCESS      accessible-for-notify
    STATUS          current
    DESCRIPTION     "CPU alarm threshold percentage."
    ::= { dmosCpuNotificationObjects 1 }

dmosCpuNotificationInterval OBJECT-TYPE
    SYNTAX          Gauge32
    UNITS           "seconds"
    MAX-ACCESS      accessible-for-notify
    STATUS          current
    DESCRIPTION     "Time interval that generated the alarm value."
    ::= { dmosCpuNotificationObjects 2 }

dmosCpuNotificationValue OBJECT-TYPE
    SYNTAX          UnsignedPercent
    UNITS           "%"
    MAX-ACCESS      accessible-for-notify
    STATUS          current
    DESCRIPTION     "CPU load value that generated the alarm."
    ::= { dmosCpuNotificationObjects 3 }

dmosCpuNotificationCoreId OBJECT-TYPE
    SYNTAX          Gauge32
    UNITS           "ID"
    MAX-ACCESS      accessible-for-notify
    STATUS          current
    DESCRIPTION     "Identifier of CPU core that generated the alarm"
    ::= { dmosCpuNotificationObjects 4 }

dmosCpuNotificationGroups OBJECT IDENTIFIER ::= { dmosCpuNotificationsMIB 2 }

dmosCpuAlarmInfoGroup OBJECT-GROUP
    OBJECTS { dmosCpuNotificationThreshold,
              dmosCpuNotificationInterval,
              dmosCpuNotificationCoreId,
              dmosCpuNotificationValue }
    STATUS      current
    DESCRIPTION
        "A set of objects that provides more information about CPU alarms."
    ::= { dmosCpuNotificationGroups 1 }

dmosCpuAlarmTrapsGroup NOTIFICATION-GROUP
    NOTIFICATIONS { cpuLoadHighTrap,
                    cpuCoreHighTrap }
    STATUS      current
    DESCRIPTION
        "Traps generated by CPU alarms."
    ::= { dmosCpuNotificationGroups 2 }

cpuLoadHighTrap NOTIFICATION-TYPE
    OBJECTS {
        notificationTime,
        notificationName,
        notificationSourceType,
        notificationSourceValue,
        notificationSeverity,
        notificationInfo,
        notificationAlarmState,
        dmosCpuNotificationThreshold,
        dmosCpuNotificationInterval,
        dmosCpuNotificationValue
    }
    STATUS current
    DESCRIPTION
        "Alarm trap for high CPU load."
    ::= { dmosCpuNotificationsMIB 3 }

cpuCoreHighTrap NOTIFICATION-TYPE
    OBJECTS {
        notificationTime,
        notificationName,
        notificationSourceType,
        notificationSourceValue,
        notificationSeverity,
        notificationInfo,
        notificationAlarmState,
        dmosCpuNotificationThreshold,
        dmosCpuNotificationInterval,
        dmosCpuNotificationCoreId,
        dmosCpuNotificationValue
    }
    STATUS current
    DESCRIPTION
        "Alarm trap for high CPU core load."
    ::= { dmosCpuNotificationsMIB 4 }

END
