TROPIC-SLOT-MIB DEFINITIONS ::= BEGIN

-- (c) Copyright 2019 Nokia Networks.  All rights reserved.
-- This software is the confidential and proprietary property of
-- Nokia and may only be used in accordance with the terms of the
-- license agreement provided with this software.

IMPORTS
      OBJECT-TYPE, MODULE-IDENTITY,
      Unsigned32                              FROM SNMPv2-SMI
      MODULE-COMPLIANCE, OBJECT-GROUP         FROM SNMPv2-CONF
      TEXTUAL-CONVENTION                      FROM SNMPv2-TC
      TropicAdminStateType,
      TropicOperationalStateType,
      TropicOperationalCapabilityType,
      TropicStateQualifierType,
      TropicSlotIndexType,
      TropicResetType                         FROM TROPIC-TC
      tnShelfIndex                            FROM TROPIC-SHELF-MIB
      tnSlotModules, tnSlotMIB,
      tropicEmptyCard                         FROM TROPIC-GLOBAL-REG;

  tnSlotMibModule MODULE-IDENTITY
      LAST-UPDATED    "201901181200Z"
      ORGANIZATION    "Nokia"
      CONTACT-INFO    "Nokia
                       Attn: Jeff Donnelly
                       600 Mountain Avenue
                       New Providence, NJ 07974

                       Phone: +1 732 221 6408
                       Email: jeff.donnelly@nokia.com"

      DESCRIPTION "The slot MIB."

      REVISION    "201901181200Z"
      DESCRIPTION "Added the following to AluWdmSlotSubType:
                   qSubType(8)."

      REVISION    "201901111200Z"
      DESCRIPTION "Added the following to AluWdmSlotSubType:
                   unassigned(9999)."

      REVISION    "201812211200Z"
      DESCRIPTION "Added the following to AluWdmSlotSubType:
                   fSubType(7)."

      REVISION    "201809281200Z"
      DESCRIPTION "Added the following to AluWdmSlotSubType:
                   lSubType(6)."

      REVISION    "201806151200Z"
      DESCRIPTION "Added the following to AluWdmSlotSubType:
                   eSubType(5)."

      REVISION    "201802231200Z"
      DESCRIPTION "Updated the contact info."

      REVISION    "201711241200Z"
      DESCRIPTION "1) Added the following textual convention:
                      AluWdmSlotSubType.
                   2) Added the following to tnSlotTable:
                      tnSlotProgrammedSubType
                      tnSlotPresentSubType."

      REVISION    "201611161200Z"
      DESCRIPTION "Updated the contact info."

      REVISION    "201611071200Z"
      DESCRIPTION "Added the following to tnSlotTable:
                   tnSlotMigrationType."

      REVISION    "201610201200Z"
      DESCRIPTION "Added the following to TropicResetType:
                    forceReset(4)."

      REVISION    "201607121200Z"
      DESCRIPTION "Added the following to tnSlotTable:
                   tnSlotAlmProfName."

      REVISION    "201402261200Z"
      DESCRIPTION "Added DEFVAL to attributes."

      REVISION    "201312061200Z"
      DESCRIPTION "Changed DEFVAL of the following:
                   tnSlotProgrammedType, from '{}' to 'tropicEmptyCard'
                   tnSlotStateQualifier, from 'uas' to '{ uas }'."

      REVISION    "201305211200Z"
      DESCRIPTION "Marked the following as obsolete:
                   tnSlotEvents."

      REVISION    "201012091200Z"
      DESCRIPTION "Marked the following as obsolete:
                   tnSlotCompanyID
                   tnSlotMnemonic
                   tnSlotCLEI
                   tnSlotUnitPartNum
                   tnSlotSWPartNum
                   tnSlotFactoryID
                   tnSlotSerialNum
                   tnSlotDate
                   tnSlotExtraData."

      REVISION    "200906251200Z"
      DESCRIPTION "Added the following to tnSlotResetReason:
                   ecProcessExit(42),
                   eventNvramAccessFailure(43),
                   userCCActivitySwitch(44)."

      REVISION    "200810161200Z"
      DESCRIPTION "Marked the following as deprecated:
                   tnSlotCompanyID
                   tnSlotMnemonic
                   tnSlotCLEI
                   tnSlotUnitPartNum
                   tnSlotSWPartNum
                   tnSlotFactoryID
                   tnSlotSerialNum
                   tnSlotDate
                   tnSlotExtraData."

      REVISION    "200809261200Z"
      DESCRIPTION "Added boardMgrPowerCycle(40) and
                   boardMgrProcessorReset(41) to tnSlotResetReason."

      REVISION    "200807251200Z"
      DESCRIPTION "Marked the remote inventory attributes as
                   to be deleted."

      REVISION    "200803061200Z"
      DESCRIPTION "1) Updated the MIB file description.
                   2) Added remote inventory attributes to MIB."

      ::= { tnSlotModules 1 }

  tnSlotConf        OBJECT IDENTIFIER ::= { tnSlotMIB 1 }
  tnSlotGroups      OBJECT IDENTIFIER ::= { tnSlotConf 1 }
  tnSlotCompliances OBJECT IDENTIFIER ::= { tnSlotConf 2 }
  tnSlotObjs        OBJECT IDENTIFIER ::= { tnSlotMIB 2 }
  tnSlotBasics      OBJECT IDENTIFIER ::= { tnSlotObjs 2 }
