-- *****************************************************************
-- SYSLOG-MIB:  Cisco private MIB
-- ****************************************************************

CIE1000-SYSLOG-MIB DEFINITIONS ::= BEGIN

IMPORTS
    NOTIFICATION-GROUP, MODULE-COMPLIANCE, OBJECT-GROUP FROM SNMPv2-CONF
    NOTIFICATION-TYPE, MODULE-IDENTITY, OBJECT-TYPE FROM SNMPv2-SMI
    TEXTUAL-CONVENTION FROM SNMPv2-TC
    cie1000SwitchMgmt FROM CISCO-IE1000-MIB
    CIE1000DisplayString FROM CIE1000-TC
    CIE1000InetAddress FROM CIE1000-TC
    Integer32 FROM SNMPv2-SMI
    DateAndTime FROM SNMPv2-TC
    TruthValue FROM SNMPv2-TC
    ;

cie1000SyslogMib MODULE-IDENTITY
    LAST-UPDATED "201407010000Z"
    ORGANIZATION
        "Cisco Systems, Inc."
    CONTACT-INFO
        "Cisco Systems
	 Customer Service

	 Postal: 170 West Tasman Drive
	 San Jose, CA  95134
	 USA

	 Tel: +1 800 553-NETS

	 E-mail: cs-snmp@cisco.com"
    DESCRIPTION
        "This is a private MIB for Syslog"
    REVISION    "201407010000Z"
    DESCRIPTION
        "Initial version"
    ::= { cie1000SwitchMgmt 37 }


CIE1000SyslogLevelType ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION
        "The syslog severity level."
    SYNTAX      INTEGER { critical(2), error(3), warning(4),
                          notice(5), informational(6), all(8) }

cie1000SyslogMibObjects OBJECT IDENTIFIER
    ::= { cie1000SyslogMib 1 }

cie1000SyslogConfig OBJECT IDENTIFIER
    ::= { cie1000SyslogMibObjects 2 }

cie1000SyslogConfigServer OBJECT IDENTIFIER
    ::= { cie1000SyslogConfig 1 }

cie1000SyslogConfigServerMode OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Indicates the syslog server mode operation. When the mode operation is
         enabled, the syslog message will send out to syslog server."
    ::= { cie1000SyslogConfigServer 1 }

cie1000SyslogConfigServerAddress OBJECT-TYPE
    SYNTAX      CIE1000InetAddress
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The domain name of syslog server."
    ::= { cie1000SyslogConfigServer 2 }

cie1000SyslogConfigServerLevel OBJECT-TYPE
    SYNTAX      CIE1000SyslogLevelType
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Indicates what level of message will send to syslog server. For
         example, the error level will send the specific messages which severity
         code is less or equal than error(3), the warning level will send the
         specific messages which severity code is less or equal than warning(4),
         the notice level will send the specific messages which severity code is
         less or equal than notice(5), the informational level will send the
         specific messages which severity code is less or equal than
         informational(6) and the enumeration option of all(8) isn't used in
         this case."
    ::= { cie1000SyslogConfigServer 3 }

cie1000SyslogStatus OBJECT IDENTIFIER
    ::= { cie1000SyslogMibObjects 3 }

cie1000SyslogStatusHistoryTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF CIE1000SyslogStatusHistoryEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The syslog history table."
    ::= { cie1000SyslogStatus 1 }

cie1000SyslogStatusHistoryEntry OBJECT-TYPE
    SYNTAX      CIE1000SyslogStatusHistoryEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Each row contains a set of parameters."
    INDEX       { cie1000SyslogStatusHistorySwitchId,
                  cie1000SyslogStatusHistoryMsgId }
    ::= { cie1000SyslogStatusHistoryTable 1 }

CIE1000SyslogStatusHistoryEntry ::= SEQUENCE {
    cie1000SyslogStatusHistorySwitchId      Integer32,
    cie1000SyslogStatusHistoryMsgId         Integer32,
    cie1000SyslogStatusHistoryMsgLevel      CIE1000SyslogLevelType,
    cie1000SyslogStatusHistoryMsgTimeStamp  DateAndTime,
    cie1000SyslogStatusHistoryMsgText       CIE1000DisplayString
}

cie1000SyslogStatusHistorySwitchId OBJECT-TYPE
    SYNTAX      Integer32 (0..2147483647)
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
        "The identification of switch. For non-stackable switch, the valid value
         is limited to 1. "
    ::= { cie1000SyslogStatusHistoryEntry 1 }

cie1000SyslogStatusHistoryMsgId OBJECT-TYPE
    SYNTAX      Integer32 (0..2147483647)
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
        "The identification of Syslog message."
    ::= { cie1000SyslogStatusHistoryEntry 2 }

