-- ################################################################################

EXTREME-CFGMGMT-MIB DEFINITIONS ::= BEGIN
    IMPORTS
    TEXTUAL-CONVENTION FROM SNMPv2-TC
    NOTIFICATION-TYPE  FROM SNMPv2-SMI
    MODULE-IDENTITY FROM SNMPv2-SMI
    OBJECT-TYPE     FROM SNMPv2-SMI
    Integer32, Unsigned32      FROM SNMPv2-SMI
    TruthValue      FROM SNMPv2-TC
    OBJECT-GROUP    FROM SNMPv2-CONF
    DisplayString   FROM RFC1213-MIB
    extremeAgent    FROM EXTREME-BASE-MIB
    PortList        FROM EXTREME-BASE-MIB
                  sysDescr,sysUpTime, ifDescr         FROM RFC1213-MIB
    IpAddress       FROM SNMPv2-SMI;


    extremeCfgMgmt MODULE-IDENTITY
        LAST-UPDATED "201709120000Z"
        ORGANIZATION "Extreme Networks, Inc."
        CONTACT-INFO
           "Postal:  Extreme Networks, Inc.
                     6480 Via Del Oro
                     San Jose, CA 95119 USA
            Phone:   +1 408 579-2800
            E-mail:  support@extremenetworks.com
            WWW:     http://www.extremenetworks.com"
        DESCRIPTION "Extreme Configuration Management objects: objects common to all platforms"
        REVISION    "201709120000Z"
        DESCRIPTION
             "Updated the descriptions of extremeLastChangeCfgTable and possible values for extremeLastSaveConfigSource, extremeLastChangeConfigSource"
    ::= { extremeAgent 42 }

    extremeCfgMgmtCommon OBJECT IDENTIFIER
    ::= { extremeCfgMgmt 1 }

    extremeLastSaveCfgTable OBJECT-TYPE
        SYNTAX SEQUENCE OF ExtremeLastSavedEntry
        MAX-ACCESS   not-accessible
        STATUS   current
        DESCRIPTION
               "This group of objects contain details of the last
                saved configuration operation for the running configure.

                    If the value of extremeLastChangeConfigTime is
                    greater than extremeLastSaveConfigTime, the
                    configuration has been changed but not saved."

        ::= { extremeCfgMgmtCommon 1 }

     extremeLastSavedEntry OBJECT-TYPE
        SYNTAX   ExtremeLastSavedEntry
        MAX-ACCESS   not-accessible
        STATUS   current
        DESCRIPTION
               "This group of objects contain details of the last
                saved configuration operation for the running configure.

                    If the value of extremeLastChangeConfigTime is
                    greater than extremeLastSaveConfigTime, the
                    configuration has been changed but not saved."
        INDEX { extremeLastSaveConfigSlotId }
        ::= { extremeLastSaveCfgTable 1 }

ExtremeLastSavedEntry ::=
       SEQUENCE {
              extremeLastSaveConfigSlotId
                    INTEGER,
              extremeLastSaveConfigTime
                    DisplayString,
              extremeLastSaveConfigFileName
                    DisplayString,
              extremeLastSaveConfigSource
                    INTEGER
                   }

    extremeLastSaveConfigSlotId OBJECT-TYPE
        SYNTAX  INTEGER (0..65535)
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION 
              "Specifies the MSM/MM module number of a switch or the slot number currently being
          used by the active stack node."
       ::= { extremeLastSavedEntry 1 }
 
    extremeLastSaveConfigTime  OBJECT-TYPE
        SYNTAX  DisplayString (SIZE(0..31)) 
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "This object will return the date and time of the last 
            configuration save operation.  This data will reflect 
            the last cli or the last setting of the extremeSaveConfiguration 
            object."
    ::= { extremeLastSavedEntry 2 }

    extremeLastSaveConfigFileName  OBJECT-TYPE
        SYNTAX    DisplayString (SIZE (0..127))
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
            "This object will return the configuration file name of the last save operation."
    ::= { extremeLastSavedEntry 3 }

    extremeLastSaveConfigSource OBJECT-TYPE
        SYNTAX INTEGER {
            snmp(1),
            remoteDevice(2),
            none(3)
        }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "This object indicates the source of the last configuration save operation 
             for the configuration file associated with this entry, extremeLastSaveConfigFileName ."
    ::= { extremeLastSavedEntry 4 }

    extremeLastChangeCfgTable OBJECT-TYPE
        SYNTAX   SEQUENCE OF ExtremeLastChangeCfgEntry
        MAX-ACCESS   not-accessible
        STATUS       current
        DESCRIPTION
               "This group of objects contain details of the last
                change configuration operation for the running configure.

                    If the value of extremeLastChangeConfigTime is
                    greater than extremeLastSaveConfigTime, the configuration has been changed but not saved."
       ::= { extremeCfgMgmtCommon 2 }

     extremeLastChangeCfgEntry OBJECT-TYPE
        SYNTAX   ExtremeLastChangeCfgEntry
        MAX-ACCESS   not-accessible
        STATUS       current
        DESCRIPTION
               "This group of objects contain details of the last
                change configuration operation for the running configure.

                    If the value of extremeLastChangeConfigTime is
                    greater than extremeLastSaveConfigTime, the configuration has been changed but not saved."
       INDEX { extremeLastChangeCfgSlotId }
       ::= { extremeLastChangeCfgTable 1 }