--  obsolete
--  tnSlotEvents      OBJECT IDENTIFIER ::= { tnSlotMIB 3 }

--------------------------------------------------------------------------------
-- Type Definitions
--------------------------------------------------------------------------------
    AluWdmSlotSubType ::= TEXTUAL-CONVENTION
        STATUS         current
        DESCRIPTION    "."
        SYNTAX         INTEGER {
                          empty(1),
                          mSubType(2),
                          rSubType(3),
                          hSubType(4),
                          eSubType(5),
                          lSubType(6),
                          fSubType(7),
                          qSubType(8),
                          unassigned(9999)
                       }

--------------------------------------------------------------------------------
-- Generic Slot Table
--------------------------------------------------------------------------------
    tnSlotTable OBJECT-TYPE
        SYNTAX         SEQUENCE OF TnSlotEntry
        MAX-ACCESS     not-accessible
        STATUS         current
        DESCRIPTION    "."
     ::= { tnSlotBasics 1 }

    tnSlotEntry  OBJECT-TYPE
        SYNTAX         TnSlotEntry
        MAX-ACCESS     not-accessible
        STATUS         current
        DESCRIPTION    "."
        INDEX { tnShelfIndex,
                tnSlotIndex }
        ::= { tnSlotTable 1 }

    TnSlotEntry ::=
        SEQUENCE {
            tnSlotIndex                 TropicSlotIndexType,
            tnSlotProgrammedType        OBJECT IDENTIFIER,
            tnSlotPresentType           OBJECT IDENTIFIER,
            tnSlotAdminState            TropicAdminStateType,
            tnSlotOperationalState      TropicOperationalStateType,
            tnSlotOperationalCapability TropicOperationalCapabilityType,
            tnSlotStateQualifier        TropicStateQualifierType,
--            obsolete
--            tnSlotCompanyID             SnmpAdminString,
--            tnSlotMnemonic              SnmpAdminString,
--            tnSlotCLEI                  SnmpAdminString,
--            tnSlotUnitPartNum           SnmpAdminString,
--            tnSlotSWPartNum             SnmpAdminString,
--            tnSlotFactoryID             SnmpAdminString,
--            tnSlotSerialNum             SnmpAdminString,
--            tnSlotDate                  SnmpAdminString,
--            tnSlotExtraData             SnmpAdminString
            tnSlotAlmProfName             OCTET STRING,
            tnSlotMigrationType         OBJECT IDENTIFIER,
            tnSlotProgrammedSubType     AluWdmSlotSubType,
            tnSlotPresentSubType        AluWdmSlotSubType
        }

    tnSlotIndex  OBJECT-TYPE
        SYNTAX         TropicSlotIndexType
        MAX-ACCESS     not-accessible
        STATUS         current
        DESCRIPTION    "."
        ::= { tnSlotEntry 1 }

    tnSlotProgrammedType  OBJECT-TYPE
        SYNTAX         OBJECT IDENTIFIER
        MAX-ACCESS     read-create
        STATUS         current
        DESCRIPTION    "Type of card to be provisioned in the given Slot."
        DEFVAL         { tropicEmptyCard }
        ::= { tnSlotEntry 2 }

    tnSlotPresentType  OBJECT-TYPE
        SYNTAX         OBJECT IDENTIFIER
        MAX-ACCESS     read-only
        STATUS         current
        DESCRIPTION    "Actual card present in the given slot."
        DEFVAL         { tropicEmptyCard }
        ::= { tnSlotEntry 3 }

    tnSlotAdminState OBJECT-TYPE
        SYNTAX         TropicAdminStateType
        MAX-ACCESS     read-create
        STATUS         current
        DESCRIPTION    "."
        DEFVAL         { down }
        ::= { tnSlotEntry 4 }

    tnSlotOperationalState OBJECT-TYPE
        SYNTAX         TropicOperationalStateType
        MAX-ACCESS     read-only
        STATUS         current
        DESCRIPTION    "."
        DEFVAL         { down }
        ::= { tnSlotEntry 5 }

    tnSlotOperationalCapability OBJECT-TYPE
        SYNTAX         TropicOperationalCapabilityType
        MAX-ACCESS     read-only
        STATUS         current
        DESCRIPTION    "."
        DEFVAL         { disabled }
        ::= { tnSlotEntry 6 }

    tnSlotStateQualifier OBJECT-TYPE
        SYNTAX         TropicStateQualifierType
        MAX-ACCESS     read-only
        STATUS         current
        DESCRIPTION    "."
        DEFVAL         { { uas } }
        ::= { tnSlotEntry 7 }

