--/********************* (c) 2010-2017 CyberPower System ***************************/
--
-- PROJECT: SNMP MIB FILE CONSTRUCTED
--
-- Version : 2.2
--
-- File Name: CPSMIB2017.mib
--
-- CREATION DATE :  08/29/2017
--
-- AUTHOR : Zander
--
--//////////////////////////////////////////////////////////////////////////////
--
-- DESCRIPTION : CPS Management Information Base(MIB)
--
--//////////////////////////////////////////////////////////////////////////////
--
--
--/****************************************************************************/
-- CPSMIB { iso org(3) dod(6) internet(1) private(4)
--          enterprises(1) cps(3808) }

CPS-MIB DEFINITIONS ::= BEGIN

IMPORTS
   enterprises, Gauge, TimeTicks, IpAddress         FROM RFC1155-SMI
   DisplayString                                    FROM RFC1213-MIB
   OBJECT-TYPE                                      FROM RFC-1212
   TRAP-TYPE                                        FROM RFC-1215;


cps                            OBJECT IDENTIFIER ::=  { enterprises 3808 }

products                       OBJECT IDENTIFIER ::=  { cps 1 }
cpsmgmt                        OBJECT IDENTIFIER ::=  { cps 2 }

hardware                       OBJECT IDENTIFIER ::=  { products 1 }


mconfig                        OBJECT IDENTIFIER ::=  { cpsmgmt 1 }
mtrapinfo                      OBJECT IDENTIFIER ::=  { cpsmgmt 2 }
mcontrol                       OBJECT IDENTIFIER ::=  { cpsmgmt 3 }

ups                            OBJECT IDENTIFIER ::=  { hardware 1 }
eswitch                        OBJECT IDENTIFIER ::=  { hardware 2 }
ePDU                           OBJECT IDENTIFIER ::=  { hardware 3 }
environmentSensor              OBJECT IDENTIFIER ::=  { hardware 4 }
ats                            OBJECT IDENTIFIER ::=  { hardware 5 }
ePDU2                          OBJECT IDENTIFIER ::=  { hardware 6 }
battmgr                        OBJECT IDENTIFIER ::=  { hardware 7 }

mconfigClock                   OBJECT IDENTIFIER ::=  { mconfig 5 }


upsIdent                       OBJECT IDENTIFIER ::=  { ups 1 }
upsBattery                     OBJECT IDENTIFIER ::=  { ups 2 }
upsInput                       OBJECT IDENTIFIER ::=  { ups 3 }
upsOutput                      OBJECT IDENTIFIER ::=  { ups 4 }
upsConfig                      OBJECT IDENTIFIER ::=  { ups 5 }
upsControl                     OBJECT IDENTIFIER ::=  { ups 6 }
upsTest                        OBJECT IDENTIFIER ::=  { ups 7 }
upsOutlet                      OBJECT IDENTIFIER ::=  { ups 8 }

upsBaseIdent                   OBJECT IDENTIFIER ::=  { upsIdent 1 }
upsAdvanceIdent                OBJECT IDENTIFIER ::=  { upsIdent 2 }

upsBaseBattery                 OBJECT IDENTIFIER ::=  { upsBattery 1 }
upsAdvanceBattery              OBJECT IDENTIFIER ::=  { upsBattery 2 }

upsBaseInput                   OBJECT IDENTIFIER ::=  { upsInput 1 }
upsAdvanceInput                OBJECT IDENTIFIER ::=  { upsInput 2 }

upsBaseOutput                  OBJECT IDENTIFIER ::=  { upsOutput 1 }
upsAdvanceOutput               OBJECT IDENTIFIER ::=  { upsOutput 2 }

upsBaseConfig                  OBJECT IDENTIFIER ::=  { upsConfig 1 }
upsAdvanceConfig               OBJECT IDENTIFIER ::=  { upsConfig 2 }

upsBaseControl                 OBJECT IDENTIFIER ::=  { upsControl 1 }
upsAdvanceControl              OBJECT IDENTIFIER ::=  { upsControl 2 }

upsBaseTest                    OBJECT IDENTIFIER ::=  { upsTest 1 }
upsAdvanceTest                 OBJECT IDENTIFIER ::=  { upsTest 2 }

upsBankOutletControl           OBJECT IDENTIFIER ::=  { upsOutlet 1 }

eSwitchIdent                   OBJECT IDENTIFIER ::=  { eswitch 1 }
eSwitchBase                    OBJECT IDENTIFIER ::=  { eswitch 2 }


ePDUIdent                      OBJECT IDENTIFIER ::=  { ePDU 1 }
ePDULoad                       OBJECT IDENTIFIER ::=  { ePDU 2 }
ePDUOutlet                     OBJECT IDENTIFIER ::=  { ePDU 3 }
ePDUPowerSupply                OBJECT IDENTIFIER ::=  { ePDU 4 }
ePDUStatus                     OBJECT IDENTIFIER ::=  { ePDU 5 }
 
ePDULoadDevice                 OBJECT IDENTIFIER ::=  { ePDULoad 1 }
ePDULoadPhaseConfig            OBJECT IDENTIFIER ::=  { ePDULoad 2 }    
ePDULoadStatus                 OBJECT IDENTIFIER ::=  { ePDULoad 3 }
ePDULoadBankConfig             OBJECT IDENTIFIER ::=  { ePDULoad 4 }    

ePDUOutletDevice               OBJECT IDENTIFIER ::=  { ePDUOutlet 1 }
ePDUOutletPhase                OBJECT IDENTIFIER ::=  { ePDUOutlet 2 }
ePDUOutletControl              OBJECT IDENTIFIER ::=  { ePDUOutlet 3 }
ePDUOutletConfig               OBJECT IDENTIFIER ::=  { ePDUOutlet 4 }    
ePDUOutletStatus               OBJECT IDENTIFIER ::=  { ePDUOutlet 5 }
ePDUOutletBank                 OBJECT IDENTIFIER ::=  { ePDUOutlet 6 }

ePDUPowerSupplyDevice          OBJECT IDENTIFIER ::=  { ePDUPowerSupply 1 }

envirIdent                     OBJECT IDENTIFIER ::=  { environmentSensor 1 }
envirTemp                      OBJECT IDENTIFIER ::=  { environmentSensor 2 }
envirHumid                     OBJECT IDENTIFIER ::=  { environmentSensor 3 }
envirContact                   OBJECT IDENTIFIER ::=  { environmentSensor 4 }

atsIdent                       OBJECT IDENTIFIER ::=  { ats 1 }
atsStatus                      OBJECT IDENTIFIER ::=  { ats 2 }
atsConfig                      OBJECT IDENTIFIER ::=  { ats 3 }
atsControl                     OBJECT IDENTIFIER ::=  { ats 4 }
atsLoad                        OBJECT IDENTIFIER ::=  { ats 5 }
atsOutlet                      OBJECT IDENTIFIER ::=  { ats 6 }

atsStatusDevice                OBJECT IDENTIFIER ::=  { atsStatus 1 }
atsStatusInput                 OBJECT IDENTIFIER ::=  { atsStatus 2 }

atsLoadDevice                 OBJECT IDENTIFIER ::=  { atsLoad 1 }
atsLoadStatus                 OBJECT IDENTIFIER ::=  { atsLoad 2 }
atsLoadConfig                 OBJECT IDENTIFIER ::=  { atsLoad 3 }

atsOutletDevice               OBJECT IDENTIFIER ::=  { atsOutlet 1 }

-- ePDU2 1 as Role OID. 
ePDU2Ident                     OBJECT IDENTIFIER ::= { ePDU2 2 }
ePDU2Device                    OBJECT IDENTIFIER ::= { ePDU2 3 }
ePDU2Phase                     OBJECT IDENTIFIER ::= { ePDU2 4 }
ePDU2Bank                      OBJECT IDENTIFIER ::= { ePDU2 5 }
ePDU2Outlet                    OBJECT IDENTIFIER ::= { ePDU2 6 }

ePDU2OutletSwitched                                              OBJECT IDENTIFIER ::= { ePDU2Outlet 1 }
ePDU2OutletMetered                                               OBJECT IDENTIFIER ::= { ePDU2Outlet 2 }

ePDU2Sensor                    OBJECT IDENTIFIER ::= { ePDU2 7 }
ePDU2Group                     OBJECT IDENTIFIER ::= { ePDU2 8 }

bmIdent                   OBJECT IDENTIFIER ::=  { battmgr 1 }
bmProperty              OBJECT IDENTIFIER ::=  { battmgr 2 }
bmConfig                        OBJECT IDENTIFIER ::=  { battmgr 3 }
bmControl                       OBJECT IDENTIFIER ::=  { battmgr 4 }
bmProbes                        OBJECT IDENTIFIER ::=  { battmgr 5 }
bmFuncRes                 OBJECT IDENTIFIER ::=  { battmgr 6 }
bmFuncEqual       OBJECT IDENTIFIER ::=  { battmgr 7 }

bmFuncResMeasure                                          OBJECT IDENTIFIER ::=  { bmFuncRes 1 }

-- object types
-- the cpsmgmt group
-- the mconfig group
mconfigNumTrapAccepters OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The number of receivers to send traps to."
   ::= { mconfig 1 }

mconfigTrapAccepterTable OBJECT-TYPE
   SYNTAX SEQUENCE OF MconfigTrapAccepterEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "A list of receivers to send traps to. The numbers of
       entries are given by the value of mconfigNumTrapAccepters."
   ::= { mconfig 2 }

mconfigTrapAccepterEntry OBJECT-TYPE
   SYNTAX MconfigTrapAccepterEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "The receivers to send traps to."
   INDEX  { trapIndex }
   ::= { mconfigTrapAccepterTable 1 }

MconfigTrapAccepterEntry ::=
   SEQUENCE {
      trapIndex
         INTEGER,
      accepterAddr
         IpAddress,
      communityString
          DisplayString,
      severityDegree
         INTEGER,
      accepterActive
         INTEGER
   }

trapIndex OBJECT-TYPE
   SYNTAX INTEGER(1..10)
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "The trap receiver entry index."
   ::= { mconfigTrapAccepterEntry 1 }

accepterAddr OBJECT-TYPE
   SYNTAX IpAddress
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The trap receiver IP address."
   ::= { mconfigTrapAccepterEntry 2 }

communityString OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The trap receiver community name."
   ::= { mconfigTrapAccepterEntry 3 }

severityDegree OBJECT-TYPE
   SYNTAX INTEGER {
      information(1),
      warning(2),
      severe(3)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The trap receiver severity level. Traps are marked in severity level
       as informational(1), warning(2), severe(3). Only send the traps of
       equal or greater severity than this value to the receiver."
   ::= { mconfigTrapAccepterEntry 4 }

accepterActive OBJECT-TYPE
   SYNTAX INTEGER   {
      yes (1),
      no  (2)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "A receiver will accept traps if yes, and none if no."
   ::= { mconfigTrapAccepterEntry 5 }

mconfigDHCPEnabled OBJECT-TYPE
   SYNTAX INTEGER {
      yes (1),
      no  (2)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The system will automatically obtain its IP from a DHCP server if yes,
       and none if no."
   ::= { mconfig 3 }

mconfigMyAddr OBJECT-TYPE
   SYNTAX IpAddress
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The system IP address."
   ::= { mconfig 4 }


mconfigClockDate OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The current date in the mm/dd/yyyy format. Example: 01/01/2000."
   ::= { mconfigClock 1 }

mconfigClockTime OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The current time in the hh:mm:ss 24H format."
   ::= { mconfigClock 2 }



-- The mtrapinfo group
-- These OIDs allows CPS traps to be sent with additional arguments
-- which may not be defined in the CPS MIB.
mtrapinfoInteger OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Allow CPS traps with an integer argument for providing detail
       information. Not being defined in the MIB, only reply 0."
   ::= { mtrapinfo 1 }

mtrapinfoIpAddress OBJECT-TYPE
   SYNTAX IpAddress
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Allow CPS traps with an IP address argument for providing detail
       information. Not being defined in the MIB, only reply 0.0.0.0."
   ::= { mtrapinfo 2 }

mtrapinfoString OBJECT-TYPE
   SYNTAX  DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Allow CPS traps with an octet string argument for providing detail
       information. Not being defined in the MIB, only reply a NULL string."
   ::= { mtrapinfo 3 }

mtrapinfoGauge OBJECT-TYPE
   SYNTAX  Gauge
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Allow CPS traps with an Gauge argument for providing detail
       information. Not being defined in the MIB, only reply 0."
   ::= { mtrapinfo 4 }

mtrapinfoTimeTicks OBJECT-TYPE
   SYNTAX TimeTicks
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Allow CPS traps with an TimeTicks argument for providing detail
       information. Not being defined in the MIB, only reply 0."
   ::= { mtrapinfo 5 }

mtrapinfoBmEventId OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Allow CPS traps with an integer argument for providing detail
       information about Battery Manager specific event identifier. 
       Not being defined in the MIB, only reply 0.
       
       Known Specific Event ID: Battery Manager
         0 - not used
         1 - Alarm: The battery manager system fault. 
         2 - Info: Device configuration changed. 
         3 - Alarm: Probe configuration mismatched. 
         4 - Info: Probe configuration matched. 
         5 - Alarm: Communication with battery manager has been lost. 
         6 - Info: Communication with battery manager has been restored. 
         7 - Alarm: Communication with LCD has been lost. 
         8 - Info: Communication with LCD has been restored. 
         9 - Warning: Enter battery equalization active mode.
         10- Warning: Leave battery equalization active mode.
         11- Alarm: Battery equalizing has failed. 
         12- Info: Battery equalizing succeed. 
         
       Known Specific Event ID: Battery Probes
         101 - Alarm: Low battery voltage. 
         102 - Alarm: High battery voltage. 
         103 - Info: Battery voltage event has cleared. 
         104 - Alarm: Low battery temperature. 
         105 - Alarm: High battery temperature. 
         106 - Info: Battery temperature event has cleared. 
         107 - Alarm: Critical low battery resistance. 
         108 - Alarm: Critical high battery resistance. 
         109 - Warning: Low battery resistance. 
         110 - Warning: high battery resistance. 
         111 - Info: Battery resistance event has cleared. 
         112 - Alarm: Battery resistance health has crossed alarm threshold. 
         113 - Warning: Battery resistance health has crossed warning threshold. 
         114 - Info: Battery resistance health has returned to Normal. "
   ::= { mtrapinfo 6 }

-- Battery Manager
bmIdentModelName OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Battery manager model name."
   ::= { bmIdent 1 }
  
bmIdentHardwareRev OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Battery manager hardware version."
   ::= { bmIdent 2 }
   
bmIdentFirmwareRev OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Battery manager firmware version."
   ::= { bmIdent 3 }
   
bmIdentLCDHardwareRev OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Battery manager LCD hardware version."
   ::= { bmIdent 4 }
   
bmIdentLCDFirmwareRev OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Battery manager LCD firmware version."
   ::= { bmIdent 5 }
   
bmIdentDateOfManufacture OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Battery manager manufacture date."
   ::= { bmIdent 6 }
   
bmIdentSerialNumber OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Battery manager serial number."
   ::= { bmIdent 7 }

bmIdentName OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Battery manager system identification name."
   ::= { bmIdent 8 }

bmIdentLocation OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Battery manager system location."
   ::= { bmIdent 9 }

bmPropertyStringMax OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Battery manager max string count supported."
   ::= { bmProperty 1 }
   
bmPropertyMaxProbeOnString OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Battery manager max probes on a string supported."
   ::= { bmProperty 2 }
   
bmPropertyInputVoltageRange OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Battery manager line input voltage range."
   ::= { bmProperty 3 }
   
bmConfigBattAH OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Battery manager battery AH type configuration, unit in 0.1 AH."
   ::= { bmConfig 1 }
   
bmConfigStringCount OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Battery manager string count setting."
   ::= { bmConfig 2 }
  
bmConfigProbesCountOnString OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Battery manager probe count on a string setting."
   ::= { bmConfig 3 }
   
bmConfigLowVoltAlarmThreshold OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Battery low voltage alarm threshold setting, unit in 0.1 volt."
   ::= { bmConfig 4 }
   
bmConfigHighVoltAlarmThreshold OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Battery high voltage alarm threshold setting, unit in 0.1 volt."
   ::= { bmConfig 5 }
   
bmConfigVoltDiffAlarmThreshold OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Batteries within a string voltage difference threshold, unit in 0.1 volt."
   ::= { bmConfig 6 }
   
bmConfigLowTempAlarmThreshold OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Battery low temperature alarm threshold, unit in 0.1 degree C."
   ::= { bmConfig 7 }
   
bmConfigHighTempAlarmThreshold OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Battery high temperature alarm threshold, unit in 0.1 degree C."
   ::= { bmConfig 8 }
   
bmConfigLowResAlarmThreshold OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Battery low resistance alarm threshold, unit in 0.01 mOhm."
   ::= { bmConfig 9 }
   
bmConfigHighResAlarmThreshold OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Battery high resistance alarm threshold, unit in 0.01 mOhm."
   ::= { bmConfig 10 }

bmConfigLowResWarnThreshold OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Battery low resistance warning threshold, unit in 0.01 mOhm."
   ::= { bmConfig 11 }
   
bmConfigHighResWarnThreshold OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Battery high resistance warning threshold, unit in 0.01 mOhm."
   ::= { bmConfig 12 }

bmConfigResHealthAlarmThreshold OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Battery resistance health alarm threshold, unit in percentage and should larger than 100."
   ::= { bmConfig 13 }
   
bmConfigResHealthWarnThreshold OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Battery resistance health warn threshold, unit in percentage and should larger than 100."
   ::= { bmConfig 14 }
   
bmControlSysytemIdenticator OBJECT-TYPE
   SYNTAX INTEGER {
      noTestIndicators(1), 
      testIndicators(2)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Battery manager will perform a panel indicator test when the variable is set to testIndicators(2).
       Get this oid will get noTestIndicators(1)."
   ::= { bmControl 1 }
   
bmControlProbeIndicator OBJECT-TYPE
   SYNTAX INTEGER {
                noTestIndicators(1), 
                testIndicators(2)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Battery manager will perform a probe indicator test when the variable is set to testIndicators(2).
       Get this oid will get noTestIndicators(1)."
   ::= { bmControl 2 }

bmProbesNum OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Current connected probe number."
   ::= { bmProbes 1 }
   
bmProbesTableSize OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Current configured probe number."
   ::= { bmProbes 2 }
   
bmProbesTable OBJECT-TYPE
   SYNTAX SEQUENCE OF BmProbesEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "Allows for getting of status of probes."
   ::= { bmProbes 3 }

bmProbesEntry OBJECT-TYPE
   SYNTAX BmProbesEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "The status of probes installation to gather status from."
   INDEX  { bmProbesIndex }
   ::= { bmProbesTable 1 }

BmProbesEntry ::=
   SEQUENCE {
      bmProbesIndex          INTEGER,
      bmProbesPackIndex      INTEGER,
      bmProbesStringIndex    INTEGER,
      bmProbesBattIndex      INTEGER
   }

bmProbesIndex OBJECT-TYPE
   SYNTAX INTEGER(1..960)
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Probes table index"
   ::= { bmProbesEntry 1 }
   
bmProbesPackIndex    OBJECT-TYPE
   SYNTAX  INTEGER(1..64)
   ACCESS  read-only
   STATUS  mandatory
   DESCRIPTION
      "The battery pack number the probe installed."
   ::= { bmProbesEntry 2 }

bmProbesStringIndex    OBJECT-TYPE
   SYNTAX  INTEGER(1..16)    
   ACCESS  read-only
   STATUS  mandatory
   DESCRIPTION
      "The string number the probe installed."
   ::= { bmProbesEntry 3 }
   
bmProbesBattIndex    OBJECT-TYPE
   SYNTAX  INTEGER(1..960)    
   ACCESS  read-only
   STATUS  mandatory
   DESCRIPTION
      "The battery number the probe installed."
   ::= { bmProbesEntry 4 }

bmProbesVoltageTableSize OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The size of the battery voltage table"
   ::= { bmProbes 4 }
   
bmProbesVoltageTable OBJECT-TYPE
   SYNTAX SEQUENCE OF BmProbesVoltageEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "Allows for getting of voltage of batteries."
   ::= { bmProbes 5 }

bmProbesVoltageEntry OBJECT-TYPE
   SYNTAX BmProbesVoltageEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "Batteries voltage status."
   INDEX  { bmProbesVoltageIndex}
   ::= { bmProbesVoltageTable 1 }

BmProbesVoltageEntry ::=
   SEQUENCE {
      bmProbesVoltageIndex         INTEGER,
      bmProbesVoltagePackIndex     INTEGER,
      bmProbesVoltageStringIndex   INTEGER,
      bmProbesVoltageBattIndex     INTEGER,
      bmProbesVoltageProbeIndex    INTEGER, 
      bmProbesVoltageAlarmStatus   INTEGER,
      bmProbesVoltage              INTEGER, 
      bmProbesVoltageEqualPercentage INTEGER
   }

bmProbesVoltageIndex OBJECT-TYPE
   SYNTAX INTEGER(1..960)
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The index of the voltage status entry."
   ::= { bmProbesVoltageEntry 1 }
   
bmProbesVoltagePackIndex    OBJECT-TYPE
   SYNTAX  INTEGER(1..64)    
   ACCESS  read-only
   STATUS  mandatory
   DESCRIPTION
      "The battery pack index to the voltage record."
   ::= { bmProbesVoltageEntry 2 }

bmProbesVoltageStringIndex    OBJECT-TYPE
   SYNTAX  INTEGER(1..16)
   ACCESS  read-only
   STATUS  mandatory
   DESCRIPTION
      "The battery string index to the voltage record."
   ::= { bmProbesVoltageEntry 3 }
   
bmProbesVoltageBattIndex    OBJECT-TYPE
   SYNTAX  INTEGER(1..960)    
   ACCESS  read-only
   STATUS  mandatory
   DESCRIPTION
      "The battery index to the voltage record within its string."
   ::= { bmProbesVoltageEntry 4 }

bmProbesVoltageProbeIndex    OBJECT-TYPE
   SYNTAX  INTEGER(1..960)
   ACCESS  read-only
   STATUS  mandatory
   DESCRIPTION
      "The probe index to the voltage record."
   ::= { bmProbesVoltageEntry 5 }

bmProbesVoltageAlarmStatus    OBJECT-TYPE
   SYNTAX  INTEGER {
      voltageNormal(1), 
      voltageWarnLow(2), 
      voltageWarnHigh(3), 
      voltageAlarmLow(4), 
      voltageAlarmHigh(5)
   }
   ACCESS  read-only
   STATUS  mandatory
   DESCRIPTION
      "The battery voltage alarm status."
   ::= { bmProbesVoltageEntry 6 }
   
bmProbesVoltage    OBJECT-TYPE
   SYNTAX  INTEGER
   ACCESS  read-only
   STATUS  mandatory
   DESCRIPTION
      "Getting this oid to get battery voltage, unit in 0.01 volt."
   ::= { bmProbesVoltageEntry 7 }

bmProbesVoltageEqualPercentage    OBJECT-TYPE
   SYNTAX  INTEGER
   ACCESS  read-only
   STATUS  mandatory
   DESCRIPTION
      "Getting this oid to get battery voltage equalizing power, unit in percentage."
   ::= { bmProbesVoltageEntry 8 }

bmProbesTempTableSize OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The size of the Temperature table"
   ::= { bmProbes 6 }
   
bmProbesTempTable OBJECT-TYPE
   SYNTAX SEQUENCE OF BmProbesTempEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "Allows for getting of temperature of probes."
   ::= { bmProbes 7 }

bmProbesTempEntry OBJECT-TYPE
   SYNTAX BmProbesTempEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "Temperature status entry."
   INDEX  { bmProbesTempIndex }
   ::= { bmProbesTempTable 1 }

BmProbesTempEntry ::=
   SEQUENCE {
      bmProbesTempIndex          INTEGER,
      bmProbesTempPackIndex      INTEGER, 
      bmProbesTempStringIndex    INTEGER,
      bmProbesTempBattIndex      INTEGER,
      bmProbesTempProbeIndex     INTEGER,
      bmProbesTempAlarmStatus    INTEGER,
      bmProbesTemperature        INTEGER
   }

bmProbesTempIndex OBJECT-TYPE
   SYNTAX INTEGER(1..960)
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The index of the temperature entry."
   ::= { bmProbesTempEntry 1 }

bmProbesTempPackIndex OBJECT-TYPE
   SYNTAX INTEGER(1..64)
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The battery pack index of the temperature entry."
   ::= { bmProbesTempEntry 2 }

bmProbesTempStringIndex    OBJECT-TYPE
   SYNTAX  INTEGER(1..16)    
   ACCESS  read-only
   STATUS  mandatory
   DESCRIPTION
      "The index to the string."
   ::= { bmProbesTempEntry 3 }

bmProbesTempBattIndex    OBJECT-TYPE
   SYNTAX  INTEGER(1..960)    
   ACCESS  read-only
   STATUS  mandatory
   DESCRIPTION
      "The index to the battery."
   ::= { bmProbesTempEntry 4 }
   
bmProbesTempProbeIndex    OBJECT-TYPE
   SYNTAX  INTEGER(1..960)    
   ACCESS  read-only
   STATUS  mandatory
   DESCRIPTION
      "The index to the probe."
   ::= { bmProbesTempEntry 5 }
   
bmProbesTempAlarmStatus    OBJECT-TYPE
   SYNTAX  INTEGER {
      temperatureNormal(1), 
      temperatureWarnLow(2), 
      temperatureWarnHigh(3), 
      temperatureAlarmLow(4), 
      temperatureAlarmHigh(5)
   }
   ACCESS  read-only
   STATUS  mandatory
   DESCRIPTION
      "The alarm status of the temperature."
   ::= { bmProbesTempEntry 6 }

bmProbesTemperature    OBJECT-TYPE
   SYNTAX  INTEGER(-40..60)    
   ACCESS  read-only
   STATUS  mandatory
   DESCRIPTION
      "The temperature record, measure in 0.1 degree C."
   ::= { bmProbesTempEntry 7 }

bmProbesResTableSize OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The size of the Resistance table"
   ::= { bmProbes 8 }
   
bmProbesResTable OBJECT-TYPE
   SYNTAX SEQUENCE OF BmProbesResEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "Allows for getting of resistance of probes."
   ::= { bmProbes 9 }

bmProbesResEntry OBJECT-TYPE
   SYNTAX BmProbesResEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "The resistance status entry."
   INDEX  { bmProbesResIndex }
   ::= { bmProbesResTable 1 }

BmProbesResEntry ::=
   SEQUENCE {
      bmProbesResIndex          INTEGER,
      bmProbesResPackIndex      INTEGER, 
      bmProbesResStringIndex    INTEGER,
      bmProbesResBattIndex      INTEGER,
      bmProbesResProbeIndex     INTEGER,
      bmProbesResAlarmStatus    INTEGER,
      bmProbesResistance        INTEGER,
      bmProbesResHealth         INTEGER
   }

bmProbesResIndex OBJECT-TYPE
   SYNTAX INTEGER(1..960)
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The index of the resistance entry."
   ::= { bmProbesResEntry 1 }

bmProbesResPackIndex OBJECT-TYPE
   SYNTAX INTEGER(1..64)
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The battery pack index to the resistance entry."
   ::= { bmProbesResEntry 2 }   
   
bmProbesResStringIndex OBJECT-TYPE
   SYNTAX  INTEGER(1..16)    
   ACCESS  read-only
   STATUS  mandatory
   DESCRIPTION
      "The index to the string."
   ::= { bmProbesResEntry 3 }

bmProbesResBattIndex    OBJECT-TYPE
   SYNTAX  INTEGER(1..960)    
   ACCESS  read-only
   STATUS  mandatory
   DESCRIPTION
      "The index to the battery."
   ::= { bmProbesResEntry 4 }
   
bmProbesResProbeIndex    OBJECT-TYPE
   SYNTAX  INTEGER(1..960)    
   ACCESS  read-only
   STATUS  mandatory
   DESCRIPTION
      "The index to the probe."
   ::= { bmProbesResEntry 5 }
   
bmProbesResAlarmStatus    OBJECT-TYPE
   SYNTAX  INTEGER {
      resistanceNormal(1), 
      resistanceWarnLow(2), 
      resistanceWarnHigh(3), 
      resistanceAlarmLow(4), 
      resistanceAlarmHigh(5)
   }
   ACCESS  read-only
   STATUS  mandatory
   DESCRIPTION
      "The alarm status of the battery resistance."
   ::= { bmProbesResEntry 6 }

bmProbesResistance    OBJECT-TYPE
   SYNTAX  INTEGER(-40..60)    
   ACCESS  read-only
   STATUS  mandatory
   DESCRIPTION
      "The resistance of the battery, unit in 0.01 mOhm."
   ::= { bmProbesResEntry 7 }
   
bmProbesResHealth    OBJECT-TYPE
   SYNTAX  INTEGER(-40..60)    
   ACCESS  read-only
   STATUS  mandatory
   DESCRIPTION
      "The resistance health status, unit in percentage."
   ::= { bmProbesResEntry 8 }

bmFuncResMeasureInterval OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The time interval for battery manager to exercising resistance measurement, unit in hour(s)."
   ::= { bmFuncResMeasure 1 }
   
bmFuncResMeasureManualCmd OBJECT-TYPE
   SYNTAX INTEGER {
                noResMeasure(1), 
                resMeasureNow(2)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "This oid allows user to manual resistance measurement. 
      Set this oid to measureResNow(2) to measure resistance immediately.
      
      Get bmFuncResMeasureLastCmdResult oid to check command acceptance.
      "
   ::= { bmFuncResMeasure 2 }
   
bmFuncResMeasureManualResult OBJECT-TYPE
   SYNTAX INTEGER {
      resNoManualResult(1), 
      resManualProcessing(2), 
      resManualComplete(3), 
      resManualReject(9)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Get this oid to confirm the last manual command result."
   ::= { bmFuncResMeasure 3 }
   
bmFuncResMeasureLastUpdate OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "When resistance measurement complete either by auto or manual, 
      this oid will update to the last update time."
   ::= { bmFuncResMeasure 4 }

bmFuncEqualEnable OBJECT-TYPE
   SYNTAX INTEGER{
         enable (1), 
         disable (2)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Battery voltage equalization configuration."
   ::= { bmFuncEqual 1 }
   
bmFuncEqualActiveCond OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Volatge equalization will active when the voltage difference larger than this value, unit in 10mV."
   ::= { bmFuncEqual 2 }

bmFuncEqualStatus OBJECT-TYPE
   SYNTAX INTEGER {
      equalActive(1), 
      equalFailed(2), 
      equalNotActive(3), 
      equalNotSupport(9)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "This oid shows the current equalization status."
   ::= { bmFuncEqual 3 }
   
bmFuncEqualStartTime OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "This oid shows the last equalization start time."
   ::= { bmFuncEqual 4 }
   
bmFuncEqualElapseTime OBJECT-TYPE
   SYNTAX TimeTicks
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "This oid shows the elapsed time since last equalization started."
   ::= { bmFuncEqual 5 }

-- The mcontrol group
mcontrolRestart OBJECT-TYPE
   SYNTAX INTEGER   {
      none                                                                      (1),
      restartCurrentSystem            (2),
      restartCurrentAgent             (3),
      restartCurrentSystemAndAgent    (4)
  }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Setting this OID to restartCurrentSystem (2) will restart the current system.
      Setting this OID to restartCurrentAgent (3) will restart the current agent. 
      Setting this OID to restartCurrentSystemAnd Agent (4) will restart the current 
      the current system and agent."

   ::= { mcontrol 1 }

mcontrolReset OBJECT-TYPE
   SYNTAX INTEGER   {
      none                           (1),
      resetCurrentSystem             (2),
      resetCurrentAgent              (3),
      resetCurrentSystemAndAgent     (4)
  }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Setting this OID to resetCurrentSystem (2) will reset the current system. 
      Setting this OID to resetCurrentAgent (3) will reset the current agent. 
      Setting this OID to resetCurrentSystemAndAgenta (4) will reset the current 
      system and the current agent."

   ::= { mcontrol 2 }
   
-- the ups group
-- the upsIdent group
-- the upsBaseIdent
upsBaseIdentModel OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The UPS model name."
   ::= { upsBaseIdent 1 }

upsBaseIdentName OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The UPS identified name could be set by the administrator."
   ::= { upsBaseIdent 2 }


-- the upsAdvanceIdent group
upsAdvanceIdentFirmwareRevision OBJECT-TYPE
   SYNTAX DisplayString 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The UPS firmware revision."
   ::= { upsAdvanceIdent 1 }

upsAdvanceIdentDateOfManufacture OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The UPS manufacture date in mm/dd/yy format."
   ::= { upsAdvanceIdent 2 }

upsAdvanceIdentSerialNumber OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The UPS serial number in the internal microprocessor."
   ::= { upsAdvanceIdent 3 }

upsAdvanceIdentAgentFirmwareRevision OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The SNMP agent firmware revision."
   ::= { upsAdvanceIdent 4 }

upsAdvanceIdentLCDFirmwareVersion OBJECT-TYPE
   SYNTAX DisplayString 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The revision number of the UPS LCD firmware."
   ::= { upsAdvanceIdent 5 }

upsAdvanceIdentPowerRating OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The Volt-Amp rating of the UPS."
   ::= { upsAdvanceIdent 6 }

upsAdvanceIdentLoadPower OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The power rating(Watts) of the UPS."
   ::= { upsAdvanceIdent 7 }

upsAdvanceIdentCurrentRating OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      " The output current rating of the UPS. Measured in tenths of Amps."
   ::= { upsAdvanceIdent 8 }


-- the upsBattery group
-- the upsBaseBattery group
upsBaseBatteryStatus OBJECT-TYPE
   SYNTAX INTEGER  {
      unknown(1),
      batteryNormal(2),
      batteryLow(3)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The UPS battery status.  A batteryLow(3) value means the
       battery will be exhausted soon under the current load.
       The amount of low battery run time can be configured by the
       upsAdvanceConfigLowBatteryRunTime."
   ::= { upsBaseBattery 1 }

upsBaseBatteryTimeOnBattery OBJECT-TYPE
   SYNTAX TimeTicks 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The UPS wasted battery time since the UPS has transfered to
       backup mode."
   ::= { upsBaseBattery 2 }

upsBaseBatteryLastReplaceDate OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The UPS batteries last replaced date in mm/dd/yy format.
       This value is originally set when manufactured. If batteries
       replaced, administrator should reset this value."
   ::= { upsBaseBattery 3 }


-- the upsAdvanceBattery group
upsAdvanceBatteryCapacity OBJECT-TYPE
   SYNTAX Gauge
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The battery capacity expressed in percentage."
   ::= { upsAdvanceBattery 1 }

upsAdvanceBatteryVoltage OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The battery voltage expressed in 1/10 VDC."
   ::= { upsAdvanceBattery 2 }

upsAdvanceBatteryTemperature OBJECT-TYPE
   SYNTAX Gauge
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The UPS battery temperature expressed in Celsius."
   ::= { upsAdvanceBattery 3 }

upsAdvanceBatteryRunTimeRemaining OBJECT-TYPE
   SYNTAX TimeTicks
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The UPS battery remaining run time."
   ::= { upsAdvanceBattery 4 }

upsAdvanceBatteryReplaceIndicator OBJECT-TYPE
   SYNTAX INTEGER  {
      noBatteryNeedsReplacing(1),
      batteryNeedsReplacing(2)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "This value indicates if UPS batteries need to be replaced."
   ::= { upsAdvanceBattery 5 }

upsAdvanceBatteryFullChargeVoltage OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The battery charged voltage expressed in 1/10 VDC."
   ::= { upsAdvanceBattery 6 }

upsAdvanceBatteryCurrent OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The battery current expressed in percentage."
   ::= { upsAdvanceBattery 7 }

upsAdvanceBatteryVoltageRating OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      " The DC voltage rating of the battery set."
   ::= { upsAdvanceBattery 8 }


-- the upsBaseInput group
upsBaseInputPhase OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The AC input phase."
   ::= { upsBaseInput 1 }


-- the upsAdvanceInput group
upsAdvanceInputLineVoltage OBJECT-TYPE
   SYNTAX Gauge
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The input line voltage in 1/10 VAC."
   ::= { upsAdvanceInput 1 }

upsAdvanceInputMaxLineVoltage OBJECT-TYPE
   SYNTAX Gauge
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The maximum input line voltage in 1/10 VAC over the
       previous 1 minute period."
   ::= { upsAdvanceInput 2 }

upsAdvanceInputMinLineVoltage OBJECT-TYPE
   SYNTAX Gauge
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The minimum input line voltage in 1/10 VAC over the
       previous 1 minute period."
   ::= { upsAdvanceInput 3 }

upsAdvanceInputFrequency OBJECT-TYPE
   SYNTAX Gauge
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The input line frequency in 1/10 Hz."
   ::= { upsAdvanceInput 4 }

upsAdvanceInputLineFailCause OBJECT-TYPE
   SYNTAX INTEGER  {
      noTransfer(1),
      highLineVoltage(2),
      brownout(3),
      selfTest(4)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The reason of UPS power failure.
       This value is set to:
       - noTransfer(1), if UPS is in utility mode.
       - highLineVoltage(2), if UPS switch to battery mode by reason of
         input voltage over the high transfer vloltage.
       - brownout(3), if UPS switch to battery mode by reason of
         input voltage under the low transfer vloltage.
       - selfTest(4), if the UPS was commanded to do a self test."
   ::= { upsAdvanceInput 5 }

upsAdvanceInputStatus OBJECT-TYPE
   SYNTAX INTEGER  {
      normal(1),
      overVoltage(2),
      underVoltage(3),
      frequencyFailure(4),
      blackout(5)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Display the present status of the utility power supplied to the UPS."
   ::= { upsAdvanceInput 6 }


-- the upsBaseOutput group
upsBaseOutputStatus OBJECT-TYPE
   SYNTAX INTEGER  {
      unknown(1),
      onLine(2),
      onBattery(3),
      onBoost(4),
      onSleep(5),
      off(6),
      rebooting(7)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The UPS output status."
   ::= { upsBaseOutput 1 }

upsBaseOutputPhase OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The output phase."
   ::= { upsBaseOutput 2 }

upsBaseOutputWorkingFrequency OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      " The frequency of the UPS output power."
   ::= { upsBaseOutput 3 }


-- the upsAdvanceOutput group
upsAdvanceOutputVoltage OBJECT-TYPE
   SYNTAX Gauge
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The UPS output voltage in 1/10 VAC."
   ::= { upsAdvanceOutput 1 }

upsAdvanceOutputFrequency OBJECT-TYPE
   SYNTAX Gauge
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The UPS output frequency in 1/10 Hz."
   ::= { upsAdvanceOutput 2 }

upsAdvanceOutputLoad OBJECT-TYPE
   SYNTAX Gauge
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The UPS output load expressed in percentage"
   ::= { upsAdvanceOutput 3 }

upsAdvanceOutputCurrent OBJECT-TYPE
   SYNTAX Gauge
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The UPS output current in Amps."
   ::= { upsAdvanceOutput 4 }

-- the upsBaseConfig group
upsBaseConfigNumDevices OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The number of equipment plugged into the UPS."
   ::= { upsBaseConfig 1 }

upsBaseConfigDeviceTable OBJECT-TYPE
   SYNTAX SEQUENCE OF UpsBaseConfigDeviceEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "A list of equipment plugged into the UPS.
       The numbers of entries are given by the value of
       upsBaseConfigNumDevices."
   ::= { upsBaseConfig 2 }

upsBaseConfigDeviceEntry OBJECT-TYPE
   SYNTAX UpsBaseConfigDeviceEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "The equipment plugged in to the UPS."
   INDEX  { deviceIndex }
   ::= { upsBaseConfigDeviceTable 1 }

UpsBaseConfigDeviceEntry ::=
   SEQUENCE {
      deviceIndex
         INTEGER,
      deviceName
         DisplayString,
      vaRating
         INTEGER,
      acceptThisDevice
         INTEGER
   }

deviceIndex OBJECT-TYPE
   SYNTAX INTEGER(1..255)
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The index of the equipment plugged into the UPS."
   ::= { upsBaseConfigDeviceEntry 1 }

deviceName OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The name of the equipment plugged into the UPS."
   ::= { upsBaseConfigDeviceEntry 2 }

vaRating OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The VA rating of the equipment plugged into the UPS."
   ::= { upsBaseConfigDeviceEntry 3 }

acceptThisDevice OBJECT-TYPE
   SYNTAX INTEGER   {
      yes(1),
      no(2)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "An equipment is plugged if yes, unplugged if no."
   ::= { upsBaseConfigDeviceEntry 4 }


-- the upsAdvanceConfig group
upsAdvanceConfigRatedOutputVoltage OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The standard UPS output voltage in VAC.
       The possible values are 100, 110, 120, 127,
       208, 220, 230, and 240.
       If a value other than a possible value is set,
       it will not be accepted."
   ::= { upsAdvanceConfig 1 }

upsAdvanceConfigHighTransferVolt OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Adjust the high transfer vloltage in VAC.
       The high transfer vloltage will become the UPS default value
       subtracts this value. The allowed values depend on the output:
       100-127 volt system allow settings of 0-15.
       208-240 volt system allow settings of 0-30.
       If the adjustable value is over the allowed values,
       it will not be accepted."
   ::= { upsAdvanceConfig 2 }

upsAdvanceConfigLowTransferVolt OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Adjust the low transfer vloltage in VAC.
       The low transfer vloltage will become the UPS default value
       adds this value. The allowed values depend on the output:
       100-127 volt system allow settings of 0-15.
       208-240 volt system allow settings of 0-30.
       If the adjustable value is over the allowed values,
       it will not be accepted."
   ::= { upsAdvanceConfig 3 }

upsAdvanceConfigAlarm OBJECT-TYPE
   SYNTAX INTEGER  {
      timed(1),
      enable(2),
      disable(3),
      mute(4)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "This value is set to handle audible alarms when power failure."
   ::= { upsAdvanceConfig 4 }

upsAdvanceConfigAlarmTimer OBJECT-TYPE
   SYNTAX TimeTicks
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The time after power failure at which the UPS begins giving
       audible alarms. This timer is effective only if the value of
       upsAdvanceConfigAlarm is timed(1).
       Accepted values are between 0 to 60 seconds.
       If a value other than a supported value is set, the value
       will not be accepted."
   ::= { upsAdvanceConfig 5 }

upsAdvanceConfigMinReturnCapacity OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The minimum battery capacity that UPS will return from
       a low battery shutdown condition. The possible values
       are between 0 to 40.
       If a value other than a supported value is set, the value
       will not be accepted."
   ::= { upsAdvanceConfig 6 }

upsAdvanceConfigSensitivity OBJECT-TYPE
   SYNTAX INTEGER  {
      auto(1),
      low(2),
      medium(3),
      high(4)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The sensitivity of the UPS to power failure detection."
   ::= { upsAdvanceConfig 7 }

upsAdvanceConfigLowBatteryRunTime OBJECT-TYPE
   SYNTAX TimeTicks
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The desired run time, in seconds, UPS will enter in a
       low battery sequence. The possible values are
       120, 300, 420, 600.
       If a value other than a supported value is set, the value
       will not be accepted."
   ::= { upsAdvanceConfig 8 }

upsAdvanceConfigReturnDelay OBJECT-TYPE
   SYNTAX TimeTicks
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The delay time the UPS will turn on after power recovery.
       The value is also used in a 'reboot' or 'wake up' sequence.
       The possible values are 0 to 600 seconds.
       If a value other than a supported value is set, the value
       will not be accepted."
   ::= { upsAdvanceConfig 9 }

upsAdvanceConfigShutoffDelay OBJECT-TYPE
   SYNTAX TimeTicks
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The delay time the UPS will remain on after receiving a
       turn off command.  The possible values are between 1 to 
       99 minutes.
       If a value other than a supported value is set, the value
       will not be accepted."
   ::= { upsAdvanceConfig 10 }

upsAdvanceConfigSleepDelay OBJECT-TYPE
   SYNTAX TimeTicks
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The delay time the UPS will enter sleep mode after receiving 
       a sleep command. WThe possible values are between 1 to 99 
       minutes.
       If a value other than a supported value is set, the value
       will not be accepted."
   ::= { upsAdvanceConfig 11 }


upsAdvanceConfigSetEEPROMDefaults OBJECT-TYPE
   SYNTAX INTEGER  {
      noSetEEPROMDefaults(1),
      setEEPROMDefaults(2)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Reset the UPS EEPROM parameters to default values."
   ::= { upsAdvanceConfig 12 }

upsAdvanceConfigAutoRestore OBJECT-TYPE
   SYNTAX INTEGER  {
      disable(1),
      enable(2)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "When this option is enabled, the UPS will restore output 
       immediately when the utility power restores.When this option 
       is disabled, the UPS will not restore output at that moment 
       and users have to turn it on manually at a later time. "
   ::= { upsAdvanceConfig 13 }


upsAdvanceConfigRechargedCapacity OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      " When the utility power restores, the UPS will start to recharge until 
        the specified battery capacity in percentage is met before restoring output power. 
        The possible values are 0, 15, 30, 45, 60, 75, and 90.
        If a value other than a possible value is set, it will not be accepted."
   ::= { upsAdvanceConfig 14 }


upsAdvanceConfigColdStart OBJECT-TYPE
   SYNTAX INTEGER  {
      disable(1),
      enable(2)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      " Set the ability of the UPS can start in the absence of input power.When 
        this option is enabled the UPS can be turned on without having input power."
   ::= { upsAdvanceConfig 15 }


upsAdvanceConfigDeepDischargeProtection OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      " When the UPS is on Battery Mode with 0% load and the status remains for 
        the time configured,the RMCARD will enforce the UPS to Sleep Mode and 
        the output will be turned off. The possible values are 0, 20, 40, and 60 minutes.
        If a value other than a possible value is set, it will not be accepted. "
   ::= { upsAdvanceConfig 16 }



upsAdvanceConfigSleepAfterAllClientShut OBJECT-TYPE
   SYNTAX INTEGER  {
      disable(1),
      enable(2)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "If this option is enabled, UPS will enter sleep mode after 
       utility power failed and remaining MSDT+2 minutes.More information 
       about MSDT please reference to help page of UPS - > PowerPanel List."
   ::= { upsAdvanceConfig 17 }


-- the upsBaseControl group
upsBaseControlConserveBattery OBJECT-TYPE
   SYNTAX INTEGER  {
      noTurnOffUps(1),
      turnOffUpsToConserveBattery(2)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "UPS on battery will enter sleeping when the variable is set
       to turnOffUpsToConserveBattery(2). When utility power recovers
       the UPS will turn back on. Trying to turn off a UPS that is
       not on battery mode will cause badValue error.
       It is no effective to set this value to noTurnOffUps(1)."
   ::= { upsBaseControl 1 }


-- the upsAdvanceControl group
upsAdvanceControlUpsOff OBJECT-TYPE
   SYNTAX INTEGER  {
      noTurnUpsOff(1),
      turnUpsOff(2),
      turnUpsOffGracefully(3)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "UPS will shutdown when the variable is set to turnUpsOff(2).
       UPS will shutdown after a delay period specified by 
       upsAdvanceConfigShutoffDelay when the variable is Set to 
       turnUpsOffGracefully(3).
       Without regard to the utility state the UPS will not provide 
       output power in this state.
       It is no effective to set this value to noTurnUpsOff(1)."
   ::= { upsAdvanceControl 1 }

upsAdvanceControlRebootUps OBJECT-TYPE
   SYNTAX INTEGER  {
      noRebootUps(1),
      rebootUps(2)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "UPS will shutdown and turn back on when the variable is
       set to rebootUps(2).
       It is no effective to set this value to noRebootUps(1)."
   ::= { upsAdvanceControl 2 }

upsAdvanceControlUpsSleep OBJECT-TYPE
   SYNTAX INTEGER  {
      noPutUpsToSleep(1),
      putUpsToSleep(2),
      putUpsToSleepGracefully(3)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "UPS will enter sleep mode when the variable is set to putUpsToSleep(2). 
       UPS will enter sleep mode after a delay period specified by 
       upsAdvanceConfigSleepDelay when the variable is Set to 
       putUpsToSleepGracefully(3).
       Without regard to the utility state the UPS will not provide output 
       power in sleep mode. Output power will recover when specified time 
       has elapsed.
       It is no effective to set this value to noPutUpsToSleep(1)."
   ::= { upsAdvanceControl 3 }

upsAdvanceControlSimulatePowerFail OBJECT-TYPE
   SYNTAX INTEGER  {
      noSimulatePowerFailure(1),
      simulatePowerFailure(2)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "UPS will transfer to backup mode when the variable is set
       to simulatePowerFailure(2).
       It is no effective to set this value to noFlashAndBeep(1)."
   ::= { upsAdvanceControl 4 }

upsAdvanceControlFlashAndBeep OBJECT-TYPE
   SYNTAX INTEGER  {
      noFlashAndBeep(1),
      flashAndBeep(2)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "UPS will beep and simultaneously turn on the panel lights
       when the variable is set to flashAndBeep(2).
       It is no effective to set this value to noSimulatePowerFailure(1)."
   ::= { upsAdvanceControl 5 }

upsAdvanceControlTurnOnUPS OBJECT-TYPE
   SYNTAX INTEGER  {
      noTurnOnUPS(1),
      turnOnUPS(2)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "UPS will turned on immediately when the variable is set
       to turnOnUPS(2).
       It is no effective to set this value to noTurnOnUPS(1)."
   ::= { upsAdvanceControl 6 }


-- the upsTest group
-- the upsAdvanceTest group
upsAdvanceTestDiagnosticSchedule OBJECT-TYPE
   SYNTAX INTEGER  {
      unknown(1),
      biweekly(2),
      weekly(3),
      atTurnOn(4),
      never(5)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The schedule of the UPS automatic selftest."
   ::= { upsAdvanceTest 1 }

upsAdvanceTestDiagnostics OBJECT-TYPE
   SYNTAX INTEGER  {
      noTestDiagnostics(1),
      testDiagnostics(2)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "UPS will do a diagnostic selftest when the variable is set
       to testDiagnostics(2).
       It is no effective to set this value to noTestDiagnostics(1)."
   ::= { upsAdvanceTest 2 }

upsAdvanceTestDiagnosticsResults OBJECT-TYPE
   SYNTAX INTEGER {
      ok(1),
      failed(2),
      invalidTest(3),
      testInProgress(4)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The last UPS selftest result."
   ::= { upsAdvanceTest 3 }

upsAdvanceTestLastDiagnosticsDate OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The last UPS selftest date in mm/dd/yy format."
   ::= { upsAdvanceTest 4 }

upsAdvanceTestIndicators OBJECT-TYPE
   SYNTAX INTEGER {
        noTestIndicators(1),
        testIndicators(2)
        }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "UPS will perform a panel indicator test when the variable
       is set to testIndicators(2).
       It is no effective to set this value to noTestIndicators(1)."
   ::= { upsAdvanceTest 5 }

upsAdvanceTestRuntimeCalibration OBJECT-TYPE
   SYNTAX INTEGER  {
      noPerformCalibration(1),
      performCalibration(2),
      cancelCurrentCalibration(3)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "UPS will discharge to calibrate the UPS runtime when the variable
       is set to performCalibration(2).
       This test runs until the UPS is in a low battery condition.
       UPS will cancel the discharge after setting performCalibration(2)
       when the variable is set to cancelCurrentCalibration(3).
       It is no effective to set this value to noPerformCalibration(1).
       The result of the runtime test will be stored in
       upsAdvanceTestCalibrationResults."
   ::= { upsAdvanceTest 6 }

upsAdvanceTestCalibrationResults OBJECT-TYPE
   SYNTAX INTEGER {
      ok(1),
      invalidCalibration(2),
      calibrationInProgress(3)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The last runtime calibration result.
       This value means :
       - ok(1), if a successful runtime calibration.
       - invalidCalibration(2), if runtime calibration failure.
       - calibrationInProgress(3), if calibration is processing now."
   ::= { upsAdvanceTest 7 }

upsAdvanceTestCalibrationDate OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The last UPS runtime calibration date"
   ::= { upsAdvanceTest 8 }
   
-- the upsBankOutletControl grop
upsBankOutletControlTable OBJECT-TYPE
   SYNTAX SEQUENCE OF UpsBankOutletControlEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "Allows for control of the outlet banks."
   ::= { upsBankOutletControl 1 }
   
upsBankOutletControlEntry OBJECT-TYPE
   SYNTAX UpsBankOutletControlEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "The outlet to control."
   INDEX  { upsBankControlIndex }
   ::= { upsBankOutletControlTable 1 }

UpsBankOutletControlEntry ::=
   SEQUENCE {
      upsBankControlIndex
         INTEGER,
      upsBankControlOutletCommand
         INTEGER
   }

upsBankControlIndex OBJECT-TYPE
   SYNTAX INTEGER(1..24)
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The index to the outlet entry."
   ::= { upsBankOutletControlEntry 1 }

upsBankControlOutletCommand OBJECT-TYPE
   SYNTAX INTEGER   {
      immediateOn             (1),
      immediateOff            (2),
      bankNotExist            (3),
      criticalBank            (4)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Getting this variable will return the outlet bank state. If
       the outlet bank is on, the immediateOn (1) value will be returned.
       If the outlet bank is off, the immediateOff (2) value will be
       returned. If the outlet bank is critical (uncontrollable), the 
       criticalBank (4) value will be returned.
       Setting this variable to immediateOn (1) will immediately turn
       the outlet on.
       Setting this variable to immediateOff (2) will immediately turn
       the outlet off."
   ::= { upsBankOutletControlEntry 2 }

-- the eswitch group
-- the eSwitchIdent group
eSwitchIdentHardwareRev OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The hardware revision set at the factory."
   ::= { eSwitchIdent 1 }

eSwitchIdentFirmwareRev OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The firmware revision set at the factory."
   ::= { eSwitchIdent 2 }

eSwitchIdentDateOfManufacture OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The manufacture date in mm/dd/yy format."
   ::= { eSwitchIdent 3 }

eSwitchIdentModelName OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The model name set at the factory.
       This value need to consist with safty report."
   ::= { eSwitchIdent 4 }


-- the eSwitchBase group
eSwitchNumber OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The numbers of switch have been attached to the system."
   ::= { eSwitchBase 1 }

eSwitchBaseTable OBJECT-TYPE
   SYNTAX SEQUENCE OF ESwitchBaseEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "A list of switch information. The number of entries is given
       by the value of eSwitchNumber."
   ::= { eSwitchBase 2 }

eSwitchBaseEntry OBJECT-TYPE
   SYNTAX ESwitchBaseEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "An entry information of the individual switch."
   INDEX  { eSwitchID}
   ::= { eSwitchBaseTable 1 }

ESwitchBaseEntry ::=
   SEQUENCE {
      eSwitchID
        INTEGER,
      eSwitchOutletNum
        INTEGER,
      eSwitchOutletState
        DisplayString
   }

eSwitchID OBJECT-TYPE
   SYNTAX INTEGER(0..16)
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The power switch ID number."
   ::= { eSwitchBaseEntry 1 }

eSwitchOutletNum OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The number of outlets provided in the switch."
   ::= { eSwitchBaseEntry 2 }

eSwitchOutletState  OBJECT-TYPE
   SYNTAX  DisplayString
   ACCESS  read-only
   STATUS  mandatory
   DESCRIPTION
      "Getting this OID will reply the status of all outlets in the switch.
       '0' for outlet off, '1' for outlet on.
       The index from left to right is outlet#8, #7, #6, #5, #4, #3, #2, #1.
       For Example:
       If the string is '01011010', it means the outlets status are the following:
       outlet #8 is off,
       outlet #7 is on,
       outlet #6 is off,
       outlet #5 is on,
       outlet #4 is on,
       outlet #3 is off,
       outlet #2 is on,
       outlet #1 is off.
      "
    ::= { eSwitchBaseEntry 3 }

eSwitchBaseCtrTable OBJECT-TYPE
   SYNTAX SEQUENCE OF ESwitchBaseCtrEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "A list of switch control parameters. The number of entries is given
       by the value of eSwitchNumber."
   ::= { eSwitchBase 3 }

eSwitchBaseCtrEntry OBJECT-TYPE
   SYNTAX ESwitchBaseCtrEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "An entry control information of individual switches."
   INDEX  { eSwitchCtrID}
   ::= { eSwitchBaseCtrTable 1 }

ESwitchBaseCtrEntry ::=
   SEQUENCE {
      eSwitchCtrID       
        INTEGER,
      eSwitchActOutlet   
        INTEGER,
      eSwitchActType     
        INTEGER
   }

eSwitchCtrID OBJECT-TYPE
   SYNTAX INTEGER(0..16)
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Select the switch ID to be controlled."
   ::= { eSwitchBaseCtrEntry 1 }

eSwitchActOutlet OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The action outlets to be controlled."
   ::= { eSwitchBaseCtrEntry 2 }

eSwitchActType OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The on/off type of the action outlets.
      1 for duration off, 2 for duration on,
      3 for immediately off, 4 for immediately on,
      and 5 for reboot."
   ::= { eSwitchBaseCtrEntry 3 }



-- ePDU Group

-- the ePDUIdent group

ePDUIdentName OBJECT-TYPE
   SYNTAX  DisplayString    
   ACCESS  read-write
   STATUS  mandatory
   DESCRIPTION
      "The name of the Rack PDU. 
       The maximum string size is device dependent."
   ::= { ePDUIdent 1 }

ePDUIdentHardwareRev OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The hardware revision of the Rack PDU. 
       This value is set at the factory."
   ::= { ePDUIdent 2 }

ePDUIdentFirmwareRev OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "An 8-byte ID string identifying the Rack PDU firmware revision. 
       This value is set at the factory." 
   ::= {  ePDUIdent 3 }


ePDUIdentDateOfManufacture OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The date when the Rack PDU was manufactured in mm/dd/yyyy format.
       This value is set at the factory. The year 2000 will be 
       represented by 00." 
   ::= { ePDUIdent 4 }
   
ePDUIdentModelNumber OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "A 10-character string identifying the model number of 
       the Rack PDU. This value is set at the factory."
   ::= { ePDUIdent 5 }

ePDUIdentSerialNumber OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "A 12-character string identifying the serial number of 
       the Rack PDU. This value is set at the factory."
   ::= { ePDUIdent 6 }

ePDUIdentDeviceRating OBJECT-TYPE
   SYNTAX INTEGER      
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Getting this OID will return the electrical rating of the device."

   ::= { ePDUIdent 7 } 

ePDUIdentDeviceNumOutlets OBJECT-TYPE
   SYNTAX INTEGER      
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Getting this OID will return the number of outlets contained in the device."

   ::= { ePDUIdent 8 } 

ePDUIdentDeviceNumPhases OBJECT-TYPE
   SYNTAX INTEGER      
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Getting this OID will return the number of phases supported by the device."

   ::= { ePDUIdent 9 } 

ePDUIdentDeviceNumBreakers OBJECT-TYPE
   SYNTAX INTEGER      
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Getting this OID will return the number of circuit breakers supported by the device.
       This is the same as the number of banks of outlets.
       0 will be returned if the unit has no phase breakers. "

   ::= { ePDUIdent 10 } 

ePDUIdentDeviceBreakerRating OBJECT-TYPE
   SYNTAX INTEGER      
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Getting this OID will return rating of the circuit breakers on the device if it has any."

   ::= { ePDUIdent 11 } 

ePDUIdentDeviceOrientation OBJECT-TYPE
   SYNTAX INTEGER       {
      orientHorizontal            (1),
      orientVertical              (2)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Getting this OID will return the intended physical orientation of the device.
       
       OrientHorizonatal(1) indicates Horizontal.
       OrientVertical(2) indicates Vertical."

   ::= { ePDUIdent 12 }

ePDUIdentDeviceOutletLayout OBJECT-TYPE
   SYNTAX INTEGER       {
      seqPhaseToNeutral            (1),
      seqPhaseToPhase              (2),
      seqPhToNeu21PhToPh           (3),
      seqPhToPhGrouped             (4)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Getting this OID will return outlet layout for the device.

       SeqPhaseToNeutral(1) indicates outlet layout as follows:
       1:1-N,2:2-N,3:3-N,4:1-N,5:2-N,...

       SeqPhaseToPhase(2) indicates outlet layout as follows:
       1:1-2,2:2-3,3:3-1,4:1-2,5:2-3,...

       SeqPhToNeu21PhToPh(3) indicates outlet layout as follows:
       1:1-N,2:2-N...21:3-N,22:1-2,23:2-3,24:3-1,...

       SeqPhToPhGrouped(4) indicates outlet layout as follows:
       Otlts1-8::(3-1),Otlts9-16::(2-3),Otlts17-24::(1-2)."
   ::= { ePDUIdent 13 }

ePDUIdentDeviceDisplayOrientation OBJECT-TYPE
   SYNTAX INTEGER       {
      displayNormal            (1),
      displayReverse           (2), 
      displayRotate90          (3), 
      displayRotate270         (4), 
      displayAuto              (5)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Getting this OID will return the intended physical orientation of the Seven-Segment Display.

       displayNormal(1) indicates Normal.
       displayReverse(2)indicates Upside-Down.
       displayRotate90(3) indicates rotate 90 degree.
       displayRotate270(4) indicates rotate 270 degree. 
       displayAuto(5) indicates auto-detect and rotate."

   ::= { ePDUIdent 14 }


ePDUIdentDeviceLinetoLineVoltage OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Getting/Setting this OID will return/set the Line to Line Volatage.

      The valid range is between 0V to 440V"

   ::= { ePDUIdent 15 }

ePDUIdentIndicator OBJECT-TYPE
   SYNTAX INTEGER {
             noTestIndicators(1),
             testIndicators(2)
         }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "PDU will perform a panel indicator test when the variable
       is set to testIndicators(2).
       
       It is no effective to set this value to noTestIndicators(1)."
      
   ::= { ePDUIdent 16 }

-- the ePDULoadDevice group

ePDULoadDevMaxPhaseLoad   OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Getting this OID will return the maximum rated power
       that each phase of the Rack PDU can provide. It is 
       represented in Amps.

       0 will be returned if the unit is banked." 
   ::= { ePDULoadDevice 1 }

ePDULoadDevNumPhases OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The number of phases available with this Rack PDU."
   ::= { ePDULoadDevice 2 }

ePDULoadDevMaxBankLoad   OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Getting this OID will return the maximum rated power
       that a bank of the Rack PDU can provide. It is 
       represented in Amps.
       
       0 will be returned if the device does not have any banks."
       
   ::= { ePDULoadDevice 3 }

ePDULoadDevNumBanks OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The number of banks of outlets available with this Rack PDU.
       A bank of outlets has a unique circuit breaker for a subset 
       of the total number of outlets on the ePDU.

       0 will be returned if the unit no banks."
   ::= { ePDULoadDevice 4 } 
   
ePDULoadDevBankTableSize OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The size of the Bank Table."
   ::= { ePDULoadDevice 5 }
   

ePDULoadDevBankTable OBJECT-TYPE
   SYNTAX SEQUENCE OF LoadDevBankEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "Allows for getting the Bank Max Load in the Rack PDU."

   ::= { ePDULoadDevice 6 }

ePDULoadDevBankEntry OBJECT-TYPE
   SYNTAX LoadDevBankEntry  
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "The Rack PDU Banks Access."
   INDEX  { ePDULoadDevBankIndex}
   ::= { ePDULoadDevBankTable 1 }

LoadDevBankEntry ::=
   SEQUENCE {
      ePDULoadDevBankIndex      INTEGER,
      ePDULoadDevBankNumber         INTEGER,      
      ePDULoadDevBankMaxLoad    INTEGER
   }

ePDULoadDevBankIndex OBJECT-TYPE
   SYNTAX INTEGER(1..10)
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The index to the Rack PDU bank entry."
   ::= { ePDULoadDevBankEntry 1 }     

ePDULoadDevBankNumber OBJECT-TYPE
   SYNTAX INTEGER                
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Getting this OID will return the bank number."
       
   ::= { ePDULoadDevBankEntry 2 }   

ePDULoadDevBankMaxLoad OBJECT-TYPE
   SYNTAX INTEGER                
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Getting this OID will return the maximum rated power
       that each bank of the Rack PDU can provide. It is 
       represented in Amps."
       
   ::= { ePDULoadDevBankEntry 3 }    

ePDULoadDevMaxOutletTableSize OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The size of the Outlet Table."
   ::= { ePDULoadDevice 7 }
   
 
ePDULoadDevMaxOutletTable OBJECT-TYPE
   SYNTAX SEQUENCE OF LoadDevMaxOutletEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "Allows for getting the Max Outlet Load in an Outlet Monitored Rack PDU."
   ::= { ePDULoadDevice 8 }

ePDULoadDevMaxOutletEntry OBJECT-TYPE
   SYNTAX LoadDevMaxOutletEntry  
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "This gives access to Max Outlet Load of an Outlet Monitored Rack PDU"
   INDEX  { ePDULoadDevOutletIndex}
   ::= { ePDULoadDevMaxOutletTable 1 }

LoadDevMaxOutletEntry ::=
   SEQUENCE {
      ePDULoadDevOutletIndex    INTEGER,
      ePDULoadDevOutletNumber   INTEGER,      
      ePDULoadDevMaxOutletLoad  INTEGER
   }

ePDULoadDevOutletIndex OBJECT-TYPE
   SYNTAX INTEGER(1..24)
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The index to the Outlet Monitored Rack PDU Max Outlet Load entry."
   ::= { ePDULoadDevMaxOutletEntry 1 }

ePDULoadDevOutletNumber OBJECT-TYPE
   SYNTAX INTEGER                
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Getting this OID will return the Outlet number." 
   ::= { ePDULoadDevMaxOutletEntry 2 }
   

ePDULoadDevMaxOutletLoad OBJECT-TYPE
   SYNTAX INTEGER                
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Getting this OID will return the maximum rated power
       that each Outlet of an Outlet Monitored Rack PDU can provide. It is
       represented in Amps. " 
   ::= { ePDULoadDevMaxOutletEntry 3 }


-- the ePDULoadPhaseConfig group

ePDULoadPhaseConfigTable OBJECT-TYPE
   SYNTAX SEQUENCE OF LoadPhaseConfigEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "Allows for configuration of each Rack PDU phase.
       The number of entries is contained in the
       ePDULoadDevNumPhases OID."
   ::= { ePDULoadPhaseConfig 1 }

ePDULoadPhaseConfigEntry OBJECT-TYPE
   SYNTAX LoadPhaseConfigEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "The Rack PDU phase to configure."
   INDEX  { ePDULoadPhaseConfigIndex}
   ::= { ePDULoadPhaseConfigTable 1 }

LoadPhaseConfigEntry ::=
   SEQUENCE {
      ePDULoadPhaseConfigIndex                  INTEGER,
      ePDULoadPhaseConfigLowLoadThreshold       INTEGER,
      ePDULoadPhaseConfigNearOverloadThreshold  INTEGER,
      ePDULoadPhaseConfigOverloadThreshold      INTEGER,
      ePDULoadPhaseConfigAlarm                  INTEGER
   }      

ePDULoadPhaseConfigIndex OBJECT-TYPE
   SYNTAX INTEGER {
      phase1                     (1),
      phase2                     (2),
      phase3                     (3)
   }        
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The index to the Rack PDU phase entry."
   ::= { ePDULoadPhaseConfigEntry 1 }

ePDULoadPhaseConfigLowLoadThreshold OBJECT-TYPE
   SYNTAX INTEGER                
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "A threshold that indicates the power consumption of
       the load is nearing a low consumption condition. It is 
       represented in Amps.  A warning will be issued when the
       load is less than the threshold value.  
       
       A threshold value of 0 Amps effectively disables this 
       warning.  
       
       Maximum value must be less than the value returned 
       by the ePDULoadPhaseConfigNearOverloadThreshold OID."  
   ::= { ePDULoadPhaseConfigEntry 2 }

ePDULoadPhaseConfigNearOverloadThreshold OBJECT-TYPE
   SYNTAX INTEGER                
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "A threshold that indicates the power consumption of
       the load is nearing an overload condition. It is 
       represented in Amps.  A warning will be issued when the 
       load is greater than or equal to the threshold value.
       
       Minimum value must be greater than the value returned by
       the ePDULoadPhaseConfigLowLoadThreshold OID.
       
       Maximum value must be less than or equal to the value 
       returned by the ePDULoadPhaseConfigOverloadThreshold OID."
   ::= { ePDULoadPhaseConfigEntry 3 }

ePDULoadPhaseConfigOverloadThreshold OBJECT-TYPE
   SYNTAX INTEGER                
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "A threshold that indicates the power consumption of
       the load has entered an overload condition. It is 
       represented in Amps.  A warning will be issued when the 
       load is greater than or equal to the threshold value.
       
       Minimum value must be greater than or equal to the value 
       returned by the ePDULoadPhaseConfigNearOverloadThreshold OID.

       Maximum value must be less than or equal to the value 
       returned by the ePDULoadDevMaxPhaseLoad OID."
   ::= { ePDULoadPhaseConfigEntry 4 }


ePDULoadPhaseConfigAlarm OBJECT-TYPE
   SYNTAX INTEGER {
        noLoadAlarm             (1),
        underCurrentAlarm       (2),
        nearOverCurrentAlarm    (3),
        overCurrentAlarm        (4)        
    }                 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
   "Getting this OID will return the current Phase Alarm."
   ::= { ePDULoadPhaseConfigEntry 5 }


-- the ePDULoadStatus group

ePDULoadStatusTable OBJECT-TYPE
   SYNTAX SEQUENCE OF LoadStatusEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "Allows for getting of status of each Rack PDU phase/bank.
       The number of entries is calculated by adding
       the number of phases (ePDULoadDevNumPhases OID) and
       the number of banks of outlets (ePDULoadDevNumBanks)
       Number of entries = #phases + #banks.
       NOTE: If a device has phase and bank information, all phase information
       shall precede the bank information."
   ::= { ePDULoadStatus 1 }

ePDULoadStatusEntry OBJECT-TYPE
   SYNTAX LoadStatusEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "The Rack PDU phase/bank to gather status from."
   INDEX  { ePDULoadStatusIndex}
   ::= { ePDULoadStatusTable 1 }

LoadStatusEntry ::=
   SEQUENCE {
      ePDULoadStatusIndex                 INTEGER,
      ePDULoadStatusLoad                  Gauge,
      ePDULoadStatusLoadState             INTEGER,
      ePDULoadStatusPhaseNumber           INTEGER,
      ePDULoadStatusBankNumber            INTEGER,
      ePDULoadStatusVoltage               INTEGER,
      ePDULoadStatusActivePower           INTEGER,
      ePDULoadStatusApparentPower         INTEGER,
      ePDULoadStatusPowerFactor           INTEGER,
      ePDULoadStatusEnergy                INTEGER,
      ePDULoadStatusEnergyStartTime       DisplayString
   }      

ePDULoadStatusIndex OBJECT-TYPE
         SYNTAX INTEGER(1..10)
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The index to the Rack PDU phase/bank entry. All phase information will precede
       any bank information"
   ::= { ePDULoadStatusEntry 1 }

ePDULoadStatusLoad OBJECT-TYPE
   SYNTAX Gauge       
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Getting this OID will return the phase/bank load measured
       in tenths of Amps."
   ::= { ePDULoadStatusEntry 2 }

ePDULoadStatusLoadState OBJECT-TYPE
   SYNTAX INTEGER       {
      loadNormal                 (1),
      loadLow                    (2),
      loadNearOverload           (3),
      loadOverload               (4)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Getting this OID will return the phase/bank load state.
       
       loadNormal(1) indicates that the phase/bank is operating 
       properly within the ePDULoadConfigLowLoadThreshold 
       and ePDULoadConfigNearOverloadThreshold OID values.
       
       loadLow(2) indicates that the phase/bank load has dropped 
       below the ePDULoadConfigLowLoadThreshold OID value.
       An SNMP trap will occur when this state is entered or cleared.
       
       loadNearOverload(3) indicates that the phase/bank load is 
       greater than or equal to the ePDULoadConfigNearOverloadThreshold OID value.
       An SNMP trap will occur when this state is entered or cleared.
       
       loadOverload(4) indicates that the phase/bank load is greater 
       than or equal to the ePDULoadConfigOverloadThreshold 
       OID value.
       
       An SNMP trap will occur when this state is entered or cleared."
   ::= { ePDULoadStatusEntry 3 } 

ePDULoadStatusPhaseNumber OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The phase number to which this record refers."
   ::= { ePDULoadStatusEntry 4 }

ePDULoadStatusBankNumber OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The bank number to which this record refers.  A value of 0 will be returned if
       any bank is not present or if it is phase related."
   ::= { ePDULoadStatusEntry 5 }  
  
ePDULoadStatusVoltage OBJECT-TYPE
   SYNTAX INTEGER       
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Getting this OID will return the phase/bank voltage measured
       in 0.1 volts."
   ::= { ePDULoadStatusEntry 6 }

ePDULoadStatusActivePower OBJECT-TYPE
   SYNTAX INTEGER       
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Getting this OID will return the phase/bank active power measured
       in watts."
   ::= { ePDULoadStatusEntry 7 }

ePDULoadStatusApparentPower OBJECT-TYPE
   SYNTAX INTEGER       
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Getting this OID will return the phase/bank apparent power measured
       in VA."
   ::= { ePDULoadStatusEntry 8 }

ePDULoadStatusPowerFactor OBJECT-TYPE
   SYNTAX INTEGER       
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Getting this OID will return power factor of the output measured in hundredths.
       A value of 100 representing a unity power factor (1.00)."
   ::= { ePDULoadStatusEntry 9 }
   
ePDULoadStatusEnergy OBJECT-TYPE
   SYNTAX INTEGER       
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Getting this OID will return the phase/bank apparent power measured
       in 0.1 kilowatt-hours."
   ::= { ePDULoadStatusEntry 10 }   

ePDULoadStatusEnergyStartTime OBJECT-TYPE
   SYNTAX DisplayString       
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Getting this OID will return the date and time of the last energy
       meter reset"
   ::= { ePDULoadStatusEntry 11 }      
   
-- the ePDULoadBankConfig group

ePDULoadBankConfigTable OBJECT-TYPE
   SYNTAX SEQUENCE OF LoadBankConfigEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "Allows for configuration of each Rack PDU bank.
       The number of entries is contained in the 
       ePDULoadDevNumBanks OID."
   ::= { ePDULoadBankConfig 1 }

ePDULoadBankConfigEntry OBJECT-TYPE
   SYNTAX LoadBankConfigEntry  
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "The Rack PDU bank to configure."
   INDEX  { ePDULoadBankConfigIndex}
   ::= { ePDULoadBankConfigTable 1 }

LoadBankConfigEntry ::=
   SEQUENCE {
      ePDULoadBankConfigIndex                    INTEGER,
      ePDULoadBankConfigLowLoadThreshold         INTEGER,
      ePDULoadBankConfigNearOverloadThreshold    INTEGER,
      ePDULoadBankConfigOverloadThreshold        INTEGER,
      ePDULoadBankConfigAlarm                    INTEGER
   }      

ePDULoadBankConfigIndex OBJECT-TYPE
   SYNTAX INTEGER(1..10)
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The index to the Rack PDU bank entry."
   ::= { ePDULoadBankConfigEntry 1 }

ePDULoadBankConfigLowLoadThreshold OBJECT-TYPE
   SYNTAX INTEGER                
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "A threshold that indicates the power consumption of
       the load is nearing a low consumption condition. It is 
       represented in Amps.  A warning will be issued when the
       load is less than the threshold value.  
       
       A threshold value of 0 Amps effectively disables this 
       warning.  
       
       Maximum value must be less than the value returned 
       by the ePDULoadBankConfigNearOverloadThreshold OID."

   ::= { ePDULoadBankConfigEntry 2 }

ePDULoadBankConfigNearOverloadThreshold OBJECT-TYPE
   SYNTAX INTEGER                
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "A threshold that indicates the power consumption of
       the load is nearing an overload condition. It is 
       represented in Amps.  A warning will be issued when the 
       load is greater than or equal to the threshold value.
       
       Minimum value must be greater than the value returned by
       the ePDULoadBankConfigLowLoadThreshold OID.
       
       Maximum value must be less than or equal to the value 
       returned by the ePDULoadBankConfigOverloadThreshold OID."

   ::= { ePDULoadBankConfigEntry 3 }

ePDULoadBankConfigOverloadThreshold OBJECT-TYPE
   SYNTAX INTEGER                
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "A threshold that indicates the power consumption of
       the load has entered an overload condition. It is 
       represented in Amps.  A warning will be issued when the 
       load is greater than or equal to the threshold value.
       
       Minimum value must be greater than or equal to the value 
       returned by the ePDULoadBankConfigNearOverloadThreshold OID.
       
       Maximum value must be less than or equal to the value 
       returned by the ePDULoadDevMaxBankLoad OID."

   ::= { ePDULoadBankConfigEntry 4 }

ePDULoadBankConfigAlarm OBJECT-TYPE
   SYNTAX INTEGER {
        noLoadAlarm             (1),
        underCurrentAlarm       (2),
        nearOverCurrentAlarm    (3),
        overCurrentAlarm        (4)
        
    }                 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
   " Getting this OID will return the current Bank Alarm."
   ::= { ePDULoadBankConfigEntry 5 }


-- the ePDUOutletDevice group

ePDUOutletDevCommand  OBJECT-TYPE
  SYNTAX INTEGER       {
      noCommandAll               (1),
      immediateAllOn             (2),
      immediateAllOff            (3),
      immediateAllReboot         (4),
      delayedAllOn               (5),
      delayedAllOff              (6),
      delayedAllReboot           (7),
      cancelAllPendingCommands   (8)
   }
   
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Setting this OID to immediateAllOn (2) will turn all outlets
       on immediately.
       
       Setting this OID to immediateAllOff (3) will turn all outlets
       off immediately.
       
       Setting this OID to immediateAllReboot (4) will reboot all outlets
       immediately.

       Setting this OID to delayedAllOn (5) will turn all outlets on as 
       defined by each outlet's ePDUOutletConfigPowerOnTime OID value. 
             
       Setting this OID to delayedAllOff (6) will turn all outlets 
       off as defined by each outlet's ePDUOutletConfigPowerOffTime OID value.
      
       Setting this OID to delayedAllReboot (7) will cause a 
       delayedAllOff command to be performed. Once all outlets are off, 
       the Switched Rack PDU will then delay the largest 
       ePDUOutletConfigRebootDuration OID time, and then perform a 
       delayedAllOn command.    
       
       Setting this OID to cancelAllPendingCommands (8) will cause all pending
       commands on the Switched Rack PDU to be canceled.

       Getting this OID will return the noCommandAll (1) value."
   ::= { ePDUOutletDevice 1 }

ePDUOutletDevColdstartDelay  OBJECT-TYPE
   SYNTAX INTEGER                
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The amount of delay, in seconds, between when
       power is provided to the Switched Rack PDU and 
       when the Switched Rack PDU provides basic master 
       power to the outlets.       
       
       Allowed values are:

       -1       - never apply power automatically.
       0        - apply power immediately.
       1 to 300 - delay up to 300 seconds (5 minutes)."
   ::= { ePDUOutletDevice 2 }

ePDUOutletDevNumCntrlOutlets OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The number of controlled outlets on this Switched Rack PDU."
   ::= { ePDUOutletDevice 3 }

ePDUOutletDevNumTotalOutlets OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The total number of outlets on this Rack PDU."
   ::= { ePDUOutletDevice 4 }

ePDUOutletDevMonitoredOutlets  OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The total number of monitored outlets on this Rack PDU."
   ::= { ePDUOutletDevice 5 }

ePDUOutletDevColdstartState OBJECT-TYPE
   SYNTAX INTEGER {
      allOn                      (1),
      previous                   (2)
   }        
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The ePDU outlet state after coldstart. 
      Allowed values are:
      1 - all outlets on after coldstart.
      2 - outlet status same as previous state."
   ::= { ePDUOutletDevice 6 }

-- the ePDUOutletPhase group

ePDUOutletPhaseTable OBJECT-TYPE
   SYNTAX SEQUENCE OF OutletPhaseEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "Allows for management of outlets on a per phase basis."
   ::= { ePDUOutletPhase 1 }

ePDUOutletPhaseEntry OBJECT-TYPE
   SYNTAX OutletPhaseEntry  
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "The phase to manage."
   INDEX  { ePDUOutletPhaseIndex}
   ::= { ePDUOutletPhaseTable 1 }

OutletPhaseEntry ::=
   SEQUENCE {
      ePDUOutletPhaseIndex                INTEGER,
      ePDUOutletPhaseOverloadRestriction  INTEGER
   }      

ePDUOutletPhaseIndex OBJECT-TYPE
   SYNTAX INTEGER {
      phase1                     (1),
      phase2                     (2),
      phase3                     (3)
   }        
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The index to the Switched Rack PDU phase entry."
   ::= { ePDUOutletPhaseEntry 1 }

ePDUOutletPhaseOverloadRestriction OBJECT-TYPE
   SYNTAX INTEGER       {
      alwaysAllowTurnON         (1),
      restrictOnNearOverload    (2),
      restrictOnOverload        (3)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "This OID controls the behavior of a Switched Rack PDU
       phase when an overload condition is possible and 
       additional outlets are requested to be turned on. 

       Setting this OID to alwaysAllowTurnON (1) will always allow 
       the outlets on the corresponding phase to turn on.
       
       Setting this OID to restrictOnNearOverload (2) will not allow
       outlets on the corresponding phase to turn on if the 
       ePDULoadConfigNearOverloadThreshold OID is exceeded.
              
       Setting this OID to restrictOnOverload (3) will not allow
       outlets on the corresponding phase to turn on if the 
       ePDULoadConfigOverloadThreshold OID is exceeded."
   ::= { ePDUOutletPhaseEntry 2 }



-- the ePDUOutletControl group

ePDUOutletControlTable OBJECT-TYPE
   SYNTAX SEQUENCE OF EPDUOutletControlEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "Allows for control of the individual outlets.
       The number of entries is contained in the 
       ePDUOutletDevNumCntrlOutlets OID."
   ::= { ePDUOutletControl 1 }

ePDUOutletControlEntry OBJECT-TYPE
   SYNTAX EPDUOutletControlEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "The outlet to control."
   INDEX  { ePDUOutletControlIndex}
   ::= { ePDUOutletControlTable 1 }

EPDUOutletControlEntry ::=
   SEQUENCE {
      ePDUOutletControlIndex         INTEGER,
      ePDUOutletControlOutletName    DisplayString,
      ePDUOutletControlOutletPhase   INTEGER,
      ePDUOutletControlOutletCommand INTEGER,
      ePDUOutletControlOutletBank    INTEGER
   }

ePDUOutletControlIndex OBJECT-TYPE
   SYNTAX INTEGER(1..24)
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The index to the outlet entry."
   ::= { ePDUOutletControlEntry 1 }
   
ePDUOutletControlOutletName    OBJECT-TYPE
   SYNTAX  DisplayString
   ACCESS  read-only
   STATUS  mandatory
   DESCRIPTION
      "The name of the outlet. The maximum string size is device dependent.
       An error will be returned if the set request exceeds the max size.
       This OID is provided for informational purposes only."
   ::= { ePDUOutletControlEntry 2 }

ePDUOutletControlOutletPhase    OBJECT-TYPE
   SYNTAX INTEGER {
      phase1                     (1),
      phase2                     (2),
      phase3                     (3),
      phase1-2                   (4),
      phase2-3                   (5),
      phase3-1                   (6)
   }        
   ACCESS  read-only
   STATUS  mandatory
   DESCRIPTION
      "The phase/s associated with this outlet.
      
       For single phase devices, this object will always 
       return phase1(1).
       
       For 3-phase devices, this object will return phase1 (1), 
       phase2 (2), or phase3 (3) for outlets tied to a single 
       phase.  For outlets tied to two phases, this object will
       return phase1-2 (4) for phases 1 and 2, phase2-3 (5) for 
       phases 2 and 3, and phase3-1 (6) for phases 3 and 1."
   ::= { ePDUOutletControlEntry 3 }

ePDUOutletControlOutletCommand OBJECT-TYPE
   SYNTAX INTEGER {
      immediateOn             (1),
      immediateOff            (2),
      immediateReboot         (3),
      delayedOn               (4),
      delayedOff              (5),
      delayedReboot           (6),
      cancelPendingCommand    (7),
      outletIdentify                                    (8)
   }     

   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
       "Getting this variable will return the outlet state. If 
        the outlet is on, the immediateOn (1) value will be returned.
        If the outlet is off, the immediateOff (2) value will be
        returned. 

       
        Setting this variable to immediateOn (1) will immediately turn 
        the outlet on.
       
        Setting this variable to immediateOff (2) will immediately turn 
        the outlet off. 

        Setting this variable to immediateReboot (3) will immediately 
        reboot the outlet.
      
        Setting this variable to delayedOn (4) will turn the outlet on
        after the ePDUOutletConfigPowerOnTime OID time has elapsed.   

        Setting this variable to delayedOff (5) will turn the outlet off
        after the ePDUOutletConfigPowerOffTime OID time has elapsed.

        Setting this variable to delayedReboot  (6) will cause the 
        Switched Rack PDU to perform a delayedOff command, wait the 
        ePDUOutletConfigRebootDuration OID time, and then perform a 
        delayedOn command. 
       
        Setting this variable to cancelPendingCommand (7) will cause any
        pending command to this outlet to be canceled.

        Setting this variable to outletIdentify (8) will cause PDU LED
        to display the number of the outlet."

    ::= { ePDUOutletControlEntry 4 }

ePDUOutletControlOutletBank    OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS  read-only
   STATUS  mandatory
   DESCRIPTION
      "The bank associated with this outlet."
   ::= { ePDUOutletControlEntry 5 }



-- the ePDUOutletConfig group

ePDUOutletConfigTable OBJECT-TYPE
   SYNTAX SEQUENCE OF EPDUOutletConfigEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "Allows for configuration of individual outlets. The number of
       entries is contained in the ePDUOutletDevNumCntrlOutlets OID."
   ::= { ePDUOutletConfig 1 }

ePDUOutletConfigEntry OBJECT-TYPE
   SYNTAX EPDUOutletConfigEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "The outlet to configure."
   INDEX  { ePDUOutletConfigIndex}
   ::= { ePDUOutletConfigTable 1 }

EPDUOutletConfigEntry ::=
   SEQUENCE {
      ePDUOutletConfigIndex                 INTEGER,
      ePDUOutletConfigOutletName            DisplayString,
      ePDUOutletConfigOutletPhase           INTEGER,
      ePDUOutletConfigPowerOnTime           INTEGER,
      ePDUOutletConfigPowerOffTime          INTEGER,
      ePDUOutletConfigRebootDuration        INTEGER,
      ePDUOutletConfigOutletBank            INTEGER
   }      

ePDUOutletConfigIndex OBJECT-TYPE
   SYNTAX INTEGER(1..24)
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The index to the outlet entry."
   ::= { ePDUOutletConfigEntry 1 }
   
ePDUOutletConfigOutletName    OBJECT-TYPE
   SYNTAX  DisplayString    
   ACCESS  read-write
   STATUS  mandatory
   DESCRIPTION
      "The name of the outlet. The maximum string size is device dependent.
       An error will be returned if the set request exceeds the max size."
   ::= { ePDUOutletConfigEntry 2 }

ePDUOutletConfigOutletPhase    OBJECT-TYPE
   SYNTAX INTEGER {
      phase1                     (1),
      phase2                     (2),
      phase3                     (3),
      phase1-2                   (4),
      phase2-3                   (5),
      phase3-1                   (6)
   }        
   ACCESS  read-only
   STATUS  mandatory
   DESCRIPTION
      "The phase/s associated with this outlet.
      
       For single phase devices, this object will always 
       return phase1(1).
       
       For 3-phase devices, this object will return phase1 (1), 
       phase2 (2), or phase3 (3) for outlets tied to a single 
       phase.  For outlets tied to two phases, this object will
       return phase1-2 (4) for phases 1 and 2, phase2-3 (5) for 
       phases 2 and 3, and phase3-1 (6) for phases 3 and 1."
   ::= { ePDUOutletConfigEntry 3 }

ePDUOutletConfigPowerOnTime OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The amount of time (in seconds) the outlet will delay 
       powering on at coldstart or when a command that requires 
       a turn-on delay is issued.
              
       Allowed values are:

       -1        - never power on.
       0         - power on immediately.
       1 to 7200 - power on up to 7200 seconds after being
                  commanded."
   ::= { ePDUOutletConfigEntry 4 }

ePDUOutletConfigPowerOffTime OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The amount of time (in seconds) the outlet will delay 
       powering off when a command that requires 
       a turn-off delay is issued.

       Allowed values are:

       -1        - never power off.
       0         - power off immediately.
       1 to 7200 - power off up to 7200 seconds after being
                  commanded."
   ::= { ePDUOutletConfigEntry 5 }

ePDUOutletConfigRebootDuration OBJECT-TYPE
   SYNTAX INTEGER                
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "During a reboot sequence, power is turned off and then 
       back on. This OID defines the amount of time to wait, 
       in seconds, after turning the power off, at the start
       of the sequence, before turning power back on, at the
       end of the reboot sequence.       
       
       Allowed range is any value between 5 and 60 seconds (1 minute)."
   ::= { ePDUOutletConfigEntry 6 }

ePDUOutletConfigOutletBank    OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS  read-only
   STATUS  mandatory
   DESCRIPTION
      "The bank associated with this outlet."
   ::= { ePDUOutletConfigEntry 7 }


-- Monitored Outlets table

ePDUOutletConfigMonitoredTableSize OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The size of the Outlet Config Monitored Table"
   ::= { ePDUOutletConfig 2 }


ePDUOutletConfigMonitoredTable OBJECT-TYPE
   SYNTAX SEQUENCE OF OutletConfigMonitoredEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "Allows for getting/setting of outlet thresholds of an Outlet Monitored Rack PDU."
   ::= { ePDUOutletConfig 3 } 
   
ePDUOutletConfigMonitoredEntry  OBJECT-TYPE
   SYNTAX OutletConfigMonitoredEntry  
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "This gives access to Monitored Outlet entries"
   INDEX  { ePDUOutletConfigMonitoredIndex }
   ::= { ePDUOutletConfigMonitoredTable 1 }  

OutletConfigMonitoredEntry ::=
   SEQUENCE {
      ePDUOutletConfigMonitoredIndex                    INTEGER,
      ePDUOutletConfigMonitoredName                     DisplayString,
      ePDUOutletConfigMonitoredNumber                   INTEGER,
      ePDUOutletConfigMonitoredLowLoadThreshold         INTEGER,
      ePDUOutletConfigMonitoredNearOverloadThreshold    INTEGER,
      ePDUOutletConfigMonitoredOverloadThreshold        INTEGER,
      ePDUOutletConfigMonitoredPeakLoadReset            INTEGER, 
      ePDUOutletConfigMonitoredEnergyReset              INTEGER
   } 
   
ePDUOutletConfigMonitoredIndex OBJECT-TYPE
   SYNTAX INTEGER(1..24)
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The index to the RACK PDU Phase entry."
   ::= { ePDUOutletConfigMonitoredEntry 1 }
   
ePDUOutletConfigMonitoredName    OBJECT-TYPE
   SYNTAX  DisplayString    
   ACCESS  read-write
   STATUS  mandatory
   DESCRIPTION
      "The name of the Monitored Outlet. The maximum string size is device dependent.
       An error will be returned if the set request exceeds the max size."
   ::= { ePDUOutletConfigMonitoredEntry 2 }

ePDUOutletConfigMonitoredNumber OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The outlet number of an Outlet Monitored RACK PDU."
   ::= { ePDUOutletConfigMonitoredEntry 3 }   


ePDUOutletConfigMonitoredLowLoadThreshold OBJECT-TYPE
   SYNTAX INTEGER                
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "A threshold that indicates the power consumption of
       the load is nearing a low consumption condition. It is 
       represented in watts.  A warning will be issued when 
       the load is less than the threshold value. 
       
       A threshold value of 0 effectively disables this 
       warning.  
       
       Maximum value must be less than the value returned 
       by the ePDUOutletConfigMonitoredNearOverloadThreshold OID.
       
       0 will be returned if the unit is not Outlet Monitored Rack PDU."  
   ::= { ePDUOutletConfigMonitoredEntry 4 }

ePDUOutletConfigMonitoredNearOverloadThreshold OBJECT-TYPE
   SYNTAX INTEGER                
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "A threshold that indicates the power consumption of
       the load is nearing an overload condition. It is 
       represented in watts.  A warning 
       will be issued when the load is greater than or equal 
       to the threshold value.
       
       Minimum value must be greater than the value returned by
       the ePDUOutletConfigMonitoredLowLoadThreshold OID.
       
       Maximum value must be less than or equal to the value 
       returned by the ePDUOutletConfigMonitoredOverloadThreshold OID.

       0 will be returned if the unit is not Outlet Monitored Rack PDU."
   ::= { ePDUOutletConfigMonitoredEntry 5 }

ePDUOutletConfigMonitoredOverloadThreshold OBJECT-TYPE
   SYNTAX INTEGER                
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "A threshold that indicates the power consumption of
       the load has entered an overload condition. It is 
       represented in watts.  A warning 
       will be issued when the load is greater than or equal 
       to the threshold value.
       
       Minimum value must be greater than or equal to the value 
       returned by the ePDUOutletConfigMonitoredNearOverloadThreshold OID.
       
       Maximum value must be less than or equal to the value 
       returned by the ePDULoadDevMaxOutletLoad OID.

       0 will be returned if the unit is not Outlet Monitored Rack PDU."
   ::= { ePDUOutletConfigMonitoredEntry 6 }

ePDUOutletConfigMonitoredPeakLoadReset OBJECT-TYPE
   SYNTAX INTEGER {
      noAction    (1),
      reset       (2), 
      notSupport  (3)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Setting this OID to reset (2) will cause the existing peak power value
       to be replaced by the current load power value. 
       
       Getting this oid will do nothing and return noAction (1) if the PDU 
       support this feature, return notSupport (3) if the PDU do not support 
       this feature. "
   ::= { ePDUOutletConfigMonitoredEntry 7 }
   
ePDUOutletConfigMonitoredEnergyReset OBJECT-TYPE
   SYNTAX INTEGER {
      noAction    (1),
      reset       (2), 
      notSupport  (3)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Setting this OID to reset (2) will cause the device energy meter value
       to be reset to zero. 
       
       Getting this oid will do nothing and return noAction (1) if the PDU 
       support this feature, return notSupport (3) if the PDU do not support 
       this feature. "
   ::= { ePDUOutletConfigMonitoredEntry 8 }


-- the ePDUOutletStatus group

ePDUOutletStatusTable OBJECT-TYPE
   SYNTAX SEQUENCE OF EPDUOutletStatusEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "Allows for getting of status of individual outlets. The number of
       entries is contained in the ePDUOutletDevNumCntrlOutlets OID."
   ::= { ePDUOutletStatus 1 }

ePDUOutletStatusEntry OBJECT-TYPE
   SYNTAX EPDUOutletStatusEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "The outlet to gather status from."
   INDEX  { ePDUOutletStatusIndex}
   ::= { ePDUOutletStatusTable 1 }

EPDUOutletStatusEntry ::=
   SEQUENCE {
      ePDUOutletStatusIndex            INTEGER,
      ePDUOutletStatusOutletName       DisplayString,
      ePDUOutletStatusOutletPhase      INTEGER,
      ePDUOutletStatusOutletState      INTEGER,
      ePDUOutletStatusCommandPending   INTEGER,
      ePDUOutletStatusOutletBank       INTEGER,
      ePDUOutletStatusLoad             Gauge, 
      ePDUOutletStatusActivePower      Gauge, 
      ePDUOutletStatusAlarm            INTEGER, 
      ePDUOutletStatusPeakPower        Gauge, 
      ePDUOutletStatusPeakPowerTime    DisplayString, 
      ePDUOutletStatusPeakPowerStart   DisplayString, 
      ePDUOutletStatusEnergy           Gauge, 
      ePDUOutletStatusEnergyStartTime  DisplayString
   }

ePDUOutletStatusIndex OBJECT-TYPE
   SYNTAX INTEGER(1..24)
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The index to the outlet entry."
   ::= { ePDUOutletStatusEntry 1 }
   
ePDUOutletStatusOutletName    OBJECT-TYPE
   SYNTAX  DisplayString    
   ACCESS  read-only
   STATUS  mandatory
   DESCRIPTION
      "The name of the outlet. The maximum string size is device dependent.
       This OID is provided for informational purposes only."
   ::= { ePDUOutletStatusEntry 2 }

ePDUOutletStatusOutletPhase    OBJECT-TYPE
   SYNTAX INTEGER {
      phase1                     (1),
      phase2                     (2),
      phase3                     (3),
      phase1-2                   (4),
      phase2-3                   (5),
      phase3-1                   (6)
   }        
   ACCESS  read-only
   STATUS  mandatory
   DESCRIPTION
      "The phase/s associated with this outlet.
      
       For single phase devices, this object will always 
       return phase1(1).
       
       For 3-phase devices, this object will return phase1 (1), 
       phase2 (2), or phase3 (3) for outlets tied to a single 
       phase.  For outlets tied to two phases, this object will
       return phase1-2 (4) for phases 1 and 2, phase2-3 (5) for 
       phases 2 and 3, and phase3-1 (6) for phases 3 and 1."
   ::= { ePDUOutletStatusEntry 3 }

ePDUOutletStatusOutletState OBJECT-TYPE
   SYNTAX INTEGER {
        outletStatusOn              (1),
        outletStatusOff             (2)
   }     

   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
       "Getting this variable will return the outlet state. If 
       the outlet is on, the outletStatusOn (1) value will be returned.
       If the outlet is off, the outletStatusOff (2) value will be
       returned."
   ::= { ePDUOutletStatusEntry 4 }

ePDUOutletStatusCommandPending    OBJECT-TYPE
   SYNTAX INTEGER {
        outletStatusCommandPending    (1),
        outletStatusNoCommandPending  (2)
   }     

   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
       "Getting this variable will return the command pending
        state of the outlet. If a command is pending on the 
        outlet, the outletStatusCommandPending (1) value
        will be returned. If there is not a command pending
        on the outlet, the outletStatusNoCommandPending (2)
        will be returned."
   ::= { ePDUOutletStatusEntry 5 }

ePDUOutletStatusOutletBank    OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS  read-only
   STATUS  mandatory
   DESCRIPTION
      "The bank associated with this outlet."
   ::= { ePDUOutletStatusEntry 6 }  

ePDUOutletStatusLoad OBJECT-TYPE
   SYNTAX Gauge       
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Getting this OID will return the measured Outlet load for an Outlet Monitored Rack PDU
       in tenths of Amps."
   ::= { ePDUOutletStatusEntry 7 }

ePDUOutletStatusActivePower OBJECT-TYPE
   SYNTAX Gauge       
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Getting this OID will return the measured Outlet load for an Outlet Monitored Rack PDU
       in watts"
   ::= { ePDUOutletStatusEntry 8 }

ePDUOutletStatusAlarm OBJECT-TYPE
   SYNTAX INTEGER {
        noLoadAlarm             (1),
        underCurrentAlarm       (2),
        nearOverCurrentAlarm    (3),
        overCurrentAlarm        (4)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Getting this OID will return the current outlet alarm"
   ::= { ePDUOutletStatusEntry 9 }
   
ePDUOutletStatusPeakPower OBJECT-TYPE
   SYNTAX Gauge
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The peak power consumption of the Rack PDU load in watts. 
       This value can be reset by setting the oid 
       ePDUOutletConfigMonitoredPeakLoadReset to reset (2)"
   ::= { ePDUOutletStatusEntry 10 }

ePDUOutletStatusPeakPowerTime OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Get this oid shows the date and time that peak power consumption occurred"
   ::= { ePDUOutletStatusEntry 11 }
   
ePDUOutletStatusPeakPowerStart OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Get this oid shows the date and time that peak power consumption started"
   ::= { ePDUOutletStatusEntry 12 }
   
ePDUOutletStatusEnergy OBJECT-TYPE
   SYNTAX Gauge
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Energy meter measuring Rack PDU load energy consumption 
      in tenths of kilowatt-hours. This value can be reset by setting 
      the oid ePDUOutletConfigMonitoredEnergyReset to reset (2)"
   ::= { ePDUOutletStatusEntry 13 }
   
ePDUOutletStatusEnergyStartTime OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Indicates the date and time of the last device energy
       meter reset"
   ::= { ePDUOutletStatusEntry 14 }


-- the ePDUOutletBank group

ePDUOutletBankTable OBJECT-TYPE
   SYNTAX SEQUENCE OF OutletBankEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "Allows for management of outlets on a per bank basis."
   ::= { ePDUOutletBank 1 }

ePDUOutletBankEntry OBJECT-TYPE
   SYNTAX OutletBankEntry  
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "The bank to manage."
   INDEX  { ePDUOutletBankIndex}
   ::= { ePDUOutletBankTable 1 }

OutletBankEntry ::=
   SEQUENCE {
      ePDUOutletBankIndex                INTEGER,
      ePDUOutletBankOverloadRestriction  INTEGER
   }      

ePDUOutletBankIndex OBJECT-TYPE
   SYNTAX INTEGER(1..10)
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The index to the Switched Rack PDU bank entry."
   ::= { ePDUOutletBankEntry 1 }

ePDUOutletBankOverloadRestriction OBJECT-TYPE
   SYNTAX INTEGER       {
      alwaysAllowTurnON         (1),
      restrictOnNearOverload    (2),
      restrictOnOverload        (3)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "This OID controls the behavior of a Switched Rack PDU 
       bank when an overload condition is possible and 
       additional outlets are requested to be turned on. 

       Setting this OID to alwaysAllowTurnON (1) will always allow 
       the outlets on the corresponding bank to turn on.
       
       Setting this OID to restrictOnNearOverload (2) will not allow 
       outlets on the corresponding bank to turn on if the
       ePDULoadBankConfigNearOverloadThreshold OID is exceeded.
              
       Setting this OID to restrictOnOverload (3) will not allow
       outlets on the corresponding bank to turn on if the 
       ePDULoadBankConfigOverloadThreshold OID is exceeded."
   ::= { ePDUOutletBankEntry 2 }


-- the ePDUPowerSupplyDevice group

ePDUPowerSupply1Status OBJECT-TYPE
   SYNTAX INTEGER       {
      powerSupplyOneOk             (1),
      powerSupplyOneFailed         (2)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Getting this OID will return powerSupply1Ok(1) if power
       supply 1 is functioning normally.  If not functioning normally,
       this OID will return powerSupply1Failed(2)."
   ::= { ePDUPowerSupplyDevice 1 }

ePDUPowerSupply2Status OBJECT-TYPE
   SYNTAX INTEGER       {
      powerSupplyTwoOk             (1),
      powerSupplyTwoFailed         (2),
      powerSupplyTwoNotPresent     (3)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Getting this OID will return powerSupply2Ok(1) if power
       supply 2 is functioning normally.  If not functioning normally,
       this OID will return powerSupply2Failed(2).

       Metered Rack PDUs do not have a redundant powersupply."

   ::= { ePDUPowerSupplyDevice 2 }

ePDUPowerSupplyAlarm OBJECT-TYPE
   SYNTAX INTEGER {
    allAvailablePowerSuppliesOK (1),
    powerSupplyOneFailed        (2),
    powerSupplyTwoFailed        (3),
    powerSupplyOneandTwoFailed  (4)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Getting this OID will return powerSupply Alarm"  
   ::= { ePDUPowerSupplyDevice 3 }


-- the ePDUStatus group  

ePDUStatusBankTableSize OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The size of the Status Bank Table"
   ::= { ePDUStatus 1 }


ePDUStatusBankTable OBJECT-TYPE
   SYNTAX SEQUENCE OF BankEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "Allows for getting of status of each Rack PDU Bank"
   ::= { ePDUStatus 2 } 
   
ePDUStatusBankEntry  OBJECT-TYPE
   SYNTAX BankEntry  
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "This gives access to Bank entries"
   INDEX  { ePDUStatusBankIndex }
   ::= { ePDUStatusBankTable 1 }  

BankEntry ::=
   SEQUENCE {
      ePDUStatusBankIndex   INTEGER,
      ePDUStatusBankNumber  INTEGER,      
      ePDUStatusBankState   INTEGER
   } 
   
ePDUStatusBankIndex OBJECT-TYPE
   SYNTAX INTEGER(1..10)
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The index to the RACK PDU Bank entry."
   ::= { ePDUStatusBankEntry 1 }
   
ePDUStatusBankNumber OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Getting this OID will return the bank number."
   ::= { ePDUStatusBankEntry 2 }
   
ePDUStatusBankState    OBJECT-TYPE
   SYNTAX INTEGER {
      bankLoadNormal                 (1),
      bankLoadLow                    (2),
      bankLoadNearOverload           (3),
      bankLoadOverload               (4)
   }    
   ACCESS  read-only
   STATUS  mandatory
   DESCRIPTION
    "Getting this OID will return the bank load state.
    
    bankLoadNormal(1) indicates that the bank is 
    operating properly within the ePDULoadBankConfigLowLoadThreshold 
    and ePDULoadBankConfigNearOverloadThreshold OID values.
    
    bankLoadLow(2) indicates that the bank load has
    dropped below the ePDULoadBankConfigLowLoadThreshold OID value.
    An SNMP trap will occur when this state is entered or cleared.
    
    bankLoadNearOverload(3) indicates that the bank load
    is greater than or equal to the 
    ePDULoadBankConfigNearOverloadThreshold OID value.
    An SNMP trap will occur when this state is entered or cleared.
    
    bankLoadOverload(4) indicates that the bank load is
    greater than or equal to the ePDULoadBankConfigOverloadThreshold 
    OID value.
    An SNMP trap will occur when this state is entered or cleared."
   ::= { ePDUStatusBankEntry 3 }  
 
-- Phase status table

ePDUStatusPhaseTableSize OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The size of the Status Phase Table"
   ::= { ePDUStatus 3 }


ePDUStatusPhaseTable OBJECT-TYPE
   SYNTAX SEQUENCE OF PhaseEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "Allows for getting of status of each Rack PDU Phase"
   ::= { ePDUStatus 4 } 
   
ePDUStatusPhaseEntry  OBJECT-TYPE
   SYNTAX PhaseEntry  
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "This gives access to Phase entries"
   INDEX  { ePDUStatusPhaseIndex }
   ::= { ePDUStatusPhaseTable 1 }  

PhaseEntry ::=
   SEQUENCE {
      ePDUStatusPhaseIndex  INTEGER,
      ePDUStatusPhaseNumber INTEGER,  
      ePDUStatusPhaseState  INTEGER
   } 
   
ePDUStatusPhaseIndex OBJECT-TYPE
   SYNTAX INTEGER(1..10)
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The index to the RACK PDU Phase entry."
   ::= { ePDUStatusPhaseEntry 1 }
   
ePDUStatusPhaseNumber OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Getting this OID will return the phase number."
   ::= { ePDUStatusPhaseEntry 2 }
   
ePDUStatusPhaseState    OBJECT-TYPE
   SYNTAX INTEGER {
      phaseLoadNormal                 (1),
      phaseLoadLow                    (2),
      phaseLoadNearOverload           (3),
      phaseLoadOverload               (4)
   }    
   ACCESS  read-only
   STATUS  mandatory
   DESCRIPTION
    "Getting this OID will return the Phase load state.
    
    phaseLoadNormal(1) indicates that the Phase is 
    operating properly within the ePDULoadPhaseConfigLowLoadThreshold 
    and ePDULoadPhaseConfigNearOverloadThreshold OID values.
    
    phaseLoadLow(2) indicates that the Phase load has
    dropped below the ePDULoadPhaseConfigLowLoadThreshold OID value.
    An SNMP trap will occur when this state is entered or cleared.
    
    phaseLoadNearOverload(3) indicates that the Phase load
    is greater than or equal to the 
    ePDULoadPhaseConfigNearOverloadThreshold OID value.
    An SNMP trap will occur when this state is entered or cleared.
    
    phaseLoadOverload(4) indicates that the Phase load is
    greater than or equal to the ePDULoadPhaseConfigOverloadThreshold 
    OID value.
    An SNMP trap will occur when this state is entered or cleared."
   ::= { ePDUStatusPhaseEntry 3 }  


-- Outlet status table

ePDUStatusOutletTableSize OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The size of the Status Outlet Table"
   ::= { ePDUStatus 5 }


ePDUStatusOutletTable OBJECT-TYPE
   SYNTAX SEQUENCE OF OutletEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "Allows for getting of status of each Outlet of an Outlet Monitored Rack PDU."
   ::= { ePDUStatus 6 } 
   
ePDUStatusOutletEntry  OBJECT-TYPE
   SYNTAX OutletEntry  
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "This gives access to Outlet entries"
   INDEX  { ePDUStatusOutletIndex }
   ::= { ePDUStatusOutletTable 1 }  

OutletEntry ::=
   SEQUENCE {
      ePDUStatusOutletIndex     INTEGER,
      ePDUStatusOutletNumber    INTEGER,
      ePDUStatusOutletState     INTEGER
   } 
   
ePDUStatusOutletIndex OBJECT-TYPE
   SYNTAX INTEGER(1..24)
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The index to the RACK PDU Outlet entry."
   ::= { ePDUStatusOutletEntry 1 }
   
ePDUStatusOutletNumber OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Getting this OID will return the Outlet number."
   ::= { ePDUStatusOutletEntry 2 }

ePDUStatusOutletState    OBJECT-TYPE
   SYNTAX INTEGER {
      outletLoadNormal                 (1),
      outletLoadLow                    (2),
      outletLoadNearOverload           (3),
      outletLoadOverload               (4)
   }    
   ACCESS  read-only
   STATUS  mandatory
   DESCRIPTION
    "Getting this OID will return the Outlet load state.
    
    outletLoadNormal(1) indicates that the Outlet is 
    operating properly within the ePDUOutletConfigMonitoredLowLoadThreshold 
    and ePDUOutletConfigMonitoredNearOverloadThreshold OID values.
    
    outletLoadLow(2) indicates that the Outlet load has
    dropped below the ePDUOutletConfigMonitoredLowLoadThreshold OID value.
    An SNMP trap will occur when this state is entered or cleared.
    
    outletLoadNearOverload(3) indicates that the Outlet load
    is greater than or equal to the 
    ePDUOutletConfigMonitoredNearOverloadThreshold OID value.
    An SNMP trap will occur when this state is entered or cleared.
    
    outletLoadOverload(4) indicates that the Outlet load is
    greater than or equal to the ePDUOutletConfigMonitoredOverloadThreshold 
    OID value.
    An SNMP trap will occur when this state is entered or cleared."
   ::= { ePDUStatusOutletEntry 3 }  

ePDUStatusInputVoltage OBJECT-TYPE
                SYNTAX INTEGER
                ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                        "The input voltage in 0.1 Volt."
                ::= { ePDUStatus 7 }

ePDUStatusInputFrequency OBJECT-TYPE
                SYNTAX INTEGER
                ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                        "The input frequency in 0.1 Hertz."
                ::= { ePDUStatus 8 }

-- environment Sensor Group

-- the envirIdent group

envirIdentName OBJECT-TYPE
   SYNTAX  DisplayString    
   ACCESS  read-write
   STATUS  mandatory
   DESCRIPTION
      "The name of the environment sensor.
       The maximum string size is device dependent."
   ::= { envirIdent 1 }

envirIdentLocation OBJECT-TYPE
   SYNTAX  DisplayString
   ACCESS  read-write
   STATUS  mandatory
   DESCRIPTION
      "The location of the environment sensor.
       The maximum string size is device dependent."
   ::= { envirIdent 2 }

-- the envirTemp group

envirTemperature OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS  read-only
   STATUS  mandatory
   DESCRIPTION
      "The environment temperature expressed in 1/10 Fahrenheit"
   ::= { envirTemp 1 }
   
envirTempHighThreshold OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS  read-write
   STATUS  mandatory
   DESCRIPTION
      "The high temperature threshold of the environment sensor.
       The value expressed in Fahrenheit."
   ::= { envirTemp 2 }

envirTempLowThreshold OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS  read-write
   STATUS  mandatory
   DESCRIPTION
      "The low temperature threshold of the environment sensor.
       The value expressed in Fahrenheit."
   ::= { envirTemp 3 }

envirTempRateOfChange OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS  read-write
   STATUS  mandatory
   DESCRIPTION
      "The rate of change of the temperature.
       The value expressed in Fahrenheit per 5 minute."
   ::= { envirTemp 4 }

envirTempHysteresis OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS  read-write
   STATUS  mandatory
   DESCRIPTION
      "The number of degrees beyond the temperature thresholds
       at which an active temperature alarm will be cleared.
       This configuration setting applies to all temperature
       thresholds.
       Units are displayed in Fahrenheit."
   ::= { envirTemp 5 }


-- the envirHumid group

envirHumidity OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS  read-only
   STATUS  mandatory
   DESCRIPTION
      "The environment relative humidity expressed in persentage."
   ::= { envirHumid 1 }
   
envirHumidHighThreshold OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS  read-write
   STATUS  mandatory
   DESCRIPTION
      "The high relative humidity threshold of the environment sensor.
       The value expressed in persentage."
   ::= { envirHumid 2 }

envirHumidLowThreshold OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS  read-write
   STATUS  mandatory
   DESCRIPTION
      "The low relative humidity threshold of the environment sensor.
       The value expressed in persentage."
   ::= { envirHumid 3 }

envirHumidRateOfChange OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS  read-write
   STATUS  mandatory
   DESCRIPTION
      "The rate of change of the relative humidity.
       The value expressed in persentage per 5 minute."
   ::= { envirHumid 4 }

envirHumidHysteresis OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS  read-write
   STATUS  mandatory
   DESCRIPTION
      "The number of degrees beyond the relative humidity thresholds
       at which an active relative humidity alarm will be cleared.
       This configuration setting applies to all relative humidity
       thresholds.
       Units are displayed in persentage."
   ::= { envirHumid 5 }

envirContactTableSize OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The number of the contact in the environment sensor."
   ::= { envirContact 1 }

envirContactTable OBJECT-TYPE
   SYNTAX SEQUENCE OF ContactEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "Allows for getting of information of each contact of the environment sensor."
   ::= { envirContact 2 } 

envirContactEntry  OBJECT-TYPE
   SYNTAX ContactEntry  
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "This gives access to contact entries"
   INDEX  { envirContactIndex }
   ::= { envirContactTable 1 }  

ContactEntry ::=
   SEQUENCE {
      envirContactIndex         INTEGER,
      envirContactName          DisplayString,
      envirContactStatus              INTEGER,
      envirContactNormalState   INTEGER
   }

envirContactIndex OBJECT-TYPE
   SYNTAX INTEGER(1..4)
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The index to the contact of the environment sensor."
   ::= { envirContactEntry 1 }
   
envirContactName OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Getting or setting the name of the contact of the environment sensor."
   ::= { envirContactEntry 2 }

envirContactStatus OBJECT-TYPE
   SYNTAX INTEGER {
      contactNormal         (1),
      contactAbnormal       (2)
   } 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Getting this OID will return the Contact Status."
   ::= { envirContactEntry 3 }

envirContactNormalState OBJECT-TYPE
   SYNTAX INTEGER {
      normalOpen         (1),
      normalClose        (2)
   } 
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Set the contact normal state."
   ::= { envirContactEntry 4 }

-- ats Group
-- the atsIdent group
atsIdentName OBJECT-TYPE
                SYNTAX  DisplayString    
                ACCESS  read-write
                STATUS  mandatory
                DESCRIPTION
                        "The name of the ATS. 
                        The maximum string size is device dependent."
                ::= { atsIdent 1 }

atsIdentModelName OBJECT-TYPE
                SYNTAX DisplayString
                ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                        "A string identifying the model name of the Automatic Transfer Switch. 
                        This value is set at the factory."
                ::= { atsIdent 2 }

atsIdentHardwareRev OBJECT-TYPE
                SYNTAX DisplayString
                ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                        "The hardware revision of the Automatic Transfer Switch. 
                        This value is set at the factory."
                ::= { atsIdent 3 }

atsIdentFirmwareRev OBJECT-TYPE
                SYNTAX DisplayString
                ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                        "A string identifying the Automatic Transfer Switch 
                        firmware revision." 
                ::= {  atsIdent 4 }
   
atsIdentSerialNumber OBJECT-TYPE
                SYNTAX DisplayString
                ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                        "A string identifying the serial number of 
                        the Automatic Transfer Switch. This value is set at the factory."
                ::= { atsIdent 5 }

atsIdentDateOfManufacture OBJECT-TYPE
                SYNTAX DisplayString
                ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                        "The date when the Automatic Transfer Switch was manufactured in mm/dd/yyyy format.
                        This value is set at the factory. " 
                ::= { atsIdent 6 }

atsIdentDeviceRatingVoltage OBJECT-TYPE
                SYNTAX DisplayString
                ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                        "A string identifing the Automatic Transfer Switch rating voltage."
                ::= { atsIdent 7 }

atsIdentDeviceRatingCurrent OBJECT-TYPE
                SYNTAX INTEGER
                ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                        "This gives the device rating current in Amps"
                ::= { atsIdent 8 }

atsIdentDeviceOutletNum OBJECT-TYPE
                SYNTAX INTEGER                
                ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                        "This gives the outlet number of the device"
                ::= { atsIdent 9 }

atsIdentAgentModelName OBJECT-TYPE
                SYNTAX DisplayString
                ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                        "A string identifying the model name of the Agent." 
                ::= { atsIdent 10 }

atsIdentAgentHardwareRevision OBJECT-TYPE
                SYNTAX DisplayString
                ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                        "The hardware revision of the Agent."
                ::= { atsIdent 11 }

atsIdentAgentFirmwareRevision OBJECT-TYPE
                SYNTAX DisplayString
                ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                        "A string identifying the Agent firmware revision." 
                ::= {  atsIdent 12 }
   
atsIdentAgentSerialNumber OBJECT-TYPE
                SYNTAX DisplayString
                ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                        "A string identifying the serial number of the Agent."
                ::= { atsIdent 13 }

-- the atsStatus group
-- the atsStatusDevice group in atsStatus group
atsStatusCommStatus OBJECT-TYPE
                SYNTAX INTEGER {
                        atsNeverDiscovered      (1),
                        atsCommEstablished      (2),
                        atsCommLost                                     (3)
                } 
                ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                        "This variable returns the current communication status
                        between the Automatic Transfer Switch and the Agent. "
                ::= { atsStatusDevice 1 }
 
atsStatusSelectedSource OBJECT-TYPE
                SYNTAX INTEGER {
                        sourceA         (1),
      sourceB           (2)
                } 
                ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                        "This variable returns the current source of power. "
                ::= { atsStatusDevice 2 } 
   
atsStatusRedundancyState OBJECT-TYPE
                SYNTAX INTEGER {
                        atsRedundancyLost               (1),
                        atsFullyRedundant               (2)
                } 
                ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                        "This variable returns the current redundancy state of the ATS.
                        atsRedundancyLost(1) indicates that the ATS is unable to
                        switch over to the alternate power source if the current source fails.
                        atsFullyRedundant(2) indicates that the ATS will switch over to 
                        the alternate power source if the current source fails."
                ::= { atsStatusDevice 3 }
   
atsStatusPhaseSyncStatus OBJECT-TYPE
                SYNTAX INTEGER  {
                        inSync                  (1),
                        outOfSync               (2)
                } 
                ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                        "This variable returns the status of the phase sync."
                ::= { atsStatusDevice 4 } 

atsStatusDevSourceRelayStatus OBJECT-TYPE
                SYNTAX INTEGER  {
                        sourceRelayNormal               (1),
                        sourceRelayFail                 (2)
                } 
                ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                        "This variable returns the status of the source relay."
                ::= { atsStatusDevice 5 }

atsStatusDevInRelayStatus OBJECT-TYPE
                SYNTAX INTEGER  {
                        inputRelayNormal                (1),
                        inputRelayFail                  (2)
                } 
                ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                        "This variable returns the status of the input relay."
                ::= { atsStatusDevice 6 }

atsStatusDevOutRelayStatus OBJECT-TYPE
                SYNTAX INTEGER  {
                        outputRelayNormal               (1),
                        outputRelayFail                 (2)
                } 
                ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                        "This variable returns the status of the Output relay."
                ::= { atsStatusDevice 7 }

atsStatusDevLCDCommStatus OBJECT-TYPE
                SYNTAX INTEGER  {
                        lcdCommNormal           (1),
                        lcdCommFail                     (2)
                } 
                ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                        "This variable returns the communication status of the LCD."
                ::= { atsStatusDevice 8 }

atsStatusDevDB9CommStatus OBJECT-TYPE
                SYNTAX INTEGER  {
                        db9CommNormal           (1),
                        db9CommFail                     (2)
                } 
                ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                        "This variable returns the communication status of the DB9."
                ::= { atsStatusDevice 9 }

-- the atsStatusPowerSupplyTable in atsStatusDevice group
atsStatusPowerSupplyTable OBJECT-TYPE
                SYNTAX SEQUENCE OF AtsStatusPowerSupplyEntry
                ACCESS not-accessible
                STATUS mandatory
                DESCRIPTION
                        "A list of power supply table entries."
        ::= { atsStatusDevice 10 }

atsStatusPowerSupplyEntry OBJECT-TYPE
                SYNTAX AtsStatusPowerSupplyEntry
                ACCESS not-accessible
                STATUS mandatory
                DESCRIPTION
                        "An entry containing power supply information applicable to a
                        particular input."
                        
                INDEX { atsStatusPowerSupplyTableIndex }
                ::= { atsStatusPowerSupplyTable 1 }

                AtsStatusPowerSupplyEntry ::= SEQUENCE {
                        atsStatusPowerSupplyTableIndex                          INTEGER,
                        atsStatusPowerSupplyInputSource                         INTEGER,
                        atsStatusPowerSupply12VStatus                                   INTEGER,
                        atsStatusPowerSupply5VStatus                                    INTEGER,
                        atsStatusPowerSupply3p3VStatus                          INTEGER
                }

atsStatusPowerSupplyTableIndex OBJECT-TYPE
                SYNTAX INTEGER(1..10)
                ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                        "The input identifier."
                ::= { atsStatusPowerSupplyEntry 1 }

atsStatusPowerSupplyInputSource OBJECT-TYPE
                SYNTAX INTEGER  {
                        sourceA         (1),
                        sourceB         (2)
                } 
                ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                        "The input source to the power supply."
                ::= { atsStatusPowerSupplyEntry 2 }

atsStatusPowerSupply12VStatus OBJECT-TYPE
                SYNTAX INTEGER  {
                        powerSupplyOK                                   (1),
                        powerSupplyFailure              (2)
                } 
                ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                        "This variable returns the status of the power supply A 12V in system."
                ::= { atsStatusPowerSupplyEntry 3 }

atsStatusPowerSupply5VStatus OBJECT-TYPE
                SYNTAX INTEGER  {
                        powerSupplyOK                                   (1),
                        powerSupplyFailure              (2)
                } 
                ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                        "This variable returns the status of the power supply A 5V in system."
                ::= { atsStatusPowerSupplyEntry 4 }
                
atsStatusPowerSupply3p3VStatus OBJECT-TYPE
                SYNTAX INTEGER  {
                        powerSupplyOK                                   (1),
                        powerSupplyFailure              (2)
                } 
                ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                        "This variable returns the status of the power supply A 3.3V in system."
                ::= { atsStatusPowerSupplyEntry 5 }

-- the atsStatusInput group in atsStatus group   
atsStatusInputNum OBJECT-TYPE
                SYNTAX INTEGER
                ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                        "The number of input feeds to this device.
                        This variable indicates the number of rows in the
                        status input table."
        ::= { atsStatusInput 1 }
   
-- the atsStatusInputTable in atsStatusInput group
atsStatusInputTable OBJECT-TYPE
                SYNTAX SEQUENCE OF AtsStatusInputEntry
                ACCESS not-accessible
                STATUS mandatory
                DESCRIPTION
                        "A list of input table entries.  The number of entries
                        is given by the value of atsNumInputs."
        ::= { atsStatusInput 2 }

atsStatusInputEntry OBJECT-TYPE
                SYNTAX AtsStatusInputEntry
                ACCESS not-accessible
                STATUS mandatory
                DESCRIPTION
                        "An entry containing information applicable to a
                        particular input."
                        
                INDEX { atsStatusInputTableIndex }
                ::= { atsStatusInputTable 1 }

                AtsStatusInputEntry ::= SEQUENCE {
                        atsStatusInputTableIndex                                        INTEGER,
                        atsStatusInputName                                                              DisplayString,
                        atsStatusNumInputPhase                        INTEGER,
                        atsStatusInputVoltageOrientation        INTEGER,
                        atsStatusInputVoltage                                                   INTEGER,
                        atsStatusInputFrequency                                         INTEGER,
                        atsStatusInputVolState                                          INTEGER,    
                        atsStatusInputFreqState                                         INTEGER  
                }

atsStatusInputTableIndex OBJECT-TYPE
                SYNTAX INTEGER(1..10)
                ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                        "The input identifier."
                ::= { atsStatusInputEntry 1 }

atsStatusInputName OBJECT-TYPE
                SYNTAX DisplayString
                ACCESS read-write
                STATUS mandatory
                DESCRIPTION
                        "A name given to a particular input."
                ::= { atsStatusInputEntry 2 }

atsStatusNumInputPhase OBJECT-TYPE
                SYNTAX INTEGER
                ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                        "The number of input phases utilized in this device.  
                        The sum of all the atsStatusNumInputPhase variable 
                        indicates the number of rows in the status input 
                        phase table."
                ::= { atsStatusInputEntry 3 }

atsStatusInputVoltageOrientation OBJECT-TYPE
                SYNTAX INTEGER {
                        unknown                                                                         (1),
                        singlePhase                                                             (2),
                        splitPhase                                                              (3),
                        threePhasePhaseToNeutral        (4),
                        threePhasePhaseToPhase          (5)
                }
                ACCESS     read-only
                STATUS     mandatory
                DESCRIPTION
                        "The input voltage orientation: 
                        1: unknown for this Source
                        2: singlePhase - phase 1 voltage is between Phase 1
                        and Neutral.
                        3: splitPhase - phase 1 voltage is between Phase 1 and 
                        Neutral; phase 2 voltage is between Phase 2 and Neutral; 
                        phase 3 voltage is between Phase 1 and Phase 2.
                        4: threePhasePhaseToNeutral - phase 1 voltage is between
                        Phase 1 and Neutral; phase 2 voltage is between Phase 2 
                        and Neutral; phase 3 voltage is between Phase 3 and
                        Neutral.
                        5: threePhasePhaseToPhase - phase 1 voltage is between 
                        Phase 1 and Phase 2; phase 2 voltage is between Phase 2
                        and Phase 3; phase 3 voltage is between Phase 3 and
                        Phase 1."
                ::= { atsStatusInputEntry 4 }

atsStatusInputVoltage OBJECT-TYPE
                SYNTAX INTEGER
                ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                        "The input voltage in 0.1 Volt."
                ::= { atsStatusInputEntry 5 }

atsStatusInputFrequency OBJECT-TYPE
                SYNTAX INTEGER
                ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                        "The input frequency in 0.1 Hertz."
                ::= { atsStatusInputEntry 6 }

atsStatusInputVolState OBJECT-TYPE
                SYNTAX INTEGER {
                        normal                                  (1),
                        overVoltage                     (2),
                        underVoltage            (3)
                }
                ACCESS     read-only
                STATUS     mandatory
                DESCRIPTION
                        "The input voltage status."
                ::= { atsStatusInputEntry 7 } 

atsStatusInputFreqState OBJECT-TYPE
                SYNTAX INTEGER {
                        normal                                  (1),
                        overFrequency           (2),
                        underFrequency  (3)
                }
                ACCESS     read-only
                STATUS     mandatory
                DESCRIPTION
                        "The input frequency status."
                ::= { atsStatusInputEntry 8 } 

-- the atsStatusInputPhaseTable in atsStatusInput group
atsStatusInputPhaseTable OBJECT-TYPE
                SYNTAX SEQUENCE OF AtsStatusInputPhaseEntry
                ACCESS not-accessible
                STATUS mandatory
                DESCRIPTION
                        "A list of input table entries.  The number of entries
                        is given by the sum of the atsNumInputPhases."
                ::= { atsStatusInput 3 }

atsStatusInputPhaseEntry OBJECT-TYPE
                SYNTAX AtsStatusInputPhaseEntry
                ACCESS not-accessible
                STATUS mandatory
                DESCRIPTION
                        "An entry containing information applicable to a
                        particular input phase."

                INDEX { atsStatusInputPhaseTableIndex, atsStatusInputPhaseIndex }
                ::= { atsStatusInputPhaseTable 1 }

                AtsStatusInputPhaseEntry ::= SEQUENCE {
                        atsStatusInputPhaseTableIndex                   INTEGER,
                        atsStatusInputPhaseIndex                                        INTEGER,
                        atsStatusInputPhaseVoltage                              INTEGER,
                        atsStatusInputPhaseCurrent                              INTEGER,
                        atsStatusInputPhasePower                                        INTEGER
                }

atsStatusInputPhaseTableIndex OBJECT-TYPE
                SYNTAX INTEGER (1..10)
                ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                        "The input identifier."
                ::= { atsStatusInputPhaseEntry 1 }

atsStatusInputPhaseIndex OBJECT-TYPE
                SYNTAX INTEGER(1..10)
                ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                        "The input phase identifier."
                ::= { atsStatusInputPhaseEntry 2 }

atsStatusInputPhaseVoltage OBJECT-TYPE
                SYNTAX INTEGER
                ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                        "The input voltage in VAC, or -1 if it's unsupported
                        by this Source."
                ::= { atsStatusInputPhaseEntry 3 }

atsStatusInputPhaseCurrent OBJECT-TYPE
                SYNTAX INTEGER
                ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                        "The input current in amperes, or -1 if it's
                        unsupported by this Source."
                ::= { atsStatusInputPhaseEntry 4 }

atsStatusInputPhasePower OBJECT-TYPE
                SYNTAX INTEGER
                ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                        "The input power in Watts, or -1 if it's unsupported
                        by this Source."
                ::= { atsStatusInputPhaseEntry 5 }

-- the atsConfig group
atsConfigPreferredSource OBJECT-TYPE
                SYNTAX INTEGER  {
                        sourceA                 (1),
      sourceB                   (2),
      none                              (3)
                } 
                ACCESS read-write
                STATUS mandatory
                DESCRIPTION
                        "This variable returns the preferred source of power when both sources are OK."
                ::= { atsConfig 1 }

atsConfigNominalVoltage OBJECT-TYPE
                SYNTAX INTEGER 
                ACCESS read-write
                STATUS mandatory
                DESCRIPTION
                        "This variable returns the nominal voltage of the input."
                ::= { atsConfig 2 }

atsConfigVoltageSensitivity OBJECT-TYPE
                SYNTAX INTEGER {
                        high                            (1),
                        medium                  (2),
                        low                                     (3)
                }
                ACCESS read-write
                STATUS mandatory
                DESCRIPTION
                        "This variable defines the sensitivity to changes in voltage: 
                        high(1) for best protection, low(3) for frequent small line 
                        voltage changes."
                ::= { atsConfig 3 }

atsConfigTransferVoltageRange OBJECT-TYPE
                SYNTAX INTEGER {
                        wide                            (1),
                        medium                  (2),
                        narrow                  (3)
                }
                ACCESS read-write
                STATUS mandatory
                DESCRIPTION
                        "This variable defines the range of acceptable voltage from a power source.
                        If the voltage measured from the selected input source is not within this
                        range, the Automatic Transfer Switch will switch over (transfer) to the 
                        alternate power source."
                ::= { atsConfig 4 }

atsConfigNarrowRangeValue OBJECT-TYPE
                SYNTAX INTEGER 
                ACCESS read-write
                STATUS mandatory
                DESCRIPTION
                        "To configure the Narrow Range value of acceptable voltage 
                        from a power source."
                ::= { atsConfig 5 }

atsConfigMediumRangeValue OBJECT-TYPE
                SYNTAX INTEGER 
                ACCESS read-write
                STATUS mandatory
                DESCRIPTION
                        "To configure the Medium Range value of acceptable voltage 
                        from a power source."
                ::= { atsConfig 6 }

atsConfigWideRangeValue OBJECT-TYPE
                SYNTAX INTEGER 
                ACCESS read-write
                STATUS mandatory
                DESCRIPTION
                        "To configure the Wide Range value of acceptable voltage 
                        from a power source."
                ::= { atsConfig 7 }

atsConfigFrequencyDeviation OBJECT-TYPE
                SYNTAX INTEGER (1..3)
                ACCESS read-write
                STATUS mandatory
                DESCRIPTION
                        "To configure the frequency deviation."
                ::= { atsConfig 8 }

atsConfigDevLCDOffTime OBJECT-TYPE
                SYNTAX INTEGER 
                ACCESS read-write
                STATUS mandatory
                DESCRIPTION
                        "The amount of time (in seconds) which LCD turn off automatically 
                        after it remains idle for."
                ::= { atsConfig 9 }

--  the atsControl group    
atsCtrlResetATS OBJECT-TYPE
                SYNTAX INTEGER  {
                        none                            (1),
                        rboot                           (2), 
                        reset                           (3) 
                } 
                ACCESS read-write
                STATUS mandatory
                DESCRIPTION
                        "Setting this variable will cause the Automatic Transfer Switch to 
                        reboot or reset relative setting to default value."
                ::= { atsControl 1 }

atsCtrlClearEventCounts OBJECT-TYPE
                SYNTAX INTEGER  {
                        none                            (1),
                        clear                           (2) 
                } 
                ACCESS read-write
                STATUS mandatory
                DESCRIPTION
                        "Setting this variable will clear all event counts in Automatic Transfer Switch.
                        Returns (-1) if unsupported."
                ::= { atsControl 2 }

--  the atsLoad group   
--  the atsLoadDevice group in the atsLoad group
atsLoadDevPhaseTableSize OBJECT-TYPE
                SYNTAX INTEGER
                ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                        "The size of the Phase Table."
                ::= { atsLoadDevice 1 }

-- the atsLoadDevPhaseTable in atsLoadDevice group
atsLoadDevPhaseTable OBJECT-TYPE
                SYNTAX SEQUENCE OF LoadDevPhaseEntry
                ACCESS not-accessible
                STATUS mandatory
                DESCRIPTION
                        "Allows for getting the Phase Max Load in the ATS."
                ::= { atsLoadDevice 2 }

atsLoadDevPhaseEntry OBJECT-TYPE
                SYNTAX LoadDevPhaseEntry  
                ACCESS not-accessible
                STATUS mandatory
                DESCRIPTION
                        "The ATS Phases Access."
                INDEX  { atsLoadDevPhaseTableIndex}
                ::= { atsLoadDevPhaseTable 1 }

                LoadDevPhaseEntry ::=
                SEQUENCE {
                        atsLoadDevPhaseTableIndex               INTEGER,
                        atsLoadDevPhase             INTEGER,
                        atsLoadDevPhaseMaxLoad                  INTEGER      
                }

atsLoadDevPhaseTableIndex OBJECT-TYPE
                SYNTAX INTEGER(1..10)
                ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                        "The index to ATS phase entry."
                ::= { atsLoadDevPhaseEntry 1 }     
                
atsLoadDevPhase OBJECT-TYPE
                SYNTAX INTEGER {
                        phase1                                                  (1),
                        phase2                                                  (2),
                        phase3                                                  (3),
                        phase1-2                                                (4),
                        phase2-3                                                (5),
                        phase3-1                                                (6)
                }        
                ACCESS  read-only
                STATUS  mandatory
                DESCRIPTION
                        "For single phase devices, this object will always 
                        return phase1(1).
       
                        For 3-phase devices, this object will return phase1 (1), 
                        phase2 (2), phase3 (3), phase1-2 (4) for phases 1 and 2, 
                        phase2-3 (5) for phases 2 and 3, and phase3-1 (6) for 
                        phases 3 and 1."
                ::= { atsLoadDevPhaseEntry 2 }
                
atsLoadDevPhaseMaxLoad OBJECT-TYPE
                SYNTAX INTEGER                
                ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                        "Getting this OID will return the maximum rated power that each 
                        phase of the ATS can provide. It is represented in Amps."
                ::= { atsLoadDevPhaseEntry 3 }    

atsLoadDevBankTableSize OBJECT-TYPE
                SYNTAX INTEGER
                ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                        "The size of the Bank Table."
                ::= { atsLoadDevice 3 }
   
-- the atsLoadDevBankTable in atsLoadDevice group
atsLoadDevBankTable OBJECT-TYPE
                SYNTAX SEQUENCE OF AtsLoadDevBankEntry
                ACCESS not-accessible
                STATUS mandatory
                DESCRIPTION
                        "Allows for getting the Bank Max Load in the ATS."
                ::= { atsLoadDevice 4 }

atsLoadDevBankEntry OBJECT-TYPE
                SYNTAX AtsLoadDevBankEntry  
                ACCESS not-accessible
                STATUS mandatory
                DESCRIPTION
                        "The ATS Banks Access."
                INDEX  { atsLoadDevBankTableIndex}
                ::= { atsLoadDevBankTable 1 }

                AtsLoadDevBankEntry ::=
                SEQUENCE {
                        atsLoadDevBankTableIndex                INTEGER,
                        atsLoadDevBankMaxLoad                           INTEGER
                }

atsLoadDevBankTableIndex OBJECT-TYPE
                SYNTAX INTEGER {
                        total                                   (1),
                        bank1                                   (2),
                        bank2                                   (3),
                        bank3                                   (4)
                }               
                ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                        "The index to the ATS bank entry."
                ::= { atsLoadDevBankEntry 1 }     

atsLoadDevBankMaxLoad OBJECT-TYPE
                SYNTAX INTEGER                
                ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                        "Getting this OID will return the maximum rated power
                        that each bank of the ATS can provide. It is 
                        represented in Amps."
                ::= { atsLoadDevBankEntry 2 }    

--  the atsLoadStatus group in the atsLoad group
atsLoadStatusPhaseTableSize OBJECT-TYPE
                SYNTAX INTEGER
                ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                        "The size of the Phase Table."
                ::= { atsLoadStatus 1 }

-- the atsLoadStatusPhaseTable in atsLoadStatus group
atsLoadStatusPhaseTable OBJECT-TYPE
                SYNTAX SEQUENCE OF LoadStatusPhaseEntry
                ACCESS not-accessible
                STATUS mandatory
                DESCRIPTION
                        "Allows for getting the Phase Load status in the ATS."
                ::= { atsLoadStatus 2 }

atsLoadStatusPhaseEntry OBJECT-TYPE
                SYNTAX LoadStatusPhaseEntry  
                ACCESS not-accessible
                STATUS mandatory
                DESCRIPTION
                        "The ATS Phases Access."
                INDEX  { atsLoadStatusPhaseTableIndex}
                ::= { atsLoadStatusPhaseTable 1 }

                LoadStatusPhaseEntry ::=
                SEQUENCE {
                        atsLoadStatusPhaseTableIndex                    INTEGER,
                        atsLoadStatusPhase                INTEGER,
                        atsLoadStatusPhaseLoad                                          INTEGER,      
                        atsLoadStatusPhaseLoadState                             INTEGER,
                        atsLoadStatusPhasePower                                         INTEGER   
                }

atsLoadStatusPhaseTableIndex OBJECT-TYPE
                SYNTAX INTEGER(1..10)
                ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                        "The index to ATS phase entry."
                ::= { atsLoadStatusPhaseEntry 1 }     

atsLoadStatusPhase OBJECT-TYPE
                SYNTAX INTEGER {
                        phase1                                                  (1),
                        phase2                                                  (2),
                        phase3                                                  (3),
                        phase1-2                                                (4),
                        phase2-3                                                (5),
                        phase3-1                                                (6)
                }        
                ACCESS  read-only
                STATUS  mandatory
                DESCRIPTION
                        "For single phase devices, this object will always 
                        return phase1(1).
       
                        For 3-phase devices, this object will return phase1 (1), 
                        phase2 (2), phase3 (3), phase1-2 (4) for phases 1 and 2, 
                        phase2-3 (5) for phases 2 and 3, and phase3-1 (6) for 
                        phases 3 and 1."
                ::= { atsLoadStatusPhaseEntry 2 }

atsLoadStatusPhaseLoad OBJECT-TYPE
                SYNTAX INTEGER
                ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                        "The output current in 0.1 amperes drawn 
                        by the load on the ATS"
                ::= { atsLoadStatusPhaseEntry 3 }

atsLoadStatusPhaseLoadState OBJECT-TYPE
                SYNTAX INTEGER {
                        normal                                  (1),
                        lowLoad                                 (2),
                        nearOverLoad            (3),
                        overLoad                                (4)
                }               
                ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                        "Getting this OID will return the phase load state." 
                ::= { atsLoadStatusPhaseEntry 4 } 
       
atsLoadStatusPhasePower OBJECT-TYPE
                SYNTAX INTEGER
                ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                        "The output power in Watts."
                ::= { atsLoadStatusPhaseEntry 5 } 

atsLoadStatusBankTableSize OBJECT-TYPE
                SYNTAX INTEGER
                ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                        "The size of the Bank Table."
                ::= { atsLoadStatus 3 }

-- the atsLoadStatusBankTable in atsLoadStatus group
atsLoadStatusBankTable OBJECT-TYPE
                SYNTAX SEQUENCE OF LoadStatusBankEntry
                ACCESS not-accessible
                STATUS mandatory
                DESCRIPTION
                        "Allows for getting the Bank Load status in the ATS."
                ::= { atsLoadStatus 4 }

atsLoadStatusBankEntry OBJECT-TYPE
                SYNTAX LoadStatusBankEntry  
                ACCESS not-accessible
                STATUS mandatory
                DESCRIPTION
                        "The ATS Bank Access."
                INDEX  { atsLoadStatusBankTableIndex}
                ::= { atsLoadStatusBankTable 1 }

                LoadStatusBankEntry ::=
                SEQUENCE {
                        atsLoadStatusBankTableIndex             INTEGER,  
                        atsLoadStatusBankPhase                          INTEGER,
                        atsLoadStatusBankLoad                                   INTEGER,   
                        atsLoadStatusBankLoadState              INTEGER,
                        atsLoadStatusBankPower                          INTEGER
                }

atsLoadStatusBankTableIndex OBJECT-TYPE
                SYNTAX INTEGER {
                        total                                   (1),
                        bank1                                   (2),
                        bank2                                   (3),
                        bank3                                   (4)
                }         
                ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                        "The index to ATS bank entry."
                ::= { atsLoadStatusBankEntry 1 }     

atsLoadStatusBankPhase OBJECT-TYPE
                SYNTAX INTEGER {
                        phase1                                                  (1),
                        phase2                                                  (2),
                        phase3                                                  (3),
                        phase1-2                                                (4),
                        phase2-3                                                (5),
                        phase3-1                                                (6)
                }        
                ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                        "Getting this OID will return the phase number."
                ::= { atsLoadStatusBankEntry 2 }  

atsLoadStatusBankLoad OBJECT-TYPE
                SYNTAX INTEGER
                ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                        "The output current in 0.1 amperes drawn 
                        by the load on the ATS"
                ::= { atsLoadStatusBankEntry 3 }

atsLoadStatusBankLoadState OBJECT-TYPE
                SYNTAX INTEGER {
                        normal                                  (1),
                        lowLoad                                 (2),
                        nearOverLoad            (3),
                        overLoad                                (4)
                }               
                ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                        "Getting this OID will return the bank load state." 
                ::= { atsLoadStatusBankEntry 4 } 
       
atsLoadStatusBankPower OBJECT-TYPE
                SYNTAX INTEGER
                ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                        "The output power in Watts."
                ::= { atsLoadStatusBankEntry 5 } 
 
--  the atsLoadConfig group in the atsLoad group
atsLoadCfgPhaseTableSize OBJECT-TYPE
                SYNTAX INTEGER
                ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                        "The size of the Phase Table."
                ::= { atsLoadConfig 1 }

-- the atsLoadCfgPhaseTable in atsLoadConfig group
atsLoadCfgPhaseTable OBJECT-TYPE
                SYNTAX SEQUENCE OF LoadCfgPhaseEntry
                ACCESS not-accessible
                STATUS mandatory
                DESCRIPTION
                        "Allows for configuration of each ATS phase."
                ::= { atsLoadConfig 2 }

atsLoadCfgPhaseEntry OBJECT-TYPE
                SYNTAX LoadCfgPhaseEntry
                ACCESS not-accessible
                STATUS mandatory
                DESCRIPTION
                        "The ATS phase to configure."
                INDEX  { atsLoadCfgPhaseTableIndex}
                ::= { atsLoadCfgPhaseTable 1 }

                LoadCfgPhaseEntry ::=
                SEQUENCE {
                        atsLoadCfgPhaseTableIndex                                                                       INTEGER,
                        atsLoadCfgPhase                           INTEGER,
                        atsLoadCfgPhaseLowLoad                                                                          INTEGER,
                        atsLoadCfgPhaseNearOverLoad                                                     INTEGER,
                        atsLoadCfgPhaseOverLoad                                                                         INTEGER,
                        atsLoadCfgPhaseOutletRestriction                INTEGER
                }      

atsLoadCfgPhaseTableIndex OBJECT-TYPE
                SYNTAX INTEGER(1..10)
                ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                        "The index to the ATS phase entry."
                ::= { atsLoadCfgPhaseEntry 1 }

atsLoadCfgPhase OBJECT-TYPE
                SYNTAX INTEGER {
                        phase1                                                  (1),
                        phase2                                                  (2),
                        phase3                                                  (3),
                        phase1-2                                                (4),
                        phase2-3                                                (5),
                        phase3-1                                                (6)
                }        
                ACCESS  read-only
                STATUS  mandatory
                DESCRIPTION
                        "For single phase devices, this object will always 
                        return phase1(1).
       
                        For 3-phase devices, this object will return phase1 (1), 
                        phase2 (2), phase3 (3), phase1-2 (4) for phases 1 and 2, 
                        phase2-3 (5) for phases 2 and 3, and phase3-1 (6) for 
                        phases 3 and 1."
                ::= { atsLoadCfgPhaseEntry 2 }

atsLoadCfgPhaseLowLoad OBJECT-TYPE
                SYNTAX INTEGER                
                ACCESS read-write
                STATUS mandatory
                DESCRIPTION
                        "A threshold that indicates the power consumption of
                        the load is nearing a low consumption condition. It is 
                        represented in Amps.  A warning will be issued when the
                        load is less than the threshold value.  
       
                        A threshold value of 0 Amps effectively disables this 
                        warning."  
                ::= { atsLoadCfgPhaseEntry 3 }

atsLoadCfgPhaseNearOverLoad OBJECT-TYPE
                SYNTAX INTEGER                
                ACCESS read-write
                STATUS mandatory
                DESCRIPTION
                        "A threshold that indicates the power consumption of
                        the load is nearing an overload condition. It is 
                        represented in Amps.  A warning will be issued when the 
                        load is greater than or equal to the threshold value."
                ::= { atsLoadCfgPhaseEntry 4 }

atsLoadCfgPhaseOverLoad OBJECT-TYPE
                SYNTAX INTEGER                
                ACCESS read-write
                STATUS mandatory
                DESCRIPTION
                        "A threshold that indicates the power consumption of
                        the load has entered an overload condition. It is 
                        represented in Amps.  A warning will be issued when the 
                        load is greater than or equal to the threshold value."
                ::= { atsLoadCfgPhaseEntry 5}

atsLoadCfgPhaseOutletRestriction OBJECT-TYPE
                SYNTAX INTEGER {
                        alwaysAllowTurnON                                       (1),
                        restrictOnNearOverload          (2),
                        restrictOnOverload                              (3)
                }
                ACCESS read-write
                STATUS mandatory
                DESCRIPTION
                        "This OID controls the behavior of a ATS phase when an overload 
                        condition is possible and additional outlets are requested to be 
                        turned on. 

                        Setting this OID to alwaysAllowTurnON (1) will always allow 
                        the outlets on the corresponding phase to turn on.
       
                        Setting this OID to restrictOnNearOverload (2) will not allow
                        outlets on the corresponding phase to turn on if the 
                        ePDULoadConfigNearOverloadThreshold OID is exceeded.
              
                        Setting this OID to restrictOnOverload (3) will not allow
                        outlets on the corresponding phase to turn on if the 
                        ePDULoadConfigOverloadThreshold OID is exceeded."
                ::= { atsLoadCfgPhaseEntry 6 }

atsLoadCfgBankTableSize OBJECT-TYPE
                SYNTAX INTEGER
                ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                        "The size of the Bank Table."
                ::= { atsLoadConfig 3 }

-- the atsLoadCfgBankTable in atsLoadConfig group
atsLoadCfgBankTable OBJECT-TYPE
                SYNTAX SEQUENCE OF LoadCfgBankEntry
                ACCESS not-accessible
                STATUS mandatory
                DESCRIPTION
                        "Allows for configuration of each ATS bank."
                ::= { atsLoadConfig 4 }

atsLoadCfgBankEntry OBJECT-TYPE
                SYNTAX LoadCfgBankEntry
                ACCESS not-accessible
                STATUS mandatory
                DESCRIPTION
                        "The ATS phase to configure."
                INDEX  { atsLoadCfgBankTableIndex}
                ::= { atsLoadCfgBankTable 1 }

                LoadCfgBankEntry ::=
                SEQUENCE {
                        atsLoadCfgBankTableIndex                                        INTEGER,
                        atsLoadCfgBankLowLoad                                                   INTEGER,
                        atsLoadCfgBankNearOverLoad                              INTEGER,
                        atsLoadCfgBankOverLoad                                          INTEGER,
                        atsLoadCfgBankOutletRestriction         INTEGER
                }      

atsLoadCfgBankTableIndex OBJECT-TYPE
                SYNTAX INTEGER {
                        total                                   (1),
                        bank1                                   (2),
                        bank2                                   (3),
                        bank3                                   (4)
                }            
                ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                        "The index to the ATS bank entry."
                ::= { atsLoadCfgBankEntry 1 }

atsLoadCfgBankLowLoad OBJECT-TYPE
                SYNTAX INTEGER                
                ACCESS read-write
                STATUS mandatory
                DESCRIPTION
                        "A threshold that indicates the power consumption of
                        the load is nearing a low consumption condition. It is 
                        represented in Amps.  A warning will be issued when the
                        load is less than the threshold value.  
       
                        A threshold value of 0 Amps effectively disables this 
                        warning."  
                ::= { atsLoadCfgBankEntry 2 }

atsLoadCfgBankNearOverLoad OBJECT-TYPE
                SYNTAX INTEGER                
                ACCESS read-write
                STATUS mandatory
                DESCRIPTION
                        "A threshold that indicates the power consumption of
                        the load is nearing an overload condition. It is 
                        represented in Amps.  A warning will be issued when the 
                        load is greater than or equal to the threshold value."
                ::= { atsLoadCfgBankEntry 3 }

atsLoadCfgBankOverLoad OBJECT-TYPE
                SYNTAX INTEGER                
                ACCESS read-write
                STATUS mandatory
                DESCRIPTION
                        "A threshold that indicates the power consumption of
                        the load has entered an overload condition. It is 
                        represented in Amps.  A warning will be issued when the 
                        load is greater than or equal to the threshold value."
                ::= { atsLoadCfgBankEntry 4 }

atsLoadCfgBankOutletRestriction OBJECT-TYPE
                SYNTAX INTEGER       {
                        alwaysAllowTurnON                                               (1),
                        restrictOnNearOverload                  (2),
                        restrictOnOverload                                      (3)
                }
                ACCESS read-write
                STATUS mandatory
                DESCRIPTION
                        "This OID controls the behavior of a ATS phase when an overload 
                        condition is possible and additional outlets are requested to be 
                        turned on. 

                        Setting this OID to alwaysAllowTurnON (1) will always allow 
                        the outlets on the corresponding phase to turn on.
       
                        Setting this OID to restrictOnNearOverload (2) will not allow
                        outlets on the corresponding phase to turn on if the 
                        ePDULoadConfigNearOverloadThreshold OID is exceeded.
              
                        Setting this OID to restrictOnOverload (3) will not allow
                        outlets on the corresponding phase to turn on if the 
                        ePDULoadConfigOverloadThreshold OID is exceeded."
                ::= { atsLoadCfgBankEntry 5 }

--  the atsOutlet group   
--  the atsOutletDevice group in the atsOutlet group
atsOutletDevTotalOutletNum OBJECT-TYPE
                SYNTAX INTEGER
                ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                        "The total number of outlets on the ATS."
                ::= { atsOutletDevice 1 }

atsOutletDevCtrlOutletNum OBJECT-TYPE
                SYNTAX INTEGER
                ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                        "The number of controlled outlets on the ATS."
                ::= { atsOutletDevice 2 }
                
atsOutletDevColdStartDelay  OBJECT-TYPE
                SYNTAX INTEGER                
                ACCESS read-write
                STATUS mandatory
                DESCRIPTION
                        "The amount of delay, in seconds, between when
                        power is provided to the ATS and when the ATS 
                        provides basic master power to the outlets.       
       
                        Allowed values are:

                        -1       - never apply power automatically.
                        0        - apply power immediately.
                        1 to 300 - delay up to 300 seconds (5 minutes)."
                ::= { atsOutletDevice 3 }
   
atsOutletDevColdStartState OBJECT-TYPE
                SYNTAX INTEGER {
                        allOn                      (1),
                        previous                   (2)
                }        
                ACCESS read-write
                STATUS mandatory
                DESCRIPTION
                        "The ATS outlet state after coldstart. 
                        Allowed values are:
                        1 - all outlets on after coldstart.
                        2 - outlet status same as previous state."
                ::= { atsOutletDevice 4 }
                
atsOutletDevLocalCtrl  OBJECT-TYPE
                SYNTAX INTEGER {
                        enable                  (1),
                        disable                 (2)
                }        
                ACCESS read-write
                STATUS mandatory
                DESCRIPTION
                        "To configure enable or disable outlet local control function."
                ::= { atsOutletDevice 5 }

atsOutletDevCommand  OBJECT-TYPE
        SYNTAX INTEGER       {
      noCommandAll               (1),
      immediateAllOn             (2),
      immediateAllOff            (3),
      immediateAllReboot         (4),
      delayedAllOn               (5),
      delayedAllOff              (6),
      delayedAllReboot           (7),
      cancelAllPendingCommands   (8)
   }
   
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Setting this OID to immediateAllOn (2) will turn all outlets
       on immediately.
       
       Setting this OID to immediateAllOff (3) will turn all outlets
       off immediately.
       
       Setting this OID to immediateAllReboot (4) will reboot all outlets
       immediately.

       Setting this OID to delayedAllOn (5) will turn all outlets on as 
       defined by each outlet's atsOutletCfgPowerOnTime OID value. 
             
       Setting this OID to delayedAllOff (6) will turn all outlets 
       off as defined by each outlet's atsOutletCfgPowerOffTime OID value.
      
       Setting this OID to delayedAllReboot (7) will cause a 
       delayedAllOff command to be performed. Once all outlets are off, 
       the Switched Rack ATS will then delay the largest 
       atsOutletCfgRebootDuration OID time, and then perform a 
       delayedAllOn command.    
       
       Setting this OID to cancelAllPendingCommands (8) will cause all pending
       commands on the Switched Rack ATS to be canceled.

       Getting this OID will return the noCommandAll (1) value."
   ::= { atsOutletDevice 6 }

atsOutletStatusTableSize OBJECT-TYPE
                SYNTAX INTEGER
                ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                        "The size of the outlet status table."
                ::= { atsOutlet 2 }
                
-- the atsOutletStatusTable in atsOutlet group
atsOutletStatusTable OBJECT-TYPE
                SYNTAX SEQUENCE OF OutletStatusEntry
                ACCESS not-accessible
                STATUS mandatory
                DESCRIPTION
                        "Allows for getting of status of individual outlets."
                ::= { atsOutlet 3 }

atsOutletStatusEntry OBJECT-TYPE
                SYNTAX OutletStatusEntry
                ACCESS not-accessible
                STATUS mandatory
                DESCRIPTION
                        "The outlet to gather status from."
                INDEX  { atsOutletStatusTableIndex}
                ::= { atsOutletStatusTable 1 }

                OutletStatusEntry ::=
                SEQUENCE {
                        atsOutletStatusTableIndex                                               INTEGER,
                        atsOutletStatusOutletName                                               DisplayString,
                        atsOutletStatusOutletState                                      INTEGER,
                        atsOutletStatusOutletCmdPending                 INTEGER,
                        atsOutletStatusOutletPhase                                      INTEGER,
                        atsOutletStatusOutletBank                                               INTEGER
                }

atsOutletStatusTableIndex OBJECT-TYPE
                SYNTAX INTEGER(1..19)
                ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                        "The index to the outlet entry."
                ::= { atsOutletStatusEntry 1 }
   
atsOutletStatusOutletName    OBJECT-TYPE
                SYNTAX  DisplayString    
                ACCESS  read-only
                STATUS  mandatory
                DESCRIPTION
                        "The name of the outlet. The maximum string size is device dependent.
                        This OID is provided for informational purposes only."
                ::= { atsOutletStatusEntry 2 }

atsOutletStatusOutletState OBJECT-TYPE
                SYNTAX INTEGER {
                        outletStatusOn                                  (1),
                        outletStatusOff                                 (2)
                }     
                ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                        "Getting this variable will return the outlet state. If 
                        the outlet is on, the outletStatusOn (1) value will be returned.
                        If the outlet is off, the outletStatusOff (2) value will be
                        returned."
                ::= { atsOutletStatusEntry 3 }

atsOutletStatusOutletCmdPending OBJECT-TYPE
                SYNTAX INTEGER {
                        outletStatusCommandPending                      (1),
                        outletStatusNoCommandPending            (2)
                }     
                ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                        "Getting this variable will return the command pending
                        state of the outlet. If a command is pending on the 
                        outlet, the outletStatusCommandPending (1) value
                        will be returned. If there is not a command pending
                        on the outlet, the outletStatusNoCommandPending (2)
                        will be returned."
                ::= { atsOutletStatusEntry 4 }

atsOutletStatusOutletPhase OBJECT-TYPE
                SYNTAX INTEGER {
                        phase1                                                  (1),
                        phase2                                                  (2),
                        phase3                                                  (3),
                        phase1-2                                                (4),
                        phase2-3                                                (5),
                        phase3-1                                                (6)
                }        
                ACCESS  read-only
                STATUS  mandatory
                DESCRIPTION
                        "The phase/s associated with this outlet.
      
                        For single phase devices, this object will always 
                        return phase1(1).
       
                        For 3-phase devices, this object will return phase1 (1), 
                        phase2 (2), or phase3 (3) for outlets tied to a single 
                        phase.  For outlets tied to two phases, this object will
                        return phase1-2 (4) for phases 1 and 2, phase2-3 (5) for 
                        phases 2 and 3, and phase3-1 (6) for phases 3 and 1."
                ::= { atsOutletStatusEntry 5 }

atsOutletStatusOutletBank OBJECT-TYPE
                SYNTAX INTEGER 
                ACCESS  read-only
                STATUS  mandatory
                DESCRIPTION
                        "The bank associated with this outlet."
                ::= { atsOutletStatusEntry 6 }  

atsOutletCtrlTableSize OBJECT-TYPE
                SYNTAX INTEGER
                ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                        "The size of the outlet control table."
                ::= { atsOutlet 4 }
                
-- the atsOutletCtrlTable in atsOutlet group
atsOutletCtrlTable OBJECT-TYPE
                SYNTAX SEQUENCE OF OutletCtrlEntry
                ACCESS not-accessible
                STATUS mandatory
                DESCRIPTION
                        "Allows for control of the individual outlets."
                ::= { atsOutlet 5 }

atsOutletCtrlEntry OBJECT-TYPE
                SYNTAX OutletCtrlEntry
                ACCESS not-accessible
                STATUS mandatory
                DESCRIPTION
                        "The outlet to control."
                INDEX  { atsOutletCtrlTableIndex}
                ::= { atsOutletCtrlTable 1 }

                OutletCtrlEntry ::=
                SEQUENCE {
                        atsOutletCtrlTableIndex                                 INTEGER,
                        atsOutletCtrlOutletName                                 DisplayString,
                        atsOutletCtrlCommand                                            INTEGER
                }

atsOutletCtrlTableIndex OBJECT-TYPE
                SYNTAX INTEGER(1..19)
                ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                        "The index to the outlet entry."
                ::= { atsOutletCtrlEntry 1 }
   
atsOutletCtrlOutletName    OBJECT-TYPE
                SYNTAX  DisplayString
                ACCESS  read-only
                STATUS  mandatory
                DESCRIPTION
                        "The name of the outlet. The maximum string size is device dependent.
                        An error will be returned if the set request exceeds the max size.
                        This OID is provided for informational purposes only."
                ::= { atsOutletCtrlEntry 2 }

atsOutletCtrlCommand OBJECT-TYPE
                SYNTAX INTEGER {
                        none                                                                            (1),
                        immediateOn                                                     (2),
                        immediateOff                                            (3),
                        immediateReboot                                 (4),
                        delayedOn                                                               (5),
                        delayedOff                                                      (6),
                        delayedReboot                                           (7),
                        cancelPendingCommand            (8)
                }     
                ACCESS read-write
                STATUS mandatory
                DESCRIPTION
                        "Getting this variable will return the outlet state. If 
                        the outlet is on, the immediateOn (2) value will be returned.
                        If the outlet is off, the immediateOff (2) value will be
                        returned. 
       
                        Setting this variable to immediateOn (2) will immediately turn 
                        the outlet on.
       
                        Setting this variable to immediateOff (3) will immediately turn 
                        the outlet off. 

                        Setting this variable to immediateReboot (4) will immediately 
                        reboot the outlet.
      
                        Setting this variable to delayedOn (5) will turn the outlet on
                        after the ePDUOutletConfigPowerOnTime OID time has elapsed.   

                        Setting this variable to delayedOff (6) will turn the outlet off
                        after the ePDUOutletConfigPowerOffTime OID time has elapsed.

                        Setting this variable to delayedReboot (7) will cause the 
                        ATS to perform a delayedOff command, wait the atsOutletCfgRebootDuration 
                        OID time, and then perform a delayedOn command. 
       
                        Setting this variable to cancelPendingCommand (8) will cause any
                        pending command to this outlet to be canceled."
    ::= { atsOutletCtrlEntry 3 }                
        
atsOutletCfgTableSize OBJECT-TYPE
                SYNTAX INTEGER
                ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                        "The size of the outlet config table."
                ::= { atsOutlet 6 }             

-- the atsOutletCfgTable in atsOutlet group
atsOutletCfgTable OBJECT-TYPE
                SYNTAX SEQUENCE OF AtsOutletConfigEntry
                ACCESS not-accessible
                STATUS mandatory
                DESCRIPTION
                        "Allows for configuration of individual outlets."
                ::= { atsOutlet 7 }

atsOutletCfgEntry OBJECT-TYPE
                SYNTAX AtsOutletConfigEntry
                ACCESS not-accessible
                STATUS mandatory
                DESCRIPTION
                        "The outlet to configure."
                INDEX  { atsOutletCfgTableIndex}
                ::= { atsOutletCfgTable 1 }

                AtsOutletConfigEntry ::=
                SEQUENCE {
                        atsOutletCfgTableIndex                                          INTEGER,
                        atsOutletCfgOutletName                                          DisplayString,
                        atsOutletCfgPowerOnTime                                         INTEGER,
                        atsOutletCfgPowerOffTime                                        INTEGER,
                        atsOutletCfgRebootDuration                              INTEGER
                }      

atsOutletCfgTableIndex OBJECT-TYPE
                SYNTAX INTEGER(1..19)
                ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                        "The index to the outlet entry."
                ::= { atsOutletCfgEntry 1 }
   
atsOutletCfgOutletName    OBJECT-TYPE
                SYNTAX  DisplayString    
                ACCESS  read-write
                STATUS  mandatory
                DESCRIPTION
                        "The name of the outlet. The maximum string size is device dependent.
                        An error will be returned if the set request exceeds the max size."
                ::= { atsOutletCfgEntry 2 }

atsOutletCfgPowerOnTime OBJECT-TYPE
                SYNTAX INTEGER 
                ACCESS read-write
                STATUS mandatory
                DESCRIPTION
                        "The amount of time (in seconds) the outlet will delay 
                        powering on at coldstart or when a command that requires 
                        a turn-on delay is issued.
              
                        Allowed values are:
                        -1        - never power on.
                        0         - power on immediately.
                        1 to 7200 - power on up to 7200 seconds after being commanded."
                ::= { atsOutletCfgEntry 3 }

atsOutletCfgPowerOffTime OBJECT-TYPE
                SYNTAX INTEGER 
                ACCESS read-write
                STATUS mandatory
                DESCRIPTION
                        "The amount of time (in seconds) the outlet will delay 
                        powering off when a command that requires 
                        a turn-off delay is issued.

                        Allowed values are:

                        -1        - never power off.
                        0         - power off immediately.
                        1 to 7200 - power off up to 7200 seconds after being commanded."
        ::= { atsOutletCfgEntry 4 }

atsOutletCfgRebootDuration OBJECT-TYPE
                SYNTAX INTEGER
                ACCESS read-write
                STATUS mandatory
                DESCRIPTION
                        "During a reboot sequence, power is turned off and then 
                        back on. This OID defines the amount of time to wait, 
                        in seconds, after turning the power off, at the start
                        of the sequence, before turning power back on, at the
                        end of the reboot sequence.       
       
                        Allowed range is any value between 5 and 60 seconds (1 minute)."
                ::= { atsOutletCfgEntry 5 }
      
-- ePDU2 Group
-- Daisy Chain ePDU OID
ePDU2Role OBJECT-TYPE
    SYNTAX INTEGER {
      standalone(1),
      host(2),
      slave(3)
   }
                ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                        "Get this oid shows the role the PDU played on Daisy Chain Group.
                        The PDU as a Host can access whole ePDU2 content, and the PDU be standalong
                        or a Slave can access itself instead."
    ::= { ePDU2 1 }

-- ePDU2Ident
ePDU2IdentTableSize OBJECT-TYPE
    SYNTAX INTEGER
                ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                        "PDU as a Host response total PDU ident number on daisy chain. 
                        PDU as a Slave can only response 1."
    ::= { ePDU2Ident 1 }
    
ePDU2IdentTable OBJECT-TYPE
    SYNTAX SEQUENCE OF EPDU2IdentEntryStruct
                ACCESS not-accessible
                STATUS mandatory
                DESCRIPTION
                        "A table of Rack PDU identification information."
                ::= { ePDU2Ident 2 }

ePDU2IdentEntry OBJECT-TYPE
                SYNTAX EPDU2IdentEntryStruct
                ACCESS not-accessible
                STATUS mandatory
                DESCRIPTION
                        "Identification data from Rack PDU being queried."
                INDEX  { ePDU2IdentIndex }
                ::= { ePDU2IdentTable 1 }

EPDU2IdentEntryStruct ::=
  SEQUENCE {
          ePDU2IdentIndex                                                       INTEGER,
          ePDU2IdentModuleIndex                                         INTEGER,
          ePDU2IdentName                                                                        DisplayString,
          ePDU2IdentLocation                                                    DisplayString,
          ePDU2IdentContact                                                             DisplayString, 
          ePDU2IdentHardwareRev                                         DisplayString, 
          ePDU2IdentFirmwareRev                                         DisplayString, 
          ePDU2IdentDateOfManufacture                   DisplayString, 
          ePDU2IdentModelName                                                   DisplayString, 
          ePDU2IdentSerialNumber                                        DisplayString, 
          ePDU2IdentIndicator                                                   INTEGER
  }

ePDU2IdentIndex OBJECT-TYPE
    SYNTAX INTEGER(1..4)
                ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                                "The index to the Rack PDU identification table entry."
                ::= { ePDU2IdentEntry 1 }

ePDU2IdentModuleIndex OBJECT-TYPE
    SYNTAX INTEGER
                ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                                "The Rack PDU identification table entry numeric ID."
                ::= { ePDU2IdentEntry 2 }

ePDU2IdentName OBJECT-TYPE
    SYNTAX DisplayString
                ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                                "A user-defined string identifying the name of the Rack PDU."
                ::= { ePDU2IdentEntry 3 }

ePDU2IdentLocation OBJECT-TYPE
    SYNTAX DisplayString
                ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                                "A user-defined string identifying the location of the Rack PDU." 
                ::= { ePDU2IdentEntry 4 }

ePDU2IdentContact OBJECT-TYPE
    SYNTAX DisplayString
                ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                                "A user-defined string identifying the person to contact of the Rack PDU." 
                ::= { ePDU2IdentEntry 5 }

ePDU2IdentHardwareRev OBJECT-TYPE
    SYNTAX DisplayString
                ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                                "The Rack PDU hardware version."
                ::= { ePDU2IdentEntry 6 }

ePDU2IdentFirmwareRev OBJECT-TYPE
    SYNTAX DisplayString
                ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                                "The Rack PDU firmware version."
                ::= { ePDU2IdentEntry 7 }

ePDU2IdentDateOfManufacture OBJECT-TYPE
    SYNTAX DisplayString
                ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                                "The date the Rack PDU was manufactured in mm/dd/yyyy format."
                ::= { ePDU2IdentEntry 8 }

ePDU2IdentModelName OBJECT-TYPE
    SYNTAX DisplayString
                ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                                "The Rack PDU model number."
                ::= { ePDU2IdentEntry 9 }

ePDU2IdentSerialNumber OBJECT-TYPE
    SYNTAX DisplayString
                ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                                "The Rack PDU serial number." 
                ::= { ePDU2IdentEntry 10 }

ePDU2IdentIndicator OBJECT-TYPE
    SYNTAX INTEGER {
      noTestIndicators(1),
      testIndicators(2)
   }
                ACCESS read-write
                STATUS mandatory
                DESCRIPTION
                                "PDU will perform a panel indicator test when the variable
                                is set to testIndicators(2).
                                
                                It is no effective to set this value to noTestIndicators(1)." 
                ::= { ePDU2IdentEntry 11 }

-- ePDU2Device
ePDU2DeviceTableSize OBJECT-TYPE
    SYNTAX INTEGER
                ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                        "A Host Rack PDU response total number of Rack PDUs on daisy chain. 
                        Rack PDU as a Slave can only response 1."
    ::= { ePDU2Device 1 }

-- Device Config Table
ePDU2DeviceConfigTable OBJECT-TYPE
                SYNTAX SEQUENCE OF EPDU2DeviceConfigEntryStruct
    ACCESS not-accessible
                STATUS mandatory
                DESCRIPTION
                         "A table of Rack PDU configuration data."
                ::= { ePDU2Device 2 }

ePDU2DeviceConfigEntry OBJECT-TYPE
                SYNTAX EPDU2DeviceConfigEntryStruct
                ACCESS not-accessible
                STATUS mandatory
                DESCRIPTION
                         "Configuration data from Rack PDU being queried."
                INDEX  { ePDU2DeviceConfigIndex }
                ::= { ePDU2DeviceConfigTable 1 }

EPDU2DeviceConfigEntryStruct ::=
        SEQUENCE {
          ePDU2DeviceConfigIndex                                                                        INTEGER, 
          ePDU2DeviceConfigModuleIndex                                                          INTEGER, 
          ePDU2DeviceConfigName                                                                                         DisplayString, 
          ePDU2DeviceConfigLocation                                                                             DisplayString, 
          ePDU2DeviceConfigContact                                                                              DisplayString, 
          ePDU2DeviceConfigDisplayOrientation                                   INTEGER, 
          ePDU2DeviceConfigColdstartDelay                                                       INTEGER, 
          ePDU2DeviceConfigLowLoadThreshold                                             INTEGER, 
          ePDU2DeviceConfigNearOverloadThreshold                        INTEGER, 
          ePDU2DeviceConfigOverloadThreshold                                    INTEGER, 
                ePDU2DeviceConfigPeakLoadReset                                                  INTEGER, 
                ePDU2DeviceConfigEnergyReset                INTEGER
        }

ePDU2DeviceConfigIndex OBJECT-TYPE
    SYNTAX INTEGER(1..4)
                ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                                "The index to the Rack PDU table entry."
                ::= { ePDU2DeviceConfigEntry 1 }

ePDU2DeviceConfigModuleIndex OBJECT-TYPE
    SYNTAX INTEGER
                ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                                "The Rack PDU numeric ID."
                ::= { ePDU2DeviceConfigEntry 2 }

ePDU2DeviceConfigName OBJECT-TYPE
    SYNTAX DisplayString
                ACCESS read-write
                STATUS mandatory
                DESCRIPTION
                                "A user-defined string identifying the name of Rack PDU." 
                ::= { ePDU2DeviceConfigEntry 3 }

ePDU2DeviceConfigLocation OBJECT-TYPE
    SYNTAX DisplayString
                ACCESS read-write
                STATUS mandatory
                DESCRIPTION
                                "A user-defined string identifying the location of the Rack PDU."
                ::= { ePDU2DeviceConfigEntry 4 }

ePDU2DeviceConfigContact OBJECT-TYPE
    SYNTAX DisplayString
                ACCESS read-write
                STATUS mandatory
                DESCRIPTION
                                "A user-defined string identifying the person to contact of the Rack PDU."
                ::= { ePDU2DeviceConfigEntry 5 }

ePDU2DeviceConfigDisplayOrientation OBJECT-TYPE
    SYNTAX INTEGER {
        displayNormal (1), 
        displayReverse (2), 
        displayRotate90 (3), 
        displayRotate270 (4), 
        displayAuto (5)
    }
                ACCESS read-write
                STATUS mandatory
                DESCRIPTION
                                "Getting this OID will return the intended physical orientation of the Seven-Segment Display.

                                displayNormal(1) indicates Normal.
                                displayReverse(2)indicates Upside-Down.
                                displayRotate90(3) indicates rotate 90 degree.
                                displayRotate270(4) indicates rotate 270 degree. 
                                displayAuto(5) indicates auto-detect and rotate."
                ::= { ePDU2DeviceConfigEntry 6 }

ePDU2DeviceConfigColdstartDelay OBJECT-TYPE
    SYNTAX INTEGER
                ACCESS read-write
                STATUS mandatory
                DESCRIPTION
                                "The amount of delay, measured in seconds, between
                                when power is provided to the Rack PDU and when
                                the Rack PDU provides basic master power to the
                                outlets.
                                
                                Allowed values are:
                                        -1 - never apply power automatically.
                                        0 - apply power immediately.
                                        1 to 300 - delay up to 300 seconds (5 minutes)."
                ::= { ePDU2DeviceConfigEntry 7 }

ePDU2DeviceConfigLowLoadThreshold OBJECT-TYPE
    SYNTAX INTEGER
                ACCESS read-write
                STATUS mandatory
                DESCRIPTION
                                "User-defined low current draw alarm threshold, measured in Amps."
                ::= { ePDU2DeviceConfigEntry 8 }

ePDU2DeviceConfigNearOverloadThreshold OBJECT-TYPE
    SYNTAX INTEGER
                ACCESS read-write
                STATUS mandatory
                DESCRIPTION
                                "User-defined near overload current threshold, measured in Amps." 
                ::= { ePDU2DeviceConfigEntry 9 }

ePDU2DeviceConfigOverloadThreshold OBJECT-TYPE
    SYNTAX INTEGER
                ACCESS read-write
                STATUS mandatory
                DESCRIPTION
                                "User-defined current overload threshold, measured in Amps." 
                ::= { ePDU2DeviceConfigEntry 10 }

ePDU2DeviceConfigPeakLoadReset OBJECT-TYPE
    SYNTAX INTEGER {
      noOperation(1),
      resetAll(2), 
      resetDevice(3), 
      resetOutlets(4)
   }
                ACCESS read-write
                STATUS mandatory
                DESCRIPTION
                                "Setting this OID to resetAll (2) will cause the existing peak current value
                                of Rack PDU and its outlets to be replaced by the current load current value.
                                Setting this OID to resetDevice (3) to reset the Rack PDU only. 
                                Setting this OID to resetOutlets (4) to reset the PDU outlets only. 

                                Getting this OID will do nothing and return the noOperation(1) value." 
                ::= { ePDU2DeviceConfigEntry 11 }

ePDU2DeviceConfigEnergyReset OBJECT-TYPE
    SYNTAX INTEGER {
      noOperation(1),
      resetAll(2), 
      resetDevice(3), 
      resetOutlets(4)
   }
                ACCESS read-write
                STATUS mandatory
                DESCRIPTION
                                "Setting this OID to resetAll (2) will cause the device energy meter value
                                        to be reset to zero.
                                        Setting this OID to resetDevice (3) to reset the Rack PDU only. 
                                        Setting this OID to resetOutlets (4) to reset the PDU outlets only. 
                                        
                                        Getting this OID in models that support this feature will do nothing
                                        and return the noOperation(1) value."
                ::= { ePDU2DeviceConfigEntry 12 }

-- Device Info Table
ePDU2DeviceInfoTable OBJECT-TYPE
                SYNTAX SEQUENCE OF EPDU2DeviceInfoEntryStruct
    ACCESS not-accessible
                STATUS mandatory
                DESCRIPTION
                        "A table of Rack PDU information."
                ::= { ePDU2Device 3 }

ePDU2DeviceInfoEntry OBJECT-TYPE
                SYNTAX EPDU2DeviceInfoEntryStruct
                ACCESS not-accessible
                STATUS mandatory
                DESCRIPTION
                        "Information of the Rack PDU being queried."
                INDEX {ePDU2DeviceInfoIndex}
                ::= { ePDU2DeviceInfoTable 1 }

EPDU2DeviceInfoEntryStruct ::= 
        SEQUENCE {
                ePDU2DeviceInfoIndex                                            INTEGER, 
                ePDU2DeviceInfoModuleIndex                      INTEGER, 
                ePDU2DeviceInfoName                                                     DisplayString, 
                ePDU2DeviceInfoRating                                           INTEGER, 
                ePDU2DeviceInfoNumOutlets                               INTEGER, 
                ePDU2DeviceInfoSwitchedOutlets  INTEGER, 
                ePDU2DeviceInfoMeteredOutlets           INTEGER, 
                ePDU2DeviceInfoNumPhases                                INTEGER, 
                ePDU2DeviceInfoNumBreakers                      INTEGER, 
                ePDU2DeviceInfoBreakerRating            INTEGER, 
                ePDU2DeviceInfoOrientation                      INTEGER, 
                ePDU2DeviceInfoOutletLayout                     INTEGER
        }

ePDU2DeviceInfoIndex OBJECT-TYPE
                SYNTAX INTEGER(1..4)
                ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                        "The index to the Rack PDU Information table entry."
                ::= {ePDU2DeviceInfoEntry 1}
                
ePDU2DeviceInfoModuleIndex OBJECT-TYPE
                SYNTAX INTEGER
                ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                        "The Rack PDU numeric ID."
                ::= {ePDU2DeviceInfoEntry 2}
                
ePDU2DeviceInfoName OBJECT-TYPE
                SYNTAX DisplayString
                ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                        "A user-defined string identifying the name of the Rack PDU."
                ::= {ePDU2DeviceInfoEntry 3}
                
ePDU2DeviceInfoRating OBJECT-TYPE
                SYNTAX INTEGER
                ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                        "The electrical rating of the Rack PDU."
                ::= {ePDU2DeviceInfoEntry 4}
                
ePDU2DeviceInfoNumOutlets OBJECT-TYPE
                SYNTAX INTEGER
                ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                        "The number of outlets on the Rack PDU."
                ::= {ePDU2DeviceInfoEntry 5}
                
ePDU2DeviceInfoSwitchedOutlets OBJECT-TYPE
                SYNTAX INTEGER
                ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                        "The number of switched outlets on the Rack PDU."
                ::= {ePDU2DeviceInfoEntry 6}
                
ePDU2DeviceInfoMeteredOutlets OBJECT-TYPE
                SYNTAX INTEGER
                ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                        "The number of metered outlets on the Rack PDU."
                ::= {ePDU2DeviceInfoEntry 7}
                
ePDU2DeviceInfoNumPhases OBJECT-TYPE
                SYNTAX INTEGER
                ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                        "The number of phases present in the Rack PDU."
                ::= {ePDU2DeviceInfoEntry 8}
                
ePDU2DeviceInfoNumBreakers OBJECT-TYPE
                SYNTAX INTEGER
                ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                        "The number of metered banks present in the Rack PDU."
                ::= {ePDU2DeviceInfoEntry 9}
                
ePDU2DeviceInfoBreakerRating OBJECT-TYPE
                SYNTAX INTEGER
                ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                        "The maximum current rating, measured in Amps, for the Rack PDU. 
                        Getting this OID will return rating of the circuit breakers on 
                        the device if it has any."
                ::= {ePDU2DeviceInfoEntry 10}
                
ePDU2DeviceInfoOrientation OBJECT-TYPE
                SYNTAX INTEGER {
                        orientHorizontal (1),
                        orientVertical (2)
                }
                ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                        "Rack PDU orientation."
                ::= {ePDU2DeviceInfoEntry 11}
                
ePDU2DeviceInfoOutletLayout OBJECT-TYPE
                SYNTAX INTEGER {
                        seqPhaseToNeutral (1),
                        seqPhaseToPhase (2),
                        seqPhToNeu21PhToPh (3),
                        seqPhToPhGrouped (4)
                }
                ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                        "Getting this OID will return outlet layout for the device.
                        
                        SeqPhaseToNeutral(1) indicates outlet layout as follows:
                                1:1-N,2:2-N,3:3-N,4:1-N,5:2-N,...
                                
                        SeqPhaseToPhase(2) indicates outlet layout as follows:
                                1:1-2,2:2-3,3:3-1,4:1-2,5:2-3,...
                                
                        SeqPhToNeu21PhToPh(3) indicates outlet layout as follows:
                                1:1-N,2:2-N...21:3-N,22:1-2,23:2-3,24:3-1,...
                                
                        SeqPhToPhGrouped(4) indicates outlet layout as follows:
                                Otlts1-8::(3-1),Otlts9-16::(2-3),Otlts17-24::(1-2)." 
                ::= {ePDU2DeviceInfoEntry 12}

-- Device Status Table
ePDU2DeviceStatusTable OBJECT-TYPE
                SYNTAX SEQUENCE OF EPDU2DeviceStatusEntryStruct
    ACCESS not-accessible
                STATUS mandatory
                DESCRIPTION
                        "A table of Rack PDU current status."
                ::= { ePDU2Device 4 }

ePDU2DeviceStatusEntry OBJECT-TYPE
                SYNTAX EPDU2DeviceStatusEntryStruct
    ACCESS not-accessible
                STATUS mandatory
                DESCRIPTION
                        "Status data from the Rack PDU being queried."
                INDEX {ePDU2DeviceStatusIndex}
                ::= { ePDU2DeviceStatusTable 1 }

EPDU2DeviceStatusEntryStruct ::= 
        SEQUENCE {
                ePDU2DeviceStatusIndex                                                          INTEGER, 
                ePDU2DeviceStatusModuleIndex                                    INTEGER, 
                ePDU2DeviceStatusName                                                                   DisplayString, 
                ePDU2DeviceStatusLoadState                                              INTEGER, 
                ePDU2DeviceStatusLoad                                                                   Gauge, 
                ePDU2DeviceStatusPeakLoad                                                       Gauge, 
                ePDU2DeviceStatusPeakLoadTimestamp              DisplayString, 
                ePDU2DeviceStatusPeakLoadStartTime              DisplayString, 
                ePDU2DeviceStatusEnergy                                                         Gauge, 
                ePDU2DeviceStatusEnergyStartTime                        DisplayString, 
                ePDU2DeviceStatusCommandPending                         INTEGER, 
                ePDU2DeviceStatusPowerSupplyAlarm                       INTEGER, 
                ePDU2DeviceStatusPowerSupply1Status             INTEGER, 
                ePDU2DeviceStatusPowerSupply2Status             INTEGER, 
                ePDU2DeviceStatusApparentPower                          Gauge, 
                ePDU2DeviceStatusPowerFactor                                    Gauge, 
                ePDU2DeviceStatusRoleType                                                       INTEGER
        }

ePDU2DeviceStatusIndex OBJECT-TYPE
                SYNTAX INTEGER(1..4)
    ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                        "The index to the Rack PDU status table entry."
                ::= {ePDU2DeviceStatusEntry 1}
                
ePDU2DeviceStatusModuleIndex OBJECT-TYPE
                SYNTAX INTEGER
    ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                        "The Rack PDU numeric ID"
                ::= {ePDU2DeviceStatusEntry 2}
                
ePDU2DeviceStatusName OBJECT-TYPE
                SYNTAX DisplayString
    ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                        "A user-defined string identifying the name of the Rack PDU."
                ::= {ePDU2DeviceStatusEntry 3}
                
ePDU2DeviceStatusLoadState OBJECT-TYPE
                SYNTAX INTEGER {
                        noLoadAlarm (1), 
                        underCurrentAlarm (2), 
                        nearOverCurrentAlarm (3), 
                        overCurrentAlarm (4)
                }
    ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                        "Indicates the present load status of the Rack PDU."
                ::= {ePDU2DeviceStatusEntry 4}
                
ePDU2DeviceStatusLoad OBJECT-TYPE
                SYNTAX Gauge
    ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                        "The power consumption of the Rack PDU load in tenths of amps."
                ::= {ePDU2DeviceStatusEntry 5}
                
ePDU2DeviceStatusPeakLoad OBJECT-TYPE
                SYNTAX Gauge
    ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                        "The peak power consumption of the Rack PDU load in tenths of amps."
                ::= {ePDU2DeviceStatusEntry 6}
                
ePDU2DeviceStatusPeakLoadTimestamp OBJECT-TYPE
                SYNTAX DisplayString
    ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                        "Indicates the date and time that peak load current occurred."
                ::= {ePDU2DeviceStatusEntry 7}
                
ePDU2DeviceStatusPeakLoadStartTime OBJECT-TYPE
                SYNTAX DisplayString
    ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                        "Indicates the date and time of the last device peak load reset."
                ::= {ePDU2DeviceStatusEntry 8}
                
ePDU2DeviceStatusEnergy OBJECT-TYPE
                SYNTAX Gauge
    ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                        "A user resettable energy meter measuring Rack PDU load 
                        energy consumption in tenths of kilowatt-hours."
                ::= {ePDU2DeviceStatusEntry 9}
                
ePDU2DeviceStatusEnergyStartTime OBJECT-TYPE
                SYNTAX DisplayString
    ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                        "Indicates the date and time of the last device energy
                        meter reset."
                ::= {ePDU2DeviceStatusEntry 10}
                
ePDU2DeviceStatusCommandPending OBJECT-TYPE
                SYNTAX INTEGER {
                        commandPending    (1),
                        noCommandPending  (2)
                }
    ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                        "Indicates whether or not the device 
                        is processing a pending command."
                ::= {ePDU2DeviceStatusEntry 11}
                
ePDU2DeviceStatusPowerSupplyAlarm OBJECT-TYPE
                SYNTAX INTEGER {
                        normal (1), 
                        alarm  (2)
                }
    ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                        "Indicates a power supply alarm is active when value
                        equals alarm (2)."
                ::= {ePDU2DeviceStatusEntry 12}
                
ePDU2DeviceStatusPowerSupply1Status OBJECT-TYPE
                SYNTAX INTEGER {
                        normal (1), 
                        alarm (2)
                }
    ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                        "Indicates whether or not an alarm is active in Power
                        Supply 1." 
                ::= {ePDU2DeviceStatusEntry 13}
                
ePDU2DeviceStatusPowerSupply2Status OBJECT-TYPE
                SYNTAX INTEGER {
                        normal (1), 
                        alarm (2)
                }
    ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                        "Indicates whether or not an alarm is active in Power
                        Supply 2."
                ::= {ePDU2DeviceStatusEntry 14}

ePDU2DeviceStatusApparentPower OBJECT-TYPE
                SYNTAX Gauge
    ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                        "The apparent power consumption of the Rack PDU 
                        load in VoltAmps (VA)." 
                ::= {ePDU2DeviceStatusEntry 15}
                
ePDU2DeviceStatusPowerFactor OBJECT-TYPE
                SYNTAX Gauge
    ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                        "The power factor of the Rack PDU load in hundredths."
                ::= {ePDU2DeviceStatusEntry 16}
                
ePDU2DeviceStatusRoleType OBJECT-TYPE
                SYNTAX INTEGER {
                        standalone (1), 
                        host (2) , 
                        slave (3) 
                }
    ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                        "Get this oid shows the role the PDU played on Daisy Chain Group.
                        The PDU as a Host can access whole ePDU2 content, and the PDU be standalong
                        or a Slave can access itself instead."
                ::= {ePDU2DeviceStatusEntry 17}

-- Device Control Table
ePDU2DeviceControlTable OBJECT-TYPE
                SYNTAX SEQUENCE OF EPDU2DeviceControlEntryStruct
    ACCESS not-accessible
                STATUS mandatory
                DESCRIPTION
                        "A table of Rack PDU control data."
                ::= { ePDU2Device 5 }

ePDU2DeviceControlEntry OBJECT-TYPE
                SYNTAX EPDU2DeviceControlEntryStruct
                ACCESS not-accessible
                STATUS mandatory
                DESCRIPTION
                        "Control data from Rack PDU being queried."
                INDEX {ePDU2DeviceControlIndex}
                ::= {ePDU2DeviceControlTable 1}

EPDU2DeviceControlEntryStruct ::= 
        SEQUENCE {
                ePDU2DeviceControlIndex                                 INTEGER, 
                ePDU2DeviceControlModuleIndex           INTEGER, 
                ePDU2DeviceControlName                                  DisplayString, 
                ePDU2DeviceControlCommand                               INTEGER
        }

ePDU2DeviceControlIndex OBJECT-TYPE
                SYNTAX INTEGER(1..4)
                ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                        "The index to the Rack PDU control table entry."
                ::= {ePDU2DeviceControlEntry 1}
                
ePDU2DeviceControlModuleIndex OBJECT-TYPE
                SYNTAX INTEGER
                ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                        "The Rack PDU numeric ID."
                ::= {ePDU2DeviceControlEntry 2}
                
ePDU2DeviceControlName OBJECT-TYPE
                SYNTAX DisplayString
                ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                        "A user-defined string identifying the name of the Rack PDU."
                ::= {ePDU2DeviceControlEntry 3}
                
ePDU2DeviceControlCommand OBJECT-TYPE
                SYNTAX INTEGER {
                        immediateAllOn (1), 
                        immediateAllOff (2), 
                        immediateAllReboot (3), 
                        delayedAllOn (4), 
                        delayedAllOff (5), 
                        delayedAllReboot (6), 
                        cancelAllPendingCommand (7), 
                        noCommand (8)
                }
                ACCESS read-write
                STATUS mandatory
                DESCRIPTION
                        "Setting this OID to immediateAllOn (1) will turn all outlets on immediately.

                        Setting this OID to immediateAllOff (2) will turn all outlets off immediately.
       
                        Setting this OID to immediateAllReboot (3) will cause an immediateAllOff command 
                        to be performed. Once all outlets are off, the Switched Rack PDU will then delay 
                        the ePDU2OutletSwitchedConfigRebootDuration OID time, and then perform an 
                        immediateAllOn command.

                        Setting this OID to delayedAllOn (4) will turn all outlets on as defined by 
                        each outlet's ePDU2OutletSwitchedConfigPowerOnTime OID value.
                        
                        Setting this OID to delayedAllOff (5) will turn all outlets off as defined by 
                        each outlet's ePDU2OutletSwitchedConfigPowerOffTime OID value.
                        
                        Setting this OID to delayedAllReboot (6) will cause a delayedAllOff command 
                        to be performed. Once all outlets are off, the Switched Rack PDU will then 
                        delay the largest ePDU2OutletSwitchedConfigRebootDuration OID time, and 
                        then perform a delayedAllOn command.

                        Setting this OID to cancelAllPendingCommand (7) will cause all pending 
                        commands on the Switched Rack PDU to be cancelled. 
                        
                        Setting this OID to noCommand (8) will have no effect.

                        Getting this OID will return the noCommand (8) value."
                ::= {ePDU2DeviceControlEntry 4}

-- ePDU2Phase
ePDU2PhaseTableSize OBJECT-TYPE
                SYNTAX INTEGER
                ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                        "A Host Rack PDU response total phase number of Rack PDUs on daisy chain. 
                        Rack PDU as a Slave can only response itself number of phase."
                ::= {ePDU2Phase 1}

ePDU2PhaseConfigTable OBJECT-TYPE
                SYNTAX SEQUENCE OF EPDU2PhaseConfigEntryStruct
                ACCESS not-accessible
                STATUS mandatory
                DESCRIPTION
                        "A table of Rack PDU phase configuration data."
                ::= {ePDU2Phase 2}
                
ePDU2PhaseConfigEntry OBJECT-TYPE
                SYNTAX EPDU2PhaseConfigEntryStruct
                ACCESS not-accessible
                STATUS mandatory
                DESCRIPTION
                        "Configuration data from currently queried 
                        Rack PDU phase."
                INDEX {ePDU2PhaseConfigIndex}
                ::= {ePDU2PhaseConfigTable 1}
                
EPDU2PhaseConfigEntryStruct ::= 
        SEQUENCE {
                ePDU2PhaseConfigIndex                                                                   INTEGER, 
                ePDU2PhaseConfigModuleIndex                                             INTEGER, 
                ePDU2PhaseConfigNumber                                                                  INTEGER, 
                ePDU2PhaseConfigOverloadRestriction             INTEGER, 
                ePDU2PhaseConfigLowLoadThreshold                                INTEGER, 
                ePDU2PhaseConfigNearOverloadThreshold   INTEGER, 
                ePDU2PhaseConfigOverloadThreshold                       INTEGER, 
                ePDU2PhaseConfigPhasePeakLoadReset                                      INTEGER
        }
        
ePDU2PhaseConfigIndex OBJECT-TYPE
                SYNTAX INTEGER(1..12)
                ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                        "The index to the Rack PDU phase configuration
                        table entry."
                ::= {ePDU2PhaseConfigEntry 1}
                
ePDU2PhaseConfigModuleIndex OBJECT-TYPE
                SYNTAX INTEGER
                ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                        "The Rack PDU numeric ID."
                ::= {ePDU2PhaseConfigEntry 2}
                
ePDU2PhaseConfigNumber OBJECT-TYPE
                SYNTAX INTEGER
                ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                        "The numeric phase ID."
                ::= {ePDU2PhaseConfigEntry 3}
                
ePDU2PhaseConfigOverloadRestriction OBJECT-TYPE
                SYNTAX INTEGER {
                        notSupported                                                    (-1), 
                        alwaysAllowTurnON         (1),
                        restrictOnNearOverload    (2),
                        restrictOnOverload        (3)
                }
                ACCESS read-write
                STATUS mandatory
                DESCRIPTION
                        "This OID controls the behavior of a Switched Rack PDU 
                        phase when an overload condition is possible and 
                        additional outlets are requested to be turned on. 
                        
                        Setting this OID to alwaysAllowTurnON (1) will always allow 
                        the outlets on the corresponding phase to turn on.
                        
                        Setting this OID to restrictOnNearOverload (2) will not allow 
                        outlets on the corresponding phase to turn on if the 
                        ePDU2PhaseConfigNearOverloadThreshold OID is exceeded.

                        Setting this OID to restrictOnOverload (3) will not allow 
                        outlets on the corresponding phase to turn on if the 
                        ePDU2PhaseConfigOverloadThreshold OID is exceeded.
                        
                        Models that do not support this feature will respond to this OID
                        with a value of notSupported (-1). Attempts to set this OID
                        in these models will fail."
                ::= {ePDU2PhaseConfigEntry 4}
                
ePDU2PhaseConfigLowLoadThreshold OBJECT-TYPE
                SYNTAX INTEGER
                ACCESS read-write
                STATUS mandatory
                DESCRIPTION
                        "User-defined low load phase current threshold in Amps."
                ::= {ePDU2PhaseConfigEntry 5}
                
ePDU2PhaseConfigNearOverloadThreshold OBJECT-TYPE
                SYNTAX INTEGER
                ACCESS read-write
                STATUS mandatory
                DESCRIPTION
                        "User-defined near phase overload current warning 
                        threshold in Amps."
                ::= {ePDU2PhaseConfigEntry 6}
                
ePDU2PhaseConfigOverloadThreshold OBJECT-TYPE
                SYNTAX INTEGER
                ACCESS read-write
                STATUS mandatory
                DESCRIPTION
                        "User-defined phase overload current threshold 
                        in Amps"
                ::= {ePDU2PhaseConfigEntry 7}

ePDU2PhaseConfigPhasePeakLoadReset OBJECT-TYPE
                SYNTAX INTEGER {
                        noOperation (1), 
                        reset (2)
                }
                ACCESS read-write
                STATUS mandatory
                DESCRIPTION
                        "Setting this OID to reset (2) will cause the existing peak current value
                        to be replaced by the present load current value.
 
                        Getting this OID will do nothing and return the noOperation(1) value."
                ::= {ePDU2PhaseConfigEntry 8}

ePDU2PhaseInfoTable OBJECT-TYPE
                SYNTAX SEQUENCE OF EPDU2PhaseInfoEntryStruct
                ACCESS not-accessible
                STATUS mandatory
                DESCRIPTION
                        "A table of Rack PDU phase information."
                ::= {ePDU2Phase 3}

ePDU2PhaseInfoEntry OBJECT-TYPE
                SYNTAX EPDU2PhaseInfoEntryStruct
                ACCESS not-accessible
                STATUS mandatory
                DESCRIPTION
                        "Information data from currently queried Rack PDU phase." 
                INDEX {ePDU2PhaseInfoIndex}
                ::= {ePDU2PhaseInfoTable 1}

EPDU2PhaseInfoEntryStruct ::= 
        SEQUENCE {
                ePDU2PhaseInfoIndex                                     INTEGER, 
                ePDU2PhaseInfoModuleIndex               INTEGER, 
                ePDU2PhaseInfoNumber                                    INTEGER
        }

ePDU2PhaseInfoIndex OBJECT-TYPE
                SYNTAX INTEGER(1..12)
                ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                        "The index to the Rack PDU phase properties table entry." 
                ::= {ePDU2PhaseInfoEntry 1}
                
ePDU2PhaseInfoModuleIndex OBJECT-TYPE
                SYNTAX INTEGER
                ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                        "The Rack PDU numeric ID." 
                ::= {ePDU2PhaseInfoEntry 2}
                
ePDU2PhaseInfoNumber OBJECT-TYPE
                SYNTAX INTEGER
                ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                        "The numeric phase ID."
                ::= {ePDU2PhaseInfoEntry 3}

ePDU2PhaseStatusTable OBJECT-TYPE
                SYNTAX SEQUENCE OF EPDU2PhaseStatusEntryStruct
                ACCESS not-accessible
                STATUS mandatory
                DESCRIPTION
                        "A table of Rack PDU phase status data" 
                ::= {ePDU2Phase 4}

ePDU2PhaseStatusEntry OBJECT-TYPE
                SYNTAX EPDU2PhaseStatusEntryStruct
                ACCESS not-accessible
                STATUS mandatory
                DESCRIPTION
                        "Status data from currently queried Rack PDU phase"
                INDEX {ePDU2PhaseStatusIndex}
                ::= {ePDU2PhaseStatusTable 1}

EPDU2PhaseStatusEntryStruct ::= 
        SEQUENCE {
                ePDU2PhaseStatusIndex                                                   INTEGER, 
                ePDU2PhaseStatusModuleIndex                             INTEGER, 
                ePDU2PhaseStatusNumber                                                  INTEGER, 
                ePDU2PhaseStatusLoadState                                       INTEGER, 
                ePDU2PhaseStatusLoad                                                            Gauge, 
                ePDU2PhaseStatusVoltage                                                 Gauge,
                ePDU2PhaseStatusPower                                                           Gauge,
                ePDU2PhaseStatusApparentPower                           Gauge,
                ePDU2PhaseStatusPowerFactor                                     Gauge,
                ePDU2PhaseStatusPeakLoad                                                Gauge, 
                ePDU2PhaseStatusPeakLoadTimestamp       DisplayString, 
                ePDU2PhaseStatusPeakLoadStartTime       DisplayString
        }

ePDU2PhaseStatusIndex OBJECT-TYPE
                SYNTAX INTEGER(1..12)
                ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                        "The index to the Rack PDU phase status table entry."
                ::= {ePDU2PhaseStatusEntry 1}
                
ePDU2PhaseStatusModuleIndex OBJECT-TYPE
                SYNTAX INTEGER
                ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                        "The Rack PDU numeric ID."
                ::= {ePDU2PhaseStatusEntry 2}
                
ePDU2PhaseStatusNumber OBJECT-TYPE
                SYNTAX INTEGER
                ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                        "The numeric phase ID."
                ::= {ePDU2PhaseStatusEntry 3}
                
ePDU2PhaseStatusLoadState OBJECT-TYPE
                SYNTAX INTEGER {
                        lowLoad (1), 
                        normal (2), 
                        nearOverload (3), 
                        overload (4)
                } 
                ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                        "Indicates the present load status of the Rack 
                        PDU phase being queried."
                ::= {ePDU2PhaseStatusEntry 4}
                
ePDU2PhaseStatusLoad OBJECT-TYPE
                SYNTAX Gauge
                ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                        "Indicates the current draw, in tenths of Amps, of the load
                        on the Rack PDU phase being queried."
                ::= {ePDU2PhaseStatusEntry 5}

ePDU2PhaseStatusVoltage OBJECT-TYPE
                SYNTAX Gauge
                ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                        "Indicates the Voltage, in Volts, of the Rack
       PDU phase being queried"
                ::= {ePDU2PhaseStatusEntry 6}
                
ePDU2PhaseStatusPower OBJECT-TYPE
                SYNTAX Gauge
                ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                        "Indicates the load power, in watts (kW),
       consumed on the Rack PDU phase being queried"
                ::= {ePDU2PhaseStatusEntry 7}

ePDU2PhaseStatusApparentPower OBJECT-TYPE
                SYNTAX Gauge
                ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                        "Indicates the load apparent power, in hundredths of kiloVoltAmps (kVA),
       consumed on the Rack PDU phase being queried"
                ::= {ePDU2PhaseStatusEntry 8}
                
ePDU2PhaseStatusPowerFactor OBJECT-TYPE
                SYNTAX Gauge
                ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                        "Indicates the load power factor, in hundredths,
       of the Rack PDU phase being queried"
                ::= {ePDU2PhaseStatusEntry 9}
                
ePDU2PhaseStatusPeakLoad OBJECT-TYPE
                SYNTAX Gauge
                ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                         "The peak current of the Rack PDU phase load in tenths of Amps"
                ::= {ePDU2PhaseStatusEntry 10}
                
ePDU2PhaseStatusPeakLoadTimestamp OBJECT-TYPE
                SYNTAX DisplayString
                ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                        "Indicates the date and time the phase peak current occurred."
                ::= {ePDU2PhaseStatusEntry 11}
                
ePDU2PhaseStatusPeakLoadStartTime OBJECT-TYPE
                SYNTAX DisplayString
                ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                        "Indicates the date and time of the last phase peak current reset."
                ::= {ePDU2PhaseStatusEntry 12}
                
-- ePDU2Bank
ePDU2BankTableSize OBJECT-TYPE
                SYNTAX INTEGER
                ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                        "A Host Rack PDU response total bank number of Rack PDUs on daisy chain. 
                        Rack PDU as a Slave can only response itself number of bank."
                ::= {ePDU2Bank 1}
                
ePDU2BankConfigTable OBJECT-TYPE
                SYNTAX SEQUENCE OF EPDU2BankConfigEntryStruct
                ACCESS not-accessible
                STATUS mandatory
                DESCRIPTION
                        "A table of Rack PDU bank configuration data."
                ::= {ePDU2Bank 2}
                
ePDU2BankConfigEntry OBJECT-TYPE
                SYNTAX EPDU2BankConfigEntryStruct
                ACCESS not-accessible
                STATUS mandatory
                DESCRIPTION
                        "Configuration data from currently queried 
                        Rack PDU bank."
                INDEX {ePDU2BankConfigIndex}
                ::= {ePDU2BankConfigTable 1}
                
EPDU2BankConfigEntryStruct ::= 
        SEQUENCE {
                ePDU2BankConfigIndex                                                                    INTEGER, 
                ePDU2BankConfigModuleIndex                                              INTEGER, 
                ePDU2BankConfigNumber                                                                   INTEGER, 
                ePDU2BankConfigOverloadRestriction              INTEGER, 
                ePDU2BankConfigLowLoadThreshold                         INTEGER, 
                ePDU2BankConfigNearOverloadThreshold    INTEGER, 
                ePDU2BankConfigOverloadThreshold                        INTEGER, 
                ePDU2BankConfigPeakLoadReset                                    INTEGER
        }
        
ePDU2BankConfigIndex OBJECT-TYPE
                SYNTAX INTEGER(1..12)
                ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                        "The index to the Rack PDU bank configuration
                        table entry."
                ::= {ePDU2BankConfigEntry 1}
                
ePDU2BankConfigModuleIndex OBJECT-TYPE
                SYNTAX INTEGER
                ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                        "The Rack PDU numeric ID."
                ::= {ePDU2BankConfigEntry 2}
                
ePDU2BankConfigNumber OBJECT-TYPE
                SYNTAX INTEGER
                ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                        "The numeric bank ID."
                ::= {ePDU2BankConfigEntry 3}
                
ePDU2BankConfigOverloadRestriction OBJECT-TYPE
                SYNTAX INTEGER {
                        alwaysAllowTurnON         (1),
                        restrictOnNearOverload    (2),
                        restrictOnOverload        (3)
                }
                ACCESS read-write
                STATUS mandatory
                DESCRIPTION
                        "This OID controls the behavior of a Switched Rack PDU 
                        bank when an overload condition is possible and 
                        additional outlets are requested to be turned on. 
                        
                        Setting this OID to alwaysAllowTurnON (1) will always allow 
                        the outlets on the corresponding bank to turn on.
                        
                        Setting this OID to restrictOnNearOverload (2) will not allow 
                        outlets on the corresponding bank to turn on if the 
                        ePDU2BankConfigNearOverloadThreshold OID is exceeded.

                        Setting this OID to restrictOnOverload (3) will not allow 
                        outlets on the corresponding bank to turn on if the 
                        ePDU2BankConfigOverloadThreshold OID is exceeded."
                ::= {ePDU2BankConfigEntry 4}
                
ePDU2BankConfigLowLoadThreshold OBJECT-TYPE
                SYNTAX INTEGER
                ACCESS read-write
                STATUS mandatory
                DESCRIPTION
                        "User-defined low load bank current threshold in Amps."
                ::= {ePDU2BankConfigEntry 5}
                
ePDU2BankConfigNearOverloadThreshold OBJECT-TYPE
                SYNTAX INTEGER
                ACCESS read-write
                STATUS mandatory
                DESCRIPTION
                        "User-defined near bank overload current warning 
                        threshold in Amps."
                ::= {ePDU2BankConfigEntry 6}
                
ePDU2BankConfigOverloadThreshold OBJECT-TYPE
                SYNTAX INTEGER
                ACCESS read-write
                STATUS mandatory
                DESCRIPTION
                        "User-defined bank overload current threshold 
                        in Amps"
                ::= {ePDU2BankConfigEntry 7}
                
ePDU2BankConfigPeakLoadReset OBJECT-TYPE
                SYNTAX INTEGER {
                        noOperation (1), 
                        reset (2)
                }
                ACCESS read-write
                STATUS mandatory
                DESCRIPTION
                        "Setting this OID to reset (2) will cause the existing peak current value
                        to be replaced by the present load current value.
 
                        Getting this OID will do nothing and return the noOperation(1) value."
                ::= {ePDU2BankConfigEntry 8}

ePDU2BankInfoTable OBJECT-TYPE
                SYNTAX SEQUENCE OF EPDU2BankInfoEntryStruct
                ACCESS not-accessible
                STATUS mandatory
                DESCRIPTION
                        "A table of Rack PDU bank information."
                ::= {ePDU2Bank 3}

ePDU2BankInfoEntry OBJECT-TYPE
                SYNTAX EPDU2BankInfoEntryStruct
                ACCESS not-accessible
                STATUS mandatory
                DESCRIPTION
                        "Information data from currently queried Rack PDU bank." 
                INDEX {ePDU2BankInfoIndex}
                ::= {ePDU2BankInfoTable 1}

EPDU2BankInfoEntryStruct ::= 
        SEQUENCE {
                ePDU2BankInfoIndex                                      INTEGER, 
                ePDU2BankInfoModuleIndex                INTEGER, 
                ePDU2BankInfoNumber                                     INTEGER
        }

ePDU2BankInfoIndex OBJECT-TYPE
                SYNTAX INTEGER(1..12)
                ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                        "The index to the Rack PDU bank properties table entry." 
                ::= {ePDU2BankInfoEntry 1}
                
ePDU2BankInfoModuleIndex OBJECT-TYPE
                SYNTAX INTEGER
                ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                        "The Rack PDU numeric ID." 
                ::= {ePDU2BankInfoEntry 2}
                
ePDU2BankInfoNumber OBJECT-TYPE
                SYNTAX INTEGER
                ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                        "The numeric bank ID."
                ::= {ePDU2BankInfoEntry 3}

ePDU2BankStatusTable OBJECT-TYPE
                SYNTAX SEQUENCE OF EPDU2BankStatusEntryStruct
                ACCESS not-accessible
                STATUS mandatory
                DESCRIPTION
                        "A table of Rack PDU bank status data" 
                ::= {ePDU2Bank 4}

ePDU2BankStatusEntry OBJECT-TYPE
                SYNTAX EPDU2BankStatusEntryStruct
                ACCESS not-accessible
                STATUS mandatory
                DESCRIPTION
                        "Status data from currently queried Rack PDU bank"
                INDEX {ePDU2BankStatusIndex}
                ::= {ePDU2BankStatusTable 1}

EPDU2BankStatusEntryStruct ::= 
        SEQUENCE {
                ePDU2BankStatusIndex                                                    INTEGER, 
                ePDU2BankStatusModuleIndex                              INTEGER, 
                ePDU2BankStatusNumber                                                   INTEGER, 
                ePDU2BankStatusLoadState                                        INTEGER, 
                ePDU2BankStatusLoad                                                             Gauge, 
                ePDU2BankStatusPeakLoad                                         Gauge, 
                ePDU2BankStatusPeakLoadTimestamp        DisplayString, 
                ePDU2BankStatusPeakLoadStartTime        DisplayString
        }

ePDU2BankStatusIndex OBJECT-TYPE
                SYNTAX INTEGER(1..12)
                ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                        "The index to the Rack PDU bank status table entry."
                ::= {ePDU2BankStatusEntry 1}
                
ePDU2BankStatusModuleIndex OBJECT-TYPE
                SYNTAX INTEGER
                ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                        "The Rack PDU numeric ID."
                ::= {ePDU2BankStatusEntry 2}
                
ePDU2BankStatusNumber OBJECT-TYPE
                SYNTAX INTEGER
                ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                        "The numeric bank ID."
                ::= {ePDU2BankStatusEntry 3}
                
ePDU2BankStatusLoadState OBJECT-TYPE
                SYNTAX INTEGER {
                        lowLoad (1), 
                        normal (2), 
                        nearOverload (3), 
                        overload (4)
                } 
                ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                        "Indicates the present load status of the Rack 
                        PDU bank being queried."
                ::= {ePDU2BankStatusEntry 4}
                
ePDU2BankStatusLoad OBJECT-TYPE
                SYNTAX Gauge
                ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                        "Indicates the current draw, in tenths of Amps, of the load
                        on the Rack PDU bank being queried."
                ::= {ePDU2BankStatusEntry 5}
                
ePDU2BankStatusPeakLoad OBJECT-TYPE
                SYNTAX Gauge
                ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                        "The peak current of the Rack PDU bank load in tenths of Amps."
                ::= {ePDU2BankStatusEntry 6}
                
ePDU2BankStatusPeakLoadTimestamp OBJECT-TYPE
                SYNTAX DisplayString
                ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                        "Indicates the date and time the bank peak current occurred."
                ::= {ePDU2BankStatusEntry 7}
                
ePDU2BankStatusPeakLoadStartTime OBJECT-TYPE
                SYNTAX DisplayString
                ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                        "Indicates the date and time of the last bank peak current reset."
                ::= {ePDU2BankStatusEntry 8}

-- ePDU2Outlet
ePDU2OutletSwitchedTableSize OBJECT-TYPE
                SYNTAX INTEGER
                ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                        "The number of switched outlets on connected Rack PDUs."
                ::= {ePDU2OutletSwitched 1}
                
ePDU2OutletSwitchedConfigTable OBJECT-TYPE
                SYNTAX SEQUENCE OF EPDU2OutletSwitchedConfigEntryStruct
                ACCESS not-accessible
                STATUS mandatory
                DESCRIPTION
                        "A table of Rack PDU switched outlet configuration data."
                ::= {ePDU2OutletSwitched 2}
                
ePDU2OutletSwitchedConfigEntry OBJECT-TYPE
                SYNTAX EPDU2OutletSwitchedConfigEntryStruct
                ACCESS not-accessible
                STATUS mandatory
                DESCRIPTION
                        "Configuration data from currently queried Rack PDU 
                        switched outlet." 
                INDEX {ePDU2OutletSwitchedConfigIndex}
                ::= {ePDU2OutletSwitchedConfigTable 1}
                
EPDU2OutletSwitchedConfigEntryStruct ::= 
        SEQUENCE {
                ePDU2OutletSwitchedConfigIndex                                  INTEGER, 
                ePDU2OutletSwitchedConfigModuleIndex            INTEGER, 
                ePDU2OutletSwitchedConfigNumber                                 INTEGER, 
                ePDU2OutletSwitchedConfigName                                           DisplayString, 
                ePDU2OutletSwitchedConfigPowerOnTime            INTEGER, 
                ePDU2OutletSwitchedConfigPowerOffTime           INTEGER, 
                ePDU2OutletSwitchedConfigRebootDuration INTEGER
        }

ePDU2OutletSwitchedConfigIndex OBJECT-TYPE
                SYNTAX INTEGER(1..96)
                ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                        "The index to the Rack PDU switched outlet configuration table entry."
                ::= {ePDU2OutletSwitchedConfigEntry 1}
                
ePDU2OutletSwitchedConfigModuleIndex OBJECT-TYPE
                SYNTAX INTEGER
                ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                        "The Rack PDU numeric ID."
                ::= {ePDU2OutletSwitchedConfigEntry 2}
                
ePDU2OutletSwitchedConfigNumber OBJECT-TYPE
                SYNTAX INTEGER
                ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                        "The numeric switched outlet ID."
                ::= {ePDU2OutletSwitchedConfigEntry 3}
                
ePDU2OutletSwitchedConfigName OBJECT-TYPE
                SYNTAX DisplayString
                ACCESS read-write
                STATUS mandatory
                DESCRIPTION
                        "The user-defined switched outlet name string."
                ::= {ePDU2OutletSwitchedConfigEntry 4}
                
ePDU2OutletSwitchedConfigPowerOnTime OBJECT-TYPE
                SYNTAX INTEGER
                ACCESS read-write
                STATUS mandatory
                DESCRIPTION
                        "The amount of time (in seconds) the outlet will delay 
                        powering on at coldstart or when a command that requires 
                        a turn-on delay is issued.
                        
                        Allowed values are:
                                -1 - never power on.
                                 0 - power on immediately.
                                 1 to 7200 - power on up to 7200 seconds after being
                                                                                        commanded." 
                ::= {ePDU2OutletSwitchedConfigEntry 5}
                
ePDU2OutletSwitchedConfigPowerOffTime OBJECT-TYPE
                SYNTAX INTEGER
                ACCESS read-write
                STATUS mandatory
                DESCRIPTION
                        "The amount of time (in seconds) the outlet will delay 
                        powering off when a command that requires a 
                        turn-off delay is issued. 
                        
                        Allowed values are:
                         -1 - never power off.
                          0 - power off immediately.
                          1 to 7200 - power off up to 7200 seconds after being
                                                                         commanded."
                ::= {ePDU2OutletSwitchedConfigEntry 6}
                
ePDU2OutletSwitchedConfigRebootDuration OBJECT-TYPE
                SYNTAX INTEGER
                ACCESS read-write
                STATUS mandatory
                DESCRIPTION
                        "During a reboot sequence, power is turned off and then 
                        back on. This OID defines the amount of time to wait, 
                        in seconds, after turning the power off, at the start 
                        of the sequence, before turning power back on, at the 
                        end of the reboot sequence. 
                        
                        Allowed range is any value between 5 and 60 seconds (1 minute)."
                ::= {ePDU2OutletSwitchedConfigEntry 7}

ePDU2OutletSwitchedInfoTable OBJECT-TYPE
                SYNTAX SEQUENCE OF EPDU2OutletSwitchedInfoEntryStruct
                ACCESS not-accessible
                STATUS mandatory
                DESCRIPTION
                        "A table of Rack PDU switched outlet information."
                ::= {ePDU2OutletSwitched 3}

ePDU2OutletSwitchedInfoEntry OBJECT-TYPE
                SYNTAX EPDU2OutletSwitchedInfoEntryStruct
                ACCESS not-accessible
                STATUS mandatory
                DESCRIPTION
                        "Information of the currently queried Rack PDU 
                        switched outlet."
                INDEX {ePDU2OutletSwitchedInfoIndex}
                ::= {ePDU2OutletSwitchedInfoTable 1}

EPDU2OutletSwitchedInfoEntryStruct ::= 
        SEQUENCE {
                ePDU2OutletSwitchedInfoIndex                            INTEGER, 
                ePDU2OutletSwitchedInfoModuleIndex      INTEGER, 
                ePDU2OutletSwitchedInfoNumber                           INTEGER, 
                ePDU2OutletSwitchedInfoName                                     DisplayString, 
                ePDU2OutletSwitchedInfoPhaseLayout      INTEGER, 
                ePDU2OutletSwitchedInfoBank                                     INTEGER
        }
        
ePDU2OutletSwitchedInfoIndex OBJECT-TYPE
                SYNTAX INTEGER(1..96)
                ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                        "The index to the Rack PDU switched outlet information table entry."
                ::= {ePDU2OutletSwitchedInfoEntry 1}
                
ePDU2OutletSwitchedInfoModuleIndex OBJECT-TYPE
                SYNTAX INTEGER
                ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                        "The Rack PDU numeric ID."
                ::= {ePDU2OutletSwitchedInfoEntry 2}
                
ePDU2OutletSwitchedInfoNumber OBJECT-TYPE
                SYNTAX INTEGER
                ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                        "The numeric switched outlet ID."
                ::= {ePDU2OutletSwitchedInfoEntry 3}
                
ePDU2OutletSwitchedInfoName OBJECT-TYPE
                SYNTAX DisplayString
                ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                        "The numeric switched outlet name."
                ::= {ePDU2OutletSwitchedInfoEntry 4}
                
ePDU2OutletSwitchedInfoPhaseLayout OBJECT-TYPE
                SYNTAX INTEGER
                ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                        "This OID describes the phase connections of the referenced outlet as follows:
                        seqPhase1ToNeutral(1) indicates that the outlet is wired from Phase 1 to Neutral.
                        seqPhase2ToNeutral(2) indicates that the outlet is wired from Phase 2 to Neutral.
                        seqPhase3ToNeutral(3) indicates that the outlet is wired from Phase 3 to Neutral.
                        seqPhase1ToPhase2(4) indicates that the outlet is wired from Phase 1 to Phase 2.
                        seqPhase2ToPhase3(5) indicates that the outlet is wired from Phase 2 to Phase 3.
                        seqPhase3ToPhase1(6) indicates that the outlet is wired from Phase 3 to Phase 1."
                ::= {ePDU2OutletSwitchedInfoEntry 5}
                
ePDU2OutletSwitchedInfoBank OBJECT-TYPE
                SYNTAX INTEGER
                ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                        "The numeric bank ID."
                ::= {ePDU2OutletSwitchedInfoEntry 6}

ePDU2OutletSwitchedStatusTable OBJECT-TYPE
                SYNTAX SEQUENCE OF EPDU2OutletSwitchedStatusEntryStruct
                ACCESS not-accessible
                STATUS mandatory
                DESCRIPTION
                        "A table of Rack PDU switched outlet status information."
                ::= {ePDU2OutletSwitched 4}

ePDU2OutletSwitchedStatusEntry OBJECT-TYPE
                SYNTAX EPDU2OutletSwitchedStatusEntryStruct
                ACCESS not-accessible
                STATUS mandatory
                DESCRIPTION
                        "Status information for currently queried Rack PDU switched outlet."
                INDEX {ePDU2OutletSwitchedStatusIndex}
                ::= {ePDU2OutletSwitchedStatusTable 1}

EPDU2OutletSwitchedStatusEntryStruct ::= 
        SEQUENCE {
                ePDU2OutletSwitchedStatusIndex                                  INTEGER, 
                ePDU2OutletSwitchedStatusModuleIndex            INTEGER, 
                ePDU2OutletSwitchedStatusNumber                                 INTEGER, 
                ePDU2OutletSwitchedStatusName                                           DisplayString, 
                ePDU2OutletSwitchedStatusState                                  INTEGER, 
                ePDU2OutletSwitchedStatusCommandPending INTEGER
        }

ePDU2OutletSwitchedStatusIndex OBJECT-TYPE
                SYNTAX INTEGER(1..96)
                ACCESS read-only
                STATUS mandatory
                DESCRIPTION 
                        "The index to the Rack PDU switched outlet status information table entry."
                ::= {ePDU2OutletSwitchedStatusEntry 1}
                
ePDU2OutletSwitchedStatusModuleIndex OBJECT-TYPE
                SYNTAX INTEGER
                ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                        "The Rack PDU numeric ID."
                ::= {ePDU2OutletSwitchedStatusEntry 2}
                
ePDU2OutletSwitchedStatusNumber OBJECT-TYPE
                SYNTAX INTEGER
                ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                        "The numeric switched outlet ID."
                ::= {ePDU2OutletSwitchedStatusEntry 3}
                
ePDU2OutletSwitchedStatusName OBJECT-TYPE
                SYNTAX DisplayString
                ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                        "The user-defined switched outlet name string."
                ::= {ePDU2OutletSwitchedStatusEntry 4}
                
ePDU2OutletSwitchedStatusState OBJECT-TYPE
                SYNTAX INTEGER {
                        outletStatusOn (1), 
                        outletStatusOff (2)
                }
                ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                        "Indicates the present switch state of the Rack PDU switched outlet being queried."
                ::= {ePDU2OutletSwitchedStatusEntry 5}
                
ePDU2OutletSwitchedStatusCommandPending OBJECT-TYPE
                SYNTAX INTEGER { 
                        outletStatusCommandPending (1), 
                        outletStatusNoCommandPending (2)
                }
                ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                        "Getting this variable will return the command pending state of the outlet. 
                        If a command is pending on the outlet, the outletStatusCommandPending (1) 
                        value will be returned. If there is not a command pending on the outlet, 
                        the outletStatusNoCommandPending (2) will be returned."
                ::= {ePDU2OutletSwitchedStatusEntry 6}

ePDU2OutletSwitchedControlTable OBJECT-TYPE
                SYNTAX SEQUENCE OF EPDU2OutletSwitchedControlEntryStruct
                ACCESS not-accessible
                STATUS mandatory
                DESCRIPTION
                        "A table of Rack PDU switched outlet control data."
                ::= {ePDU2OutletSwitched 5}

ePDU2OutletSwitchedControlEntry OBJECT-TYPE
                SYNTAX EPDU2OutletSwitchedControlEntryStruct
                ACCESS not-accessible
                STATUS mandatory
                DESCRIPTION
                        "Control data for currently queried Rack PDU switched outlet."
                INDEX {ePDU2OutletSwitchedControlIndex}
                ::= {ePDU2OutletSwitchedControlTable 1}

EPDU2OutletSwitchedControlEntryStruct ::= 
        SEQUENCE {
                ePDU2OutletSwitchedControlIndex                         INTEGER, 
                ePDU2OutletSwitchedControlModuleIndex   INTEGER, 
                ePDU2OutletSwitchedControlNumber                        INTEGER, 
                ePDU2OutletSwitchedControlName                          DisplayString, 
                ePDU2OutletSwitchedControlCommand                       INTEGER
        }

ePDU2OutletSwitchedControlIndex OBJECT-TYPE
                SYNTAX INTEGER(1..96)
                ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                        "The index to the Rack PDU switched outlet control data table entry."
                ::= {ePDU2OutletSwitchedControlEntry 1}
                
ePDU2OutletSwitchedControlModuleIndex OBJECT-TYPE
                SYNTAX INTEGER
                ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                        "The user-defined Rack PDU numeric ID."
                ::= {ePDU2OutletSwitchedControlEntry 2}
                
ePDU2OutletSwitchedControlNumber OBJECT-TYPE
                SYNTAX INTEGER
                ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                        "The numeric switched outlet ID."
                ::= {ePDU2OutletSwitchedControlEntry 3}
                
ePDU2OutletSwitchedControlName OBJECT-TYPE
                SYNTAX DisplayString
                ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                        "The user-defined switched outlet name string."
                ::= {ePDU2OutletSwitchedControlEntry 4}
                
ePDU2OutletSwitchedControlCommand OBJECT-TYPE
                SYNTAX INTEGER {
                        immediateOn (1), 
                        immediateOff (2), 
                        immediateReboot (3), 
                        delayedOn (4), 
                        delayedOff (5), 
                        delayedReboot (6), 
                        cancelPendingCommand (7), 
                        outletIdentify (8)
                }
                ACCESS read-write
                STATUS mandatory
                DESCRIPTION
                        "Getting this variable will return the outlet state. If 
                        the outlet is on, the immediateOn (1) value will be returned. 
                        If the outlet is off, the immediateOff (2) value will be returned. 
                        
                        Setting this variable to immediateOn (1) will immediately turn 
                        the outlet on.
                        
                        Setting this variable to immediateOff (2) will immediately turn 
                        the outlet off. 
                        
                        Setting this variable to immediateReboot (3) will immediately 
                        reboot the outlet.
 
                        Setting this variable to delayedOn (4) will turn the outlet on 
                        after the ePDUOutletConfigPowerOnTime OID time has elapsed. 
                        
                        Setting this variable to delayedOff (5) will turn the outlet off 
                        after the ePDUOutletConfigPowerOffTime OID time has elapsed.
                        
                        Setting this variable to delayedReboot (6) will cause the 
                        Switched Rack PDU to perform a delayedOff command, wait the 
                        ePDUOutletConfigRebootDuration OID time, and then perform a 
                        delayedOn command. 
                        
                        Setting this variable to cancelPendingCommand (7) will cause any 
                        pending command to this outlet to be canceled.
                        
                        Setting this variable to outletIdentify (8) will cause PDU LED 
                        to display the number of the outlet."
                ::= {ePDU2OutletSwitchedControlEntry 5}

ePDU2OutletMeteredTableSize OBJECT-TYPE
                SYNTAX INTEGER
                ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                        "The number of metered outlets on connected Rack PDUs."
                ::= {ePDU2OutletMetered 1}

ePDU2OutletMeteredConfigTable OBJECT-TYPE
                SYNTAX SEQUENCE OF EPDU2OutletMeteredConfigEntryStruct
                ACCESS not-accessible
                STATUS mandatory
                DESCRIPTION
                        "A table of Rack PDU metered outlet configuration data."
                ::= {ePDU2OutletMetered 2}
                
ePDU2OutletMeteredConfigEntry OBJECT-TYPE
                SYNTAX EPDU2OutletMeteredConfigEntryStruct
                ACCESS not-accessible
                STATUS mandatory
                DESCRIPTION
                        "Configuration data from currently queried Rack PDU metered outlet."
                INDEX {ePDU2OutletMeteredConfigIndex}
                ::= {ePDU2OutletMeteredConfigTable 1}
                
EPDU2OutletMeteredConfigEntryStruct ::= 
        SEQUENCE {
                ePDU2OutletMeteredConfigIndex                                                                   INTEGER, 
                ePDU2OutletMeteredConfigModuleIndex                                             INTEGER, 
                ePDU2OutletMeteredConfigNumber                                                          INTEGER, 
                ePDU2OutletMeteredConfigName                                                                    DisplayString, 
                ePDU2OutletMeteredConfigLowLoadThreshold                        INTEGER, 
                ePDU2OutletMeteredConfigNearOverloadThreshold   INTEGER, 
                ePDU2OutletMeteredConfigOverloadThreshold                       INTEGER
        }
                
ePDU2OutletMeteredConfigIndex OBJECT-TYPE
                SYNTAX INTEGER(1..96)
                ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                        "The index to the Rack PDU metered outlet configuration table entry."
                ::= {ePDU2OutletMeteredConfigEntry 1}
                
ePDU2OutletMeteredConfigModuleIndex OBJECT-TYPE
                SYNTAX INTEGER
                ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                        "The user-defined Rack PDU numeric ID."
                ::= {ePDU2OutletMeteredConfigEntry 2}
                
ePDU2OutletMeteredConfigNumber OBJECT-TYPE
                SYNTAX INTEGER
                ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                        "The numeric metered outlet ID."
                ::= {ePDU2OutletMeteredConfigEntry 3}
                
ePDU2OutletMeteredConfigName OBJECT-TYPE
                SYNTAX DisplayString
                ACCESS read-write
                STATUS mandatory
                DESCRIPTION
                        "The user-defined metered outlet name string."
                ::= {ePDU2OutletMeteredConfigEntry 4}
                
ePDU2OutletMeteredConfigLowLoadThreshold OBJECT-TYPE
                SYNTAX INTEGER
                ACCESS read-write
                STATUS mandatory
                DESCRIPTION
                        "User-defined outlet low load current threshold in Watts."
                ::= {ePDU2OutletMeteredConfigEntry 5}
                
ePDU2OutletMeteredConfigNearOverloadThreshold OBJECT-TYPE
                SYNTAX INTEGER
                ACCESS read-write
                STATUS mandatory
                DESCRIPTION
                        "User-defined outlet near overload warning threshold in Watts."
                ::= {ePDU2OutletMeteredConfigEntry 6}
                
ePDU2OutletMeteredConfigOverloadThreshold OBJECT-TYPE
                SYNTAX INTEGER
                ACCESS read-write
                STATUS mandatory
                DESCRIPTION
                        "User-defined outlet overload current threshold in Watts."
                ::= {ePDU2OutletMeteredConfigEntry 7}

ePDU2OutletMeteredInfoTable OBJECT-TYPE
                SYNTAX SEQUENCE OF EPDU2OutletMeteredInfoEntryStruct
                ACCESS not-accessible
                STATUS mandatory
                DESCRIPTION
                        "A table of Rack PDU metered outlet information."
                ::= {ePDU2OutletMetered 3}
                
ePDU2OutletMeteredInfoEntry OBJECT-TYPE
                SYNTAX EPDU2OutletMeteredInfoEntryStruct
                ACCESS not-accessible
                STATUS mandatory
                DESCRIPTION
                        "Information of currently queried Rack PDU metered outlet."
                INDEX {ePDU2OutletMeteredInfoIndex}
                ::= {ePDU2OutletMeteredInfoTable 1}
                
EPDU2OutletMeteredInfoEntryStruct ::= 
        SEQUENCE {
                ePDU2OutletMeteredInfoIndex                                     INTEGER, 
                ePDU2OutletMeteredInfoModuleIndex               INTEGER, 
                ePDU2OutletMeteredInfoNumber                            INTEGER, 
                ePDU2OutletMeteredInfoName                                      DisplayString, 
                ePDU2OutletMeteredInfoLayout                            INTEGER, 
                ePDU2OutletMeteredInfoRating                            INTEGER, 
                ePDU2OutletMeteredInfoBank                                      INTEGER
        }
                
ePDU2OutletMeteredInfoIndex OBJECT-TYPE
                SYNTAX INTEGER(1..96)
                ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                        "The index to the Rack PDU metered information table entry."
                ::= {ePDU2OutletMeteredInfoEntry 1}
                
ePDU2OutletMeteredInfoModuleIndex OBJECT-TYPE
                SYNTAX INTEGER
                ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                        "The Rack PDU numeric ID."
                ::= {ePDU2OutletMeteredInfoEntry 2}
                
ePDU2OutletMeteredInfoNumber OBJECT-TYPE
                SYNTAX INTEGER
                ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                        "The numeric metered outlet ID."
                ::= {ePDU2OutletMeteredInfoEntry 3}
                
ePDU2OutletMeteredInfoName OBJECT-TYPE
                SYNTAX DisplayString
                ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                        "The user-defined metered outlet name string."
                ::= {ePDU2OutletMeteredInfoEntry 4}
                
ePDU2OutletMeteredInfoLayout OBJECT-TYPE
                SYNTAX INTEGER
                ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                        "This OID describes the phase connections of the referenced outlet as follows:
                        seqPhase1ToNeutral(1) indicates that the outlet is wired from Phase 1 to Neutral.
                        seqPhase2ToNeutral(2) indicates that the outlet is wired from Phase 2 to Neutral. 
                        seqPhase3ToNeutral(3) indicates that the outlet is wired from Phase 3 to Neutral. 
                        seqPhase1ToPhase2(4) indicates that the outlet is wired from Phase 1 to Phase 2.
                        seqPhase2ToPhase3(5) indicates that the outlet is wired from Phase 2 to Phase 3. 
                        seqPhase3ToPhase1(6) indicates that the outlet is wired from Phase 3 to Phase 1."
                ::= {ePDU2OutletMeteredInfoEntry 5}
                
ePDU2OutletMeteredInfoRating OBJECT-TYPE
                SYNTAX INTEGER
                ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                        "Maximum power rating of Rack PDU metered outlet."
                ::= {ePDU2OutletMeteredInfoEntry 6}
                
ePDU2OutletMeteredInfoBank OBJECT-TYPE
                SYNTAX INTEGER
                ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                        "This outlet's numeric bank ID."
                ::= {ePDU2OutletMeteredInfoEntry 7}

ePDU2OutletMeteredStatusTable OBJECT-TYPE
                SYNTAX SEQUENCE OF EPDU2OutletMeteredStatusEntryStruct
                ACCESS not-accessible
                STATUS mandatory
                DESCRIPTION
                        "A table of Rack PDU metered outlet status data."
                ::= {ePDU2OutletMetered 4}

ePDU2OutletMeteredStatusEntry OBJECT-TYPE
                SYNTAX EPDU2OutletMeteredStatusEntryStruct
                ACCESS not-accessible
                STATUS mandatory
                DESCRIPTION
                        "Status data from currently queried Rack PDU metered outlet."
                INDEX {ePDU2OutletMeteredStatusIndex}
                ::= {ePDU2OutletMeteredStatusTable 1}

EPDU2OutletMeteredStatusEntryStruct ::= 
        SEQUENCE {
                ePDU2OutletMeteredStatusIndex                                                           INTEGER, 
                ePDU2OutletMeteredStatusModuleIndex                                     INTEGER, 
                ePDU2OutletMeteredStatusNumber                                                  INTEGER, 
                ePDU2OutletMeteredStatusName                                                            DisplayString, 
                ePDU2OutletMeteredStatusAlarm                                                           INTEGER, 
                ePDU2OutletMeteredStatusLoad                                                            Gauge, 
                ePDU2OutletMeteredStatusActivePower                                     Gauge, 
                ePDU2OutletMeteredStatusPeakPower                                               Gauge, 
                ePDU2OutletMeteredStatusPeakPowerTimestamp      DisplayString, 
                ePDU2OutletMeteredStatusPeakPowerStartTime      DisplayString, 
                ePDU2OutletMeteredStatusEnergy                                                  Gauge, 
                ePDU2OutletMeteredStatusEnergyStart                                     DisplayString
        }

ePDU2OutletMeteredStatusIndex OBJECT-TYPE
                SYNTAX INTEGER(1..96)
                ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                        "The index to the Rack PDU metered status table entry."
                ::= {ePDU2OutletMeteredStatusEntry 1}
                
ePDU2OutletMeteredStatusModuleIndex OBJECT-TYPE
                SYNTAX INTEGER
                ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                        "The Rack PDU numeric ID."
                ::= {ePDU2OutletMeteredStatusEntry 2}
                
ePDU2OutletMeteredStatusNumber OBJECT-TYPE
                SYNTAX INTEGER
                ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                        "The numeric metered outlet ID."
                ::= {ePDU2OutletMeteredStatusEntry 3}
                
ePDU2OutletMeteredStatusName OBJECT-TYPE
                SYNTAX DisplayString
                ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                        "The user-defined metered outlet name string."
                ::= {ePDU2OutletMeteredStatusEntry 4}
                
ePDU2OutletMeteredStatusAlarm OBJECT-TYPE
                SYNTAX INTEGER { 
                        noLoadAlarm (1), 
                        underCurrentAlarm (2), 
                        nearOverCurrentAlarm (3), 
                        overCurrentAlarm (4)
                }
                ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                        "Getting this OID will return the current outlet alarm."
                ::= {ePDU2OutletMeteredStatusEntry 5}
                
ePDU2OutletMeteredStatusLoad OBJECT-TYPE
                SYNTAX Gauge
                ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                        "Getting this OID will return the measured Outlet load 
                        for an Outlet Monitored Rack PDU in tenths of Amps."
                ::= {ePDU2OutletMeteredStatusEntry 6}
                
ePDU2OutletMeteredStatusActivePower OBJECT-TYPE
                SYNTAX Gauge
                ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                        "Getting this OID will return the measured Outlet load for 
                        an Outlet Monitored Rack PDU in watts."
                ::= {ePDU2OutletMeteredStatusEntry 7}
                
ePDU2OutletMeteredStatusPeakPower OBJECT-TYPE
                SYNTAX Gauge
                ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                        "The peak power consumption of the Rack PDU load in watts."
                ::= {ePDU2OutletMeteredStatusEntry 8}
                
ePDU2OutletMeteredStatusPeakPowerTimestamp OBJECT-TYPE
                SYNTAX DisplayString
                ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                        "Get this oid shows the date and time that peak power 
                        consumption occurred."
                ::= {ePDU2OutletMeteredStatusEntry 9}
                
ePDU2OutletMeteredStatusPeakPowerStartTime OBJECT-TYPE
                SYNTAX DisplayString
                ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                        "Get this oid shows the date and time that peak power 
                        consumption started."
                ::= {ePDU2OutletMeteredStatusEntry 10}
                
ePDU2OutletMeteredStatusEnergy OBJECT-TYPE
                SYNTAX Gauge
                ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                        "Energy meter measuring Rack PDU load energy consumption 
                        in tenths of kilowatt-hours."
                ::= {ePDU2OutletMeteredStatusEntry 11}
                
ePDU2OutletMeteredStatusEnergyStart OBJECT-TYPE
                SYNTAX DisplayString
                ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                        "Indicates the date and time of the last device energy 
                        meter reset."
                ::= {ePDU2OutletMeteredStatusEntry 12}

-- ePDU2Sensor
ePDU2SensorTableSize OBJECT-TYPE
                SYNTAX INTEGER
                ACCESS read-only
                STATUS mandatory
                DESCRIPTION "ePDU2SensorTableSize"
                ::= {ePDU2Sensor 1}
                
-- ePDU2Group
ePDU2GroupNumberOfDevices OBJECT-TYPE
                SYNTAX INTEGER
                ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                        "Getting this OID will return the number of Rack PDU devices contributing 
                        to the Daisy Chain group power and energy values. Queries 
                        to slave units in an Daisy Chain group will return 0."
                ::= {ePDU2Group 1}

ePDU2GroupTotalPower OBJECT-TYPE
                SYNTAX Gauge
                ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                        "Getting this OID will return the total power consumption of the Rack PDU 
                        Daisy Chain group devices in watts. Queries to slave 
                        units in an Daisy Chain group will return 0."
                ::= {ePDU2Group 2}

ePDU2GroupTotalEnergy OBJECT-TYPE
                SYNTAX Gauge
                ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                        "Getting this OID will return the total energy consumption of the Rack 
                        PDU Daisy Chain group devices in tenths of kilowatt-hours. 
                        
                        To reset the energy meters for each of the Rack PDU devices that contribute 
                        to this value, see the ePDU2GroupEnergyReset OID.
                        
                        To view the start time for each of the Rack PDU device energy meters that 
                        contribute to this value, see the ePDU2DeviceStatusEnergyStartTime OID.
                        
                        Queries to slave units in an Daisy Chain group will return 0."
                ::= {ePDU2Group 3}

ePDU2GroupEnergyReset OBJECT-TYPE
                SYNTAX INTEGER {
                        noOperation (1), 
                        reset (2)
                }
                ACCESS read-write
                STATUS mandatory
                DESCRIPTION
                        "Setting this OID to reset (2) will cause the device energy meter value 
                        on each device in the Rack PDU Daisy Chain group to be reset to zero. 

                        Getting this OID in models that support this feature will do nothing 
                        and return the noOperation(1) value."
                ::= {ePDU2Group 4}

ePDU2GroupPeakRecordReset OBJECT-TYPE
                SYNTAX INTEGER {
                        noOperation (1), 
                        reset (2)
                }
                ACCESS read-write
                STATUS mandatory
                DESCRIPTION
                        "Setting this OID to reset (2) will cause the device peak record value 
                        on each device in the Rack PDU Daisy Chain group to be reset to current
                        load/power. 
                        
                        Getting this OID in models that support this feature will do nothing 
                        and return the noOperation(1) value."
                ::= {ePDU2Group 5}

        
-- Traps
-- Annotations are provided for Novell's NMS product
communicationLost TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { mtrapinfoString }
   DESCRIPTION
       "SEVERE: Communication with the UPS has been lost."
   --#TYPE "CPS UPS: Communication lost"
   --#SUMMARY "Communication with the UPS has been lost."
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE DEGRADED
   ::= 1

upsOverload TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { mtrapinfoString }
   DESCRIPTION
      "SEVERE: The UPS has sensed an overload condition."
   --#TYPE "CPS UPS: Overload"
   --#SUMMARY "The UPS has sensed an overload condition."
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE DEGRADED
   ::= 2

upsDiagnosticsFailed TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { mtrapinfoString }
   DESCRIPTION
      "SEVERE: The UPS battery test failed."
   --#TYPE "CPS UPS: battery test failed"
   --#SUMMARY "The UPS battery test failed."
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE DEGRADED
   ::= 3

upsDischarged TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { mtrapinfoString }
   DESCRIPTION
      "SEVERE: The UPS has started a runtime calibration process."
   --#TYPE "CPS UPS: batteries are discharged"
   --#SUMMARY "The UPS has started a runtime calibration process."
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE DEGRADED
   ::= 4

upsOnBattery TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { mtrapinfoString }
   DESCRIPTION
      "WARNING: Utility power failed, transfer to backup mode."
   --#TYPE "CPS UPS: The UPS is on battery"
   --#SUMMARY "Utility power failed, transfer to backup mode."
   --#SEVERITY WARNING
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 5

upsBoostOn TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { mtrapinfoString }
   DESCRIPTION
      "WARNING: The UPS has enabled boost, low utility voltage."
   --#TYPE "CPS UPS: Boost enable"
   --#SUMMARY "The UPS has enabled boost, low utility voltage."
   --#SEVERITY WARNING
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 6

lowBattery TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { mtrapinfoString }
   DESCRIPTION
      "SEVERE: The UPS battery capacity is low than threshold, soon to be exhausted."
   --#TYPE "CPS UPS: Low battery"
   --#SUMMARY "The UPS battery capacity is low than threshold, soon to be exhausted."
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE DEGRADED
   ::= 7

communicationEstablished TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { mtrapinfoString }
   DESCRIPTION
      "INFORMATIONAL: Communication to the UPS has been established."
   --#TYPE "CPS UPS: Communication established"
   --#SUMMARY "Communication to the UPS has been established."
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 8

powerRestored TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { mtrapinfoString }
   DESCRIPTION
      "INFORMATIONAL: Utility power restored, return from backup mode."
   --#TYPE "CPS UPS: Power restored"
   --#SUMMARY "Utility power restored, return from backup mode."
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 9

upsDiagnosticsPassed TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { mtrapinfoString }
   DESCRIPTION
      "INFORMATIONAL: The UPS battery test passed."
   --#TYPE "CPS UPS: Selftest passed"
   --#SUMMARY "The UPS battery test passed."
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 10

returnFromLowBattery TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { mtrapinfoString }
   DESCRIPTION
      "INFORMATIONAL: The UPS has returned from a low battery condition."
   --#TYPE "CPS UPS: Low battery condition cleared"
   --#SUMMARY "The UPS has returned from a low battery condition."
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 11

upsTurnedOff TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { mtrapinfoString }
   DESCRIPTION
      "WARNING: The UPS has been turned off."
   --#TYPE "CPS UPS: UPS turned off"
   --#SUMMARY "The UPS has been turned off."
   --#SEVERITY WARNING
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE NONOPERATIONAL
   ::= 12

upsSleeping   TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { mtrapinfoString }
   DESCRIPTION
      "WARNING: The UPS entered sleep mode. Output power will not be provided."
   --#TYPE "CPS UPS: Entered sleep mode"
   --#SUMMARY "The UPS entered sleep mode. Output power will not be provided."
   --#SEVERITY WARNING
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE NONOPERATIONAL
   ::= 13

upsWokeUp TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { mtrapinfoString }
   DESCRIPTION
      "INFORMATION: The UPS woke up from sleep mode. Output power is being provided."
   --#TYPE "CPS UPS: UPS woke up"
   --#SUMMARY "The UPS woke up from sleep mode. Output power is being provided."
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 14

upsRebootStarted TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { mtrapinfoString }
   DESCRIPTION
      "WARNING: The UPS started reboot sequence."
   --#TYPE "CPS UPS: Starting reboot"
   --#SUMMARY "The UPS started reboot sequence."
   --#SEVERITY WARNING
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE NONOPERATIONAL
   ::= 15

upsOverTemp TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { mtrapinfoString }
   DESCRIPTION
      "SEVERE: The UPS inner temperature is too high."
   --#TYPE "CPS UPS: UPS over temperature"
   --#SUMMARY "The UPS inner temperature is too high."
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE DEGRADED
   ::= 16

returnFromOverTemp TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { mtrapinfoString }
   DESCRIPTION
      "INFORMATIONAL: The UPS over temperature condition cleared."
   --#TYPE "CPS UPS: UPS over temperature cleared"
   --#SUMMARY "The UPS over temperature condition cleared."
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 17

upsBuckOn TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { mtrapinfoString }
   DESCRIPTION
      "WARNING: The UPS has enabled buck, high utility voltage."
   --#TYPE "CPS UPS: Buck enable"
   --#SUMMARY "The UPS has enabled buck, high utility voltage."
   --#SEVERITY WARNING
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 18

returnFromOverLoad TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { mtrapinfoString }
   DESCRIPTION
      "INFORMATIONAL: The UPS has returned from an overload condition."
   --#TYPE "CPS UPS: Returned from overload condition"
   --#SUMMARY "The UPS has returned from an overload condition."
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 19

returnFromDischarged TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { mtrapinfoString }
   DESCRIPTION
      "INFORMATIONAL: The UPS runtime calibration completed."
   --#TYPE "CPS UPS: Discharged condition cleared"
   --#SUMMARY "The UPS runtime calibration completed."
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 20

upsScheduleShutdown TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { mtrapinfoString }
   DESCRIPTION
      "WARNING: The UPS has started its schedule shutdown sequence."
   --#TYPE "CPS UPS: Schedule shutdown"
   --#SUMMARY "The UPS has started its schedule shutdown sequence."
   --#SEVERITY WARNING
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE NONOPERATIONAL
   ::= 21

upsEnterSleep TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { mtrapinfoString }
   DESCRIPTION
      "WARNING: The UPS started sleep sequence."
   --#TYPE "CPS UPS: Entered sleep mode sequence"
   --#SUMMARY "The UPS started sleep sequence."
   --#SEVERITY WARNING
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE NONOPERATIONAL
   ::= 22

upsChargerFailure TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { mtrapinfoString }
   DESCRIPTION
       "WARNING: The battery charger is abnormal."
   --#TYPE "CPS UPS: The charger failed."
   --#SUMMARY "The battery charger is abnormal."
   --#SEVERITY WARNING
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 23

returnFromChargerFailure TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { mtrapinfoString }
   DESCRIPTION
       "INFORMATIONAL: The charger returned from a failure condition."
   --#TYPE "CPS UPS: The charger failure cleared"
   --#SUMMARY "The charger returned from a failure condition."
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 24

upsTurnoffStarted TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { mtrapinfoString }
   DESCRIPTION
      "WARNING: The UPS started turn off sequence."
   --#TYPE "CPS UPS: Starting turn off"
   --#SUMMARY "The UPS started its turn off sequence."
   --#SEVERITY WARNING
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE NONOPERATIONAL
   ::= 25

upsTurnedOn TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { mtrapinfoString }
   DESCRIPTION
      "WARNING: The UPS has been turned on."
   --#TYPE "CPS UPS: UPS turned on"
   --#SUMMARY "The UPS has been turned on."
   --#SEVERITY WARNING
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE NONOPERATIONAL
   ::= 26

upsRemoteCommandFailed TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { mtrapinfoString }
   DESCRIPTION
      "WARNING: The UPS remote command failed."
   --#TYPE "CPS UPS: Command failed"
   --#SUMMARY "The UPS remote command failed."
   --#SEVERITY WARNING
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE DEGRADED
   ::= 27

upsSignalClientShutdown TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { mtrapinfoString }
   DESCRIPTION
      "SEVERE: The UPS has signaled clients to shutdown."
   --#TYPE "CPS UPS: Signal clients to shutdown"
   --#SUMMARY "The UPS has signaled clients to shutdown."
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE DEGRADED
   ::= 29


-- Outlet Traps
nclBankOn TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { mtrapinfoString }
   DESCRIPTION
       "INFORMATIONAL: Non-Critical bank has been turned on."
   --#TYPE "CPS UPS: NCL bank turned on."
   --#SUMMARY "Non-Critical bank has been turned on"
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 31

nclBankOff TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { mtrapinfoString }
   DESCRIPTION
       "INFORMATIONAL: Non-Critical bank has been turned off."
   --#TYPE "CPS UPS: NCL bank turned off."
   --#SUMMARY "Non-Critical bank has been turned off"
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 32

upsCommandCancel TRAP-TYPE
         ENTERPRISE cps
         VARIABLES { mtrapinfoString }
         DESCRIPTION
                        "INFORMATION: The cancel command has been executed."
         --#TYPE "CPS UPS: Ups command canceled."
         --#SUMMARY "The cancel command has been executed."
         --#SEVERITY INFORMATION
         --#TIMEINDEX 1
         --#HELP ""
         --#STATE OPERATIONAL
         ::= 33

upsStartBatteryTest TRAP-TYPE
         ENTERPRISE cps
         VARIABLES { mtrapinfoString }
         DESCRIPTION
                        "INFORMATION: The UPS has started a battery test process."
         --#TYPE "CPS UPS: UPS selftest start."
         --#SUMMARY "The UPS has started a battery test process."
         --#SEVERITY INFORMATION
         --#TIMEINDEX 1
         --#HELP ""
         --#STATE OPERATIONAL
         ::= 34

upsRemainRuntimeLowThanThreshold TRAP-TYPE
         ENTERPRISE cps
         VARIABLES { mtrapinfoString }
         DESCRIPTION
                        "WARNING: The UPS remaining runtime is lower than threshold."
         --#TYPE "CPS UPS: Low remaining runtime."
         --#SUMMARY "The UPS remaining runtime us lower than threshold."
         --#SEVERITY INFORMATION
         --#TIMEINDEX 1
         --#HELP ""
         --#STATE OPERATIONAL
         ::= 35

nclBankStartScheduleOff TRAP-TYPE
         ENTERPRISE cps
         VARIABLES { mtrapinfoString }
         DESCRIPTION
                        "INFORMATION: Non-Critial bank has started its schedule off sequence."
         --#TYPE "CPS UPS: NCL bank started scheduled off sequence."
         --#SUMMARY "Non-Critial bank has started its schedule off sequence."
         --#SEVERITY INFORMATION
         --#TIMEINDEX 1
         --#HELP ""
         --#STATE OPERATIONAL
         ::= 36

upsCalibrationAbort TRAP-TYPE
         ENTERPRISE cps
         VARIABLES { mtrapinfoString }
         DESCRIPTION
                        "WARNING: The UPS runtime calibration aborted."
         --#TYPE "CPS UPS: Runtime calibration aborted."
         --#SUMMARY "The UPS runtime calibration aborted."
         --#SEVERITY INFORMATION
         --#TIMEINDEX 1
         --#HELP ""
         --#STATE OPERATIONAL
         ::= 37

upsHardwareFault TRAP-TYPE
         ENTERPRISE cps
         VARIABLES { mtrapinfoString }
         DESCRIPTION
                        "WARNING: The UPS hardware fault."
         --#TYPE "CPS UPS: Hardware fault."
         --#SUMMARY "The UPS hardware fault."
         --#SEVERITY INFORMATION
         --#TIMEINDEX 1
         --#HELP ""
         --#STATE OPERATIONAL
         ::= 38
         
upsBatteryNotPresent TRAP-TYPE
         ENTERPRISE cps
         VARIABLES { mtrapinfoString }
         DESCRIPTION
                        "WARNING: Battery is not present."
         --#TYPE "CPS UPS: Battery is not present."
         --#SUMMARY "Battery is not present."
         --#SEVERITY INFORMATION
         --#TIMEINDEX 1
         --#HELP ""
         --#STATE OPERATIONAL
         ::= 39

-- OL extension event: Wiring Fault 
upsWiringFault TRAP-TYPE
                ENTERPRISE cps
                VARIABLES { mtrapinfoString }
                DESCRIPTION
                         "WARNING: The UPS wiring fault has been detected."
                --#TYPE "The UPS wiring fault has been detected."
   --#SUMMARY "The UPS wiring fault has been detected."
   --#ARGUMENTS { }
   --#SEVERITY MAJOR
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE NONOPERATIONAL
                ::= 40

upsWiringFaultCleared TRAP-TYPE
                ENTERPRISE cps
                VARIABLES { mtrapinfoString }
                DESCRIPTION
                         "INFORMATION: The UPS wiring fault has been cleared."
                --#TYPE "The UPS wiring fault has been cleared."
   --#SUMMARY "The UPS wiring fault has been cleared."
   --#ARGUMENTS { }
   --#SEVERITY MAJOR
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE NONOPERATIONAL
                ::= 41

upsEnterBypassMode TRAP-TYPE
                ENTERPRISE cps
                VARIABLES { mtrapinfoString }
                DESCRIPTION
                         "WARNING: The UPS enters bypass mode."
                --#TYPE "The UPS enters bypass mode"
   --#SUMMARY "The UPS enters bypass mode."
   --#ARGUMENTS { }
   --#SEVERITY MAJOR
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE NONOPERATIONAL
                ::= 42

upsReturnFromBypassMode TRAP-TYPE
                ENTERPRISE cps
                VARIABLES { mtrapinfoString }
                DESCRIPTION
                         "INFORMATION: The UPS leaves bypass mode."
                --#TYPE "The UPS leaves bypass mode."
   --#SUMMARY "The UPS leaves bypass mode."
   --#ARGUMENTS { }
   --#SEVERITY MAJOR
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE NONOPERATIONAL
                ::= 43

upsBypassOverload TRAP-TYPE
                ENTERPRISE cps
                VARIABLES { mtrapinfoString }
                DESCRIPTION
                         "WARNING: The UPS bypass overload."
                --#TYPE "The UPS bypass overload."
   --#SUMMARY "The UPS bypass overload."
   --#ARGUMENTS { }
   --#SEVERITY MAJOR
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE NONOPERATIONAL
                ::= 44
                
upsBypassOverloadCleared TRAP-TYPE
                ENTERPRISE cps
                VARIABLES { mtrapinfoString }
                DESCRIPTION
                         "INFORMATION: The UPS bypass overload has been cleared."
                --#TYPE "The UPS bypass overload has been cleared."
   --#SUMMARY "The UPS bypass overload has been cleared."
   --#ARGUMENTS { }
   --#SEVERITY MAJOR
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE NONOPERATIONAL
                ::= 45

upsEnterECOMode TRAP-TYPE
                ENTERPRISE cps
                VARIABLES { mtrapinfoString }
                DESCRIPTION
                         "WARNING: The UPS enters ECO mode."
                --#TYPE "The UPS enters ECO mode"
   --#SUMMARY "The UPS enters ECO mode."
   --#ARGUMENTS { }
   --#SEVERITY MAJOR
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE NONOPERATIONAL
                ::= 46

upsReturnFromECOMode TRAP-TYPE
                ENTERPRISE cps
                VARIABLES { mtrapinfoString }
                DESCRIPTION
                         "WARNING: The UPS leaves ECO mode."
                --#TYPE "The UPS leaves ECO mode"
   --#SUMMARY "The UPS leaves ECO mode."
   --#ARGUMENTS { }
   --#SEVERITY MAJOR
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE NONOPERATIONAL
                ::= 47

upsBatteryOverThreeYear TRAP-TYPE
                ENTERPRISE cps
                VARIABLES { mtrapinfoString }
                DESCRIPTION
                                                "WARNING: Battery has been 3 years from last Replacement."
                --#TYPE "Battery has been 3 years from last Replacement."
   --#SUMMARY "Battery has been 3 years from last Replacement."
   --#ARGUMENTS { }
   --#SEVERITY MAJOR
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE NONOPERATIONAL
                ::= 48

-- Misc. Traps
failAuthViaHTTP TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { mtrapinfoString }
   DESCRIPTION
       "WARNING: Login authorization failure via HTTP."
   --#TYPE "CPS: HTTP authorization failure."
   --#SUMMARY "Login authorization failure via HTTP."
   --#SEVERITY WARNING
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 61

passwordChange TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { mtrapinfoString }
   DESCRIPTION
       "INFORMATION: The password has been changed."
   --#TYPE "CPS: Password changed."
   --#SUMMARY "The password has been changed."
   --#SEVERITY WARNING
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 62

failAuthViaConsole TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { mtrapinfoString }
   DESCRIPTION
       "WARNING: Login authorization failure via Console."
   --#TYPE "CPS: HTTP authorization failure."
   --#SUMMARY "Login authorization failure via Console."
   --#SEVERITY WARNING
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 63

configFileUpload TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { mtrapinfoString }
   DESCRIPTION
       "INFORMATION: Configuration file uploaded."
   --#TYPE "CPS: Configuration file uploaded."
   --#SUMMARY "Configuration file uploaded."
   --#SEVERITY WARNING
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 64

adminLoginInfo TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { mtrapinfoString }
   DESCRIPTION
       "INFORMATION: Administrator login."
   --#TYPE "CPS: Administrator login information."
   --#SUMMARY "Administrator login."
   --#SEVERITY Information
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 65

adminLogoutInfo TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { mtrapinfoString }
   DESCRIPTION
       "INFORMATION: Administrator logout."
   --#TYPE "CPS: Administrator logout information."
   --#SUMMARY "Administrator logout."
   --#SEVERITY Information
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 66
   
deviceLoginInfo TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { mtrapinfoString }
   DESCRIPTION
       "INFORMATION: Device login."
   --#TYPE "CPS: Device user login information."
   --#SUMMARY "Device user login from IP source."
   --#SEVERITY Information
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 67
   
deviceLogoutInfo TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { mtrapinfoString }
   DESCRIPTION
       "INFORMATION: Device logout."
   --#TYPE "CPS: Device user logout information."
   --#SUMMARY "Device user logout from IP source."
   --#SEVERITY Information
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 68

configurationChanged TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { mtrapinfoString }
   DESCRIPTION
       "INFORMATION: Configuration has been changed."
   --#TYPE "CPS: Configuration changed."
   --#SUMMARY "Configuration has been changed."
   --#SEVERITY Information
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 69

clientRegistered TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { mtrapinfoString }
   DESCRIPTION
       "Information: PowerPanel client has been registered."
   --#TYPE "CPS: PowerPanel client has been registered."
   --#SUMMARY "PowerPanel client has been registered."
   --#SEVERITY Information
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 70
   
clientRemoved TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { mtrapinfoString }
   DESCRIPTION
       "Information: PowerPanel client has been removed."
   --#TYPE "CPS: Device user logout information."
   --#SUMMARY "PowerPanel client has been registered."
   --#SEVERITY Information
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 71
   
testEvent TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { mtrapinfoString }
   DESCRIPTION
       "Information: Test Event."
   --#TYPE "CPS: This is test message."
   --#SUMMARY "This is test message."
   --#SEVERITY Information
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 72
   
outletUserLoginInfo TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { mtrapinfoString }
   DESCRIPTION
       "Information: Outlet User login."
   --#TYPE "CPS: Outlet user login information."
   --#SUMMARY "Outlet user login from IP source."
   --#SEVERITY Information
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 73
   
outletUserLogoutInfo TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { mtrapinfoString }
   DESCRIPTION
       "Information: Outlet User logout."
   --#TYPE "CPS: Outlet user logout information."
   --#SUMMARY "Outlet user logout from IP source."
   --#SEVERITY Information
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 74
   
-- ePDU. Traps

ePDUCommunicationEstablished TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { ePDUIdentSerialNumber, ePDUIdentName, mtrapinfoString }
   DESCRIPTION
      "INFORMATIONAL: Communication with a Rack PDU has been established.
       The first argument is the serial number.
       The second argument is the device name."
   --#TYPE "A Rack PDU: Communication established."
   --#SUMMARY "Communication with a Rack PDU established."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 100

ePDUCommunicationLost TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { ePDUIdentSerialNumber, ePDUIdentName, mtrapinfoString }
   DESCRIPTION
      "SEVERE: Communication with a Rack PDU has been lost.
       The first argument is the serial number.
       The second argument is the device name."
   --#TYPE "A Rack PDU: Communication lost."
   --#SUMMARY "Communication with a Rack PDU has been lost."
   --#ARGUMENTS { }
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE DEGRADED
   ::= 101

ePDUOutletOn TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { ePDUIdentSerialNumber, ePDUIdentName,
               ePDUOutletControlIndex, ePDUOutletControlOutletName,
               mtrapinfoString }
   DESCRIPTION
      "INFORMATIONAL: An outlet on a Switched Rack PDU has turned on.
       The first argument is the serial number.
       The second argument is the device name.
       The third argument is the outlet index number.
       The fourth argument is the outlet name."
   --#TYPE "A Switched Rack PDU: An outlet has turned on."
   --#SUMMARY "An outlet on a Switched Rack PDU has turned on."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 102

ePDUOutletOff TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { ePDUIdentSerialNumber, ePDUIdentName,
               ePDUOutletControlIndex, ePDUOutletControlOutletName,
               mtrapinfoString }
   DESCRIPTION
      "INFORMATIONAL: An outlet on a Switched Rack PDU has turned off.
       The first argument is the serial number.
       The second argument is the device name.
       The third argument is the outlet index number.
       The fourth argument is the outlet name."
   --#TYPE "A Switched Rack PDU: An outlet has turned off."
   --#SUMMARY "An outlet on a Switched Rack PDU has turned off."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 103

ePDUDeviceConfigChange TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { ePDUIdentSerialNumber, ePDUIdentName, mtrapinfoString }
   DESCRIPTION
      "INFORMATIONAL: A device configuration change has been made on a 
       Rack PDU.
       The first argument is the serial number.
       The second argument is the device name."
   --#TYPE "CPS Rack PDU: Device configuration change made."
   --#SUMMARY "Device configuration change has been made on a Rack PDU."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 104

ePDUOutletConfigChange TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { ePDUIdentSerialNumber, ePDUIdentName,
               ePDUOutletControlIndex, ePDUOutletControlOutletName,
               mtrapinfoString }
   DESCRIPTION
      "INFORMATIONAL: An outlet configuration change has been made on a 
       Switched Rack PDU.
       The first argument is the serial number.
       The second argument is the device name.
       The third argument is the outlet index number.
       The fourth argument is the outlet name."
   --#TYPE "CPS Switched Rack PDU: Outlet configuration change made."
   --#SUMMARY "Outlet configuration change has been made on a Switched Rack PDU."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 105

ePDULowLoad TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { ePDUIdentSerialNumber, ePDUIdentName,
               ePDULoadStatusPhaseNumber, mtrapinfoString }
   DESCRIPTION
      "WARNING: A Rack PDU has violated the low load threshold.
       The first argument is the serial number.
       The second argument is the device name.
       The third argument is the phase number."
   --#TYPE "CPS Rack PDU: Violation of low load threshold."
   --#SUMMARY "A Rack PDU has violated the low load threshold."
   --#ARGUMENTS { }
   --#SEVERITY WARNING
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 106

ePDULowLoadCleared TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { ePDUIdentSerialNumber, ePDUIdentName,
               ePDULoadStatusPhaseNumber, mtrapinfoString }
   DESCRIPTION
      "INFORMATIONAL: The low load condition on a Rack PDU has been 
       cleared.
       The first argument is the serial number.
       The second argument is the device name.
       The third argument is the phase number."
   --#TYPE "CPS Rack PDU: Low load condition cleared."
   --#SUMMARY "The low load condition on a Rack PDU has been cleared."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 107

ePDUNearOverload TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { ePDUIdentSerialNumber, ePDUIdentName,
               ePDULoadStatusPhaseNumber, mtrapinfoString }
   DESCRIPTION
      "WARNING: A Rack PDU is near an overload condition.
       The first argument is the serial number.
       The second argument is the device name.
       The third argument is the phase number."
   --#TYPE "CPS Rack PDU: Near an overload condition."
   --#SUMMARY "A Rack PDU is near an overload condition."
   --#ARGUMENTS { }
   --#SEVERITY WARNING
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 108

ePDUNearOverloadCleared TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { ePDUIdentSerialNumber, ePDUIdentName,
               ePDULoadStatusPhaseNumber, mtrapinfoString }
   DESCRIPTION
      "INFORMATIONAL: The near overload condition on a Rack PDU has 
       been cleared.
       The first argument is the serial number.
       The second argument is the device name.
       The third argument is the phase number."
   --#TYPE "CPS Rack PDU: Near overload condition has cleared."
   --#SUMMARY "Rack PDU near overload condition has cleared."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 109

ePDUOverload TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { ePDUIdentSerialNumber, ePDUIdentName,
               ePDULoadStatusPhaseNumber, mtrapinfoString }
   DESCRIPTION
      "SEVERE: A Rack PDU is in an overload condition.
       The first argument is the serial number.
       The second argument is the device name.
       The third argument is the phase number."
   --#TYPE "CPS Rack PDU: Overload condition."
   --#SUMMARY "A Rack PDU is in an overload condition."
   --#ARGUMENTS { }
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE DEGRADED
   ::= 110

ePDUOverloadCleared TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { ePDUIdentSerialNumber, ePDUIdentName,
               ePDULoadStatusPhaseNumber, mtrapinfoString }
   DESCRIPTION
      "INFORMATIONAL: The overload condition on a Rack PDU has been 
       cleared.
       The first argument is the serial number.
       The second argument is the device name.
       The third argument is the phase number."
   --#TYPE "CPS Rack PDU: Overload condition has cleared."
   --#SUMMARY "The overload condition on a Rack PDU has cleared."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 111

ePDUDelayOutletOnCommand TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { ePDUIdentSerialNumber, ePDUIdentName,
               ePDUOutletControlIndex, ePDUOutletControlOutletName,
               mtrapinfoString }
   DESCRIPTION
      "INFORMATIONAL: An outlet on a Switched Rack PDU has been assigned to turn on.
       The first argument is the serial number.
       The second argument is the device name.
       The third argument is the outlet index number.
       The fourth argument is the outlet name."
   --#TYPE "A Switched Rack PDU: An outlet has been assigned to turn on."
   --#SUMMARY "An outlet on a Switched Rack PDU has been assigned to turn on."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 112

ePDUDelayOutletOffCommand TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { ePDUIdentSerialNumber, ePDUIdentName,
               ePDUOutletControlIndex, ePDUOutletControlOutletName,
               mtrapinfoString }
   DESCRIPTION
      "INFORMATIONAL: An outlet on a Switched Rack PDU has been assigned to turn off.
       The first argument is the serial number.
       The second argument is the device name.
       The third argument is the outlet index number.
       The fourth argument is the outlet name."
   --#TYPE "A Switched Rack PDU: An outlet has been assigned to turn off."
   --#SUMMARY "An outlet on a Switched Rack PDU has been assigned to turn off."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 113

ePDUDelayOutletRebootCommand TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { ePDUIdentSerialNumber, ePDUIdentName,
               ePDUOutletControlIndex, ePDUOutletControlOutletName,
               mtrapinfoString }
   DESCRIPTION
      "INFORMATIONAL: An outlet on a Switched Rack PDU has been assigned to reboot.
       The first argument is the serial number.
       The second argument is the device name.
       The third argument is the outlet index number.
       The fourth argument is the outlet name."
   --#TYPE "A Switched Rack PDU: An outlet has been assigned to reboot."
   --#SUMMARY "An outlet on a Switched Rack PDU has been assigned to reboot."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 114

ePDUCancelPendingCommand TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { ePDUIdentSerialNumber, ePDUIdentName,
               ePDUOutletControlIndex, ePDUOutletControlOutletName,
               mtrapinfoString }
   DESCRIPTION
      "INFORMATIONAL: A cancel pending command has been made on a
       Switched Rack PDU.
       The first argument is the serial number.
       The second argument is the device name.
       The third argument is the outlet index number (0 indicates all outlets).
       The fourth argument is the outlet name (or device name if all outlets)."
   --#TYPE "A Switched Rack PDU: Cancel Pending Command made."
   --#SUMMARY "A Cancel Pending Command has been made on a Switched Rack PDU."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 115


ePDULineUndervoltage TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { ePDUIdentSerialNumber, ePDUIdentName,
               ePDULoadStatusPhaseNumber, mtrapinfoString }
   DESCRIPTION
      "SEVERE: Utility Line Undervoltage
       The first argument is the serial number.
       The second argument is the device name.
       The third argument is the phase number."
   --#TYPE "A Rack PDU: Utility Line Undervoltage."
   --#SUMMARY "Utility Line Undervoltage."
   --#ARGUMENTS { }
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 116

ePDULineUndervoltageCleared TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { ePDUIdentSerialNumber, ePDUIdentName,
               ePDULoadStatusPhaseNumber, mtrapinfoString }
   DESCRIPTION
      "INFORMATIONAL: Utility Line Undervoltage Cleared.
       The first argument is the serial number.
       The second argument is the device name.
       The third argument is the phase number."
   --#TYPE "A Rack PDU: Utility Line Undervoltage Cleared."
   --#SUMMARY "Utility Line Undervoltage Cleared."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 117

ePDULineOvervoltage TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { ePDUIdentSerialNumber, ePDUIdentName,
               ePDULoadStatusPhaseNumber, mtrapinfoString }
   DESCRIPTION
      "SEVERE: Utility Line Overvoltage.
       The first argument is the serial number.
       The second argument is the device name.
       The third argument is the phase number."
   --#TYPE "CPS PDU: Utility Line Overvoltage."
   --#SUMMARY "Utility Line Overvoltage."
   --#ARGUMENTS { }
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 118

ePDULineOvervoltageCleared TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { ePDUIdentSerialNumber, ePDUIdentName,
               ePDULoadStatusPhaseNumber, mtrapinfoString }
   DESCRIPTION
      "INFORMATIONAL: Utility Line Overvoltage Cleared.
       The first argument is the serial number.
       The second argument is the device name.
       The third argument is the phase number."
   --#TYPE "CPS PDU: Utility Line Overvoltage Cleared."
   --#SUMMARY "Utility Line Overvoltage Cleared."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 119


ePDUPowerSupply1Fail TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { ePDUIdentSerialNumber, ePDUIdentName, mtrapinfoString }
   DESCRIPTION
      "SEVERE: Power Supply 1 on Rack PDU is in FAIL state.
       The first argument is the serial number.
       The second argument is the device name."
   --#TYPE "A Rack PDU: Power Supply 1 is in FAIL state."
   --#SUMMARY "Power Supply 1 on Rack PDU is in FAIL state."
   --#ARGUMENTS { }
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE DEGRADED
   ::= 120

ePDUPowerSupply1Ok TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { ePDUIdentSerialNumber, ePDUIdentName, mtrapinfoString }
   DESCRIPTION
      "INFORMATIONAL: Power Supply 1 on Rack PDU is operating normally.
       The first argument is the serial number.
       The second argument is the device name."
   --#TYPE "A Rack PDU: Power Supply 1 is operating normally."
   --#SUMMARY "Power Supply 1 on Rack PDU is operating normally."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 121

ePDUPowerSupply2Fail TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { ePDUIdentSerialNumber, ePDUIdentName, mtrapinfoString }
   DESCRIPTION
      "SEVERE: Power Supply 2 on Rack PDU is in FAIL state.
       The first argument is the serial number.
       The second argument is the device name."
   --#TYPE "A Rack PDU: Power Supply 2 is in FAIL state."
   --#SUMMARY "Power Supply 2 on Rack PDU is in FAIL state."
   --#ARGUMENTS { }
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE DEGRADED
   ::= 122

ePDUPowerSupply2Ok TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { ePDUIdentSerialNumber, ePDUIdentName, mtrapinfoString }
   DESCRIPTION
      "INFORMATIONAL: Power Supply 2 on Rack PDU is operating normally.
       The first argument is the serial number.
       The second argument is the device name."
   --#TYPE "A Rack PDU: Power Supply 2 is operating normally."
   --#SUMMARY "Power Supply 2 on Rack PDU is operating normally."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 123

ePDUBankLowLoad TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { ePDUIdentSerialNumber, ePDUIdentName,
               ePDULoadStatusBankNumber, mtrapinfoString }
   DESCRIPTION
      "WARNING: A Rack PDU bank has violated the low load threshold.
       The first argument is the serial number.
       The second argument is the device name.
       The third argument is the bank number."
   --#TYPE "CPS Rack PDU: Bank violation of low load threshold."
   --#SUMMARY "A Rack PDU bank has violated the low load threshold."
   --#ARGUMENTS { }
   --#SEVERITY WARNING
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 124

ePDUBankLowLoadCleared TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { ePDUIdentSerialNumber, ePDUIdentName,
               ePDULoadStatusBankNumber, mtrapinfoString }
   DESCRIPTION
      "INFORMATIONAL: The low load condition on a Rack PDU bank has been 
       cleared.
       The first argument is the serial number.
       The second argument is the device name.
       The third argument is the bank number."
   --#TYPE "CPS Rack PDU: Bank Low load condition cleared."
   --#SUMMARY "The low load condition on a Rack PDU bank has been cleared."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 125

ePDUBankNearOverload TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { ePDUIdentSerialNumber, ePDUIdentName,
               ePDULoadStatusBankNumber, mtrapinfoString }
   DESCRIPTION
      "WARNING: A Rack PDU bank is near an overload condition.
       The first argument is the serial number.
       The second argument is the device name.
       The third argument is the bank number."
   --#TYPE "CPS Rack PDU: Bank near an overload condition."
   --#SUMMARY "A Rack PDU bank is near an overload condition."
   --#ARGUMENTS { }
   --#SEVERITY WARNING
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 126

ePDUBankNearOverloadCleared TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { ePDUIdentSerialNumber, ePDUIdentName,
               ePDULoadStatusBankNumber, mtrapinfoString }
   DESCRIPTION
      "INFORMATIONAL: The near overload condition on a Rack PDU bank has 
       been cleared.
       The first argument is the serial number.
       The second argument is the device name.
       The third argument is the phase/bank number."
   --#TYPE "CPS Rack PDU: Bank near overload condition has cleared."
   --#SUMMARY "Rack PDU bank near overload condition has cleared."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 127

ePDUBankOverload TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { ePDUIdentSerialNumber, ePDUIdentName,
               ePDULoadStatusBankNumber, mtrapinfoString }
   DESCRIPTION
      "SEVERE: A Rack PDU bank is in an overload condition.
       The first argument is the serial number.
       The second argument is the device name.
       The third argument is the bank number."
   --#TYPE "CPS Rack PDU: Bank overload condition."
   --#SUMMARY "A Rack PDU bank is in an overload condition."
   --#ARGUMENTS { }
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE DEGRADED
   ::= 128

ePDUBankOverloadCleared TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { ePDUIdentSerialNumber, ePDUIdentName,
               ePDULoadStatusBankNumber, mtrapinfoString }
   DESCRIPTION
      "INFORMATIONAL: The overload condition on a Rack PDU bank has been 
       cleared.
       The first argument is the serial number.
       The second argument is the device name.
       The third argument is the bank number."
   --#TYPE "CPS Rack PDU: Bank overload condition has cleared."
   --#SUMMARY "The bank overload condition on a Rack PDU has cleared."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 129

ePDUComponentCommunicationEstablished TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { ePDUIdentSerialNumber, ePDUIdentName,
               mtrapinfoString }
   DESCRIPTION
      "INFORMATIONAL: Component communication lost has been cleared.
       The first argument is the serial number.
       The second argument is the device name."
   --#TYPE "CPS Rack PDU: Component communication lost has been cleared."
   --#SUMMARY "Component communication lost has been cleared."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 130

ePDUComponentCommunicationLost TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { ePDUIdentSerialNumber, ePDUIdentName,
               mtrapinfoString }
   DESCRIPTION
      "SEVERE: Component communication lost.
       The first argument is the serial number.
       The second argument is the device name."
   --#TYPE "CPS Rack PDU: Component communication lost."
   --#SUMMARY "Component communication lost."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 131

ePDUOutletLowLoad TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { ePDUIdentSerialNumber, ePDUIdentName,ePDUOutletConfigMonitoredNumber, 
               ePDUOutletConfigMonitoredName, mtrapinfoString }
   DESCRIPTION
      "WARNING: A Rack PDU has violated the outlet low load threshold.
       The first argument is the serial number.
       The second argument is the device name.
       The third argument is the outlet number.
       The fourth argument is the outlet name."
   ::= 132

ePDUOutletLowLoadCleared TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { ePDUIdentSerialNumber, ePDUIdentName,ePDUOutletConfigMonitoredNumber, 
               ePDUOutletConfigMonitoredName, mtrapinfoString }
   DESCRIPTION
      "INFORMATIONAL: The outlet low load condition on a Rack PDU has been 
       cleared. 
       The first argument is the serial number.
       The second argument is the device name.
       The third argument is the outlet number.
       The fourth argument is the outlet name."
   ::= 133
   
ePDUOutletNearOverload TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { ePDUIdentSerialNumber, ePDUIdentName,ePDUOutletConfigMonitoredNumber, 
               ePDUOutletConfigMonitoredName, mtrapinfoString }
   DESCRIPTION
      "WARNING: A Rack PDU is near an outlet overload condition.
       The first argument is the serial number.
       The second argument is the device name.
       The third argument is the outlet number.
       The fourth argument is the outlet name."
   ::= 134

ePDUOutletNearOverloadCleared TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { ePDUIdentSerialNumber, ePDUIdentName,ePDUOutletConfigMonitoredNumber, 
               ePDUOutletConfigMonitoredName, mtrapinfoString }
   DESCRIPTION
      "INFORMATIONAL: The outlet near overload condition on a Rack PDU has 
       been cleared.
       The first argument is the serial number.
       The second argument is the device name.
       The third argument is the outlet number.
       The fourth argument is the outlet name."
   ::= 135

ePDUOutletOverload TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { ePDUIdentSerialNumber, ePDUIdentName,ePDUOutletConfigMonitoredNumber, 
               ePDUOutletConfigMonitoredName, mtrapinfoString }
   DESCRIPTION
      "SEVERE: A Rack PDU is in an overload condition.
       The first argument is the serial number.
       The second argument is the device name.
       The third argument is the outlet number.
       The fourth argument is the outlet name."
   ::= 136
   
ePDUOutletOverloadCleared TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { ePDUIdentSerialNumber, ePDUIdentName,ePDUOutletConfigMonitoredNumber, 
               ePDUOutletConfigMonitoredName, mtrapinfoString }
   DESCRIPTION
      "INFORMATIONAL: The outlet overload condition on a Rack PDU has been 
       cleared.
       The first argument is the serial number.
       The second argument is the device name.
       The third argument is the outlet number.
       The fourth argument is the outlet name."
   ::= 137

-- Environment Traps
envHighTemperatureViolation TRAP-TYPE
    ENTERPRISE cps
                VARIABLES { envirIdentName, envirIdentLocation, envirTemperature }
    DESCRIPTION
       "WARNING: The environment high temperature threshold has been violated."
   --#TYPE "CPS Environment Viewer: OverTemperature"
   --#SUMMARY "The environment high temperature threshold has been violated."
   --#ARGUMENTS { }
   --#SEVERITY MAJOR
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE NONOPERATIONAL
   ::= 200

envHighTemperatureBack TRAP-TYPE
    ENTERPRISE cps
                VARIABLES { envirIdentName, envirIdentLocation, envirTemperature }
    DESCRIPTION
       "INFORMATION: The environment temperature returned from high value."
   --#TYPE "CPS Environment Viewer: OverTemperature Returned"
   --#SUMMARY "The environment temperature returned from high value."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE NONOPERATIONAL
   ::= 201

envLowTemperatureViolation TRAP-TYPE
    ENTERPRISE cps
                VARIABLES { envirIdentName, envirIdentLocation, envirTemperature }
    DESCRIPTION
       "WARNING: The environment low temperature threshold has been violated."
   --#TYPE "CPS Environment Viewer: UnderTemperature"
   --#SUMMARY "The environment low temperature threshold has been violated."
   --#ARGUMENTS { }
   --#SEVERITY MAJOR
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE NONOPERATIONAL
   ::= 202

envLowTempBack TRAP-TYPE
    ENTERPRISE cps
                VARIABLES { envirIdentName, envirIdentLocation, envirTemperature }
    DESCRIPTION
       "INFORMATION: The environment temperature returned from low value."
   --#TYPE "CPS Environment Viewer: UnderTemperature Returned"
   --#SUMMARY "The environment temperature returned from low value."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE NONOPERATIONAL
   ::= 203

envHighHumidityViolation TRAP-TYPE
    ENTERPRISE cps
                VARIABLES { envirIdentName, envirIdentLocation, envirHumidity }
    DESCRIPTION
       "WARNING: The environment high humidity threshold has been violated."
   --#TYPE "CPS Environment Viewer: OverHumidity"
   --#SUMMARY "The environment high humidity threshold has been violated."
   --#ARGUMENTS { }
   --#SEVERITY MAJOR
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE NONOPERATIONAL
   ::= 204

envHighHumidityBack TRAP-TYPE
    ENTERPRISE cps
                VARIABLES { envirIdentName, envirIdentLocation, envirHumidity }
    DESCRIPTION
        "INFORMATION: The environment humidity return from high value."
   --#TYPE "CPS Environment Viewer: OverHumidity Returned"
   --#SUMMARY "The environment humidity return from high value."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE NONOPERATIONAL
   ::= 205

envLowHumidityViolation TRAP-TYPE
    ENTERPRISE cps
                VARIABLES { envirIdentName, envirIdentLocation, envirHumidity }
    DESCRIPTION
       "WARNING: The environment low humidity threshold has been violated."
   --#TYPE "CPS Environment Viewer: UnderHumidity"
   --#SUMMARY "The environment low humidity threshold has been violated."
   --#ARGUMENTS { }
   --#SEVERITY MAJOR
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE NONOPERATIONAL
   ::= 206

envLowHumdBack TRAP-TYPE
    ENTERPRISE cps
                VARIABLES { envirIdentName, envirIdentLocation, envirHumidity }
    DESCRIPTION
        "INFORMATION: The environment humidity return from low value."
   --#TYPE "CPS Environment Viewer: UnderHumidity Returned"
   --#SUMMARY "The environment humidity return from low value."
   --#ARGUMENTS { }
   --#SEVERITY MAJOR
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE NONOPERATIONAL
   ::= 207

envDryContactAbnormal TRAP-TYPE
    ENTERPRISE cps
                VARIABLES { envirIdentName, envirIdentLocation, 
                                                                envirContactIndex, envirContactName }
    DESCRIPTION
        "INFORMATION: The Contact is abnormal."
   --#TYPE "CPS Environment Viewer: Contact Abnormal"
   --#SUMMARY "The Contact is abnormal."
   --#ARGUMENTS { }
   --#SEVERITY MAJOR
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE NONOPERATIONAL
   ::= 208

envDryContactNormal TRAP-TYPE
    ENTERPRISE cps
                VARIABLES { envirIdentName, envirIdentLocation, 
                                                                envirContactIndex, envirContactName }
    DESCRIPTION
        "INFORMATION: The Contact has returned from abnormal."
   --#TYPE "CPS Environment Viewer: Contact Normal"
   --#SUMMARY "The Contact has returned from abnormal."
   --#ARGUMENTS { }
   --#SEVERITY MAJOR
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE NONOPERATIONAL
   ::= 209

envConntected TRAP-TYPE
    ENTERPRISE cps
                VARIABLES { envirIdentName, envirIdentLocation }
    DESCRIPTION
        "INFORMATION: The Environment Sensor has been connected."
   --#TYPE "CPS Environment Viewer: The Environment Sensor has been connected"
   --#SUMMARY "The Environment Sensor has been connected."
   --#ARGUMENTS { }
   --#SEVERITY MAJOR
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE NONOPERATIONAL
   ::= 210

envDisconntected TRAP-TYPE
    ENTERPRISE cps
                VARIABLES { envirIdentName, envirIdentLocation }
    DESCRIPTION
        "INFORMATION: The Environment Sensor has been disconnected."
   --#TYPE "CPS Environment Viewer: The Environment Sensor has been disconnected"
   --#SUMMARY "The Environment Sensor has been disconnected."
   --#ARGUMENTS { }
   --#SEVERITY MAJOR
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE NONOPERATIONAL
   ::= 211
   
envRateOfTemperatureChangeAbnormal TRAP-TYPE
    ENTERPRISE cps
                VARIABLES { envirIdentName, envirIdentLocation, envirTemperature }
    DESCRIPTION
        "INFORMATION: The rate of temperature change is abnormal."
   --#TYPE "CPS Environment Viewer: The rate of temperature change is abnormal"
   --#SUMMARY "The rate of temperature change is abnormal."
   --#ARGUMENTS { }
   --#SEVERITY MAJOR
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE NONOPERATIONAL
   ::= 212

envRateOfHumdChangeAbnormal TRAP-TYPE
    ENTERPRISE cps
                VARIABLES { envirIdentName, envirIdentLocation, envirHumidity }
    DESCRIPTION
        "INFORMATION: The rate of humidity change is abnormal."
   --#TYPE "CPS Environment Viewer: The rate of humidity change is abnormal"
   --#SUMMARY "The rate of humidity change is abnormal."
   --#ARGUMENTS { }
   --#SEVERITY MAJOR
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE NONOPERATIONAL
   ::= 213   

atsSwitchSource TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { atsIdentName, atsIdentSerialNumber, atsStatusSelectedSource, mtrapinfoString }
   DESCRIPTION
      "INFORMATIONAL: ATS has switched source.
       The first argument is the device name.
       The second argument is the serial number.
       The third argument is the selected source."
   --#TYPE "CPS ATS: ATS has switched source."
   --#SUMMARY "ATS has switched source."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 301

atsSourceFault TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { atsIdentName, atsIdentSerialNumber, atsStatusInputName, mtrapinfoString }
   DESCRIPTION
      "WARNING: Source fault occurs.
       The first argument is the device name.
       The second argument is the serial number.
       The third argument is the source name."
   --#TYPE "CPS ATS: Source fault occurs."
   --#SUMMARY "Source fault occurs."
   --#ARGUMENTS { }
   --#SEVERITY WARNING
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 302

atsSourceFaultCleared TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { atsIdentName, atsIdentSerialNumber, atsStatusInputName, mtrapinfoString }
   DESCRIPTION
      "INFORMATIONAL: Source fault has been cleared.
       The first argument is the device name.
       The second argument is the serial number.
       The third argument is the source name."
   --#TYPE "CPS ATS: Source fault has been cleared."
   --#SUMMARY "Source fault has been cleared."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 303

atsRedundancyFail TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { atsIdentName, atsIdentSerialNumber, atsStatusInputName, mtrapinfoString }
   DESCRIPTION
      "WARNING: Redundancy fails.
       The first argument is the device name.
       The second argument is the serial number.
       The third argument is the source name."
   --#TYPE "CPS ATS: Redundancy fails."
   --#SUMMARY "Redundancy fails."
   --#ARGUMENTS { }
   --#SEVERITY WARNING
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 304

atsRedundancyRestored TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { atsIdentName, atsIdentSerialNumber, atsStatusInputName, mtrapinfoString }
   DESCRIPTION
      "INFORMATIONAL: Redundancy has been restored.
       The first argument is the device name.
       The second argument is the serial number.
       The third argument is the source name."
   --#TYPE "CPS ATS: Redundancy has been restored."
   --#SUMMARY "Redundancy has been restored."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 305

atsInputHighVoltage TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { atsIdentName, atsIdentSerialNumber, atsStatusInputName, atsStatusInputVoltage, mtrapinfoString }
   DESCRIPTION
      "WARNING: The upper voltage limit has been crossed.
       The first argument is the device name.
       The second argument is the serial number.
       The third argument is the source name.
       The fourth argument is the phase voltage."
   --#TYPE "CPS ATS: The upper voltage limit has been crossed."
   --#SUMMARY "The upper voltage limit has been crossed."
   --#ARGUMENTS { }
   --#SEVERITY WARNING
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 306

atsInputHighVoltageCleared TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { atsIdentName, atsIdentSerialNumber, atsStatusInputName, atsStatusInputVoltage, mtrapinfoString }
   DESCRIPTION
      "INFORMATIONAL: The upper voltage condition has been cleared.
       The first argument is the device name.
       The second argument is the serial number.
       The third argument is the source name.
       The fourth argument is the phase voltage."
   --#TYPE "CPS ATS: The upper voltage condition has been cleared."
   --#SUMMARY "The upper voltage condition has been cleared."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 307

atsInputLowVoltage TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { atsIdentName, atsIdentSerialNumber, atsStatusInputName, atsStatusInputVoltage, mtrapinfoString }
   DESCRIPTION
      "WARNING: The lower voltage limit has been crossed.
       The first argument is the device name.
       The second argument is the serial number.
       The third argument is the source name.
       The fourth argument is the phase voltage."
   --#TYPE "CPS ATS: The lower voltage limit has been crossed."
   --#SUMMARY "The lower voltage limit has been crossed."
   --#ARGUMENTS { }
   --#SEVERITY WARNING
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 308

atsInputLowVoltageCleared TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { atsIdentName, atsIdentSerialNumber, atsStatusInputName, atsStatusInputVoltage, mtrapinfoString }
   DESCRIPTION
      "INFORMATIONAL: The lower voltage condition has been cleared.
       The first argument is the device name.
       The second argument is the serial number.
       The third argument is the source name.
       The fourth argument is the phase voltage."
   --#TYPE "CPS ATS: The lower voltage condition has been cleared."
   --#SUMMARY "The lower voltage condition has been cleared."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 309

atsInputHighFrequency TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { atsIdentName, atsIdentSerialNumber, atsStatusInputName, atsStatusInputFrequency, mtrapinfoString }
   DESCRIPTION
      "WARNING: The upper frequency limit has been crossed.
       The first argument is the device name.
       The second argument is the serial number.
       The third argument is the source name.
       The fourth argument is the input frequency."
   --#TYPE "CPS ATS: The upper frequency limit has been crossed."
   --#SUMMARY "The upper frequency limit has been crossed."
   --#ARGUMENTS { }
   --#SEVERITY WARNING
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 310

atsInputHighFrequencyCleared TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { atsIdentName, atsIdentSerialNumber, atsStatusInputName, atsStatusInputFrequency, mtrapinfoString }
   DESCRIPTION
      "INFORMATIONAL: The upper frequency condition has been cleared.
       The first argument is the device name.
       The second argument is the serial number.
       The third argument is the source name.
       The fourth argument is the input frequency."
   --#TYPE "CPS ATS: The upper frequency condition has been cleared."
   --#SUMMARY "The upper frequency condition has been cleared."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 311

atsInputLowFrequency TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { atsIdentName, atsIdentSerialNumber, atsStatusInputName, atsStatusInputFrequency, mtrapinfoString }
   DESCRIPTION
      "WARNING: The lower frequency limit has been crossed.
       The first argument is the device name.
       The second argument is the serial number.
       The third argument is the source name.
       The fourth argument is the input frequency."
   --#TYPE "CPS ATS: The lower frequency limit has been crossed."
   --#SUMMARY "The lower frequency limit has been crossed."
   --#ARGUMENTS { }
   --#SEVERITY WARNING
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 312

atsInputLowFrequencyCleared TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { atsIdentName, atsIdentSerialNumber, atsStatusInputName, atsStatusInputFrequency, mtrapinfoString }
   DESCRIPTION
      "INFORMATIONAL: The lower frequency condition has been cleared.
       The first argument is the device name.
       The second argument is the serial number.
       The third argument is the source name.
       The fourth argument is the input frequency."
   --#TYPE "CPS ATS: The lower frequency condition has been cleared."
   --#SUMMARY "The lower frequency condition has been cleared."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 313

atsCommunicationLost TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { atsIdentName, atsIdentSerialNumber, mtrapinfoString }
   DESCRIPTION
      "MAJOR: ATS communication lost.
       The first argument is the device name.
       The second argument is the serial number."
   --#TYPE "CPS ATS: ATS communication lost."
   --#SUMMARY "ATS communication lost."
   --#ARGUMENTS { }
   --#SEVERITY MAJOR
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 314
 
atsCommunicationEstablished TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { atsIdentName, atsIdentSerialNumber, mtrapinfoString }
   DESCRIPTION
      "INFORMATIONAL: ATS communication has been established.
       The first argument is the device name.
       The second argument is the serial number."
   --#TYPE "CPS ATS: ATS communication has been established."
   --#SUMMARY "ATS communication has been established."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 315 

atsLCDCommunicationLost TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { atsIdentName, atsIdentSerialNumber, mtrapinfoString }
   DESCRIPTION
      "WARNING: LCD communication lost.
       The first argument is the device name.
       The second argument is the serial number."
   --#TYPE "CPS ATS: LCD communication lost."
   --#SUMMARY "LCD communication lost."
   --#ARGUMENTS { }
   --#SEVERITY WARNING
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 316
 
atsLCDCommunicationLostCleared TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { atsIdentName, atsIdentSerialNumber, mtrapinfoString }
   DESCRIPTION
      "INFORMATIONAL: LCD communication lost has been cleared.
       The first argument is the device name.
       The second argument is the serial number."
   --#TYPE "CPS ATS: LCD communication lost has been cleared."
   --#SUMMARY "LCD communication lost has been cleared."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 317 

atsDB9CommunicationLost TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { atsIdentName, atsIdentSerialNumber, mtrapinfoString }
   DESCRIPTION
      "WARNING: DB9 communication lost.
       The first argument is the device name.
       The second argument is the serial number."
   --#TYPE "CPS ATS: DB9 communication lost."
   --#SUMMARY "DB9 communication lost."
   --#ARGUMENTS { }
   --#SEVERITY WARNING
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 318
 
atsDB9CommunicationLostCleared TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { atsIdentName, atsIdentSerialNumber, mtrapinfoString }
   DESCRIPTION
      "INFORMATIONAL: DB9 communication lost has been cleared.
       The first argument is the device name.
       The second argument is the serial number."
   --#TYPE "CPS ATS: DB9 communication lost has been cleared."
   --#SUMMARY "DB9 communication lost has been cleared."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 319 

atsPowerSupplyFault TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { atsIdentName, atsIdentSerialNumber, atsStatusPowerSupplyInputSource, mtrapinfoString }
   DESCRIPTION
      "CRITICAL: Power supply failure.
       The first argument is the device name.
       The second argument is the serial number.
       The third argument is the input source of the power supply."
   --#TYPE "CPS ATS: Power supply failure."
   --#SUMMARY "Power supply failure."
   --#ARGUMENTS { }
   --#SEVERITY MAJOR
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 320
 
atsPowerSupplyFaultCleared TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { atsIdentName, atsIdentSerialNumber, atsStatusPowerSupplyInputSource, mtrapinfoString }
   DESCRIPTION
      "CRITICAL: Power supply failure.
       The first argument is the device name.
       The second argument is the serial number.
       The third argument is the input source of the power supply."
   --#TYPE "CPS ATS: Power supply failure has been cleared."
   --#SUMMARY "Power supply failure has been cleared."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 321 

atsDevHardwareFault TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { atsIdentName, atsIdentSerialNumber, mtrapinfoString }
   DESCRIPTION
      "CRITICAL: Device hardware failure.
       The first argument is the device name.
       The second argument is the serial number."
   --#TYPE "CPS ATS: Device hardware failure."
   --#SUMMARY "Device hardware failure."
   --#ARGUMENTS { }
   --#SEVERITY MAJOR
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 322
 
atsDevHardwareFaultCleared TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { atsIdentName, atsIdentSerialNumber, mtrapinfoString }
   DESCRIPTION
      "INFORMATIONAL: Device hardware failure has been cleared.
       The first argument is the device name.
       The second argument is the serial number."
   --#TYPE "CPS ATS: Device hardware failure has been cleared."
   --#SUMMARY "Device hardware failure has been cleared."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 323

atsSourceConfigChanged TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { atsIdentName, atsIdentSerialNumber, mtrapinfoString }
   DESCRIPTION
      "INFORMATIONAL: A source configuration change has been made.
       The first argument is the device name.
       The second argument is the serial number."
   --#TYPE "CPS ATS: A source configuration change has been made."
   --#SUMMARY "A source configuration change has been made."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 324

atsDeviceConfigChanged TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { atsIdentName, atsIdentSerialNumber, mtrapinfoString }
   DESCRIPTION
      "INFORMATIONAL: A device configuration change has been made.
       The first argument is the device name.
       The second argument is the serial number."
   --#TYPE "CPS ATS: A device configuration change has been made."
   --#SUMMARY "A device configuration change has been made."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 325

atsOutletConfigChanged TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { atsIdentName, atsIdentSerialNumber, mtrapinfoString }
   DESCRIPTION
      "INFORMATIONAL: A outlet configuration change has been made.
       The first argument is the device name.
       The second argument is the serial number."
   --#TYPE "CPS ATS: A outlet configuration change has been made."
   --#SUMMARY "A outlet configuration change has been made."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 326

atsEventCountsCleared TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { atsIdentName, atsIdentSerialNumber, mtrapinfoString }
   DESCRIPTION
      "INFORMATIONAL: Event counts has been cleared.
       The first argument is the device name.
       The second argument is the serial number."
   --#TYPE "CPS ATS: Event counts has been cleared."
   --#SUMMARY "Event counts has been cleared."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 327

atsOverload TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { atsIdentName, atsIdentSerialNumber, 
                                                atsLoadStatusBankTableIndex, atsLoadStatusBankLoad, mtrapinfoString }
   DESCRIPTION
      "WARNING: The load has exceeded overload threshold.
       The first argument is the device name.
       The second argument is the serial number.
       The third argument is the bank number.
       The third argument is the load."
   --#TYPE "CPS ATS: The load has exceeded overload threshold."
   --#SUMMARY "The load has exceeded overload threshold."
   --#ARGUMENTS { }
   --#SEVERITY WARNING
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 328

atsOverloadCleared TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { atsIdentName, atsIdentSerialNumber, 
                                                atsLoadStatusBankTableIndex, atsLoadStatusBankLoad, mtrapinfoString }
   DESCRIPTION
      "INFORMATIONAL: The overload condition has been cleared.
       The first argument is the device name.
       The second argument is the serial number.
       The third argument is the bank number.
       The third argument is the load."
   --#TYPE "CPS ATS: The overload condition has been cleared."
   --#SUMMARY "The overload condition has been cleared."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 329

atsNearOverload TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { atsIdentName, atsIdentSerialNumber, 
                                                atsLoadStatusBankTableIndex, atsLoadStatusBankLoad, mtrapinfoString }
   DESCRIPTION
      "WARNING: The load has exceeded near overload threshold.
       The first argument is the device name.
       The second argument is the serial number.
       The third argument is the bank number.
       The third argument is the load."
   --#TYPE "CPS ATS: The load has exceeded near overload threshold."
   --#SUMMARY "The load has exceeded near overload threshold."
   --#ARGUMENTS { }
   --#SEVERITY WARNING
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 330

atsNearOverloadCleared TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { atsIdentName, atsIdentSerialNumber, 
                                                atsLoadStatusBankTableIndex, atsLoadStatusBankLoad, mtrapinfoString }
   DESCRIPTION
      "INFORMATIONAL: The near overload condition has beed cleared.
       The first argument is the device name.
       The second argument is the serial number.
       The third argument is the bank number.
       The third argument is the load."
   --#TYPE "CPS ATS: The near overload condition has beed cleared."
   --#SUMMARY "The near overload condition has beed cleared."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 331

atsLowLoad TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { atsIdentName, atsIdentSerialNumber, 
                                                atsLoadStatusBankTableIndex, atsLoadStatusBankLoad, mtrapinfoString }
   DESCRIPTION
      "WARNING: The load has been lower than low load threshold.
       The first argument is the device name.
       The second argument is the serial number.
       The third argument is the bank number.
       The third argument is the load."
   --#TYPE "CPS ATS: The load has been lower than low load threshold."
   --#SUMMARY "The load has been lower than low load threshold."
   --#ARGUMENTS { }
   --#SEVERITY WARNING
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 332

atsLowLoadCleared TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { atsIdentName, atsIdentSerialNumber, 
                                                atsLoadStatusBankTableIndex, atsLoadStatusBankLoad, mtrapinfoString }
   DESCRIPTION
      "INFORMATIONAL: The low load condition has been cleared.
       The first argument is the device name.
       The second argument is the serial number.
       The third argument is the bank number.
       The third argument is the load."
   --#TYPE "CPS ATS: The low load condition has been cleared."
   --#SUMMARY "The low load condition has been cleared."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 333


atsOutletOnCommand TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { atsIdentName, atsIdentSerialNumber,
               atsOutletCtrlTableIndex, atsOutletCtrlOutletName, mtrapinfoString }
   DESCRIPTION
      "INFORMATIONAL: An outlet on ATS has been assigned to turn on.
       The first argument is the device name.
       The second argument is the serial number.
       The third argument is the outlet index number.
       The fourth argument is the outlet name."
   --#TYPE "CPS ATS: An outlet on ATS has been assigned to turn on."
   --#SUMMARY "An outlet on ATS has been assigned to turn on."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 334

atsOutletOffCommand TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { atsIdentName, atsIdentSerialNumber,
               atsOutletCtrlTableIndex, atsOutletCtrlOutletName, mtrapinfoString }
   DESCRIPTION
      "INFORMATIONAL: An outlet on ATS has been assigned to turn off.
       The first argument is the serial number.
       The second argument is the device name.
       The third argument is the outlet index number.
       The fourth argument is the outlet name."
   --#TYPE "CPS ATS: An outlet on ATS has been assigned to turn off."
   --#SUMMARY "An outlet on ATS has been assigned to turn off."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 335

atsOutletRebootCommand TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { atsIdentName, atsIdentSerialNumber,
               atsOutletCtrlTableIndex, atsOutletCtrlOutletName, mtrapinfoString }
   DESCRIPTION
      "INFORMATIONAL: An outlet on ATS has been assigned to reboot.
       The first argument is the serial number.
       The second argument is the device name.
       The third argument is the outlet index number.
       The fourth argument is the outlet name."
   --#TYPE "CPS ATS: An outlet on ATS has been assigned to reboot."
   --#SUMMARY "An outlet on ATS has been assigned to reboot."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 336

atsCancelPendingCommand TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { atsIdentName, atsIdentSerialNumber,
               atsOutletCtrlTableIndex, atsOutletCtrlOutletName, mtrapinfoString }
   DESCRIPTION
      "INFORMATIONAL: A cancel pending command has been made on ATS.
       The first argument is the serial number.
       The second argument is the device name.
       The third argument is the outlet index number (0 indicates all outlets).
       The fourth argument is the outlet name (or device name if all outlets)."
   --#TYPE "CPS ATS: A cancel pending command has been made on ATS."
   --#SUMMARY "A cancel pending command has been made on ATS."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 337

atsOutletOn TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { atsIdentName, atsIdentSerialNumber,
               atsOutletCtrlTableIndex, atsOutletCtrlOutletName, mtrapinfoString }
   DESCRIPTION
      "INFORMATIONAL: An outlet on ATS has turned on.
       The first argument is the serial number.
       The second argument is the device name.
       The third argument is the outlet index number.
       The fourth argument is the outlet name."
   --#TYPE "CPS ATS: An outlet on ATS has turned on."
   --#SUMMARY "An outlet on ATS has turned on."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 338

atsOutletOff TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { atsIdentName, atsIdentSerialNumber,
               atsOutletCtrlTableIndex, atsOutletCtrlOutletName, mtrapinfoString }
   DESCRIPTION
      "INFORMATIONAL: An outlet on ATS has turned off.
       The first argument is the serial number.
       The second argument is the device name.
       The third argument is the outlet index number.
       The fourth argument is the outlet name."
   --#TYPE "CPS ATS: An outlet on ATS has turned off."
   --#SUMMARY "An outlet on ATS has turned off."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 339

-- ePDU2Traps
pduDeviceEvent TRAP-TYPE
                ENTERPRISE cps
                VARIABLES { ePDU2IdentSerialNumber, ePDU2IdentName, 
              ePDU2DeviceConfigIndex, mtrapinfoString }
                DESCRIPTION
                        "INFORMATIONAL: A PDU device event has been happened.
       The first argument is the serial number.
       The second argument is the device name.
       The third argument is the device table index."
                ::= 400

pduDeviceAlarm TRAP-TYPE
                ENTERPRISE cps
                VARIABLES { ePDU2IdentSerialNumber, ePDU2IdentName, 
              ePDU2DeviceStatusIndex, mtrapinfoString }
                DESCRIPTION
                        "Alarm: A PDU device alarm has been detected.
       The first argument is the serial number.
       The second argument is the device name.
       The third argument is the device table index."
                ::= 401

pduDeviceAlarmClear TRAP-TYPE
                ENTERPRISE cps
                VARIABLES { ePDU2IdentSerialNumber, ePDU2IdentName, 
              ePDU2DeviceStatusIndex, mtrapinfoString }
                DESCRIPTION
                        "INFORMATIONAL: A PDU device alarm has been cleared.
       The first argument is the serial number.
       The second argument is the device name.
       The third argument is the device table index."
                ::= 402

pduPhaseEvent TRAP-TYPE
                ENTERPRISE cps
                VARIABLES { ePDU2IdentSerialNumber, ePDU2IdentName, 
              ePDU2PhaseConfigIndex, ePDU2PhaseConfigNumber, mtrapinfoString }
                DESCRIPTION
                        "INFORMATIONAL: A PDU phase event has been happened.
       The first argument is the serial number.
       The second argument is the device name.
       The third argument is the phase table index.
       The foutrh argument is the phase number."
                ::= 403

pduPhaseAlarm TRAP-TYPE
                ENTERPRISE cps
                VARIABLES { ePDU2IdentSerialNumber, ePDU2IdentName, 
              ePDU2PhaseStatusIndex, ePDU2PhaseStatusNumber, mtrapinfoString }
                DESCRIPTION
                        "Alarm: A PDU phase alarm has been detected.
       The first argument is the serial number.
       The second argument is the device name.
       The third argument is the phase table index.
       The foutrh argument is the phase number."
                ::= 404

pduPhaseAlarmClear TRAP-TYPE
                ENTERPRISE cps
                VARIABLES { ePDU2IdentSerialNumber, ePDU2IdentName, 
              ePDU2PhaseStatusIndex, ePDU2PhaseStatusNumber, mtrapinfoString }
                DESCRIPTION
                        "INFORMATIONAL: A PDU phase alarm has been cleared.
       The first argument is the serial number.
       The second argument is the device name.
       The third argument is the phase table index.
       The foutrh argument is the phase number."
                ::= 405

pduBankEvent TRAP-TYPE
                ENTERPRISE cps
                VARIABLES { ePDU2IdentSerialNumber, ePDU2IdentName, 
              ePDU2BankConfigIndex, ePDU2BankConfigNumber, mtrapinfoString }
                DESCRIPTION
                        "INFORMATIONAL: A PDU bank event has been happened.
       The first argument is the serial number.
       The second argument is the device name.
       The third argument is the bank table index.
       The foutrh argument is the bank number."
                ::= 406

pduBankAlarm TRAP-TYPE
                ENTERPRISE cps
                VARIABLES { ePDU2IdentSerialNumber, ePDU2IdentName, 
              ePDU2BankStatusIndex, ePDU2BankStatusNumber, mtrapinfoString }
                DESCRIPTION
                        "Alarm: A PDU bank alarm has been detected.
       The first argument is the serial number.
       The second argument is the device name.
       The third argument is the bank table index.
       The foutrh argument is the bank number."
                ::= 407

pduBankAlarmClear TRAP-TYPE
                ENTERPRISE cps
                VARIABLES { ePDU2IdentSerialNumber, ePDU2IdentName, 
              ePDU2BankStatusIndex, ePDU2BankStatusNumber, mtrapinfoString }
                DESCRIPTION
                        "INFORMATIONAL: A PDU bank alarm has been cleared.
       The first argument is the serial number.
       The second argument is the device name.
       The third argument is the bank table index.
       The foutrh argument is the bank number."
                ::= 408

pduOutletSwitchedEvent TRAP-TYPE
                ENTERPRISE cps
                VARIABLES { ePDU2IdentSerialNumber, ePDU2IdentName, ePDU2OutletSwitchedControlIndex, 
              ePDU2OutletSwitchedControlNumber, ePDU2OutletSwitchedControlName, mtrapinfoString }
                DESCRIPTION
                        "INFORMATIONAL: A PDU switched outlet event has been happened.
       The first argument is the serial number.
       The second argument is the device name.
       The third argument is the outlet table index.
       The foutrh argument is the outlet number.
       The fifth argument is the outlet name."
                ::= 409

pduOutletSwitchedAlarm TRAP-TYPE
                ENTERPRISE cps
                VARIABLES { ePDU2IdentSerialNumber, ePDU2IdentName, ePDU2OutletSwitchedStatusIndex, 
              ePDU2OutletSwitchedStatusNumber, ePDU2OutletSwitchedStatusName, mtrapinfoString }
                DESCRIPTION
                        "Alarm: A PDU switched outlet alarm has been detected.
       The first argument is the serial number.
       The second argument is the device name.
       The third argument is the outlet table index.
       The foutrh argument is the outlet number.
       The fifth argument is the outlet name."
                ::= 410

pduOutletSwitchedAlarmClear TRAP-TYPE
                ENTERPRISE cps
                VARIABLES { ePDU2IdentSerialNumber, ePDU2IdentName, ePDU2OutletSwitchedStatusIndex, 
              ePDU2OutletSwitchedStatusNumber, ePDU2OutletSwitchedStatusName, mtrapinfoString }
                DESCRIPTION
                        "INFORMATIONAL: A PDU switched outlet alarm has been cleared.
       The first argument is the serial number.
       The second argument is the device name.
       The third argument is the outlet table index.
       The foutrh argument is the outlet number.
       The fifth argument is the outlet name."
                ::= 411

pduOutletMeteredEvent TRAP-TYPE
                ENTERPRISE cps
                VARIABLES { ePDU2IdentSerialNumber, ePDU2IdentName, ePDU2OutletMeteredConfigIndex, 
              ePDU2OutletMeteredConfigNumber, ePDU2OutletMeteredConfigName, mtrapinfoString }
                DESCRIPTION
                        "INFORMATIONAL: A PDU metered outlet event has been happened.
       The first argument is the serial number.
       The second argument is the device name.
       The third argument is the outlet table index.
       The foutrh argument is the outlet number.
       The fifth argument is the outlet name."
                ::= 412

pduOutletMeteredAlarm TRAP-TYPE
                ENTERPRISE cps
                VARIABLES { ePDU2IdentSerialNumber, ePDU2IdentName, ePDU2OutletMeteredStatusIndex, 
              ePDU2OutletMeteredStatusNumber, ePDU2OutletMeteredStatusName, mtrapinfoString }
                DESCRIPTION
                        "Alarm: A PDU metered outlet alarm has been detected.
       The first argument is the serial number.
       The second argument is the device name.
       The third argument is the outlet table index.
       The foutrh argument is the outlet number.
       The fifth argument is the outlet name."
                ::= 413

pduOutletMeteredAlarmClear TRAP-TYPE
                ENTERPRISE cps
                VARIABLES { ePDU2IdentSerialNumber, ePDU2IdentName, ePDU2OutletMeteredStatusIndex, 
              ePDU2OutletMeteredStatusNumber, ePDU2OutletMeteredStatusName, mtrapinfoString }
                DESCRIPTION
                        "INFORMATIONAL: A PDU metered outlet alarm has been cleared.
       The first argument is the serial number.
       The second argument is the device name.
       The third argument is the outlet table index.
       The foutrh argument is the outlet number.
       The fifth argument is the outlet name."
                ::= 414

pduDaisyChainEvent TRAP-TYPE
                ENTERPRISE cps
                VARIABLES { ePDU2IdentSerialNumber, ePDU2IdentName, ePDU2IdentIndex, 
              ePDU2IdentSerialNumber, ePDU2IdentName, mtrapinfoString }
                DESCRIPTION
                        "INFORMATIONAL: A PDU daisy-chain event has been happened.
       The first argument is the host serial number.
       The second argument is the host device name.
       The third argument is the event device table index.
       The foutrh argument is the event device serial number.
       The fifth argument is the event device name."
                ::= 415

pduDaisyChainAlarm TRAP-TYPE
                ENTERPRISE cps
                VARIABLES { ePDU2IdentSerialNumber, ePDU2IdentName, ePDU2IdentIndex, 
              ePDU2IdentSerialNumber, ePDU2IdentName, mtrapinfoString }
                DESCRIPTION
                        "Alarm: A PDU daisy-chain alarm has been detected.
       The first argument is the host serial number.
       The second argument is the host device name.
       The third argument is the alarm device table index.
       The foutrh argument is the alarm device serial number.
       The fifth argument is the alarm device name."
                ::= 416

pduDaisyChainAlarmClear TRAP-TYPE
                ENTERPRISE cps
                VARIABLES { ePDU2IdentSerialNumber, ePDU2IdentName, ePDU2IdentIndex, 
              ePDU2IdentSerialNumber, ePDU2IdentName, mtrapinfoString }
                DESCRIPTION
                        "INFORMATIONAL: A PDU daisy-chain alarm has been cleared.
       The first argument is the host serial number.
       The second argument is the host device name.
       The third argument is the alarm device table index.
       The foutrh argument is the alarm deice serial number.
       The fifth argument is the alarm device name."
                ::= 417

bmSystemAlarm TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { bmIdentSerialNumber, bmIdentName, bmIdentLocation, mtrapinfoBmEventId, mtrapinfoString }
   DESCRIPTION
      "ALARM: System alarm occurance.
       The first argument is the bm device serial number.
       The second argument is the bm system identification name.
       The third argument is the bm system location.
       The fourth argument is the alarm event specific identifier. 
       The fifth argument is the trap information string."
   ::= 600

bmSystemWarning TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { bmIdentSerialNumber, bmIdentName, bmIdentLocation, mtrapinfoBmEventId, mtrapinfoString }
   DESCRIPTION
      "WARNING: System warning occurance.
       The first argument is the bm device serial number.
       The second argument is the bm system identification name.
       The third argument is the bm system location.
       The fourth argument is the alarm event specific identifier. 
       The fifth argument is the trap information string."
   ::= 601

bmSystemInfo TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { bmIdentSerialNumber, bmIdentName, bmIdentLocation, mtrapinfoBmEventId, mtrapinfoString }
   DESCRIPTION
      "INFO: System information.
       The first argument is the bm device serial number.
       The second argument is the bm system identification name.
       The third argument is the bm system location.
       The fourth argument is the alarm event specific identifier. 
       The fifth argument is the trap information string."
   ::= 602

bmProbesAlarm TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { bmIdentSerialNumber, bmIdentName, bmIdentLocation, bmProbesStringIndex, bmProbesBattIndex, mtrapinfoBmEventId, mtrapinfoString }
   DESCRIPTION
      "ALARM: Probe alarm event.
       The first argument is the bm device serial number.
       The second argument is the bm system identification name. 
       The third argument is the bm system location. 
       The fourth argument is the string index the probe located. 
       The fifth argument is the battery index the probe located. 
       The sixth argument is the alarm event specific identifier. 
       The seventh argument is the trap information string."
   ::= 603

bmSProbesWarning TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { bmIdentSerialNumber, bmIdentName, bmIdentLocation, bmProbesStringIndex, bmProbesBattIndex, mtrapinfoBmEventId, mtrapinfoString }
   DESCRIPTION
      "WARNING: Probe warning event.
      The first argument is the bm device serial number.
       The second argument is the bm system identification name. 
       The third argument is the bm system location. 
       The fourth argument is the string index the probe located. 
       The fifth argument is the battery index the probe located. 
       The sixth argument is the alarm event specific identifier. 
       The seventh argument is the trap information string."
   ::= 604

bmProbesInfo TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { bmIdentSerialNumber, bmIdentName, bmIdentLocation, bmProbesStringIndex, bmProbesBattIndex, mtrapinfoBmEventId, mtrapinfoString }
   DESCRIPTION
      "INFO: Probe information.
       The first argument is the bm device serial number.
       The second argument is the bm system identification name. 
       The third argument is the bm system location. 
       The fourth argument is the string index the probe located. 
       The fifth argument is the battery index the probe located. 
       The sixth argument is the alarm event specific identifier. 
       The seventh argument is the trap information string."
   ::= 605

END


