-- *****************************************************************
-- SYSUTIL-MIB:  Cisco private MIB
-- ****************************************************************

CIE1000-SYSUTIL-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
    CIE1000InterfaceIndex FROM CIE1000-TC
    Integer32 FROM SNMPv2-SMI
    Unsigned32 FROM SNMPv2-SMI
    MacAddress FROM SNMPv2-TC
    TruthValue FROM SNMPv2-TC
    ;

cie1000SysutilMib MODULE-IDENTITY
    LAST-UPDATED "201602250000Z"
    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 version of SysUtil"
    REVISION    "201602250000Z"
    DESCRIPTION
        "Add LED status"
    REVISION    "201602170000Z"
    DESCRIPTION
        "Add system temperature monitor"
    REVISION    "201602150000Z"
    DESCRIPTION
        "Add board serial and type to board info"
    REVISION    "201511020000Z"
    DESCRIPTION
        "Add system time config"
    REVISION    "201510300000Z"
    DESCRIPTION
        "Add board info"
    REVISION    "201510200000Z"
    DESCRIPTION
        "Add system config info"
    REVISION    "201510150000Z"
    DESCRIPTION
        "Add system uptime status"
    REVISION    "201411110000Z"
    DESCRIPTION
        "Add system LED status"
    REVISION    "201410100000Z"
    DESCRIPTION
        "Editorial changes"
    REVISION    "201407010000Z"
    DESCRIPTION
        "Initial version"
    ::= { cie1000SwitchMgmt 24 }


CIE1000SysutilLedColor ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION
        "This enumeration defines the LED colors."
    SYNTAX      INTEGER { off(0), green(1), red(2), amber(3),
                          green-red(4), green-amber(5) }

CIE1000SysutilLedMode ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION
        "This enumeration defines the type of LED mode."
    SYNTAX      INTEGER { initial(0), solid(1), off(2), blinking(3),
                          alternative(4) }

CIE1000SysutilLedNameIndex ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION
        "This enumeration defines the names of the system LEDs."
    SYNTAX      INTEGER { alm(0), dca(1), dcb(2), exp(3), poe(4),
                          sys(5) }

CIE1000SysutilPowerSupplyStateType ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION
        "This enumeration defines the type of power supply state."
    SYNTAX      INTEGER { active(0), standby(1), notPresent(2) }

CIE1000SysutilRebootType ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION
        "This enumeration defines the type of reboot."
    SYNTAX      INTEGER { noReboot(0), coldReboot(1), warmReboot(2),
                          factoryReset(3) }

CIE1000SysutilSystemLedClearType ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION
        "This enumeration defines the type of system LED status clearing."
    SYNTAX      INTEGER { all(0), fatal(1), software(2), post(3),
                          ztp(4), stackFwChk(5) }

CIE1000SysutilTemperatureMonitorSensorType ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION
        "This enumeration defines the type of temperature sensors."
    SYNTAX      INTEGER { board(0), junction(1) }

cie1000SysutilMibObjects OBJECT IDENTIFIER
    ::= { cie1000SysutilMib 1 }

cie1000SysutilCapabilities OBJECT IDENTIFIER
    ::= { cie1000SysutilMibObjects 1 }

cie1000SysutilCapabilitiesWarmRebootSupported OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Indicate if warm restart is supported or not. true means it is
         supported. false means it is not supported."
    ::= { cie1000SysutilCapabilities 1 }

cie1000SysutilCapabilitiesPostSupported OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Indicate if POST(Power On Self Test) is supported or not. true(1) means
         it is supported. false(2) means it is not supported."
    ::= { cie1000SysutilCapabilities 2 }

cie1000SysutilCapabilitiesZtpSupported OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Indicate if ZTP(Zero Touch Provisioning) is supported or not. true(1)
         means it is supported. false(2) means it is not supported."
    ::= { cie1000SysutilCapabilities 3 }

