-- *********************************************************************
-- CISCO-LICENSE-MGR-MIB.my: Cisco mib to manage license file
--   
-- August 2003, Arul Mozhi
--   
-- Copyright (c) 2007-2008, 2019 by cisco Systems Inc.
--   
-- All rights reserved.
--   
-- *******************************************************************

CISCO-LICENSE-MGR-MIB DEFINITIONS ::= BEGIN

IMPORTS
    OBJECT-TYPE,
    MODULE-IDENTITY,
    Integer32,
    Unsigned32,
    Gauge32,
    NOTIFICATION-TYPE
        FROM SNMPv2-SMI
    MODULE-COMPLIANCE,
    OBJECT-GROUP,
    NOTIFICATION-GROUP
        FROM SNMPv2-CONF
    SnmpAdminString
        FROM SNMP-FRAMEWORK-MIB
    ifIndex
        FROM IF-MIB
    DateAndTime,
    TruthValue,
    TestAndIncr,
    TEXTUAL-CONVENTION
        FROM SNMPv2-TC
    ciscoMgmt
        FROM CISCO-SMI;


ciscoLicenseMgrMIB MODULE-IDENTITY
    LAST-UPDATED    "201904150000Z"
    ORGANIZATION    "Cisco Systems Inc."
    CONTACT-INFO
            "Cisco Systems
            Customer Service
            Postal: 170 W Tasman Drive
            San Jose, CA  95134
            USA
            Tel: +1 800 553 -NETS
            E-mail: cs-san@cisco.com"
    DESCRIPTION
        "The MIB module for a method of managing license files on
        the system. 
        Licensing mechanism provides more flexibility in supporting 
        various features in the system. Feature License is the 
        specification of the permission to use a particular feature,
        indicated through  license file. The permissions can also
        specify the limit on the number of concurrent usages of the 
        feature, the limit on time period of the feature usage and 
        the device where the feature has to be used. License files 
        will be given to customers when they buy the licenses. User 
        should copy the license file to some location on the system,
        for installing."
    REVISION        "200811040000Z"
    DESCRIPTION
        "Added the following enumerations to clmLicenseConfigCommandStatus
        invalidLicFilenameSize, 
        permanentLicenseExpiryConflict"
    REVISION        "200804220000Z"
    DESCRIPTION
        "-Added clmLicenseFeatureStatus OBJECT IDENTIFIER.

        -Added the following new objects under clmLicenseFeatureStatus 
        clmMaxSslTransactions 
        clmMaxVirtualizedContext 
        clmModuleBandwidth 
        clmCompressionPerformance 
        clmWebOptimization

        -Added clmLicenseFeatureStatusGroup OBJECT-GROUP.

        -Deprecated ciscoLicenseMgrCompliance4 MODULE-COMPLIANCE.

        -Added ciscoLicenseMgrCompliance5 MODULE-COMPLIANCE."
    REVISION        "200708020000Z"
    DESCRIPTION
        "Added portActivation10G to Textual-Convention
        ClmLicenseType."
    REVISION        "200612170000Z"
    DESCRIPTION
        "Added new Textual-Convention ClmLicenseType
        Added following tables: 
            clmPortLicensingTable 
            clmPortLicCountTable
        Added clmLicenseDefaultLicenses object to  
        clmLicenseFeatureUsageTable    
        Added the following enums to clmLicenseConfigCommandStatus:
            invalidLicenseFeature
            noFeatureSupport
            emptyLicenseFile
            invalidServerLine
            invalidVendorLine
        Added clmLicenseInformationGroupSup2 OBJECT-GROUP
        Added clmLicenseInformationPortLicGroup OBJECT-GROUP         
        Added ciscoLicenseMgrCompliance4 MODULE-COMPLIANCE."
    REVISION        "200509300000Z"
    DESCRIPTION
        "Added clmLicenseEnabled  and clmLicenseGracePeriodLeft
        objects in clmLicenseFeatureUsageTable.
        Deprecated clmLicenseGracePeriod object from 
        clmLicenseFeatureUsageTable."
    REVISION        "200412010000Z"
    DESCRIPTION
        "Added new error code  'licenseServerBusy' in
        'clmLicenseConfigCommandStatus' object."
    REVISION        "200407200000Z"
    DESCRIPTION
        "Added a new object for detecting the license violation in
        the system."
    REVISION        "200311270000Z"
    DESCRIPTION
        "Updated the description of 'clmLicenseFileURI',
        'clmLicenseFileTargetName' and 'clmLicenseConfigCommand' to 
        include the 'update' license operation.
        Added one more new error code 'invalidPlatform' into the
        'clmLicenseConfigCommandStatus' object."
    REVISION        "200310300000Z"
    DESCRIPTION
        "New objects for checkin/checkout a licensed feature
        have been added. 
        New table 'clmFeatureUsageDetailsTable' has been added to 
        show the list of applications, which are checked out the
        licensed features."
    REVISION        "200309120000Z"
    DESCRIPTION
        "Initial version of this MIB module."
    ::= { ciscoMgmt 369 }



ClmLicenseType ::= TEXTUAL-CONVENTION
    STATUS          current
    DESCRIPTION
        "This textual convention identifies the license type and the
        license that can be acquired on.
          portActivation(1) - License for port 
          activation for ports with port speed 1/2/4G. 
          This is per interface.

          portActivation10G(2) - License for port activation for ports 
          with port speed 10G. This is per interface."
    SYNTAX          INTEGER  {
                        portActivation(1),
                        portActivation10G(2)
                    }
ciscoLicenseMgrMIBObjects  OBJECT IDENTIFIER
    ::= { ciscoLicenseMgrMIB 1 }

ciscoLicenseMgrMIBConform  OBJECT IDENTIFIER
    ::= { ciscoLicenseMgrMIB 2 }

ciscoLicenseMgrMIBNotifs  OBJECT IDENTIFIER
    ::= { ciscoLicenseMgrMIB 3 }

ciscoLicenseMgrConfig  OBJECT IDENTIFIER
    ::= { ciscoLicenseMgrMIBObjects 1 }

clmLicenseConfiguration  OBJECT IDENTIFIER
    ::= { ciscoLicenseMgrMIBObjects 2 }

clmLicenseInformation  OBJECT IDENTIFIER
    ::= { ciscoLicenseMgrMIBObjects 3 }

ciscoLicenseMgrNotifications  OBJECT IDENTIFIER
    ::= { ciscoLicenseMgrMIBNotifs 0 }