ExtremeLastChangeCfgEntry ::=
     SEQUENCE {
          extremeLastChangeCfgSlotId
                   INTEGER,
          extremeLastChangeConfigTime
                   DisplayString,
          extremeLastChangeConfigFileName
                   DisplayString,
          extremeLastChangeConfigSource
                    INTEGER
               }

    extremeLastChangeCfgSlotId OBJECT-TYPE
          SYNTAX  INTEGER (0..65535)
          MAX-ACCESS read-only
          STATUS current
          DESCRIPTION 
                 "Specifies the MSM/MM module number of a switch or the slot number currently being
          used by the active stack node."
          ::= { extremeLastChangeCfgEntry 1 } 

    extremeLastChangeConfigTime  OBJECT-TYPE
        SYNTAX  DisplayString (SIZE(0..31))
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "This object will return the date and time of the last 
            configuration change operation."
    ::= { extremeLastChangeCfgEntry 2 }

    extremeLastChangeConfigFileName  OBJECT-TYPE
        SYNTAX    DisplayString (SIZE (0..127))
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
            "This object will return the name of the file containing the configuration
             on which the last configuration change operation occurred."
    ::= { extremeLastChangeCfgEntry 3 }

    extremeLastChangeConfigSource OBJECT-TYPE
        SYNTAX INTEGER {
            snmp(1),
            remoteDevice(2),
            none(3)
        }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "This object indicates the source of the last configuration change operation."
    ::= { extremeLastChangeCfgEntry 4 }


--
--  Configuration save objects.  These objects are used by the network
--  management application to save configuration changes into the
--  persistent store.  There are 2 stores on the device; a primary and
--  a secondary.

--
-- Groups
--
    extremeCfgGroups OBJECT IDENTIFIER ::= { extremeCfgMgmt 9 }

      extremeRunningLastSavedCfgGroup OBJECT-GROUP

          OBJECTS {
	      extremeLastSaveConfigTime, 
	      extremeLastSaveConfigFileName,
	      extremeLastSaveConfigSource
          }
          STATUS          current
          DESCRIPTION
               "This group of objects contain details of the last 
                saved configuration operation for the running configure.

                    If the value of extremeLastChangeConfigTime is
                    greater than extremeLastSaveConfigTime, the
                    configuration has been changed but not saved."
          ::= { extremeCfgGroups 1 }

      extremeRunningLastChangeCfgGroup OBJECT-GROUP

          OBJECTS {
	      extremeLastChangeConfigTime, 
	      extremeLastChangeConfigFileName,
	      extremeLastChangeConfigSource
          }
          STATUS          current
          DESCRIPTION
               "This group of objects contain details of the last 
                change configuration operation for the running configure.

                    If the value of extremeLastChangeConfigTime is
                    greater than extremeLastSaveConfigTime, the
                    configuration has been changed but not saved."
          ::= { extremeCfgGroups 2 }


--
-- Trap Support Objects. 
--
    extremeCfgMgmtTrapPrefix OBJECT IDENTIFIER ::= { extremeCfgMgmt 10 }

    cfgMgmtTraps OBJECT IDENTIFIER  ::= { extremeCfgMgmtTrapPrefix 0 }

--  The following are support objects for the Configuration Management traps.
    cfgMgmtControl OBJECT IDENTIFIER ::= { extremeCfgMgmt 11 }

    cfgMgmtConfigSaveTrapEnable OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
                "This variable indicates whether the system produces the
                cfgMgmtConfigSaveTrap notification. A false value will prevent
                notifications from being generated by this system."
        DEFVAL          { false }
    ::= { cfgMgmtControl 1 }


    cfgMgmtConfigChangeTrapEnable OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
                "This variable indicates whether the system produces the
                cfgMgmtConfigChangeTrap notification. A false value will prevent
                notifications from being generated by this system."
        DEFVAL          { false }
    ::= { cfgMgmtControl 2 }

    cfgMgmtConfigSaveTrap NOTIFICATION-TYPE
        OBJECTS {
                    extremeLastSaveConfigTime, 
                    extremeLastSaveConfigFileName,
                    extremeLastSaveConfigSource
        }
        STATUS             current
        DESCRIPTION
           "This notification indicates that the running
           configuration of the managed system has updated
           the NVRAM storage of the current configuration."
   ::= { cfgMgmtTraps 1 }

    cfgMgmtConfigChangeTrap NOTIFICATION-TYPE
        OBJECTS {
	            extremeLastChangeConfigTime, 
	            extremeLastChangeConfigFileName,
	            extremeLastChangeConfigSource
        }
        STATUS             current
        DESCRIPTION
           "This notification contain details of the last
           change configuration operation for the running configure."
   ::= { cfgMgmtTraps 2 }

END