cie1000SysutilCapabilitiesStackFwChkSupported OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Indicate if stack firmware version check is supported or not. true(1)
         means it is supported. false(2) means it is not supported."
    ::= { cie1000SysutilCapabilities 4 }

cie1000SysutilConfig OBJECT IDENTIFIER
    ::= { cie1000SysutilMibObjects 2 }

cie1000SysutilConfigSystemInfo OBJECT IDENTIFIER
    ::= { cie1000SysutilConfig 1 }

cie1000SysutilConfigSystemInfoHostname OBJECT-TYPE
    SYNTAX      CIE1000DisplayString (SIZE(0..255))
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Hostname"
    ::= { cie1000SysutilConfigSystemInfo 1 }

cie1000SysutilConfigSystemInfoContact OBJECT-TYPE
    SYNTAX      CIE1000DisplayString (SIZE(0..255))
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Contact name."
    ::= { cie1000SysutilConfigSystemInfo 2 }

cie1000SysutilConfigSystemInfoLocation OBJECT-TYPE
    SYNTAX      CIE1000DisplayString (SIZE(0..255))
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Location."
    ::= { cie1000SysutilConfigSystemInfo 3 }

cie1000SysutilConfigSystemTime OBJECT IDENTIFIER
    ::= { cie1000SysutilConfig 2 }

cie1000SysutilConfigSystemTimeSystemCurTime OBJECT-TYPE
    SYNTAX      CIE1000DisplayString (SIZE(0..63))
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Current system time"
    ::= { cie1000SysutilConfigSystemTime 1 }

cie1000SysutilConfigSystemTimeSystemCurTimeFormat OBJECT-TYPE
    SYNTAX      CIE1000DisplayString (SIZE(0..63))
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Format for setting up current system time"
    ::= { cie1000SysutilConfigSystemTime 2 }

cie1000SysutilConfigTemperatureMonitorTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF CIE1000SysutilConfigTemperatureMonitorEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Table of temperature monitor config."
    ::= { cie1000SysutilConfig 3 }

cie1000SysutilConfigTemperatureMonitorEntry OBJECT-TYPE
    SYNTAX      CIE1000SysutilConfigTemperatureMonitorEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Each row set the sensor config."
    INDEX       { cie1000SysutilConfigTemperatureMonitorSensorId }
    ::= { cie1000SysutilConfigTemperatureMonitorTable 1 }

CIE1000SysutilConfigTemperatureMonitorEntry ::= SEQUENCE {
    cie1000SysutilConfigTemperatureMonitorSensorId           CIE1000SysutilTemperatureMonitorSensorType,
    cie1000SysutilConfigTemperatureMonitorLowThreshold       Integer32,
    cie1000SysutilConfigTemperatureMonitorHighThreshold      Integer32,
    cie1000SysutilConfigTemperatureMonitorCriticalThreshold  Integer32,
    cie1000SysutilConfigTemperatureMonitorHysteresis         Integer32
}

cie1000SysutilConfigTemperatureMonitorSensorId OBJECT-TYPE
    SYNTAX      CIE1000SysutilTemperatureMonitorSensorType
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
        "The identification of sensor for tempeature monitor."
    ::= { cie1000SysutilConfigTemperatureMonitorEntry 1 }

cie1000SysutilConfigTemperatureMonitorLowThreshold OBJECT-TYPE
    SYNTAX      Integer32 (-40..125)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The low threshold of temperature monior."
    ::= { cie1000SysutilConfigTemperatureMonitorEntry 2 }

cie1000SysutilConfigTemperatureMonitorHighThreshold OBJECT-TYPE
    SYNTAX      Integer32 (-40..125)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The high threshold of temperature monior."
    ::= { cie1000SysutilConfigTemperatureMonitorEntry 3 }

cie1000SysutilConfigTemperatureMonitorCriticalThreshold OBJECT-TYPE
    SYNTAX      Integer32 (90..150)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The critical threshold of temperature monior."
    ::= { cie1000SysutilConfigTemperatureMonitorEntry 4 }