clmHostId OBJECT-TYPE
    SYNTAX          SnmpAdminString (SIZE  (40))
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object contains the 'License hostid' of the
        local system. Its value is an opaque string, and is used
        to identify the local system when requesting license(s) 
        for this system." 
    ::= { ciscoLicenseMgrConfig 1 }

clmLicenseConfigSpinLock OBJECT-TYPE
    SYNTAX          TestAndIncr
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
        "This object is used to facilitate modification
        of clmLicenseFileURI, clmLicenseFileTargetName and
        clmLicenseConfigCommand  objects by multiple managers.
        The procedure for modifying the above three objects are 
        as follows:
        1. Determine new values for clmLicenseFileURI, 
        clmLicenseFileTargetName and clmLicenseConfigCommand.

        2. Retrieve the value of clmLicenseConfigSpinLock.

        3. Set the value of clmLicenseConfigSpinLock to the
        retrieved value, and (in the same PDU) the value of
        clmLicenseFileURI to the new value. If the set fails for 
        the clmLicenseConfigSpinLock object, go back to step 2.

        4. Set the value of clmLicenseConfigSpinLock to the
        retrieved value incremented by one, and (in the same PDU) 
        the value of clmLicenseFileTargetName to its new value. If 
        the set fails for clmLicenseConfigSpinLock, go back to 
        step 2.

        5. Set the value of clmLicenseConfigSpinLock to the
        retrieved value incremented by two, and (in the same PDU) 
        the value of clmLicenseConfigCommand to 'install' or 
        'uninstall' or 'update'. If the set fails for 
        clmLicenseConfigSpinLock, go back to step 2.

        Note that if it's possible to include 
        clmLicenseFileTargetName and/or clmLicenseConfigCommand in 
        the (Set Request) PDU of an earlier step, then step 4 
        and/or 5, can be eliminated." 
    ::= { clmLicenseConfiguration 1 }

clmLicenseFileURI OBJECT-TYPE
    SYNTAX          SnmpAdminString (SIZE  (0..255))
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
        "This object represents the location on the local system,
        from which the license file will be picked for installation 
        or updating.
        User should have copied the license file provided by  
        CISCO-CCO , by some other means ( for example, thru CLI) 
        to this location. For example, the value of this object 
        could be 'bootflash:licfile1.lic'. This object MUST be 
        set to a valid value before or concurrently with setting 
        the value of the clmLicenseConfigCommand object 
        to 'install' or 'update'.
        For uninstall operation the value of this object is not
        considered, it is irrelevant." 
    ::= { clmLicenseConfiguration 2 }

clmLicenseFileTargetName OBJECT-TYPE
    SYNTAX          SnmpAdminString (SIZE  (0..31))
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
        "This object represents the name with which the
        license file will be installed, or the name of the license 
        file for uninstall, or the name of the license file to be 
        updated.

        For 'uninstall' operation, this object must be set to the
        appropriate value, i.e., a non-zero length string, before 
        or concurrently with setting the value of 
        clmLicenseConfigCommand object to 'uninstall'.

        For 'install' operation, this object is set either to the
        file name with which the license will be installed, or to
        the zero-length string.  In the latter case, the filename
        specified through clmLicenseFileURI will be used for 
        installing the license.
        For example, if the value of clmLicenseFileURI object is 
        set to 'bootflash:licfile1.lic' and this object is set to
        'target1.lic', then the license will be installed  
        with the filename 'target1.lic'. 
        If this object contains zero length string then license 
        will be installed with the filename 'licfile1.lic'.

        For 'update' operation, this object is set either to the
        file name which is to be updated (overwritten), or to
        the zero-length string.  In the latter case, the filename
        specified through clmLicenseFileURI, will be updated.
        For example, if the value of clmLicenseFileURI object is 
        set to 'bootflash:licfile2.lic' and this object is set to
        'target2.lic', then the already installed license file  
        'target2.lic' will be updated by the contents of 
        'bootflash:licfile2.lic'.
        If this object contains zero length string then the 
        already installed license file 'licfile2.lic' will be
        updated with the contents of 'bootflash:licfile2.lic'."
    DEFVAL          { "" } 
    ::= { clmLicenseConfiguration 3 }

clmLicenseConfigCommand OBJECT-TYPE
    SYNTAX          INTEGER  {
                        install(1),
                        uninstall(2),
                        noOp(3),
                        update(4)
                    }
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
        "The command to be executed.
        Command                 Remarks

        install   Installs the license file specified thru the
                  clmLicenseFileURI on the system, also performs 
                  some verification on the license file before 
                  installing. 

        uninstall Uninstalls the license file specified in the  
                  clmLicenseFileTargetName object. 

        noOp      no operation will be performed. 

        update    Updates (Overwrites) an already installed license 
                  file.

        The value of this object when read is always 'noOp'."
    DEFVAL          { noOp } 
    ::= { clmLicenseConfiguration 4 }

clmLicenseConfigCommandStatus OBJECT-TYPE
    SYNTAX          INTEGER  {
                        success(1),
                        inProgress(2),
                        corruptedLicenseFile(3),
                        targetLicenseFileAlreadyExist(4),
                        invalidLicenseFileName(5),
                        duplicateLicense(6),
                        licenseInUse(7),
                        generalLicensingFailure(8),
                        none(9),
                        licenseExpiryConflict(10),
                        invalidLicenseCount(11),
                        notThisHost(12),
                        licenseInGraceExceeded(13),
                        licenseFileNotFound(14),
                        licenseFileMissing(15),
                        invalidLicenseFileExtension(16),
                        invalidURI(17),
                        noDemoLicenseSupport(18),
                        invalidPlatform(19),
                        licenseServerBusy(20),
                        invalidLicenseFeature(21),
                        noFeatureSupport(22),
                        emptyLicenseFile(23),
                        invalidServerLine(24),
                        invalidVendorLine(25),
                        invalidLicFilenameSize(26),
                        permanentLicenseExpiryConflict(27)
                    }
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "The status of the license install / uninstall / update
        operation.
        success (1) - install/uninstall/update operation completed 
                       successfully. 
        inProgress (2) - License install/uninstall/update operation
                         is in progress.
        corruptedLicenseFile (3) - License file content is 
                                   Invalid/Corrupted.
        targetLicenseFileAlreadyExist (4) - Target license file 
                                            name already exist.
        invalidLicenseFileName (5) - Invalid license file target
                                     name for install / uninstall 
                                     operation.
        duplicateLicense (6) - License file is already installed.
        licenseInUse (7) - Can't uninstall a license file which is 
                           in use.
        generalLicensingFailure (8) - General error from license 
                                      Manager.
        none (9) - no install/uninstall/update operation is 
                   performed. 
        licenseExpiryConflict(10) - License exists for the
                                    feature.
        invalidLicenseCount(11) - License count is invalid for 
                                  the feature. 
        notThisHost (12) - License host-id in the license file
                           doesn't match.
        licenseInGraceExceeded (13) - Number of licenses in grace 
                                  period is more than the number 
                                  in install license file.
        licenseFileNotFound (14) - License file not found, for 
                                   install / uninstall / update 
                                   operation.
        licenseFileMissing (15) - A previously installed license 
                                  file is found missing.

        invalidLicenseFileExtension (16) - License file does not 
                                           have a .lic extension.
        invalidURI (17) - Invalid license file URI, specified for 
                          install operation.
        noDemoLicenseSupport (18)  - Demo License Not Supported.

        invalidPlatform (19) - Invalid Platform. 
        licenseServerBusy (20) - License server is busy. 
                                 Retry in a few seconds.
        invalidLicenseFeature (21) - Invalid license feature.
        noFeatureSupport (22) - License server does not support
                                this feature.
        emptyLicenseFile (23) - License file has no features.
        invalidServerLine (24) - SERVER line in license file should
                           have 'this_host ANY'.
        invalidVendorLine (25) - VENDOR line in license should have
                           'cisco'.
        invalidLicFilenameSize (26) - If filename size 
                                                       exceeds 30 chars.
               permanetLicenseExpiryConflict (27) - Permanent
                                                       license exists for feature." 
    ::= { clmLicenseConfiguration 5 }

