CYAN-CEM-MIB DEFINITIONS ::= BEGIN
IMPORTS
    MODULE-IDENTITY,
    OBJECT-TYPE,
    Integer32,
    Unsigned32
                    FROM SNMPv2-SMI

    DisplayString
                    FROM SNMPv2-TC

    CyanLEDTc,
    CyanOffOnTc,
    CyanActvStdbyTc,
    CyanSecServiceStateTc,
    CyanOpStateQualTc,
    CyanAdminStateTc,
    CyanOpStateTc
                    FROM CYAN-TC-MIB

    CyanTypeTc,
    cyanEntityModules
		    FROM CYAN-MIB

    MODULE-COMPLIANCE, 
    OBJECT-GROUP
	            FROM SNMPv2-CONF;


cyanCemModule MODULE-IDENTITY
    LAST-UPDATED "201412070545Z" -- Sun Dec  7 05:45:24 2014
    ORGANIZATION "Cyan, Inc."
    CONTACT-INFO
        "
        E-mail:  support@cyaninc.com

        Postal:  Cyan, Inc.
               1390 N. McDowell Blvd., # G-327
               Petaluma, CA  94954
               USA

        Tel:     +1-707-735-2300"

    DESCRIPTION    "MIB module for Common Equipment Module"

    REVISION     "201412070545Z" -- Sun Dec  7 05:45:24 2014
    DESCRIPTION  "Release 6.0 build 1416362081"

    ::= { cyanEntityModules 50 } 

cyanCemMibObjects           OBJECT IDENTIFIER ::={ cyanCemModule 1 }

cyanCemTable    OBJECT-TYPE
    SYNTAX        SEQUENCE OF CyanCemEntry
    MAX-ACCESS    not-accessible
    STATUS        current
    DESCRIPTION
        "A list of Cem entries."
    ::= { cyanCemMibObjects 1 }

cyanCemEntry    OBJECT-TYPE
    SYNTAX        CyanCemEntry
    MAX-ACCESS    not-accessible
    STATUS        current
    DESCRIPTION
        "An entry of Cem."
    INDEX {
        cyanCemShelfId ,
        cyanCemCemId 
    }
    ::= { cyanCemTable 1 }

CyanCemEntry  ::=
    SEQUENCE {
        cyanCemShelfId    Unsigned32,
        cyanCemCemId    Unsigned32,
        cyanCemActiveLed    CyanLEDTc,
        cyanCemActivestandbyState    CyanActvStdbyTc,
        cyanCemAdminState    CyanAdminStateTc,
        cyanCemAlarmLed    CyanLEDTc,
        cyanCemAssetTag    DisplayString,
        cyanCemAutoinserviceSoakTimeSec    Integer32,
        cyanCemBaseMacAddress    DisplayString,
        cyanCemCurrCyanSwBuildVersions    DisplayString,
        cyanCemCurrent    Integer32,
        cyanCemDescription    DisplayString,
        cyanCemExhaustAirTemp    Integer32,
        cyanCemExhaustTempAlarmHighThres    Integer32,
        cyanCemExhaustTempAlarmLowThres    Integer32,
        cyanCemExhaustTempWarnHighThres    Integer32,
        cyanCemExhaustTempWarnLowThres    Integer32,
        cyanCemExpectedTemperatureRise    Integer32,
        cyanCemIdentifier    DisplayString,
        cyanCemIntakeAirTemp    Integer32,
        cyanCemIntakeTempAlarmHighThres    Integer32,
        cyanCemIntakeTempAlarmLowThres    Integer32,
        cyanCemIntakeTempWarnHighThres    Integer32,
        cyanCemIntakeTempWarnLowThres    Integer32,
        cyanCemLedTest    Unsigned32,
        cyanCemMacBlockSize    Unsigned32,
        cyanCemMfgCleiCode    DisplayString,
        cyanCemMfgEciCode    DisplayString,
        cyanCemMfgModuleId    Unsigned32,
        cyanCemMfgPartNumber    DisplayString,
        cyanCemMfgRevision    DisplayString,
        cyanCemMfgSerialNumber    DisplayString,
        cyanCemName    DisplayString,
        cyanCemOidClass    DisplayString,
        cyanCemOperState    CyanOpStateTc,
        cyanCemOperStateQual    CyanOpStateQualTc,
        cyanCemOssLabel    DisplayString,
        cyanCemOvervoltageThreshold    Integer32,
        cyanCemOwner    DisplayString,
        cyanCemPartNumber    DisplayString,
        cyanCemPowerLed    CyanLEDTc,
        cyanCemPwrFeedAStatus    CyanOffOnTc,
        cyanCemPwrFeedAVoltage    Integer32,
        cyanCemPwrFeedBStatus    CyanOffOnTc,
        cyanCemPwrFeedBVoltage    Integer32,
        cyanCemSecServState    CyanSecServiceStateTc,
        cyanCemSynchLed    CyanLEDTc,
        cyanCemType    CyanTypeTc,
        cyanCemUndervoltageThreshold    Integer32
    }