cie1000SysutilConfigTemperatureMonitorHysteresis OBJECT-TYPE
    SYNTAX      Integer32 (1..5)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The value of hysteresis for temperature check."
    ::= { cie1000SysutilConfigTemperatureMonitorEntry 5 }

cie1000SysutilStatus OBJECT IDENTIFIER
    ::= { cie1000SysutilMibObjects 3 }

cie1000SysutilStatusCpuLoad OBJECT IDENTIFIER
    ::= { cie1000SysutilStatus 1 }

cie1000SysutilStatusCpuLoadAverage100msec OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Average CPU load (%) in 100 milli-seconds."
    ::= { cie1000SysutilStatusCpuLoad 1 }

cie1000SysutilStatusCpuLoadAverage1sec OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Average CPU load (%) in 1 second."
    ::= { cie1000SysutilStatusCpuLoad 2 }

cie1000SysutilStatusCpuLoadAverage10sec OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Average CPU load (%) in 10 seconds."
    ::= { cie1000SysutilStatusCpuLoad 3 }

cie1000SysutilStatusPowerSupplyTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF CIE1000SysutilStatusPowerSupplyEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Table of power supply status."
    ::= { cie1000SysutilStatus 2 }

cie1000SysutilStatusPowerSupplyEntry OBJECT-TYPE
    SYNTAX      CIE1000SysutilStatusPowerSupplyEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Each row contains the power supply status."
    INDEX       { cie1000SysutilStatusPowerSupplySwitchId,
                  cie1000SysutilStatusPowerSupplyPsuId }
    ::= { cie1000SysutilStatusPowerSupplyTable 1 }

CIE1000SysutilStatusPowerSupplyEntry ::= SEQUENCE {
    cie1000SysutilStatusPowerSupplySwitchId     Integer32,
    cie1000SysutilStatusPowerSupplyPsuId        Integer32,
    cie1000SysutilStatusPowerSupplyState        CIE1000SysutilPowerSupplyStateType,
    cie1000SysutilStatusPowerSupplyDescription  CIE1000DisplayString
}

cie1000SysutilStatusPowerSupplySwitchId OBJECT-TYPE
    SYNTAX      Integer32 (1..16)
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
        "The identification of switch."
    ::= { cie1000SysutilStatusPowerSupplyEntry 1 }

cie1000SysutilStatusPowerSupplyPsuId OBJECT-TYPE
    SYNTAX      Integer32 (1..2)
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
        "The identification of power supply."
    ::= { cie1000SysutilStatusPowerSupplyEntry 2 }

cie1000SysutilStatusPowerSupplyState OBJECT-TYPE
    SYNTAX      CIE1000SysutilPowerSupplyStateType
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The state of power supply."
    ::= { cie1000SysutilStatusPowerSupplyEntry 3 }

cie1000SysutilStatusPowerSupplyDescription OBJECT-TYPE
    SYNTAX      CIE1000DisplayString (SIZE(0..30))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The description of power supply."
    ::= { cie1000SysutilStatusPowerSupplyEntry 4 }

cie1000SysutilStatusSystemLedTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF CIE1000SysutilStatusSystemLedEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Table of system LED status."
    ::= { cie1000SysutilStatus 3 }

cie1000SysutilStatusSystemLedEntry OBJECT-TYPE
    SYNTAX      CIE1000SysutilStatusSystemLedEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Each row contains the system LED status."
    INDEX       { cie1000SysutilStatusSystemLedSwitchId }
    ::= { cie1000SysutilStatusSystemLedTable 1 }

CIE1000SysutilStatusSystemLedEntry ::= SEQUENCE {
    cie1000SysutilStatusSystemLedSwitchId     Integer32,
    cie1000SysutilStatusSystemLedDescription  CIE1000DisplayString
}

cie1000SysutilStatusSystemLedSwitchId OBJECT-TYPE
    SYNTAX      Integer32 (1..16)
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
        "The identification of switch."
    ::= { cie1000SysutilStatusSystemLedEntry 1 }