clmLicenseRequestSpinLock OBJECT-TYPE
    SYNTAX          TestAndIncr
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
        "This object is used to facilitate modification
        of clmLicenseRequestFeatureName , clmLicenseRequestAppName
        and clmLicenseRequestCommand  objects by multiple managers.
        The procedure for modifying the above three objects are 
        as follows:
        1. Determine new values for clmLicenseRequestFeatureName, 
           clmLicenseRequestAppName and clmLicenseConfigCommand.

        2. Retrieve the value of clmLicenseRequestSpinLock.

        3. Set the value of clmLicenseRequestSpinLock to the
        retrieved value, and (in the same PDU) the value of
        clmLicenseRequestFeatureName to the new value. If the set 
        fails for the clmLicenseRequestSpinLock object, 
        go back to step 2.

        4. Set the value of clmLicenseRequestSpinLock to the
        retrieved value incremented by one, and (in the same PDU)
        the value of clmLicenseRequestAppName to its new value. If
        the set fails for clmLicenseRequestSpinLock, go back to
        step 2.

        5. Set the value of clmLicenseRequestSpinLock to the
        retrieved value incremented by two, and (in the same PDU) 
        the value of clmLicenseRequestCommand to 'checkIn' or 
        'checkOut'. If the set fails for clmLicenseRequestSpinLock, 
        go back to step 2.

        Note that if it's possible to include 
        clmLicenseRequestAppName and/or clmLicenseRequestCommand
        in the (Set Request) PDU of an earlier step, then 
        step 4 and/or 5, can be eliminated." 
    ::= { clmLicenseConfiguration 6 }

clmLicenseRequestFeatureName OBJECT-TYPE
    SYNTAX          SnmpAdminString (SIZE  (0..30))
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
        "This object represents the licensed feature name,
        requested for checkin / checkout a license. 
        This object MUST be set to a valid value before or 
        concurrently with setting the value of the 
        clmLicenseRequestCommand object to 'checkIn' or
        'checkOut'."
    DEFVAL          { "" } 
    ::= { clmLicenseConfiguration 7 }

clmLicenseRequestAppName OBJECT-TYPE
    SYNTAX          SnmpAdminString (SIZE  (0..31))
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
        "This object is used to optionally associate an ID with
        a license checkin/checkout request for the feature name 
        specified in the 'clmLicenseRequestFeatureName' object. 
        The application can choose to set a meaningful name for 
        this object. If 2 requests have the same value for 
        clmLicenseRequestAppName then they are treated as same 
        requests. If this object is not set or contains zero length 
        string then each checkin/checkout request is treated as a 
        distinct request."
    DEFVAL          { "" } 
    ::= { clmLicenseConfiguration 8 }

clmLicenseRequestCommand OBJECT-TYPE
    SYNTAX          INTEGER  {
                        checkIn(1),
                        checkOut(2),
                        noOp(3)
                    }
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
        "The command to be executed.
        Command                 Remarks

        checkIn   checkin a license for the feature name specified 
                  thru 'clmLicenseRequestFeatureName' object.

        checkOut  checkout a license for the feature name specified 
                  thru 'clmLicenseRequestFeatureName' object. 

        noOp      no operation will be performed. 

        The value of this object when read is always 'noOp'."
    DEFVAL          { noOp } 
    ::= { clmLicenseConfiguration 9 }

clmLicenseRequestCommandStatus OBJECT-TYPE
    SYNTAX          INTEGER  {
                        success(1),
                        none(2),
                        licenseDenied(3),
                        licenseTooMany(4),
                        generalLicensingFailure(5),
                        invalidFeature(6),
                        licenseExpired(7),
                        licenseServerDown(8)
                    }
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "The status of the license checkin/checkout operation.
        success (1) - license checkin/checkout operation completed 
                       successfully. 
        none (2) - no license checkin/checkout operation is 
                   performed. 
        licenseDenied (3)  - No license available for the requested
                             feature. 
        licenseTooMany (4) - license count exceed for counted 
                             license.
        generalLicensingFailure (5) - General error from license 
                                      Manager.
        invalidFeature (6) - Invalid license feature.
        licenseExpired (7) - License expired.
        licenseServerDown (8) - License server down.
        ." 
    ::= { clmLicenseConfiguration 10 }

-- No.of License files installed

clmNoOfLicenseFilesInstalled OBJECT-TYPE
    SYNTAX          Integer32 (0..4095)
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object represents the number of license files
        currently installed on this system." 
    ::= { clmLicenseInformation 1 }
-- license file contents table