--    obsolete
--    tnSlotCompanyID OBJECT-TYPE ::= { tnSlotEntry 8 }
--    tnSlotMnemonic OBJECT-TYPE ::= { tnSlotEntry 9 }
--    tnSlotCLEI OBJECT-TYPE ::= { tnSlotEntry 10 }
--    tnSlotUnitPartNum OBJECT-TYPE ::= { tnSlotEntry 11 }
--    tnSlotSWPartNum OBJECT-TYPE ::= { tnSlotEntry 12 }
--    tnSlotFactoryID OBJECT-TYPE ::= { tnSlotEntry 13 }
--    tnSlotSerialNum OBJECT-TYPE ::= { tnSlotEntry 14 }
--    tnSlotDate OBJECT-TYPE ::= { tnSlotEntry 15 }
--    tnSlotExtraData OBJECT-TYPE ::= { tnSlotEntry 16 }

    tnSlotAlmProfName OBJECT-TYPE
        SYNTAX         OCTET STRING (SIZE(1..40))
        MAX-ACCESS     read-create
        STATUS         current
        DESCRIPTION    "."
        ::= { tnSlotEntry 17 }

    tnSlotMigrationType OBJECT-TYPE
        SYNTAX         OBJECT IDENTIFIER
        MAX-ACCESS     read-create
        STATUS         current
        DESCRIPTION    "Replacement CardType for current existing card in the Slot."
        DEFVAL         { tropicEmptyCard }
        ::= { tnSlotEntry 18 }

    tnSlotProgrammedSubType OBJECT-TYPE
        SYNTAX         AluWdmSlotSubType
        MAX-ACCESS     read-create
        STATUS         current
        DESCRIPTION    "SubType of card to be provisioned in the given Slot."
        DEFVAL         { mSubType }
        ::= { tnSlotEntry 19 }


    tnSlotPresentSubType OBJECT-TYPE
        SYNTAX         AluWdmSlotSubType
        MAX-ACCESS     read-create
        STATUS         current
        DESCRIPTION    "SubType of card present in the given slot."
        DEFVAL         { mSubType }
        ::= { tnSlotEntry 20 }