cie1000SysutilStatusSystemLedDescription OBJECT-TYPE
    SYNTAX      CIE1000DisplayString (SIZE(0..127))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The description of system LED status."
    ::= { cie1000SysutilStatusSystemLedEntry 2 }

cie1000SysutilStatusSystemUptime OBJECT IDENTIFIER
    ::= { cie1000SysutilStatus 4 }

cie1000SysutilStatusSystemUptimeSystemUptime OBJECT-TYPE
    SYNTAX      CIE1000DisplayString (SIZE(0..10))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The time since the DUT is Up."
    ::= { cie1000SysutilStatusSystemUptime 1 }

cie1000SysutilStatusBoardInfo OBJECT IDENTIFIER
    ::= { cie1000SysutilStatus 5 }

cie1000SysutilStatusBoardInfoBoardMacAddress OBJECT-TYPE
    SYNTAX      MacAddress
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Board Mac Address"
    ::= { cie1000SysutilStatusBoardInfo 1 }

cie1000SysutilStatusBoardInfoBoardID OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Board ID"
    ::= { cie1000SysutilStatusBoardInfo 2 }

cie1000SysutilStatusBoardInfoBoardSerial OBJECT-TYPE
    SYNTAX      CIE1000DisplayString (SIZE(0..63))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Board ID"
    ::= { cie1000SysutilStatusBoardInfo 3 }

cie1000SysutilStatusBoardInfoBoardType OBJECT-TYPE
    SYNTAX      CIE1000DisplayString (SIZE(0..63))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Board ID"
    ::= { cie1000SysutilStatusBoardInfo 4 }

cie1000SysutilStatusBoardInfoCipSerial OBJECT-TYPE
    SYNTAX      CIE1000DisplayString (SIZE(0..63))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Board CIP serial number"
    ::= { cie1000SysutilStatusBoardInfo 5 }

cie1000SysutilStatusTemperatureMonitorTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF CIE1000SysutilStatusTemperatureMonitorEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Table of temperature monitor status."
    ::= { cie1000SysutilStatus 6 }

cie1000SysutilStatusTemperatureMonitorEntry OBJECT-TYPE
    SYNTAX      CIE1000SysutilStatusTemperatureMonitorEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Each row contains the sensor status."
    INDEX       { cie1000SysutilStatusTemperatureMonitorSensorId }
    ::= { cie1000SysutilStatusTemperatureMonitorTable 1 }

CIE1000SysutilStatusTemperatureMonitorEntry ::= SEQUENCE {
    cie1000SysutilStatusTemperatureMonitorSensorId       CIE1000SysutilTemperatureMonitorSensorType,
    cie1000SysutilStatusTemperatureMonitorLowAlarm       TruthValue,
    cie1000SysutilStatusTemperatureMonitorHighAlarm      TruthValue,
    cie1000SysutilStatusTemperatureMonitorCriticalAlarm  TruthValue,
    cie1000SysutilStatusTemperatureMonitorTemperature    Integer32
}

cie1000SysutilStatusTemperatureMonitorSensorId OBJECT-TYPE
    SYNTAX      CIE1000SysutilTemperatureMonitorSensorType
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
        "The identification of sensor for tempeature monitor."
    ::= { cie1000SysutilStatusTemperatureMonitorEntry 1 }

cie1000SysutilStatusTemperatureMonitorLowAlarm OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The alarm flag of temperature low status."
    ::= { cie1000SysutilStatusTemperatureMonitorEntry 2 }

cie1000SysutilStatusTemperatureMonitorHighAlarm OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The alarm flag of temperature high status."
    ::= { cie1000SysutilStatusTemperatureMonitorEntry 3 }

cie1000SysutilStatusTemperatureMonitorCriticalAlarm OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The alarm flag of temperature critical status."
    ::= { cie1000SysutilStatusTemperatureMonitorEntry 4 }

cie1000SysutilStatusTemperatureMonitorTemperature OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Current temperature."
    ::= { cie1000SysutilStatusTemperatureMonitorEntry 5 }