clmLicenseFileContentsTable OBJECT-TYPE
    SYNTAX          SEQUENCE OF ClmLicenseFileContentsEntry 
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "Contains information about all the license files installed
        on the system. 
        License file is a 'textual file' provided by the CISCO-CCO,
        when the user buys the license. This file contains licensing
        details for one or more 'Feature License'.
        'Feature License' is the specification of the permission to 
        use a particular feature. The following attributes are 
        specified in the 'Feature License'
        FEATURE - specifies the license feature name.

        HOSTID  - specifies the hostid of the system, where the
                  feature has to be used. For Demo license, 
                  'HOSTID' is specified as 'HOSTID=DEMO'.
        permanent - specifies permanent license. 
        uncounted- specifies the uncounted license for this feature.
                    For counted license, instead of the attribute 
                    'uncounted' , a number indicating the 'maximum 
                    number of concurrent usages' of this license 
                    feature is specified. 

        The date specified in the 'Feature License', indicates the 
        expiry date of this license feature.
        Other attributes in the license file are irrelevant to the 
        user.
        Example: 1 - A Demo license file contents
        # An example ficon license
        FEATURE ficon cisco 1.00 31-aug-2003 uncounted HOSTID=DEMO\
        SIGN=95D7C8860EE0

        Example: 2 - A Permanent license file contents
        SERVER this_host ANY
        VENDOR cisco
        # An example fcports license
        FEATURE fcports cisco 1.00 permanent 30 HOSTID=VDH=4C0A3364\
        SIGN=C3ACA6D831D6
        ."
    ::= { clmLicenseInformation 2 }

clmLicenseFileContentsEntry OBJECT-TYPE
    SYNTAX          ClmLicenseFileContentsEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "A license file contains one or more 'rows' containing ASCII
        character strings, where each occurrence of an LF character
        terminates the 'row' containing it. A string of 255 
        characters after one LF character (or at the beginning of 
        the file) which does not contain another LF character is 
        also treated as a 'row' of the license file. 
        This object represents information about a particular 'row'
        in the license file contents."
    INDEX           {
                        clmLicenseFileName,
                        clmLicenseFileRowNumber
                    } 
    ::= { clmLicenseFileContentsTable 1 }

ClmLicenseFileContentsEntry ::= SEQUENCE {
        clmLicenseFileName        SnmpAdminString,
        clmLicenseFileRowNumber   Unsigned32,
        clmLicenseFileTimeStamp   DateAndTime,
        clmLicenseFileNoOfRows    Unsigned32,
        clmLicenseFileRowContents SnmpAdminString
}

clmLicenseFileName OBJECT-TYPE
    SYNTAX          SnmpAdminString (SIZE  (1..64))
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "Specifies the the installed License file name." 
    ::= { clmLicenseFileContentsEntry 1 }

clmLicenseFileRowNumber OBJECT-TYPE
    SYNTAX          Unsigned32
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "Represents the row number. For example, 1 for the first
        row, two for the second, ..., N for the last (N-th) row." 
    ::= { clmLicenseFileContentsEntry 2 }

clmLicenseFileTimeStamp OBJECT-TYPE
    SYNTAX          DateAndTime
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "Represents the time when the license file contents
        was last modified." 
    ::= { clmLicenseFileContentsEntry 3 }

clmLicenseFileNoOfRows OBJECT-TYPE
    SYNTAX          Unsigned32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object represents the number of 'rows'
        in the license file named by the the value of the
        corresponding instance of 'clmLicenseFileName'." 
    ::= { clmLicenseFileContentsEntry 4 }

clmLicenseFileRowContents OBJECT-TYPE
    SYNTAX          SnmpAdminString (SIZE  (1..255))
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object represents the contents of the 'row'
        for which the row number is given by the value of the 
        corresponding instance of 'clmLicenseFileRowNumber' 
        in the license file named by the the value of the 
        corresponding instance of 'clmLicenseFileName'." 
    ::= { clmLicenseFileContentsEntry 5 }
 


-- license feature usage

clmNoOfLicensedFeatures OBJECT-TYPE
    SYNTAX          Integer32 (0..4095)
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object represents the current number of entries
        in the clmLicenseFeatureUsageTable. Indicates the 
        number of licensed features in the local system." 
    ::= { clmLicenseInformation 3 }

clmLicenseFeatureUsageTable OBJECT-TYPE
    SYNTAX          SEQUENCE OF ClmLicenseFeatureUsageEntry 
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "Represents the current license usage on the system.
        Contains one entry for each licensed feature in system."
    ::= { clmLicenseInformation 4 }

clmLicenseFeatureUsageEntry OBJECT-TYPE
    SYNTAX          ClmLicenseFeatureUsageEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "Licensing information for a particular feature can
        appear in multiple license files.
        This object contains the consolidated licensing
        information for the particular feature from all the
        installed license files."
    INDEX           { clmLicenseFeatureName } 
    ::= { clmLicenseFeatureUsageTable 1 }

ClmLicenseFeatureUsageEntry ::= SEQUENCE {
        clmLicenseFeatureName       SnmpAdminString,
        clmLicenseFlag              BITS,
        clmNoOfLicenseMaxUsages     Integer32,
        clmNoOfMissingUsageLicenses Integer32,
        clmNoOfLicenseCurrentUsages Integer32,
        clmLicenseExpiryDate        DateAndTime,
        clmLicenseGracePeriod       Integer32,
        clmLicenseEnabled           TruthValue,
        clmLicenseGracePeriodLeft   Unsigned32,
        clmLicenseDefaultLicenses   Unsigned32
}

clmLicenseFeatureName OBJECT-TYPE
    SYNTAX          SnmpAdminString (SIZE  (1..30))
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "This object represents the name of the licensed
        feature." 
    ::= { clmLicenseFeatureUsageEntry 1 }

clmLicenseFlag OBJECT-TYPE
    SYNTAX          BITS {
                        demo(0),
                        permanent(1),
                        counted(2),
                        unlicensed(3),
                        inGracePeriod(4),
                        inHonorPeriod(5)
                    }
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "Information about the license type.
        bit positions,
        0 - demo license, if bit is set. 
        1 - permanent license, if bit is set. permanent means, 
             the license for the feature has no expiry date.
             if bit is reset, then the license for the feature 
             has expiry date.  
        2 - counted license, if bit is set.
            uncounted license, if bit is reset.
        3 - unlicensed, if bit is set, means no license 
            for this feature is installed.
        4 - feature is in grace period, if bit is set. 
            This means that applications are allowed to
            to use this feature license till the expiry
            of the grace period, mentioned in the  
            corresponding instance of 'clmLicenseGracePeriodLeft' 
            object.
            Feature is not in grace period, if bit is reset.  
        5 - feature is in honor period, if bit is set. 
            This means that applications are allowed to
            use this feature license even though there is no
            corresponding license installed.
        when 'unlicensed' (i.e.) bit '3' is set, then the value 
        of bit 0,1 and 2 are irrelevant.
        Whether or not this value can have 'demo' and 'permanent'
        set at the same time is a policy issue, and some
        implementations will prohibit such usage." 
    ::= { clmLicenseFeatureUsageEntry 2 }

