
BAY-STACK-NES-MIB DEFINITIONS ::= BEGIN

IMPORTS
    OBJECT-TYPE, MODULE-IDENTITY, NOTIFICATION-TYPE, Integer32, Unsigned32
        FROM SNMPv2-SMI
    RowStatus, TruthValue
        FROM SNMPv2-TC
    InterfaceIndex
        FROM IF-MIB
    bayStackMibs
        FROM SYNOPTICS-ROOT-MIB;

bayStackNesMib MODULE-IDENTITY
    LAST-UPDATED    "201408220000Z"
    ORGANIZATION    "Avaya"
    CONTACT-INFO    "Avaya"
    DESCRIPTION
        "Avaya Energy Saver (AES, formerly known as NES) MIB

         Copyright 2014 Avaya, Inc.
         All rights reserved.
         This Avaya SNMP Management Information Base Specification 
         embodies Avaya' confidential and proprietary intellectual
         property. Avaya retains all title and ownership in the 
         Specification, including any revisions.

         This Specification is supplied 'AS IS,' and Avaya makes 
         no warranty, either express or implied, as to the use, 
         operation, condition, or performance of the Specification."

    REVISION "201408220000Z" -- 22 August 2014
    DESCRIPTION "v2:  Changed organization to Avaya."

    REVISION "200905190000Z" -- 19 May 2009
    DESCRIPTION "v1:  Initial version."

    ::= { bayStackMibs 34 }

bayStackNesNotifications       OBJECT IDENTIFIER ::= { bayStackNesMib 0 }
bayStackNesObjects             OBJECT IDENTIFIER ::= { bayStackNesMib 1 }
bayStackNesNotificationObjects OBJECT IDENTIFIER ::= { bayStackNesMib 2 }

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

-- -------------------------------------------------------------
-- Scalar Objects
-- -------------------------------------------------------------

bsnesScalars OBJECT IDENTIFIER ::= { bayStackNesObjects 1 }

bsnesEnergySaverEnabled OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "This object controls whether the Avaya Energy Saver feature
         is enabled."
    ::= { bsnesScalars 1 }

bsnesPoePowerSavingEnabled OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "This object controls whether Avaya Energy Saver POE power saving
         is enabled."
    ::= { bsnesScalars 2 }

bsnesEfficiencyModeEnabled OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "This object controls whether Avaya Energy Saver Efficiency-Mode
         is enabled."
    ::= { bsnesScalars 3 }

bsnesEnergySaverActive OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "This object controls whether Avaya Energy Saver is currently active.
         A value of true(1) indicates energy saving is active.  A value of
         false(2) indicates energy saving is currently inactive.  The value
         of this object will change over time as specified by the energy
         saving schedule.  Setting this object allows energy saving to be
         manually activated or deactivated."
    ::= { bsnesScalars 4 }

-- -------------------------------------------------------------
-- bsnesScheduleTable
-- -------------------------------------------------------------

bsnesScheduleTable OBJECT-TYPE
    SYNTAX SEQUENCE OF BsnesScheduleEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "This table contains the schedule for activation and deactivation
         of the Avaya Energy Saver feature."
    ::= { bayStackNesObjects 2 }

bsnesScheduleEntry OBJECT-TYPE
    SYNTAX BsnesScheduleEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "An energy saver schedule entry, indicates a time to activate or
         deactivate energy savings."
    INDEX { bsnesScheduleDay, bsnesScheduleHour, bsnesScheduleMinute }
    ::= { bsnesScheduleTable 1 }

BsnesScheduleEntry ::=
    SEQUENCE {
        bsnesScheduleDay       INTEGER,
        bsnesScheduleHour      Integer32,
        bsnesScheduleMinute    Integer32,
        bsnesScheduleAction    INTEGER,
        bsnesScheduleRowStatus RowStatus
    }

bsnesScheduleDay OBJECT-TYPE
    SYNTAX      INTEGER {
                    monday(1),
                    tuesday(2),
                    wednesday(3),
                    thursday(4),
                    friday(5),
                    saturday(6),
                    sunday(7)
                }
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Day on which this schedule entry takes effect."
    ::= { bsnesScheduleEntry 1 }

bsnesScheduleHour OBJECT-TYPE
    SYNTAX      Integer32 (0..23)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Hour on which this schedule entry takes effect.  A value of 0 means
         12am midnight.  A value of 12 means 12pm noon."
    ::= { bsnesScheduleEntry 2 }

bsnesScheduleMinute OBJECT-TYPE
    SYNTAX      Integer32 (0..59)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Minute on which this schedule entry takes effect."
    ::= { bsnesScheduleEntry 3 }
 
bsnesScheduleAction OBJECT-TYPE
    SYNTAX      INTEGER {
                    activate(1),
                    deactivate(2)
                }
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The action taken when this schedule entry takes effect.  Indicates
         whether energy savings will be activated or deactivated."
    ::= { bsnesScheduleEntry 4 }

bsnesScheduleRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "Used to create/delete schedule entries."
    ::= { bsnesScheduleEntry 5 }

-- -------------------------------------------------------------
-- bsnesInterfaceTable
-- -------------------------------------------------------------

bsnesInterfaceTable OBJECT-TYPE
    SYNTAX SEQUENCE OF BsnesInterfaceEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "This table contains per-port NES settings."
    ::= { bayStackNesObjects 3 }

bsnesInterfaceEntry OBJECT-TYPE
    SYNTAX BsnesInterfaceEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "NES settings for a port."
    INDEX { bsnesInterfaceIndex }
    ::= { bsnesInterfaceTable 1 }

BsnesInterfaceEntry ::=
    SEQUENCE {
        bsnesInterfaceIndex                InterfaceIndex,
        bsnesInterfaceEnergySaverEnabled   TruthValue,
        bsnesInterfaceEnergySaverPoeStatus INTEGER
    }

bsnesInterfaceIndex OBJECT-TYPE
    SYNTAX      InterfaceIndex
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The ifIndex value of an interface."
    ::= { bsnesInterfaceEntry 1 }

bsnesInterfaceEnergySaverEnabled OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Indicates whether the Avaya Energy Saver feature is enabled for
         this interface."
    ::= { bsnesInterfaceEntry 2 }

bsnesInterfaceEnergySaverPoeStatus OBJECT-TYPE
    SYNTAX      INTEGER {
                    enabled(1),
                    disabled(2),
                    notApplicable(3)
                }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Indicates the Avaya Energy Saver PoE status for this interface."
    ::= { bsnesInterfaceEntry 3 }

-- -------------------------------------------------------------
-- bsnesSavingsTable
-- -------------------------------------------------------------

bsnesSavingsTable OBJECT-TYPE
    SYNTAX SEQUENCE OF BsnesSavingsEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "This table contains per-unit information about the amount of power
         being saved by NES."
    ::= { bayStackNesObjects 4 }

bsnesSavingsEntry OBJECT-TYPE
    SYNTAX BsnesSavingsEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Information about the amount of power being saved for a unit."
    INDEX { bsnesSavingsUnitIndex }
    ::= { bsnesSavingsTable 1 }

BsnesSavingsEntry ::=
    SEQUENCE {
        bsnesSavingsUnitIndex   Unsigned32,
        bsnesSavingsUnitSavings Unsigned32,
        bsnesSavingsPoeSavings  Unsigned32
    }

bsnesSavingsUnitIndex OBJECT-TYPE
    SYNTAX      Unsigned32 (1..8)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The unit number."
    ::= { bsnesSavingsEntry 1 }

bsnesSavingsUnitSavings OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Indicates the amount of switch capacity power being saved on this
         unit.  The value of this object is 1/10 watts."
    ::= { bsnesSavingsEntry 2 }

bsnesSavingsPoeSavings OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Indicates the amount of PoE power being saved on this unit.  The
         value of this object is 1/10 watts."
    ::= { bsnesSavingsEntry 3 }

-- -------------------------------------------------------------
-- Notification Objects
-- -------------------------------------------------------------

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

bsnesGloballyEnabled NOTIFICATION-TYPE
    STATUS current
    DESCRIPTION
        "Indicates that NES was globally enabled."
    ::= { bayStackNesNotifications 1 }

bsnesGloballyDisabled NOTIFICATION-TYPE
    STATUS current
    DESCRIPTION
        "Indicates that NES was globally disabled."
    ::= { bayStackNesNotifications 2 }

bsnesManuallyActivated NOTIFICATION-TYPE
    STATUS current
    DESCRIPTION
        "Indicates that NES was manually activated."
    ::= { bayStackNesNotifications 3 }

bsnesManuallyDeactivated NOTIFICATION-TYPE
    STATUS current
    DESCRIPTION
        "Indicates that NES was manually deactived."
    ::= { bayStackNesNotifications 4 }

bsnesScheduleNotApplied NOTIFICATION-TYPE
    STATUS current
    DESCRIPTION
        "Indicates that a schedule was not applied because
         SNTP in not synchronized."
    ::= { bayStackNesNotifications 5 }

bsnesScheduleApplied NOTIFICATION-TYPE
    STATUS current
    DESCRIPTION
        "Indicates that SNTP is synchronized and that the
         schedule is being applied."
    ::= { bayStackNesNotifications 6 }

bsnesActivated NOTIFICATION-TYPE
    STATUS current
    DESCRIPTION
        "Indicates that NES was activated by schedule."
    ::= { bayStackNesNotifications 7 }

bsnesDeactivated NOTIFICATION-TYPE
    STATUS current
    DESCRIPTION
        "Indicates that NES was deactivated by schedule."
    ::= { bayStackNesNotifications 8 }

END