cie1000SysutilStatusLedStatus OBJECT IDENTIFIER
    ::= { cie1000SysutilStatus 7 }

cie1000SysutilStatusLedStatusSystemTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF CIE1000SysutilStatusLedStatusSystemEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The table is the list of LED nodes. The index is the name of the LED
         node"
    ::= { cie1000SysutilStatusLedStatus 1 }

cie1000SysutilStatusLedStatusSystemEntry OBJECT-TYPE
    SYNTAX      CIE1000SysutilStatusLedStatusSystemEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "An index is a name e.g. alm"
    INDEX       { cie1000SysutilStatusLedStatusSystemLedId }
    ::= { cie1000SysutilStatusLedStatusSystemTable 1 }

CIE1000SysutilStatusLedStatusSystemEntry ::= SEQUENCE {
    cie1000SysutilStatusLedStatusSystemLedId        CIE1000SysutilLedNameIndex,
    cie1000SysutilStatusLedStatusSystemLedColor     CIE1000SysutilLedColor,
    cie1000SysutilStatusLedStatusSystemLedMode      CIE1000SysutilLedMode,
    cie1000SysutilStatusLedStatusSystemDescription  CIE1000DisplayString
}

cie1000SysutilStatusLedStatusSystemLedId OBJECT-TYPE
    SYNTAX      CIE1000SysutilLedNameIndex
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
        "The identification of the system LED."
    ::= { cie1000SysutilStatusLedStatusSystemEntry 1 }

cie1000SysutilStatusLedStatusSystemLedColor OBJECT-TYPE
    SYNTAX      CIE1000SysutilLedColor
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Color of LED. off(0) - The led is off, green(1) - The led is green,
         red(2) - The led is red, amber(3) - The led is amber, green_red(4) -
         The led is bi-color greed red, green_amber(5) - The led is bi-color
         green amber."
    ::= { cie1000SysutilStatusLedStatusSystemEntry 2 }

cie1000SysutilStatusLedStatusSystemLedMode OBJECT-TYPE
    SYNTAX      CIE1000SysutilLedMode
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Type of LED mode.initial(0) Initial state. solid(1) LED is solid
         on.off(2) LED is turned off.blinking(3) LED is blinking.alternative(4)
         LED is in alternative mode."
    ::= { cie1000SysutilStatusLedStatusSystemEntry 3 }

cie1000SysutilStatusLedStatusSystemDescription OBJECT-TYPE
    SYNTAX      CIE1000DisplayString (SIZE(0..127))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The description of system LED status."
    ::= { cie1000SysutilStatusLedStatusSystemEntry 4 }

cie1000SysutilStatusLedStatusPortTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF CIE1000SysutilStatusLedStatusPortEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The table is the list of port interface LED nodes. The index is the
         port interface "
    ::= { cie1000SysutilStatusLedStatus 2 }

cie1000SysutilStatusLedStatusPortEntry OBJECT-TYPE
    SYNTAX      CIE1000SysutilStatusLedStatusPortEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Port interface"
    INDEX       { cie1000SysutilStatusLedStatusPortIfIndex }
    ::= { cie1000SysutilStatusLedStatusPortTable 1 }

CIE1000SysutilStatusLedStatusPortEntry ::= SEQUENCE {
    cie1000SysutilStatusLedStatusPortIfIndex      CIE1000InterfaceIndex,
    cie1000SysutilStatusLedStatusPortLedColor     CIE1000SysutilLedColor,
    cie1000SysutilStatusLedStatusPortLedMode      CIE1000SysutilLedMode,
    cie1000SysutilStatusLedStatusPortDescription  CIE1000DisplayString
}

cie1000SysutilStatusLedStatusPortIfIndex OBJECT-TYPE
    SYNTAX      CIE1000InterfaceIndex
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
        "Logical interface number."
    ::= { cie1000SysutilStatusLedStatusPortEntry 1 }