clmNoOfLicenseMaxUsages OBJECT-TYPE
    SYNTAX          Integer32 (0..65535)
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "Maximum number of concurrent usages of this license
        feature.
        This is the cumulative license usage count for this
        feature from  all the installed license files,
        containing this feature's license information. 
        If the clmLicenseFlag object has value of bit 2 'reset', 
        ( means uncounted license), then the value of this object 
        is irrelevant." 
    ::= { clmLicenseFeatureUsageEntry 3 }

clmNoOfMissingUsageLicenses OBJECT-TYPE
    SYNTAX          Integer32 (0..65535)
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object represents the number of missing usage
        licenses of this feature, when one or more installed 
        license files containing this feature's license, are 
        missing in the local system.
        Under normal condition, the value of this object is '0'." 
    ::= { clmLicenseFeatureUsageEntry 4 }

clmNoOfLicenseCurrentUsages OBJECT-TYPE
    SYNTAX          Integer32 (0..65535)
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "Represents the number of current usages of this
        licensed feature." 
    ::= { clmLicenseFeatureUsageEntry 5 }

clmLicenseExpiryDate OBJECT-TYPE
    SYNTAX          DateAndTime
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "Expiry date of the licensed feature.
        If the corresponding instances of clmLicenseFlag indicates 
        'permanent' or 'unlicensed' , then the value of this 
          object is irrelevant." 
    ::= { clmLicenseFeatureUsageEntry 6 }

clmLicenseGracePeriod OBJECT-TYPE
    SYNTAX          Integer32 (0..5184000)
    UNITS           "seconds"
    MAX-ACCESS      read-only
    STATUS          deprecated
    DESCRIPTION
        "This object represents the grace period left for this
        feature, in seconds.
        Grace period is the number of seconds either an 
        unlicensed feature or a feature whose license 
        has expired is allowed to run.

        The value of this object is relevant only when the
        corresponding instances of clmLicenseFlag indicates
        'ingraceperiod'." 
    ::= { clmLicenseFeatureUsageEntry 7 }

clmLicenseEnabled OBJECT-TYPE
    SYNTAX          TruthValue
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object represents whether the license
        is enabled or not.  The value 'true' signifies
        that license is enabled.  The value 'false'
        signifies that the license is disabled." 
    ::= { clmLicenseFeatureUsageEntry 8 }

clmLicenseGracePeriodLeft OBJECT-TYPE
    SYNTAX          Unsigned32 (0..4294967295)
    UNITS           "seconds"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object represents the grace period left for this
        license feature, in seconds.
        Grace period is the number of seconds either an 
        unlicensed feature or a feature whose license 
        has expired is allowed to run.

        The value of this object is relevant only when the
        corresponding instances of clmLicenseFlag indicates
        'ingraceperiod'.

        If the corresponding instanses of clmLicenseFlag 
        indicates 'inhonorperiod', this object represents the 
        honor period start for this license feature, in seconds.
        Honor period is the number of seconds either an 
        unlicensed feature or a feature whose license 
        has expired is running." 
    ::= { clmLicenseFeatureUsageEntry 9 }

clmLicenseDefaultLicenses OBJECT-TYPE
    SYNTAX          Unsigned32 (0..4294967295)
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object represents the maximum number of concurrent
        usages of this license feature that is included by 
        default.

        The value of this object is relevant only when the
        corresponding instances of clmLicenseFlag indicates
        'counted' (value of bit 2 'set')" 
    ::= { clmLicenseFeatureUsageEntry 10 }
 


clmFeatureUsageDetailsTable OBJECT-TYPE
    SYNTAX          SEQUENCE OF ClmFeatureUsageDetailsEntry 
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "Represents the list of applications which have
        checked out the licensed features."
    ::= { clmLicenseInformation 5 }

clmFeatureUsageDetailsEntry OBJECT-TYPE
    SYNTAX          ClmFeatureUsageDetailsEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "An Entry represents an application instance which
        has checked out a license for the feature."
    INDEX           {
                        clmLicenseFeatureName,
                        clmLicensedAppIndex
                    } 
    ::= { clmFeatureUsageDetailsTable 1 }

ClmFeatureUsageDetailsEntry ::= SEQUENCE {
        clmLicensedAppIndex Unsigned32,
        clmLicensedAppName  SnmpAdminString
}

clmLicensedAppIndex OBJECT-TYPE
    SYNTAX          Unsigned32
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "This is an index to the applications for a
        licensed feature." 
    ::= { clmFeatureUsageDetailsEntry 1 }

clmLicensedAppName OBJECT-TYPE
    SYNTAX          SnmpAdminString (SIZE  (1..31))
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "Represents the name of the application instance,
        which has checked out the feature. It is the
        value of 'clmLicenseRequestAppName' object set
        while checking out the license." 
    ::= { clmFeatureUsageDetailsEntry 2 }
 


clmLicenseViolationWarnFlag OBJECT-TYPE
    SYNTAX          TruthValue
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "If one or more application instance has checked out
        any feature, without a valid license file installed 
        for that feature in the system, is termed as 
        'License Violation'. 

        This object indicates whether any license violation 
        has been detected in the system and the grace period 
        left for the corresponding feature is less than '30' 
        days. 

        The value of this object set to 'true' indicates a
        'License Violation' detected in the system , and the 
        grace period left for the corresponding feature is 
        less than 30 days.

        The value of this object set to 'false' indicates 
        either there is 'NO License Violation' detected in 
        the system, 
        or a 'License Violation' is detected, but the grace
        period left for the corresponding feature is more 
        than 30 days." 
    ::= { clmLicenseInformation 6 }
-- Port Licensing

clmPortLicensingTable OBJECT-TYPE
    SYNTAX          SEQUENCE OF ClmPortLicensingEntry 
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "This table contains information about port licensing.
        Each entry of this table represents one license of a  
        particular type for the interface identified by ifIndex.

        The agent creates one entry in this table for each
        type of license for which a given interface is capable
        of being eligible.  An interface which is not capable
        of being eligible for any type of license will not be
        represented in this table."
    ::= { clmLicenseInformation 7 }

clmPortLicensingEntry OBJECT-TYPE
    SYNTAX          ClmPortLicensingEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "Each entry contains port licensing information
        for an interface."
    INDEX           {
                        ifIndex,
                        clmPortLicensingType
                    } 
    ::= { clmPortLicensingTable 1 }

ClmPortLicensingEntry ::= SEQUENCE {
        clmPortLicensingType   ClmLicenseType,
        clmPortLicensingConfig INTEGER,
        clmPortLicensingOper   INTEGER
}

