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

    DisplayString
                    FROM SNMPv2-TC

    CyanNoYesTc,
    CyanOpStateQualTc,
    CyanOpStateTc,
    CyanSecServiceStateTc
                    FROM CYAN-TC-MIB

    CyanTypeTc,
    cyanEntityModules
		    FROM CYAN-MIB

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


cyanShelfModule MODULE-IDENTITY
    LAST-UPDATED "201412070545Z" -- Sun Dec  7 05:45:23 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 Shelf"

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

    ::= { cyanEntityModules 20 } 

cyanShelfMibObjects           OBJECT IDENTIFIER ::={ cyanShelfModule 1 }

cyanShelfTable    OBJECT-TYPE
    SYNTAX        SEQUENCE OF CyanShelfEntry
    MAX-ACCESS    not-accessible
    STATUS        current
    DESCRIPTION
        "A list of Shelf entries."
    ::= { cyanShelfMibObjects 1 }

cyanShelfEntry    OBJECT-TYPE
    SYNTAX        CyanShelfEntry
    MAX-ACCESS    not-accessible
    STATUS        current
    DESCRIPTION
        "An entry of Shelf."
    INDEX {
        cyanShelfShelfId 
    }
    ::= { cyanShelfTable 1 }

CyanShelfEntry  ::=
    SEQUENCE {
        cyanShelfShelfId    Unsigned32,
        cyanShelfAssetTag    DisplayString,
        cyanShelfAutoprovisioningFlag    CyanNoYesTc,
        cyanShelfBaseMacAddress    DisplayString,
        cyanShelfBay    DisplayString,
        cyanShelfDaysSinceLastReplacement    Unsigned32,
        cyanShelfDescription    DisplayString,
        cyanShelfFanFilterReplacingIntervalDays    Unsigned32,
        cyanShelfFanSpeed    Integer32,
        cyanShelfIdentifier    DisplayString,
        cyanShelfMacBlockSize    Unsigned32,
        cyanShelfMfgCleiCode    DisplayString,
        cyanShelfMfgEciCode    DisplayString,
        cyanShelfMfgModuleId    Unsigned32,
        cyanShelfMfgPartNumber    DisplayString,
        cyanShelfMfgRevision    DisplayString,
        cyanShelfMfgSerialNumber    DisplayString,
        cyanShelfName    DisplayString,
        cyanShelfOidClass    DisplayString,
        cyanShelfOperState    CyanOpStateTc,
        cyanShelfOperStateQual    CyanOpStateQualTc,
        cyanShelfOssLabel    DisplayString,
        cyanShelfOwner    DisplayString,
        cyanShelfRackUnits    DisplayString,
        cyanShelfRelayRack    DisplayString,
        cyanShelfSecServState    CyanSecServiceStateTc,
        cyanShelfType    CyanTypeTc
    }

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

    ::= { cyanShelfEntry 1 }

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

    ::= { cyanShelfEntry 2 }

cyanShelfAutoprovisioningFlag OBJECT-TYPE
    SYNTAX       CyanNoYesTc
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "Auto-provisioning flag"

    ::= { cyanShelfEntry 3 }

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

    ::= { cyanShelfEntry 4 }

cyanShelfBay OBJECT-TYPE
    SYNTAX       DisplayString (SIZE(0..16))
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "Bay Number"

    ::= { cyanShelfEntry 5 }

cyanShelfDaysSinceLastReplacement OBJECT-TYPE
    SYNTAX       Unsigned32
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "Days since last filter replacement"

    ::= { cyanShelfEntry 6 }

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

    ::= { cyanShelfEntry 7 }

cyanShelfFanFilterReplacingIntervalDays OBJECT-TYPE
    SYNTAX       Unsigned32
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "Fan filter replacing period"

    ::= { cyanShelfEntry 8 }

cyanShelfFanSpeed OBJECT-TYPE
    SYNTAX       Integer32
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "Fan speed"

    ::= { cyanShelfEntry 9 }

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

    ::= { cyanShelfEntry 10 }

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

    ::= { cyanShelfEntry 11 }

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

    ::= { cyanShelfEntry 12 }

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

    ::= { cyanShelfEntry 13 }

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

    ::= { cyanShelfEntry 14 }

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

    ::= { cyanShelfEntry 15 }

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

    ::= { cyanShelfEntry 16 }

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

    ::= { cyanShelfEntry 17 }

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

    ::= { cyanShelfEntry 18 }

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

    ::= { cyanShelfEntry 19 }

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

    ::= { cyanShelfEntry 20 }

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

    ::= { cyanShelfEntry 21 }

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

    ::= { cyanShelfEntry 22 }

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

    ::= { cyanShelfEntry 23 }

cyanShelfRackUnits OBJECT-TYPE
    SYNTAX       DisplayString (SIZE(0..16))
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "Rack Units"

    ::= { cyanShelfEntry 24 }

cyanShelfRelayRack OBJECT-TYPE
    SYNTAX       DisplayString (SIZE(0..16))
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "Relay Rack Number"

    ::= { cyanShelfEntry 25 }

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

    ::= { cyanShelfEntry 26 }

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

    ::= { cyanShelfEntry 27 }

cyanShelfObjectGroup OBJECT-GROUP
    OBJECTS {
        cyanShelfAssetTag,
        cyanShelfAutoprovisioningFlag,
        cyanShelfBaseMacAddress,
        cyanShelfBay,
        cyanShelfDaysSinceLastReplacement,
        cyanShelfDescription,
        cyanShelfFanFilterReplacingIntervalDays,
        cyanShelfFanSpeed,
        cyanShelfIdentifier,
        cyanShelfMacBlockSize,
        cyanShelfMfgCleiCode,
        cyanShelfMfgEciCode,
        cyanShelfMfgModuleId,
        cyanShelfMfgPartNumber,
        cyanShelfMfgRevision,
        cyanShelfMfgSerialNumber,
        cyanShelfName,
        cyanShelfOidClass,
        cyanShelfOperState,
        cyanShelfOperStateQual,
        cyanShelfOssLabel,
        cyanShelfOwner,
        cyanShelfRackUnits,
        cyanShelfRelayRack,
        cyanShelfSecServState,
        cyanShelfType
    }

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

cyanShelfCompliance MODULE-COMPLIANCE
    STATUS current
    DESCRIPTION
        "The basic info needed to be a cyan Shelf"
    MODULE
    MANDATORY-GROUPS {
        cyanShelfObjectGroup
    }
    ::= { cyanShelfModule 30 }


END