cie1000SysutilStatusLedStatusPortLedColor OBJECT-TYPE
    SYNTAX      CIE1000SysutilLedColor
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Color of LED. off(0) - The led is off, green(1) - The led is green,
         red(2) - The led is red, amber(3) - The led is amber, green_red(4) -
         The led is bi-color greed red, green_amber(5) - The led is bi-color
         green amber."
    ::= { cie1000SysutilStatusLedStatusPortEntry 2 }

cie1000SysutilStatusLedStatusPortLedMode OBJECT-TYPE
    SYNTAX      CIE1000SysutilLedMode
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Type of LED mode.initial(0) Initial state. solid(1) LED is solid
         on.off(2) LED is turned off.blinking(3) LED is blinking.alternative(4)
         LED is in alternative mode."
    ::= { cie1000SysutilStatusLedStatusPortEntry 3 }

cie1000SysutilStatusLedStatusPortDescription OBJECT-TYPE
    SYNTAX      CIE1000DisplayString (SIZE(0..127))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The description of system LED status."
    ::= { cie1000SysutilStatusLedStatusPortEntry 4 }

cie1000SysutilControl OBJECT IDENTIFIER
    ::= { cie1000SysutilMibObjects 4 }

cie1000SysutilControlRebootTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF CIE1000SysutilControlRebootEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "This is a table to reboot a swicth"
    ::= { cie1000SysutilControl 1 }

cie1000SysutilControlRebootEntry OBJECT-TYPE
    SYNTAX      CIE1000SysutilControlRebootEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Each switch has a set of parameters"
    INDEX       { cie1000SysutilControlRebootSwitchId }
    ::= { cie1000SysutilControlRebootTable 1 }

CIE1000SysutilControlRebootEntry ::= SEQUENCE {
    cie1000SysutilControlRebootSwitchId  Integer32,
    cie1000SysutilControlRebootType      CIE1000SysutilRebootType
}

cie1000SysutilControlRebootSwitchId OBJECT-TYPE
    SYNTAX      Integer32 (1..16)
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
        "The identification of switch."
    ::= { cie1000SysutilControlRebootEntry 1 }

cie1000SysutilControlRebootType OBJECT-TYPE
    SYNTAX      CIE1000SysutilRebootType
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Type of reboot. noReboot(0) does not reboot. coldReboot(1) is to do
         cold reboot. warmReboot(2) is to do warm reboot, but this is optional.
         The OID of vtssSysutilCapabilitiesWarmRebootSupported tells if warm
         reboot is supported or not. factoryReset (3) is to remove all
         configuration and return to factory settings."
    ::= { cie1000SysutilControlRebootEntry 2 }

cie1000SysutilControlSystemLedTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF CIE1000SysutilControlSystemLedEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "This is a table to clear the system LED error status"
    ::= { cie1000SysutilControl 2 }

cie1000SysutilControlSystemLedEntry OBJECT-TYPE
    SYNTAX      CIE1000SysutilControlSystemLedEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Each switch has a set of parameters"
    INDEX       { cie1000SysutilControlSystemLedSwitchId }
    ::= { cie1000SysutilControlSystemLedTable 1 }

CIE1000SysutilControlSystemLedEntry ::= SEQUENCE {
    cie1000SysutilControlSystemLedSwitchId     Integer32,
    cie1000SysutilControlSystemLedClearStatus  CIE1000SysutilSystemLedClearType
}

cie1000SysutilControlSystemLedSwitchId OBJECT-TYPE
    SYNTAX      Integer32 (1..16)
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
        "The identification of switch."
    ::= { cie1000SysutilControlSystemLedEntry 1 }

cie1000SysutilControlSystemLedClearStatus OBJECT-TYPE
    SYNTAX      CIE1000SysutilSystemLedClearType
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Type of system LED status clearing.all(0) is used to clear all error
         status of the system LED and back to normal indication. fatal(1) is
         used to clear fatal error status of the system LED. software(2) is used
         to clear generic software error status of the system LED. post(3) is
         used to clear POST(Power On Self Test) error status of the system LED.
         ztp(4) is used to clear ZTP(Zero Touch Provisioning) error status of
         the system LED. stackFwChk(5) is used to clear stack firmware version
         check error status of the system LED."
    ::= { cie1000SysutilControlSystemLedEntry 2 }