clmPortLicensingType OBJECT-TYPE
    SYNTAX          ClmLicenseType
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "Type of license which can be acquired on a given
        interface." 
    ::= { clmPortLicensingEntry 1 }

clmPortLicensingConfig OBJECT-TYPE
    SYNTAX          INTEGER  {
                        eligible(1),
                        inEligible(2),
                        acquire(3)
                    }
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
        "This object  is used  to assign the state of a port
        license for an interface. This object is configurable  
        by the network management application.

        'eligible'    - the interface will be configured to be 
                        eligible to acquire a given port license.
        'inEligible'  - the interface will be configured not 
                        to be eligible to acquire a given port       
                        license. If the interface has already 
                        acquired a port license,  the license is 
                        released and the interface is then configured 
                        not to be eligible to acquire port license.
        'acquire'     - the interface will first be made eligible to
                        acquire a port license, and will then attempt
                        to acquire one.  If a port license is 
                        available, the interface will acquire it and 
                        this object's value will remain as 
                        'acquire'. If port licenses are insufficient, 
                        the interface is made eligible, and this 
                        object's value will become 'eligible'.

        Given that there are enough port licenses available,
        a port license will be acquired on a given interface 
        only under the following conditions:
        1. The user configures this object to 'acquire'  
                             (OR)
        2. When a linkUp notification (defined in IF-MIB) is
        generated on a Fibre Channel interface for which the value
        of fcIfPortType (defined in CISCO-FC-FE-MIB) is 'internal',
        and the value of clmPortLicensingConfig is 'eligible'.

        The conditions under which a port license will be acquired
        when a linkUp notification is generated on other types of
        interfaces will be added to this definition in the future,
        as and when appropriate." 
    ::= { clmPortLicensingEntry 2 }

clmPortLicensingOper OBJECT-TYPE
    SYNTAX          INTEGER  {
                        notAcquired(1),
                        acquired(2)
                    }
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object gives the current state of port license on
        the interface. 
        'notAcquired' - the interface has not acquired port
                                                   license
        'acquired'    - the interface has acquired port 
                        license." 
    ::= { clmPortLicensingEntry 3 }
 

-- Port License Count Statistics

clmPortLicCountTable OBJECT-TYPE
    SYNTAX          SEQUENCE OF ClmPortLicCountEntry 
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "This table maintains count-based statistics of the
        system related to port licensing. The entries of this
        table are indexed based on clmPortLicensingType. The  
        agent creates one entry in this table for each value of
        clmPortLicensingType."
    ::= { clmLicenseInformation 8 }

clmPortLicCountEntry OBJECT-TYPE
    SYNTAX          ClmPortLicCountEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "An entry in the clmPortLicCountTable. Each entry
        consists of the following four counts related to port 
        licensing, for a given clmPortLicensingType:
        1. Maximum number of port licenses  that can be acquired,
        2. Number of port licenses  that are currently acquired,
        3. Maximum number of internal port licenses that can be
           acquired, if internal port licenses are applicable, and
        4. Number of internal port licenses that are currently
           acquired, if internal port licenses are applicable.
        Any one of these four counts that does not pertain to the
        given clmPortLicensingType will not be instantiated in 
        this entry."
    INDEX           { clmPortLicensingType } 
    ::= { clmPortLicCountTable 1 }

ClmPortLicCountEntry ::= SEQUENCE {
        clmPortLicCountMax          Unsigned32,
        clmPortLicCountUsed         Gauge32,
        clmPortLicCountMaxInternal  Unsigned32,
        clmPortLicCountUsedInternal Gauge32
}

clmPortLicCountMax OBJECT-TYPE
    SYNTAX          Unsigned32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object gives the maximum number port licenses
        that can be acquired for the given 
        clmPortLicensingType." 
    ::= { clmPortLicCountEntry 1 }

clmPortLicCountUsed OBJECT-TYPE
    SYNTAX          Gauge32
    UNITS           "licenses"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object gives the number of port licenses that are
        currently acquired for the given clmPortLicensingType." 
    ::= { clmPortLicCountEntry 2 }

clmPortLicCountMaxInternal OBJECT-TYPE
    SYNTAX          Unsigned32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object gives the maximum number of internal port
        licenses that can be acquired for a given 
        clmPortLicensingType. To obtain the maximum number  
        of external port licenses that can be acquired, the 
        user needs to obtain clmPortLicCountMax and subtract 
        clmPortLicCountMaxInternal from it." 
    ::= { clmPortLicCountEntry 3 }

clmPortLicCountUsedInternal OBJECT-TYPE
    SYNTAX          Gauge32
    UNITS           "licenses"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object gives the number of internal port licenses
        that are currently acquired for a given 
        clmPortLicensingType. To obtain the number of external 
        port licenses currently acquired, the user needs to obtain 
        clmPortLicCountUsed and subtract 
        clmPortLicCountUsedInternal from it." 
    ::= { clmPortLicCountEntry 4 }
 

clmLicenseFeatureStatus  OBJECT IDENTIFIER
    ::= { clmLicenseInformation 9 }


clmMaxSslTransactions OBJECT-TYPE
    SYNTAX          Integer32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object represents the maximum number of ssl transactions
        allowed per second for the license purchased." 
    ::= { clmLicenseFeatureStatus 1 }

clmMaxVirtualizedContext OBJECT-TYPE
    SYNTAX          Integer32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object represents the maximum number of virtualized
        context available for the license purchased." 
    ::= { clmLicenseFeatureStatus 2 }

clmModuleBandwidth OBJECT-TYPE
    SYNTAX          Integer32
    UNITS           "Gbps"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object represents the maximum bandwidth in Gbps allowed
        for the license purchased." 
    ::= { clmLicenseFeatureStatus 3 }

clmCompressionPerformance OBJECT-TYPE
    SYNTAX          Integer32
    UNITS           "Mbps"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object represents the compression performance in Mbps
        allowed for the license purchased." 
    ::= { clmLicenseFeatureStatus 4 }

clmWebOptimization OBJECT-TYPE
    SYNTAX          Integer32
    UNITS           "Cps"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object represents the maximum value of web optimization
        in cps allowed for the license purchased." 
    ::= { clmLicenseFeatureStatus 5 }

-- Enable notifications

clmNotificationsEnable OBJECT-TYPE
    SYNTAX          TruthValue
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
        "This object indicates whether the system should generate
        notifications specified in 'clmNotificationGroup' 
        or not."
    DEFVAL          { true } 
    ::= { ciscoLicenseMgrConfig 2 }

-- Notifications