--------------------------------------------------------------------------------
-- Slot Reset Table
--------------------------------------------------------------------------------
    tnSlotResetTable OBJECT-TYPE
        SYNTAX         SEQUENCE OF TnSlotResetEntry
        MAX-ACCESS     not-accessible
        STATUS         current
        DESCRIPTION    "."
        ::= { tnSlotBasics 2 }

    tnSlotResetEntry  OBJECT-TYPE
        SYNTAX         TnSlotResetEntry
        MAX-ACCESS     not-accessible
        STATUS         current
        DESCRIPTION    "."
        INDEX { tnShelfIndex,
                tnSlotIndex }
        ::= { tnSlotResetTable 1 }

    TnSlotResetEntry ::= SEQUENCE {
        tnSlotReset       TropicResetType,
        tnSlotResetReason INTEGER,
        tnSlotResetTime   Unsigned32
    }

    tnSlotReset OBJECT-TYPE
        SYNTAX         TropicResetType
        MAX-ACCESS     read-create
        STATUS         current
        DESCRIPTION    "."
        DEFVAL         { noCmd }
        ::= { tnSlotResetEntry 1 }

    tnSlotResetReason OBJECT-TYPE
        SYNTAX         INTEGER {
                         unknown(0),
                         powerReset(1),
                         userReset(2),
                         ccActivitySwitch(3),
                         softwareTrap(4),
                         watchdog(5),
                         alarmPanelStartupError(6),
                         softwareStartupError(7),
                         cardCommsError(8),
                         softwareAssert(9),
                         subcomponentSoftwareBadCrc(10),
                         databaseError(11),
                         seepError(12),
                         subcomponentReset(13),
                         warmReset(14),
                         coldReset(15),
                         userBootReset(16),
                         ntpNotResponding(17),
                         cardTookNewShelfSerialNumber(18),
                         subcomponentStartupError(19),
                         inBootJumperSet(20),
                         inBootSeep(21),
                         inBootBank0Corrupt(22),
                         inBootBank1Corrupt(23),
                         inBootAppLoadCorrupt(24),
                         inBootCrashCountExceeded(25),
                         subcomponentWatchdog(26),
                         criticalDatabaseStartupError(27),
                         redundancyError(28),
                         controlNetworkError(29),
                         shelfSerialNumberChanged(30),
                         swlDiskTransferFailure(31),
                         bitSyncCommsFailure(32),
                         diskReformatted(33),
                         diskMissing(34),
                         diskIoError(35),
                         cpuStarvation(36),
                         uiStarvation(37),
                         sonetSdhModeMismatch(38),
                         universalCardTypeMismatch(39),
                         boardMgrPowerCycle(40),
                         boardMgrProcessorReset(41),
                         ecProcessExit(42),
                         eventNvramAccessFailure(43),
                         userCCActivitySwitch(44)
                       }
        MAX-ACCESS     read-only
        STATUS         current
        DESCRIPTION    "."
        ::= { tnSlotResetEntry 2 }

    tnSlotResetTime OBJECT-TYPE
        SYNTAX         Unsigned32
        MAX-ACCESS     read-only
        STATUS         current
        DESCRIPTION    "The last reset time measured in total time ticks
                        (seconds) from the year 1970.  This is not
                        supported on fan controllers."
        DEFVAL         { 0 }
        ::= { tnSlotResetEntry 3 }

--------------------------------------------------------------------------------
-- Conformance Group Definitions
--------------------------------------------------------------------------------
    tnSlotGroup  OBJECT-GROUP
        OBJECTS {
            tnSlotProgrammedType,
            tnSlotPresentType,
            tnSlotAdminState,
            tnSlotOperationalState,
            tnSlotOperationalCapability,
            tnSlotStateQualifier,
--            obsolete
--            tnSlotCompanyID,
--            tnSlotMnemonic,
--            tnSlotCLEI,
--            tnSlotUnitPartNum,
--            tnSlotSWPartNum,
--            tnSlotFactoryID,
--            tnSlotSerialNum,
--            tnSlotDate,
--            tnSlotExtraData
            tnSlotAlmProfName,
            tnSlotMigrationType,
            tnSlotProgrammedSubType,
            tnSlotPresentSubType
        }
        STATUS         current
        DESCRIPTION    "."
        ::= { tnSlotGroups 1 }

    tnSlotResetGroup  OBJECT-GROUP
        OBJECTS {
            tnSlotReset,
            tnSlotResetReason,
            tnSlotResetTime
        }
        STATUS         current
        DESCRIPTION    "."
        ::= { tnSlotGroups 2 }

--------------------------------------------------------------------------------
-- Compliance Statements (mandatory)
--------------------------------------------------------------------------------
    tnSlotCompliance MODULE-COMPLIANCE
        STATUS         current
        DESCRIPTION    "."
        MODULE
        MANDATORY-GROUPS  {
            tnSlotGroup,
            tnSlotResetGroup
        }
        ::= { tnSlotCompliances 1 }

END -- DEFINITION OF TROPIC-SLOT-MIB