cyanCemShelfId OBJECT-TYPE
    SYNTAX       Unsigned32 (0..255)
    MAX-ACCESS   not-accessible
    STATUS       current
    DESCRIPTION
        "Shelf Id"

    ::= { cyanCemEntry 1 }
cyanCemCemId OBJECT-TYPE
    SYNTAX       Unsigned32
    MAX-ACCESS   not-accessible
    STATUS       current
    DESCRIPTION
        "CEM Module Id"

    ::= { cyanCemEntry 2 }

cyanCemActiveLed OBJECT-TYPE
    SYNTAX       CyanLEDTc
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "Active LED status"

    ::= { cyanCemEntry 3 }

cyanCemActivestandbyState OBJECT-TYPE
    SYNTAX       CyanActvStdbyTc
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "Active/standby state"

    ::= { cyanCemEntry 4 }

cyanCemAdminState OBJECT-TYPE
    SYNTAX       CyanAdminStateTc
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "Administrative state"

    ::= { cyanCemEntry 5 }

cyanCemAlarmLed OBJECT-TYPE
    SYNTAX       CyanLEDTc
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "Alarm LED status"

    ::= { cyanCemEntry 6 }

cyanCemAssetTag OBJECT-TYPE
    SYNTAX       DisplayString (SIZE(0..124))
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "Asset Tag"

    ::= { cyanCemEntry 7 }

cyanCemAutoinserviceSoakTimeSec OBJECT-TYPE
    SYNTAX       Integer32
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "Auto-In-Service soak time"

    ::= { cyanCemEntry 8 }

cyanCemBaseMacAddress OBJECT-TYPE
    SYNTAX       DisplayString
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "Base MAC address of a range of addresses"

    ::= { cyanCemEntry 9 }

cyanCemCurrCyanSwBuildVersions OBJECT-TYPE
    SYNTAX       DisplayString
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "Current Cyan software build versions"

    ::= { cyanCemEntry 10 }

cyanCemCurrent OBJECT-TYPE
    SYNTAX       Integer32 -- real32 * 1000
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "Current Draw"

    ::= { cyanCemEntry 11 }

cyanCemDescription OBJECT-TYPE
    SYNTAX       DisplayString (SIZE(0..255))
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "Description"

    ::= { cyanCemEntry 12 }

cyanCemExhaustAirTemp OBJECT-TYPE
    SYNTAX       Integer32 (-128000..128000) -- Float value * 1000
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "Exhaust air temperature"

    ::= { cyanCemEntry 13 }

cyanCemExhaustTempAlarmHighThres OBJECT-TYPE
    SYNTAX       Integer32 (-128000..128000) -- Float value * 1000
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "High alarm threshold for exhaust air temperature"

    ::= { cyanCemEntry 14 }

cyanCemExhaustTempAlarmLowThres OBJECT-TYPE
    SYNTAX       Integer32 (-128000..128000) -- Float value * 1000
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "Low alarm threshold for exhaust air temperature"

    ::= { cyanCemEntry 15 }

cyanCemExhaustTempWarnHighThres OBJECT-TYPE
    SYNTAX       Integer32 (-128000..128000) -- Float value * 1000
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "High warning threshold for exhaust air temperature"

    ::= { cyanCemEntry 16 }

cyanCemExhaustTempWarnLowThres OBJECT-TYPE
    SYNTAX       Integer32 (-128000..128000) -- Float value * 1000
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "Low warning threshold for exhaust air temperature"

    ::= { cyanCemEntry 17 }