clmLicenseExpiryNotify NOTIFICATION-TYPE
    OBJECTS         { clmLicenseExpiryDate }
    STATUS          current
    DESCRIPTION
        "A clmLicenseCountExpiryNotify is sent, when a
        feature license expires."
   ::= { ciscoLicenseMgrNotifications 1 }

clmNoLicenseForFeatureNotify NOTIFICATION-TYPE
    OBJECTS         { clmLicenseGracePeriodLeft }
    STATUS          current
    DESCRIPTION
        "A 'clmNoLicenseForFeatureNotify' is sent, when an
        license is issued for a feature which does 
        not have license. The license will expire after
        a grace period, which is mentioned in the 
        'clmLicenseGracePeriodLeft' object of this
        notification. This notification is also sent once
        every 24 hours from the start of the grace period.
        In the last 7 days before grace period expiry this
        notification is sent once every hour."
   ::= { ciscoLicenseMgrNotifications 2 }

clmLicenseFileMissingNotify NOTIFICATION-TYPE
    OBJECTS         { clmNoOfMissingUsageLicenses }
    STATUS          current
    DESCRIPTION
        "A clmLicenseFileMissingNotify is generated when the
        system detects that one or more installed license
        files are missing.  To correct this fault, any
        files which might be missing should be reinstalled,
        e.g., if it's unknown which ones are missing, then 
        all files can be re-installed, ignoring any 'duplicate
        license' messages."
   ::= { ciscoLicenseMgrNotifications 3 }

clmLicenseExpiryWarningNotify NOTIFICATION-TYPE
    OBJECTS         { clmLicenseExpiryDate }
    STATUS          current
    DESCRIPTION
        "A 'clmLicenseExpiryWarningNotify' is sent,
        when an license issued for a feature is 
        going to expire, and the feature is use. This
        notification is sent once in a day starting 30
        days before license expiry. In the last 7 days
        before expiry this notification is sent once 
        every hour.
        The license will expire on the date and time, 
        mentioned in the 'clmLicenseExpiryDate' object of 
        this notification."
   ::= { ciscoLicenseMgrNotifications 4 }
-- Conformance

ciscoLicenseMgrCompliances  OBJECT IDENTIFIER
    ::= { ciscoLicenseMgrMIBConform 1 }

ciscoLicenseMgrGroups  OBJECT IDENTIFIER
    ::= { ciscoLicenseMgrMIBConform 2 }


ciscoLicenseMgrCompliance MODULE-COMPLIANCE
    STATUS          deprecated
    DESCRIPTION
        "Compliance statement for CISCO-LICENSE-MGR-MIB."
    MODULE          -- this module
    MANDATORY-GROUPS {
                        clmLicenseInstallGroup,
                        clmNoOfInstalledLicensesGroup,
                        clmLicenseInformationGroup,
                        clmNotificationsEnableGroup,
                        clmNotificationGroup
                    }
    ::= { ciscoLicenseMgrCompliances 1 }

ciscoLicenseMgrCompliance1 MODULE-COMPLIANCE
    STATUS          deprecated
    DESCRIPTION
        "Compliance statement for CISCO-LICENSE-MGR-MIB."
    MODULE          -- this module
    MANDATORY-GROUPS {
                        clmLicenseInstallGroup,
                        clmLicenseRequestGroup,
                        clmNoOfInstalledLicensesGroup,
                        clmLicenseInformationGroup1,
                        clmNotificationsEnableGroup,
                        clmNotificationGroup
                    }
    ::= { ciscoLicenseMgrCompliances 2 }

ciscoLicenseMgrCompliance2 MODULE-COMPLIANCE
    STATUS          deprecated
    DESCRIPTION
        "Compliance statement for CISCO-LICENSE-MGR-MIB."
    MODULE          -- this module
    MANDATORY-GROUPS {
                        clmLicenseInstallGroup,
                        clmLicenseRequestGroup,
                        clmNoOfInstalledLicensesGroup,
                        clmLicenseInformationGroup2,
                        clmNotificationsEnableGroup,
                        clmNotificationGroup
                    }
    ::= { ciscoLicenseMgrCompliances 3 }

ciscoLicenseMgrCompliance3 MODULE-COMPLIANCE
    STATUS          deprecated
    DESCRIPTION
        "Compliance statement for CISCO-LICENSE-MGR-MIB."
    MODULE          -- this module
    MANDATORY-GROUPS {
                        clmLicenseInstallGroup,
                        clmLicenseRequestGroup,
                        clmNoOfInstalledLicensesGroup,
                        clmLicenseInformationGroup3,
                        clmNotificationsEnableGroup,
                        clmNotificationGroup
                    }

    GROUP           clmLicenseInformationGroupSup1
    DESCRIPTION
        "This group is mandatory for those systems
        where an installed license can be be disabled/enabled."
    ::= { ciscoLicenseMgrCompliances 4 }

ciscoLicenseMgrCompliance4 MODULE-COMPLIANCE
    STATUS          deprecated
    DESCRIPTION
        "Compliance statement for CISCO-LICENSE-MGR-MIB."
    MODULE          -- this module
    MANDATORY-GROUPS {
                        clmLicenseInstallGroup,
                        clmLicenseRequestGroup,
                        clmNoOfInstalledLicensesGroup,
                        clmLicenseInformationGroup3,
                        clmNotificationsEnableGroup,
                        clmNotificationGroup,
                        clmLicenseInformationGroupSup2,
                        clmLicenseInformationPortLicGroup
                    }

    GROUP           clmLicenseInformationGroupSup1
    DESCRIPTION
        "This group is mandatory for those systems
        where an installed license can be be disabled/enabled."
    ::= { ciscoLicenseMgrCompliances 5 }

ciscoLicenseMgrCompliance5 MODULE-COMPLIANCE
    STATUS          current
    DESCRIPTION
        "Compliance statement for CISCO-LICENSE-MGR-MIB."
    MODULE          -- this module
    MANDATORY-GROUPS {
                        clmLicenseInstallGroup,
                        clmLicenseRequestGroup,
                        clmNoOfInstalledLicensesGroup,
                        clmLicenseInformationGroup3,
                        clmNotificationsEnableGroup,
                        clmNotificationGroup,
                        clmLicenseInformationGroupSup2,
                        clmLicenseInformationPortLicGroup,
                        clmLicenseFeatureStatusGroup
                    }

    GROUP           clmLicenseInformationGroupSup1
    DESCRIPTION
        "This group is mandatory for those systems
        where an installed license can be be disabled/enabled."
    ::= { ciscoLicenseMgrCompliances 6 }

