LUM-FPU-MIB DEFINITIONS ::= BEGIN

IMPORTS
    MODULE-IDENTITY, OBJECT-TYPE, Unsigned32
        FROM SNMPv2-SMI
    OBJECT-GROUP, MODULE-COMPLIANCE
        FROM SNMPv2-CONF
    DateAndTime, TEXTUAL-CONVENTION
        FROM SNMPv2-TC
    lumModules, lumFpuMIB
        FROM LUM-REG
    MgmtNameString
        FROM LUM-TC;

lumFpuMIBModule MODULE-IDENTITY
    LAST-UPDATED
        "201706150000Z" -- June 15th 2017
    ORGANIZATION
        "Infinera Corporation"
    CONTACT-INFO
        "techsupport@infinera.com"
    DESCRIPTION
        "The MIB module for FPU.

        The tables contained in this MIB are:

        (1) The General group contains some general attributes as time stamps
            and tables sizes.

        (2) The fpu application module

"
    REVISION
        "201706150000Z" -- June 15th 2017
    DESCRIPTION
        "Changes made for release r29.0:
         - Changed ORGANIZATION and CONTACT-INFO"
    REVISION
        "201511300000Z" -- November 30th 2015
    DESCRIPTION
        "The initial revision of this module."
    ::= { lumModules 66 }


-- ----------------------------------------------------
-- Compliance area, containing groups and compliance
-- specifications.
-- ----------------------------------------------------

lumFpuConfs OBJECT IDENTIFIER ::= { lumFpuMIB 1 }
lumFpuGroups OBJECT IDENTIFIER ::= { lumFpuConfs 1 }
lumFpuCompl OBJECT IDENTIFIER ::= { lumFpuConfs 2 }


-- ----------------------------------------------------
-- Root for objects in the FPU MIB
-- ----------------------------------------------------

lumFpuMIBObjects OBJECT IDENTIFIER ::= { lumFpuMIB 2 }


-- ----------------------------------------------------
-- This MIB contains the following groups:
-- ----------------------------------------------------

fpuGeneral OBJECT IDENTIFIER ::= { lumFpuMIBObjects 1 }
fpuApplicationList OBJECT IDENTIFIER ::= { lumFpuMIBObjects 2 }


-- ----------------------------------------------------
-- Textual Conventions
-- ----------------------------------------------------

FpuWavelengthBand ::= TEXTUAL-CONVENTION
    STATUS current
    DESCRIPTION
        "Description TBD"

    SYNTAX INTEGER {
        cwdm1310(1310),
        dwdm1550(1550),
        notApplicable (2147483647)
    }


-- ----------------------------------------------------
-- General group
-- ----------------------------------------------------

fpuGeneralConfigLastChangeTime OBJECT-TYPE
    SYNTAX      DateAndTime
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The time when the configuration of the MIB was
        last changed.

"
    ::= { fpuGeneral 1 }

fpuGeneralStateLastChangeTime OBJECT-TYPE
    SYNTAX      DateAndTime
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The time when the state and/or configuration of
	the MIB was last changed.

"
    ::= { fpuGeneral 2 }

fpuGeneralFpuApplicationTableSize OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Size of fpu application table.

"
    ::= { fpuGeneral 3 }

fpuGeneralFpuApplicationConfigLastChangeTime OBJECT-TYPE
    SYNTAX      DateAndTime
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The time when the configuration of the table was
        last changed.

"
    ::= { fpuGeneral 4 }

fpuGeneralFpuApplicationStateLastChangeTime OBJECT-TYPE
    SYNTAX      DateAndTime
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The time when the state and/or configuration of
	    the table was last changed.

"
    ::= { fpuGeneral 5 }


-- ----------------------------------------------------
-- Fpu Application table
-- ----------------------------------------------------

fpuApplicationTable  OBJECT-TYPE
    SYNTAX      SEQUENCE OF FpuApplicationEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The fpuApplication group contains information and
	 configuration for all fpu application objects"

    ::= { fpuApplicationList 1 }

fpuApplicationEntry OBJECT-TYPE
    SYNTAX      FpuApplicationEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "An entry in the fpuApplication list.

"
    INDEX { fpuApplicationIndex }
    ::= { fpuApplicationTable 1 }

FpuApplicationEntry ::=
    SEQUENCE {
        fpuApplicationIndex                        Unsigned32,
        fpuApplicationName                         MgmtNameString,
        fpuApplicationWavelengthBand               FpuWavelengthBand
        }

fpuApplicationIndex OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "An index assigned to each entry.

"
    ::= { fpuApplicationEntry 1 }


fpuApplicationName OBJECT-TYPE
    SYNTAX      MgmtNameString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The management name of the application object.

"
    ::= { fpuApplicationEntry 2 }

fpuApplicationWavelengthBand OBJECT-TYPE
    SYNTAX      FpuWavelengthBand
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Wavelength Band.

"
    DEFVAL { dwdm1550 }
    ::= { fpuApplicationEntry 3 }

-- ----------------------------------------------------
-- Notifications
-- ----------------------------------------------------


-- ----------------------------------------------------
-- Object and event groups
-- ----------------------------------------------------

fpuGeneralGroupV1 OBJECT-GROUP
    OBJECTS {
        fpuGeneralConfigLastChangeTime,
        fpuGeneralStateLastChangeTime,
        fpuGeneralFpuApplicationTableSize,
        fpuGeneralFpuApplicationConfigLastChangeTime,
        fpuGeneralFpuApplicationStateLastChangeTime}
    STATUS      current
    DESCRIPTION
        "The general objects."
    ::= { lumFpuGroups 1 }

fpuApplicationGroupV1 OBJECT-GROUP
    OBJECTS {
        fpuApplicationIndex,
        fpuApplicationName,
        fpuApplicationWavelengthBand}
    STATUS      current
    DESCRIPTION
        "The fpuApplication objects (R26.0)."
    ::= { lumFpuGroups 2 }


-- ----------------------------------------------------
-- Compliance
-- ----------------------------------------------------

lumFpuComplV1 MODULE-COMPLIANCE
    STATUS      current
    DESCRIPTION
        "Basic implementation requirements for the fpu MIB. (R26.0)"
    MODULE
        MANDATORY-GROUPS {
            fpuGeneralGroupV1,
            fpuApplicationGroupV1 }
    ::= { lumFpuCompl 1 }

END