cyanCemExpectedTemperatureRise OBJECT-TYPE
    SYNTAX       Integer32 -- Float Value * 1000
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "Expected temperature rise"

    ::= { cyanCemEntry 18 }

cyanCemIdentifier OBJECT-TYPE
    SYNTAX       DisplayString
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "string OID"

    ::= { cyanCemEntry 19 }

cyanCemIntakeAirTemp OBJECT-TYPE
    SYNTAX       Integer32 (-128000..128000) -- Float value * 1000
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "In-take air temperature"

    ::= { cyanCemEntry 20 }

cyanCemIntakeTempAlarmHighThres OBJECT-TYPE
    SYNTAX       Integer32 (-128000..128000) -- Float value * 1000
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "High alarm threshold for in-take air temperature"

    ::= { cyanCemEntry 21 }

cyanCemIntakeTempAlarmLowThres OBJECT-TYPE
    SYNTAX       Integer32 (-128000..128000) -- Float value * 1000
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "Low alarm threshold for in-take air temperature"

    ::= { cyanCemEntry 22 }

cyanCemIntakeTempWarnHighThres OBJECT-TYPE
    SYNTAX       Integer32 (-128000..128000) -- Float value * 1000
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "High warning threshold for in-take air temperature"

    ::= { cyanCemEntry 23 }

cyanCemIntakeTempWarnLowThres OBJECT-TYPE
    SYNTAX       Integer32 (-128000..128000) -- Float value * 1000
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "Low warning threshold for in-take air temperature"

    ::= { cyanCemEntry 24 }

cyanCemLedTest OBJECT-TYPE
    SYNTAX       Unsigned32
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "Change value of this attribute to run LED test on this module"

    ::= { cyanCemEntry 25 }

cyanCemMacBlockSize OBJECT-TYPE
    SYNTAX       Unsigned32 (0..255)
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "Number of MAC addresses allocated from the base MAC address"

    ::= { cyanCemEntry 26 }

cyanCemMfgCleiCode OBJECT-TYPE
    SYNTAX       DisplayString (SIZE(0..10))
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "Common Language Equipment Identifier"

    ::= { cyanCemEntry 27 }

cyanCemMfgEciCode OBJECT-TYPE
    SYNTAX       DisplayString (SIZE(0..6))
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "Equipment Catalog Item"

    ::= { cyanCemEntry 28 }

cyanCemMfgModuleId OBJECT-TYPE
    SYNTAX       Unsigned32
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "Module ID"

    ::= { cyanCemEntry 29 }

cyanCemMfgPartNumber OBJECT-TYPE
    SYNTAX       DisplayString (SIZE(0..16))
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "Manufacturing part number"

    ::= { cyanCemEntry 30 }

cyanCemMfgRevision OBJECT-TYPE
    SYNTAX       DisplayString (SIZE(0..4))
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "Mfg revision number"

    ::= { cyanCemEntry 31 }

cyanCemMfgSerialNumber OBJECT-TYPE
    SYNTAX       DisplayString (SIZE(0..16))
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "Mfg serial number"

    ::= { cyanCemEntry 32 }

cyanCemName OBJECT-TYPE
    SYNTAX       DisplayString
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "Cyan name"

    ::= { cyanCemEntry 33 }

cyanCemOidClass OBJECT-TYPE
    SYNTAX       DisplayString
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "OID Class"

    ::= { cyanCemEntry 34 }

cyanCemOperState OBJECT-TYPE
    SYNTAX       CyanOpStateTc
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "Primary Operation State"

    ::= { cyanCemEntry 35 }

cyanCemOperStateQual OBJECT-TYPE
    SYNTAX       CyanOpStateQualTc
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "Operation state qualifier"

    ::= { cyanCemEntry 36 }

cyanCemOssLabel OBJECT-TYPE
    SYNTAX       DisplayString (SIZE(0..80))
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "CyMS label"

    ::= { cyanCemEntry 37 }

cyanCemOvervoltageThreshold OBJECT-TYPE
    SYNTAX       Integer32 -- real32 * 1000
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "Over-voltage warning threshold"

    ::= { cyanCemEntry 38 }

cyanCemOwner OBJECT-TYPE
    SYNTAX       DisplayString (SIZE(0..80))
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "Owner"

    ::= { cyanCemEntry 39 }