cie1000SysutilMibConformance OBJECT IDENTIFIER
    ::= { cie1000SysutilMib 2 }

cie1000SysutilMibCompliances OBJECT IDENTIFIER
    ::= { cie1000SysutilMibConformance 1 }

cie1000SysutilMibGroups OBJECT IDENTIFIER
    ::= { cie1000SysutilMibConformance 2 }

cie1000SysutilCapabilitiesInfoGroup OBJECT-GROUP
    OBJECTS     { cie1000SysutilCapabilitiesWarmRebootSupported,
                  cie1000SysutilCapabilitiesPostSupported,
                  cie1000SysutilCapabilitiesZtpSupported,
                  cie1000SysutilCapabilitiesStackFwChkSupported }
    STATUS      current
    DESCRIPTION
        "A collection of objects."
    ::= { cie1000SysutilMibGroups 1 }

cie1000SysutilConfigSystemInfoInfoGroup OBJECT-GROUP
    OBJECTS     { cie1000SysutilConfigSystemInfoHostname,
                  cie1000SysutilConfigSystemInfoContact,
                  cie1000SysutilConfigSystemInfoLocation }
    STATUS      current
    DESCRIPTION
        "A collection of objects."
    ::= { cie1000SysutilMibGroups 2 }

cie1000SysutilConfigSystemTimeInfoGroup OBJECT-GROUP
    OBJECTS     { cie1000SysutilConfigSystemTimeSystemCurTime,
                  cie1000SysutilConfigSystemTimeSystemCurTimeFormat }
    STATUS      current
    DESCRIPTION
        "A collection of objects."
    ::= { cie1000SysutilMibGroups 3 }

cie1000SysutilConfigTemperatureMonitorInfoGroup OBJECT-GROUP
    OBJECTS     { cie1000SysutilConfigTemperatureMonitorSensorId,
                  cie1000SysutilConfigTemperatureMonitorLowThreshold,
                  cie1000SysutilConfigTemperatureMonitorHighThreshold,
                  cie1000SysutilConfigTemperatureMonitorCriticalThreshold,
                  cie1000SysutilConfigTemperatureMonitorHysteresis }
    STATUS      current
    DESCRIPTION
        "A collection of objects."
    ::= { cie1000SysutilMibGroups 4 }

cie1000SysutilStatusCpuLoadInfoGroup OBJECT-GROUP
    OBJECTS     { cie1000SysutilStatusCpuLoadAverage100msec,
                  cie1000SysutilStatusCpuLoadAverage1sec,
                  cie1000SysutilStatusCpuLoadAverage10sec }
    STATUS      current
    DESCRIPTION
        "A collection of objects."
    ::= { cie1000SysutilMibGroups 5 }

cie1000SysutilStatusPowerSupplyInfoGroup OBJECT-GROUP
    OBJECTS     { cie1000SysutilStatusPowerSupplySwitchId,
                  cie1000SysutilStatusPowerSupplyPsuId,
                  cie1000SysutilStatusPowerSupplyState,
                  cie1000SysutilStatusPowerSupplyDescription }
    STATUS      current
    DESCRIPTION
        "A collection of objects."
    ::= { cie1000SysutilMibGroups 6 }

cie1000SysutilStatusSystemLedInfoGroup OBJECT-GROUP
    OBJECTS     { cie1000SysutilStatusSystemLedSwitchId,
                  cie1000SysutilStatusSystemLedDescription }
    STATUS      current
    DESCRIPTION
        "A collection of objects."
    ::= { cie1000SysutilMibGroups 7 }

cie1000SysutilStatusSystemUptimeInfoGroup OBJECT-GROUP
    OBJECTS     { cie1000SysutilStatusSystemUptimeSystemUptime }
    STATUS      current
    DESCRIPTION
        "A collection of objects."
    ::= { cie1000SysutilMibGroups 8 }

