-- ***************************************************************
-- INFINERA-ENTITY-PEM-MIB
--   
-- October 2008, Sharfuddin Syed / Narendra Gupta
--   
--   
-- Copyright (c) 2008-2012 by Infinera Inc.
-- All rights reserved.
-- ****************************************************************
INFINERA-ENTITY-PEM-MIB DEFINITIONS ::= BEGIN

IMPORTS
    OBJECT-TYPE, MODULE-IDENTITY, Integer32, Unsigned32    FROM SNMPv2-SMI
    OBJECT-GROUP, MODULE-COMPLIANCE             FROM SNMPv2-CONF
    DisplayString                               FROM SNMPv2-TC
    entLPPhysicalIndex                          FROM ENTITY-MIB
    equipment                                   FROM INFINERA-REG-MIB
    InfnEqptType,FloatTenths                    FROM INFINERA-TC-MIB;

pemMIB MODULE-IDENTITY
    LAST-UPDATED  "200810200000Z"
    ORGANIZATION 
        "INFINERA"
    CONTACT-INFO 
        "Infinera
        169 Java Drive
        Sunnyvale, CA - 94089
        
        Contact : Technical Support
        Email   : support@infinera.com
        Phone   : 1-877-INF-5288"
    DESCRIPTION 
        "This MIB is modeling for PEM equipment table."
::= { equipment 15 }

pemConformance       OBJECT IDENTIFIER ::= { pemMIB 3 }
pemCompliances       OBJECT IDENTIFIER ::= { pemConformance 1 }
pemGroups            OBJECT IDENTIFIER ::= { pemConformance 2 }

pemTable  OBJECT-TYPE
    SYNTAX SEQUENCE OF PemEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION 
        "This table contains all PEM  modules that are currently present in a network element.
        "
    ::= { pemMIB 1 }

pemEntry  OBJECT-TYPE
    SYNTAX     PemEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION 
        "A row in the PEM table. Each row in the table is identified with a unique entPhysicalIndexID. 
        "
    INDEX { entLPPhysicalIndex }
    ::= { pemTable 1 }

PemEntry ::= SEQUENCE {
    pemMoId                     DisplayString,
    pemProvEqptType             InfnEqptType,
    provRatingAmps              Unsigned32,
    installedRatingAmps         Unsigned32,
    underVoltageThreshold       FloatTenths,	
    overVoltageThreshold        FloatTenths,
	transientVoltageThreshold   FloatTenths,
    inputVoltage                Integer32
}

pemMoId  OBJECT-TYPE
    SYNTAX     DisplayString
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION 
        "This is the primary Key of the objects e.g 1-IOSHELF-PEMA, 1-IOSHELF-PEMB etc."
    ::= { pemEntry 1 }

pemProvEqptType  OBJECT-TYPE
    SYNTAX     InfnEqptType
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION 
        "The configured PEM type."
    ::= { pemEntry 2 }

provRatingAmps  OBJECT-TYPE
    SYNTAX     Unsigned32
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION 
        "Provisioned Rating AMPs."
    ::= { pemEntry 3 }

installedRatingAmps  OBJECT-TYPE
    SYNTAX     Unsigned32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION 
        "Installed rating Amps."
    ::= { pemEntry 4 }

underVoltageThreshold OBJECT-TYPE
    SYNTAX     FloatTenths
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION 
        "voltage under minimum threshold"
    ::= { pemEntry 5 }

overVoltageThreshold OBJECT-TYPE
    SYNTAX     FloatTenths
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION 
        "high voltage threshold"
    ::= { pemEntry 6 }

transientVoltageThreshold OBJECT-TYPE
    SYNTAX     FloatTenths
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION 
        "Transient voltage threshold value"
    ::= { pemEntry 7 }

inputVoltage  OBJECT-TYPE
    SYNTAX     Integer32
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION  "."
    ::= { pemEntry 8 }


pemCompliance  MODULE-COMPLIANCE
    STATUS     current
    DESCRIPTION 
        ""
    MODULE
        MANDATORY-GROUPS { pemGroup } 
    ::= { pemCompliances 1 }

pemGroup  OBJECT-GROUP
    OBJECTS { 
    pemMoId, 
    pemProvEqptType,
    provRatingAmps,
    installedRatingAmps,
    underVoltageThreshold,  
    overVoltageThreshold,
    transientVoltageThreshold,
    inputVoltage
    }
    STATUS     current
    DESCRIPTION 
        ""
    ::= { pemGroups 1 }
END