-- Units of Conformance

clmLicenseInstallGroup OBJECT-GROUP
    OBJECTS         {
                        clmHostId,
                        clmLicenseConfigSpinLock,
                        clmLicenseFileURI,
                        clmLicenseFileTargetName,
                        clmLicenseConfigCommand,
                        clmLicenseConfigCommandStatus
                    }
    STATUS          current
    DESCRIPTION
        "A collection of objects for license file installation or
        uninstallation or updating."
    ::= { ciscoLicenseMgrGroups 1 }

clmNoOfInstalledLicensesGroup OBJECT-GROUP
    OBJECTS         {
                        clmNoOfLicenseFilesInstalled,
                        clmNoOfLicensedFeatures
                    }
    STATUS          current
    DESCRIPTION
        "Objects indicating the number of licenses files & the number
        of licensed features installed on the system."
    ::= { ciscoLicenseMgrGroups 2 }

clmLicenseInformationGroup OBJECT-GROUP
    OBJECTS         {
                        clmLicenseFileTimeStamp,
                        clmLicenseFileNoOfRows,
                        clmLicenseFileRowContents,
                        clmLicenseFlag,
                        clmNoOfLicenseMaxUsages,
                        clmNoOfMissingUsageLicenses,
                        clmNoOfLicenseCurrentUsages,
                        clmLicenseExpiryDate,
                        clmLicenseGracePeriod
                    }
    STATUS          deprecated
    DESCRIPTION
        "A group containing objects providing information about the
        license file contents and the licensed features on the 
        system."
    ::= { ciscoLicenseMgrGroups 3 }

clmNotificationsEnableGroup OBJECT-GROUP
    OBJECTS         { clmNotificationsEnable }
    STATUS          current
    DESCRIPTION
        "Object for enabling the notifications specified in
        clmNotificationGroup."
    ::= { ciscoLicenseMgrGroups 4 }

clmNotificationGroup NOTIFICATION-GROUP
   NOTIFICATIONS    {
                        clmLicenseExpiryNotify,
                        clmNoLicenseForFeatureNotify,
                        clmLicenseFileMissingNotify,
                        clmLicenseExpiryWarningNotify
                    }
    STATUS          current
    DESCRIPTION
        "A collection of notifications for license manager."
    ::= { ciscoLicenseMgrGroups 5 }

clmLicenseRequestGroup OBJECT-GROUP
    OBJECTS         {
                        clmLicenseRequestSpinLock,
                        clmLicenseRequestFeatureName,
                        clmLicenseRequestAppName,
                        clmLicenseRequestCommand,
                        clmLicenseRequestCommandStatus
                    }
    STATUS          current
    DESCRIPTION
        "A collection of objects for the license checkin (or)
        checkout for the licensed feature."
    ::= { ciscoLicenseMgrGroups 6 }

clmLicenseInformationGroup1 OBJECT-GROUP
    OBJECTS         {
                        clmLicenseFileTimeStamp,
                        clmLicenseFileNoOfRows,
                        clmLicenseFileRowContents,
                        clmLicenseFlag,
                        clmNoOfLicenseMaxUsages,
                        clmNoOfMissingUsageLicenses,
                        clmNoOfLicenseCurrentUsages,
                        clmLicenseExpiryDate,
                        clmLicenseGracePeriod,
                        clmLicensedAppName
                    }
    STATUS          deprecated
    DESCRIPTION
        "A group containing objects providing information about the
        license file contents and the licensed features on the 
        system."
    ::= { ciscoLicenseMgrGroups 7 }

clmLicenseInformationGroup2 OBJECT-GROUP
    OBJECTS         {
                        clmLicenseFileTimeStamp,
                        clmLicenseFileNoOfRows,
                        clmLicenseFileRowContents,
                        clmLicenseFlag,
                        clmNoOfLicenseMaxUsages,
                        clmNoOfMissingUsageLicenses,
                        clmNoOfLicenseCurrentUsages,
                        clmLicenseExpiryDate,
                        clmLicenseGracePeriod,
                        clmLicensedAppName,
                        clmLicenseViolationWarnFlag
                    }
    STATUS          deprecated
    DESCRIPTION
        "A group containing objects providing information about the
        license file contents and the licensed features on the 
        system."
    ::= { ciscoLicenseMgrGroups 8 }

clmLicenseInformationGroupSup1 OBJECT-GROUP
    OBJECTS         { clmLicenseEnabled }
    STATUS          current
    DESCRIPTION
        "A group containing an object providing information
        on whether license is enabled or not."
    ::= { ciscoLicenseMgrGroups 9 }

clmLicenseInformationGroup3 OBJECT-GROUP
    OBJECTS         {
                        clmLicenseFileTimeStamp,
                        clmLicenseFileNoOfRows,
                        clmLicenseFileRowContents,
                        clmLicenseFlag,
                        clmNoOfLicenseMaxUsages,
                        clmNoOfMissingUsageLicenses,
                        clmNoOfLicenseCurrentUsages,
                        clmLicenseExpiryDate,
                        clmLicenseGracePeriodLeft,
                        clmLicensedAppName,
                        clmLicenseViolationWarnFlag
                    }
    STATUS          current
    DESCRIPTION
        "A group containing objects providing information about the
        license file contents and the licensed features on the 
        system."
    ::= { ciscoLicenseMgrGroups 10 }

clmLicenseInformationGroupSup2 OBJECT-GROUP
    OBJECTS         { clmLicenseDefaultLicenses }
    STATUS          current
    DESCRIPTION
        "A group containing objects providing information about the
        number of default licenses of a given licensed feature."
    ::= { ciscoLicenseMgrGroups 11 }

clmLicenseInformationPortLicGroup OBJECT-GROUP
    OBJECTS         {
                        clmPortLicensingConfig,
                        clmPortLicensingOper,
                        clmPortLicCountMax,
                        clmPortLicCountUsed,
                        clmPortLicCountMaxInternal,
                        clmPortLicCountUsedInternal
                    }
    STATUS          current
    DESCRIPTION
        "A group containing objects providing information about port
        licensing."
    ::= { ciscoLicenseMgrGroups 12 }

clmLicenseFeatureStatusGroup OBJECT-GROUP
    OBJECTS         {
                        clmMaxSslTransactions,
                        clmMaxVirtualizedContext,
                        clmModuleBandwidth,
                        clmCompressionPerformance,
                        clmWebOptimization
                    }
    STATUS          current
    DESCRIPTION
        "A group containing objects providing information
        about different licensed feature on the system."
    ::= { ciscoLicenseMgrGroups 13 }

END