cie1000SysutilStatusBoardInfoInfoGroup OBJECT-GROUP
    OBJECTS     { cie1000SysutilStatusBoardInfoBoardMacAddress,
                  cie1000SysutilStatusBoardInfoBoardID,
                  cie1000SysutilStatusBoardInfoBoardSerial,
                  cie1000SysutilStatusBoardInfoBoardType,
                  cie1000SysutilStatusBoardInfoCipSerial }
    STATUS      current
    DESCRIPTION
        "A collection of objects."
    ::= { cie1000SysutilMibGroups 9 }

cie1000SysutilStatusTemperatureMonitorInfoGroup OBJECT-GROUP
    OBJECTS     { cie1000SysutilStatusTemperatureMonitorSensorId,
                  cie1000SysutilStatusTemperatureMonitorLowAlarm,
                  cie1000SysutilStatusTemperatureMonitorHighAlarm,
                  cie1000SysutilStatusTemperatureMonitorCriticalAlarm,
                  cie1000SysutilStatusTemperatureMonitorTemperature }
    STATUS      current
    DESCRIPTION
        "A collection of objects."
    ::= { cie1000SysutilMibGroups 10 }

cie1000SysutilStatusLedStatusSystemInfoGroup OBJECT-GROUP
    OBJECTS     { cie1000SysutilStatusLedStatusSystemLedId,
                  cie1000SysutilStatusLedStatusSystemLedColor,
                  cie1000SysutilStatusLedStatusSystemLedMode,
                  cie1000SysutilStatusLedStatusSystemDescription }
    STATUS      current
    DESCRIPTION
        "A collection of objects."
    ::= { cie1000SysutilMibGroups 11 }

cie1000SysutilStatusLedStatusPortInfoGroup OBJECT-GROUP
    OBJECTS     { cie1000SysutilStatusLedStatusPortIfIndex,
                  cie1000SysutilStatusLedStatusPortLedColor,
                  cie1000SysutilStatusLedStatusPortLedMode,
                  cie1000SysutilStatusLedStatusPortDescription }
    STATUS      current
    DESCRIPTION
        "A collection of objects."
    ::= { cie1000SysutilMibGroups 12 }

cie1000SysutilControlRebootInfoGroup OBJECT-GROUP
    OBJECTS     { cie1000SysutilControlRebootSwitchId,
                  cie1000SysutilControlRebootType }
    STATUS      current
    DESCRIPTION
        "A collection of objects."
    ::= { cie1000SysutilMibGroups 13 }

cie1000SysutilControlSystemLedInfoGroup OBJECT-GROUP
    OBJECTS     { cie1000SysutilControlSystemLedSwitchId,
                  cie1000SysutilControlSystemLedClearStatus }
    STATUS      current
    DESCRIPTION
        "A collection of objects."
    ::= { cie1000SysutilMibGroups 14 }

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

    MODULE      -- this module

    MANDATORY-GROUPS { cie1000SysutilCapabilitiesInfoGroup,
                       cie1000SysutilConfigSystemInfoInfoGroup,
                       cie1000SysutilConfigSystemTimeInfoGroup,
                       cie1000SysutilConfigTemperatureMonitorInfoGroup,
                       cie1000SysutilStatusCpuLoadInfoGroup,
                       cie1000SysutilStatusPowerSupplyInfoGroup,
                       cie1000SysutilStatusSystemLedInfoGroup,
                       cie1000SysutilStatusSystemUptimeInfoGroup,
                       cie1000SysutilStatusBoardInfoInfoGroup,
                       cie1000SysutilStatusTemperatureMonitorInfoGroup,
                       cie1000SysutilStatusLedStatusSystemInfoGroup,
                       cie1000SysutilStatusLedStatusPortInfoGroup,
                       cie1000SysutilControlRebootInfoGroup,
                       cie1000SysutilControlSystemLedInfoGroup }

    ::= { cie1000SysutilMibCompliances 1 }

END