cyanCemPartNumber OBJECT-TYPE
    SYNTAX       DisplayString (SIZE(0..11))
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "Cyan part number"

    ::= { cyanCemEntry 40 }

cyanCemPowerLed OBJECT-TYPE
    SYNTAX       CyanLEDTc
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "Power LED status"

    ::= { cyanCemEntry 41 }

cyanCemPwrFeedAStatus OBJECT-TYPE
    SYNTAX       CyanOffOnTc
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "Status of power supply A"

    ::= { cyanCemEntry 42 }

cyanCemPwrFeedAVoltage OBJECT-TYPE
    SYNTAX       Integer32 -- real32 * 1000
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "Voltage level of power supply A"

    ::= { cyanCemEntry 43 }

cyanCemPwrFeedBStatus OBJECT-TYPE
    SYNTAX       CyanOffOnTc
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "Status of power supply B"

    ::= { cyanCemEntry 44 }

cyanCemPwrFeedBVoltage OBJECT-TYPE
    SYNTAX       Integer32 -- real32 * 1000
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "Voltage level of power supply B"

    ::= { cyanCemEntry 45 }

cyanCemSecServState OBJECT-TYPE
    SYNTAX       CyanSecServiceStateTc
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "Secondary service state"

    ::= { cyanCemEntry 46 }

cyanCemSynchLed OBJECT-TYPE
    SYNTAX       CyanLEDTc
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "Synch LED status"

    ::= { cyanCemEntry 47 }

cyanCemType OBJECT-TYPE
    SYNTAX       CyanTypeTc
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "Equipment type"

    ::= { cyanCemEntry 48 }

cyanCemUndervoltageThreshold OBJECT-TYPE
    SYNTAX       Integer32 -- real32 * 1000
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "Under-voltage warning threshold"

    ::= { cyanCemEntry 49 }

cyanCemObjectGroup OBJECT-GROUP
    OBJECTS {
        cyanCemActiveLed,
        cyanCemActivestandbyState,
        cyanCemAdminState,
        cyanCemAlarmLed,
        cyanCemAssetTag,
        cyanCemAutoinserviceSoakTimeSec,
        cyanCemBaseMacAddress,
        cyanCemCurrCyanSwBuildVersions,
        cyanCemCurrent,
        cyanCemDescription,
        cyanCemExhaustAirTemp,
        cyanCemExhaustTempAlarmHighThres,
        cyanCemExhaustTempAlarmLowThres,
        cyanCemExhaustTempWarnHighThres,
        cyanCemExhaustTempWarnLowThres,
        cyanCemExpectedTemperatureRise,
        cyanCemIdentifier,
        cyanCemIntakeAirTemp,
        cyanCemIntakeTempAlarmHighThres,
        cyanCemIntakeTempAlarmLowThres,
        cyanCemIntakeTempWarnHighThres,
        cyanCemIntakeTempWarnLowThres,
        cyanCemLedTest,
        cyanCemMacBlockSize,
        cyanCemMfgCleiCode,
        cyanCemMfgEciCode,
        cyanCemMfgModuleId,
        cyanCemMfgPartNumber,
        cyanCemMfgRevision,
        cyanCemMfgSerialNumber,
        cyanCemName,
        cyanCemOidClass,
        cyanCemOperState,
        cyanCemOperStateQual,
        cyanCemOssLabel,
        cyanCemOvervoltageThreshold,
        cyanCemOwner,
        cyanCemPartNumber,
        cyanCemPowerLed,
        cyanCemPwrFeedAStatus,
        cyanCemPwrFeedAVoltage,
        cyanCemPwrFeedBStatus,
        cyanCemPwrFeedBVoltage,
        cyanCemSecServState,
        cyanCemSynchLed,
        cyanCemType,
        cyanCemUndervoltageThreshold
    }

    STATUS current
    DESCRIPTION        "Group of objects that comes with Cem module"
    ::= {cyanCemModule 20}

cyanCemCompliance MODULE-COMPLIANCE
    STATUS current
    DESCRIPTION
        "The basic info needed to be a cyan Cem"
    MODULE
    MANDATORY-GROUPS {
        cyanCemObjectGroup
    }
    ::= { cyanCemModule 30 }


END