cie1000SyslogStatusHistoryMsgLevel OBJECT-TYPE
    SYNTAX      CIE1000SyslogLevelType
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The severity level of the system log message. Note that enumeration
         option of all(8) isn't used in this case."
    ::= { cie1000SyslogStatusHistoryEntry 3 }

cie1000SyslogStatusHistoryMsgTimeStamp OBJECT-TYPE
    SYNTAX      DateAndTime
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of sysUpTime when this message was generated."
    ::= { cie1000SyslogStatusHistoryEntry 4 }

cie1000SyslogStatusHistoryMsgText OBJECT-TYPE
    SYNTAX      CIE1000DisplayString (SIZE(0..4000))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The detailed context of the system log message."
    ::= { cie1000SyslogStatusHistoryEntry 5 }

cie1000SyslogControl OBJECT IDENTIFIER
    ::= { cie1000SyslogMibObjects 4 }

cie1000SyslogControlHistoryTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF CIE1000SyslogControlHistoryEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The syslog history clear table."
    ::= { cie1000SyslogControl 1 }

cie1000SyslogControlHistoryEntry OBJECT-TYPE
    SYNTAX      CIE1000SyslogControlHistoryEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Each row contains a set of parameters."
    INDEX       { cie1000SyslogControlHistorySwitchId,
                  cie1000SyslogControlHistoryClearLevel }
    ::= { cie1000SyslogControlHistoryTable 1 }

CIE1000SyslogControlHistoryEntry ::= SEQUENCE {
    cie1000SyslogControlHistorySwitchId    Integer32,
    cie1000SyslogControlHistoryClearLevel  CIE1000SyslogLevelType,
    cie1000SyslogControlHistoryClear       TruthValue
}

cie1000SyslogControlHistorySwitchId OBJECT-TYPE
    SYNTAX      Integer32 (0..2147483647)
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
        "The identification of switch. For non-stackable switch, the valid value
         is limited to 1. For stackable switch, value 0 means the action is
         applied to all switches."
    ::= { cie1000SyslogControlHistoryEntry 1 }

cie1000SyslogControlHistoryClearLevel OBJECT-TYPE
    SYNTAX      CIE1000SyslogLevelType
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
        "Indicates which level of message want to clear."
    ::= { cie1000SyslogControlHistoryEntry 2 }

cie1000SyslogControlHistoryClear OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Clear syslog history by setting to true."
    ::= { cie1000SyslogControlHistoryEntry 3 }

cie1000SyslogMibConformance OBJECT IDENTIFIER
    ::= { cie1000SyslogMib 2 }

cie1000SyslogMibCompliances OBJECT IDENTIFIER
    ::= { cie1000SyslogMibConformance 1 }

cie1000SyslogMibGroups OBJECT IDENTIFIER
    ::= { cie1000SyslogMibConformance 2 }

cie1000SyslogConfigServerInfoGroup OBJECT-GROUP
    OBJECTS     { cie1000SyslogConfigServerMode,
                  cie1000SyslogConfigServerAddress,
                  cie1000SyslogConfigServerLevel }
    STATUS      current
    DESCRIPTION
        "A collection of objects."
    ::= { cie1000SyslogMibGroups 1 }

cie1000SyslogStatusHistoryTableInfoGroup OBJECT-GROUP
    OBJECTS     { cie1000SyslogStatusHistorySwitchId,
                  cie1000SyslogStatusHistoryMsgId,
                  cie1000SyslogStatusHistoryMsgLevel,
                  cie1000SyslogStatusHistoryMsgTimeStamp,
                  cie1000SyslogStatusHistoryMsgText }
    STATUS      current
    DESCRIPTION
        "A collection of objects."
    ::= { cie1000SyslogMibGroups 2 }

cie1000SyslogControlHistoryTableInfoGroup OBJECT-GROUP
    OBJECTS     { cie1000SyslogControlHistorySwitchId,
                  cie1000SyslogControlHistoryClearLevel,
                  cie1000SyslogControlHistoryClear }
    STATUS      current
    DESCRIPTION
        "A collection of objects."
    ::= { cie1000SyslogMibGroups 3 }

cie1000SyslogMibCompliance MODULE-COMPLIANCE
    STATUS      current
    DESCRIPTION
        "The compliance statement for the implementation."

    MODULE      -- this module

    MANDATORY-GROUPS { cie1000SyslogConfigServerInfoGroup,
                       cie1000SyslogStatusHistoryTableInfoGroup,
                       cie1000SyslogControlHistoryTableInfoGroup }

    ::= { cie1000SyslogMibCompliances 1 }

END
