-- ================================================================= -- Copyright (c) 2004-2014 Hangzhou H3C Tech. Co., Ltd. All rights reserved. -- -- Description: License management -- Reference: -- Version: V1.0 -- History: -- V1.0 2013-09-18 Initial version by Song Hao and Deng Kai. -- ================================================================= H3C-LICENSE-MIB DEFINITIONS ::= BEGIN IMPORTS h3cCommon FROM HUAWEI-3COM-OID-MIB OBJECT-TYPE, MODULE-IDENTITY, NOTIFICATION-TYPE, Unsigned32, TimeTicks FROM SNMPv2-SMI RowStatus, DateAndTime, TruthValue FROM SNMPv2-TC SnmpAdminString FROM SNMP-FRAMEWORK-MIB PhysicalIndex, PhysicalIndexOrZero FROM ENTITY-MIB; h3cLicense MODULE-IDENTITY LAST-UPDATED "201309181000Z" ORGANIZATION "Hangzhou H3C Technologies Co., Ltd." CONTACT-INFO "Platform Team H3C Technologies Co., Ltd. Haidian District Beijing P.R. China http://www.h3c.com Zip:100085" DESCRIPTION "This MIB is used to manage license, including license key, activation key and activation file." REVISION "201309181000Z" DESCRIPTION "Initial version of this MIB module." ::= { h3cCommon 145 } -- Defined the framework h3cLicenseScalarObjects OBJECT IDENTIFIER ::= { h3cLicense 1 } h3cLicenseTables OBJECT IDENTIFIER ::= { h3cLicense 2 } h3cLicenseNotifications OBJECT IDENTIFIER ::= { h3cLicense 3 } -- Begin of scalar objects h3cLicenseNotifyEnable OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-write STATUS current DESCRIPTION "This object indicates whether the notifications of license should be generated." DEFVAL { true } ::= { h3cLicenseScalarObjects 1 } h3cLicenseOpEntryMaxNum OBJECT-TYPE SYNTAX Unsigned32 (1..20) MAX-ACCESS read-write STATUS current DESCRIPTION "This object indicates the maximum number of entries that may be held in h3cLicenseOpEntry. When the number of entries in h3cLicenseOpEntry reached the value of this object, the oldest entry would be destroyed automatic after executing a new operation." DEFVAL { 10 } ::= { h3cLicenseScalarObjects 2 } h3cLicenseNextFreeOpIndex OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates the appropriate value for h3cLicenseOpIndex that can be used to create an entry in h3cLicenseOpTable." ::= { h3cLicenseScalarObjects 3 } -- End of scalar objects -- Begin of device information h3cLicenseDevInfoTable OBJECT-TYPE SYNTAX SEQUENCE OF H3cLicenseDevInfoEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A table that displays device information which use to apply license." ::= { h3cLicenseTables 1 } h3cLicenseDevInfoEntry OBJECT-TYPE SYNTAX H3cLicenseDevInfoEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A set of objects that displays device information of license." INDEX { h3cLicensePhysicalIndex } ::= { h3cLicenseDevInfoTable 1 } H3cLicenseDevInfoEntry ::= SEQUENCE { h3cLicensePhysicalIndex PhysicalIndex, h3cLicenseSN SnmpAdminString, h3cLicenseDeviceIDType INTEGER, h3cLicenseDeviceID SnmpAdminString, h3cLicenseHardwareInfo SnmpAdminString, h3cLicenseMaxNum Unsigned32, h3cLicenseUsedNum Unsigned32, h3cLicenseRecyclableNum Unsigned32, h3cLicenseInstallType INTEGER, h3cLicenseFileStoragePath SnmpAdminString } h3cLicensePhysicalIndex OBJECT-TYPE SYNTAX PhysicalIndex MAX-ACCESS accessible-for-notify STATUS current DESCRIPTION "The entPhysicalIndex of the device. The meaning of this object is associated with the management state which from h3cLicenseInstallType. Note that: 1) h3cLicenseInstallType is installInChassis. This object represents the entPhysicalIndex of the local active MPU. 2) h3cLicenseInstallType is installInSlot. This object represents the entPhysicalIndex of MPU boards. 3) h3cLicenseInstallType is installInCPU. This object represents the entPhysicalIndex of the CPUs on an MPU board. " ::= { h3cLicenseDevInfoEntry 1 } h3cLicenseSN OBJECT-TYPE SYNTAX SnmpAdminString (SIZE(0..255)) MAX-ACCESS read-only STATUS current DESCRIPTION "The serial number of the device." ::= { h3cLicenseDevInfoEntry 2 } h3cLicenseDeviceIDType OBJECT-TYPE SYNTAX INTEGER { invalid(1), keyString(2), file(3) } MAX-ACCESS read-only STATUS current DESCRIPTION "The types of device ID. invalid - The device ID is invalid. keyString - The device ID is a string. file - The device ID is a file." ::= { h3cLicenseDevInfoEntry 3 } h3cLicenseDeviceID OBJECT-TYPE SYNTAX SnmpAdminString (SIZE(0..255)) MAX-ACCESS read-only STATUS current DESCRIPTION "A string represents the device ID. For example: Device ID: XXXX-XXXX-XXXX-XXXX-XXXX-XXXX-XXXX-XXXX This object can not be read when h3cLicenseDeviceIDType is invalid, and a file name with full path while h3cLicenseDeviceIDType is file. For example: Device ID: flash:/xxx.did" ::= { h3cLicenseDevInfoEntry 4 } h3cLicenseHardwareInfo OBJECT-TYPE SYNTAX SnmpAdminString (SIZE(0..255)) MAX-ACCESS read-only STATUS current DESCRIPTION "The information of the device hardware." ::= { h3cLicenseDevInfoEntry 5 } h3cLicenseMaxNum OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current DESCRIPTION "The max number of licenses that can be installed in device." ::= { h3cLicenseDevInfoEntry 6 } h3cLicenseUsedNum OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of installed licenses." ::= { h3cLicenseDevInfoEntry 7 } h3cLicenseRecyclableNum OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of recyclable storage for licenses." ::= { h3cLicenseDevInfoEntry 8 } h3cLicenseInstallType OBJECT-TYPE SYNTAX INTEGER { invalid(1), installInChassis(2), installInSlot(3), installInCPU(4) } MAX-ACCESS read-only STATUS current DESCRIPTION "The state of license management. This object determines the instance of h3cLicensePhysicalIndex and h3cLicenseOpPhysicalIndex. invalid - The state is invalid as driver fault. installInChassis - License is chassis locked. installInSlot - License is MPU locked. installInCPU - License is CPU locked." ::= { h3cLicenseDevInfoEntry 9 } h3cLicenseFileStoragePath OBJECT-TYPE SYNTAX SnmpAdminString (SIZE(0..255)) MAX-ACCESS read-only STATUS current DESCRIPTION "The storage path of the installed license files." ::= { h3cLicenseDevInfoEntry 10 } -- End of device information -- Begin of general information h3cLicenseGeneralTable OBJECT-TYPE SYNTAX SEQUENCE OF H3cLicenseGeneralEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A table that displays general information of installed license." ::= { h3cLicenseTables 2 } h3cLicenseGeneralEntry OBJECT-TYPE SYNTAX H3cLicenseGeneralEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A set of objects that displays general information of installed license." INDEX { h3cLicensePhysicalIndex, h3cLicenseIndex } ::= { h3cLicenseGeneralTable 1 } H3cLicenseGeneralEntry ::= SEQUENCE { h3cLicenseIndex Unsigned32, h3cLicenseFeature SnmpAdminString, h3cLicenseProductDescr OCTET STRING, h3cLicenseFileDescr SnmpAdminString, h3cLicenseState INTEGER, h3cLicenseActivationFile SnmpAdminString, h3cLicenseActivationKey SnmpAdminString, h3cLicenseLicenseKey SnmpAdminString, h3cLicenseUninstActivationFile SnmpAdminString, h3cLicenseUninstActivationKey SnmpAdminString, h3cLicenseType INTEGER, h3cLicenseInstalledTime DateAndTime, h3cLicenseUninstalledTime DateAndTime, h3cLicenseDaysLeft Unsigned32, h3cLicenseValidityStart DateAndTime, h3cLicenseValidityEnd DateAndTime, h3cLicenseExpiredDays Unsigned32, h3cLicenseCount Unsigned32 } h3cLicenseIndex OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS accessible-for-notify STATUS current DESCRIPTION "ID that can be used to uniquely identify a license. It may use a stable storage index." ::= { h3cLicenseGeneralEntry 1 } h3cLicenseFeature OBJECT-TYPE SYNTAX SnmpAdminString (SIZE(0..1024)) MAX-ACCESS read-only STATUS current DESCRIPTION "The name of the licensed feature. When there multiple features, this object will display with space as delimiter." ::= { h3cLicenseGeneralEntry 2 } h3cLicenseProductDescr OBJECT-TYPE SYNTAX OCTET STRING (SIZE(0..1024)) MAX-ACCESS read-only STATUS current DESCRIPTION "The product description in a license." ::= { h3cLicenseGeneralEntry 3 } h3cLicenseFileDescr OBJECT-TYPE SYNTAX SnmpAdminString (SIZE(0..1024)) MAX-ACCESS read-only STATUS current DESCRIPTION "The file description in activation file." ::= { h3cLicenseGeneralEntry 4 } h3cLicenseState OBJECT-TYPE SYNTAX INTEGER { invalid(1), inuse(2), usable(3), expired(4), uninstalled(5), unusable(6) } MAX-ACCESS read-only STATUS current DESCRIPTION "The state of an installed license. invalid - The license is invalid and cannot be used. inuse - The license is being used. usable - The license is available for use. 1. If multiple days-restricted licenses for one feature are installed, only one license is in 'inuse' state and the rest licenses are in 'usable' state. 2. A date-restricted license is in this state if its start date is not reached. expired - The license has expired. uninstalled - The license has been uninstalled. unusable - The license cannot be used." ::= { h3cLicenseGeneralEntry 5 } h3cLicenseActivationFile OBJECT-TYPE SYNTAX SnmpAdminString (SIZE(0..255)) MAX-ACCESS read-only STATUS current DESCRIPTION "The name of an installed activation file, with device name and file name. For example: flash:/license/210231A1V0A1290000012013032718261184345.ak " ::= { h3cLicenseGeneralEntry 6 } h3cLicenseActivationKey OBJECT-TYPE SYNTAX SnmpAdminString (SIZE(0..255)) MAX-ACCESS read-only STATUS current DESCRIPTION "The activation key that has been installed. For example: Activation Key: dyKT-x3vc-W@Ca-n4gn-Yo83-rVY3-C8:7-e3pg" ::= { h3cLicenseGeneralEntry 7 } h3cLicenseLicenseKey OBJECT-TYPE SYNTAX SnmpAdminString (SIZE(0..255)) MAX-ACCESS read-only STATUS current DESCRIPTION "The license key that has been installed." ::= { h3cLicenseGeneralEntry 8 } h3cLicenseUninstActivationFile OBJECT-TYPE SYNTAX SnmpAdminString (SIZE(0..255)) MAX-ACCESS read-only STATUS current DESCRIPTION "If an activation file is uninstalled, the system creates an uninstall file. Use this file together with the SN and DID of the transfer destination to register the license for the transfer destination." ::= { h3cLicenseGeneralEntry 9 } h3cLicenseUninstActivationKey OBJECT-TYPE SYNTAX SnmpAdminString (SIZE(0..255)) MAX-ACCESS read-only STATUS current DESCRIPTION "If an activation key is uninstalled, the system creates an uninstall key. Use this key together with the SN and DID of the transfer destination to register the license for the transfer destination." ::= { h3cLicenseGeneralEntry 10 } h3cLicenseType OBJECT-TYPE SYNTAX INTEGER { unknown(1), permanent(2), daysRestricted(3), trialDaysRestricted(4), dateRestricted(5), trialDateRestricted(6), countRestricted(7), trialCountRestricted(8) } MAX-ACCESS read-only STATUS current DESCRIPTION "License type by validity period. unknown - The system cannot obtain the license type. permanent - Purchased license that never expires and is always valid. daysRestricted - Purchased license that is valid for a period in days. trialDaysRestricted - Free trial license that is valid for a period in days. dateRestricted - Purchased license that is valid for an absolute date range. trialDateRestricted - Free trial license that is valid for an absolute date range. countRestricted - Purchased license that is valid for several useing times. trialCountRestricted - Free trial license that is valid for several useing times. " ::= { h3cLicenseGeneralEntry 11 } h3cLicenseInstalledTime OBJECT-TYPE SYNTAX DateAndTime MAX-ACCESS read-only STATUS current DESCRIPTION "Time when the license was installed. For example, it would be displayed as: 2013-9-20,13:30:15.0 " ::= { h3cLicenseGeneralEntry 12 } h3cLicenseUninstalledTime OBJECT-TYPE SYNTAX DateAndTime MAX-ACCESS read-only STATUS current DESCRIPTION "The time when the license was uninstalled. For example, it would be displayed as: 2013-9-26,15:12:20.0 " ::= { h3cLicenseGeneralEntry 13 } h3cLicenseDaysLeft OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current DESCRIPTION "Remaining days of the license. This object is available for a days-restricted license." ::= { h3cLicenseGeneralEntry 14 } h3cLicenseValidityStart OBJECT-TYPE SYNTAX DateAndTime MAX-ACCESS read-only STATUS current DESCRIPTION "Start date for a date-restricted license. This object is available for a date-restricted license. But if the start date is not limited, this object is unavailable. For example, it would be displayed as: 2013-9-26,15:12:20.0 " ::= { h3cLicenseGeneralEntry 15 } h3cLicenseValidityEnd OBJECT-TYPE SYNTAX DateAndTime MAX-ACCESS read-only STATUS current DESCRIPTION "End date for a date-restricted license. This object is available for a date-restricted license. But if the end date is not limited, this object is unavailable. For example, it would be displayed as: 2014-9-26,15:12:20.0 " ::= { h3cLicenseGeneralEntry 16 } h3cLicenseExpiredDays OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current DESCRIPTION "Passed days after a license has been expired." ::= { h3cLicenseGeneralEntry 17 } h3cLicenseCount OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current DESCRIPTION "The effective number of license. This object is available for a count-restricted license." ::= { h3cLicenseGeneralEntry 18 } -- End of general information -- Begin of feature information h3cLicenseFeatureTable OBJECT-TYPE SYNTAX SEQUENCE OF H3cLicenseFeatureEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A table that displays installed licenses for features." ::= { h3cLicenseTables 3 } h3cLicenseFeatureEntry OBJECT-TYPE SYNTAX H3cLicenseFeatureEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A set of objects that displays installed licenses for features." INDEX { h3cLicensePhysicalIndex, IMPLIED h3cLicenseFeatureName } ::= { h3cLicenseFeatureTable 1 } H3cLicenseFeatureEntry ::= SEQUENCE { h3cLicenseFeatureName SnmpAdminString, h3cLicenseFeatureState INTEGER } h3cLicenseFeatureName OBJECT-TYPE SYNTAX SnmpAdminString (SIZE(1..31)) MAX-ACCESS read-only STATUS current DESCRIPTION "Feature that must be licensed before being used." ::= { h3cLicenseFeatureEntry 1 } h3cLicenseFeatureState OBJECT-TYPE SYNTAX INTEGER { notLicensed(1), trialLicense(2), formalLicense(3) } MAX-ACCESS read-only STATUS current DESCRIPTION "License type by purchasing state. notLicensed - The feature is not licensed. trialLicense - The feature is using trial license. formalLicense - The feature is using purchased license." ::= { h3cLicenseFeatureEntry 2 } -- End of feature information -- Begin of operation table h3cLicenseOpTable OBJECT-TYPE SYNTAX SEQUENCE OF H3cLicenseOpEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A table that used to install or uninstall license." ::= { h3cLicenseTables 4 } h3cLicenseOpEntry OBJECT-TYPE SYNTAX H3cLicenseOpEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A set of objects used to install or uninstall license." INDEX { h3cLicenseOpIndex } ::= { h3cLicenseOpTable 1 } H3cLicenseOpEntry ::= SEQUENCE { h3cLicenseOpIndex Unsigned32, h3cLicenseOpPhysicalIndex PhysicalIndexOrZero, h3cLicenseOpType INTEGER, h3cLicenseOpString SnmpAdminString, h3cLicenseOpNotifyEnable TruthValue, h3cLicenseOpRowStatus RowStatus, h3cLicenseOpState INTEGER, h3cLicenseOpFailedReason SnmpAdminString, h3cLicenseOpEndTime TimeTicks } h3cLicenseOpIndex OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS accessible-for-notify STATUS current DESCRIPTION "ID that can be used to uniquely identify an operation." ::= { h3cLicenseOpEntry 1 } h3cLicenseOpPhysicalIndex OBJECT-TYPE SYNTAX PhysicalIndexOrZero MAX-ACCESS read-create STATUS current DESCRIPTION "This object indicates that the entPhysicalIndex of the device where the operation is being executed. The meaning of this object is associated with the management state from h3cLicenseInstallType. Note that: 1) h3cLicenseInstallType is installInChassis. This object represents the entPhysicalIndex of chassis local master. 2) h3cLicenseInstallType is installInSlot. This object represents the entPhysicalIndex of MPU boards. 3) h3cLicenseInstallType is installInCPU. This object represents the entPhysicalIndex of CPUs. This object must be set and can not be set to zero when executing an operation. " ::= { h3cLicenseOpEntry 2 } h3cLicenseOpType OBJECT-TYPE SYNTAX INTEGER { compress(1), delete(2), installActivationFile(3), installActivationKey(4), installLicenseKey(5), uninstallActivationFile(6), uninstallActivationKey(7), uninstallLicenseKey(8) } MAX-ACCESS read-create STATUS current DESCRIPTION "The type of this operation. compress - Compress the license storage if the free license storage is not sufficient. Note that: 1) After compressing, the expired licenses and uninstalled licenses in the storage area will be cleared. 2) The DID changes each time the license storage is compressed. 3) Before performing a compression, make sure all activation files generated based on the old DID have been installed. They cannot be installed after the compression. delete - Compress one license storage only. installActivationFile - Install an activation file. installActivationKey - Install an activation key. installLicenseKey - Install a license key. uninstallActivationFile - Uninstall an activation file. uninstallActivationKey - Uninstall an activation key. uninstallLicenseKey - Uninstall a license key." ::= { h3cLicenseOpEntry 3 } h3cLicenseOpString OBJECT-TYPE SYNTAX SnmpAdminString (SIZE(0..255)) MAX-ACCESS read-create STATUS current DESCRIPTION "This object might be an activation file name, an activation key or a license key that is to be installed, uninstalled or deleted. The operation type is specified in h3cLicenseOpType. For compressing, this object must not be bound when creating a row. For deletion, this object could be an activation file, an activation key or a license key. For installActivationFile and uninstallActivationFile, this object must be a name of an activation file, with full path. Such as: flash:/license/210231A1V0A1290000012013032718261184345.ak For installActivationKey and uninstallActivationKey, this object must be an activation key. For installLicenseKey and uninstallLicenseKey, this object must be a license key." ::= { h3cLicenseOpEntry 4 } h3cLicenseOpNotifyEnable OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-create STATUS current DESCRIPTION "This object indicates whether 'h3cLicenseOpCompletion' notifications will be generated after this operation is completed. Note that, this object is meaningless if the value of 'h3cLicenseNotifyEnable' is 'false'." DEFVAL { false } ::= { h3cLicenseOpEntry 5 } h3cLicenseOpRowStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "The status of this conceptual row. When an entry was in active status, values of any object in this entry are forbidden to be changed." ::= { h3cLicenseOpEntry 6 } h3cLicenseOpState OBJECT-TYPE SYNTAX INTEGER { opInProgress(1), opSuccessful(2), opFailed(3) } MAX-ACCESS read-only STATUS current DESCRIPTION "The state of this operation. opInProgress - This operation is in progress. opSuccessful - Successful to execute this operation. opFailed - Failed to execute this operation, and 'h3cLicenseOpFailedReason' will indicate the detailed cause of the failure." ::= { h3cLicenseOpEntry 7 } h3cLicenseOpFailedReason OBJECT-TYPE SYNTAX SnmpAdminString (SIZE(0..255)) MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates the detailed cause of the failure when this operation failed." ::= { h3cLicenseOpEntry 8 } h3cLicenseOpEndTime OBJECT-TYPE SYNTAX TimeTicks MAX-ACCESS read-only STATUS current DESCRIPTION "The value of sysUpTime when the operation is done." ::= { h3cLicenseOpEntry 9 } -- End of operation table -- Begin of notifications h3cLicenseNotificationPrefix OBJECT IDENTIFIER ::= { h3cLicenseNotifications 0 } h3cLicenseOpCompletion NOTIFICATION-TYPE OBJECTS { h3cLicenseOpIndex, h3cLicenseOpPhysicalIndex, h3cLicenseOpType, h3cLicenseOpString, h3cLicenseOpState, h3cLicenseOpFailedReason } STATUS current DESCRIPTION "This notification is generated when a license operation completed." ::= { h3cLicenseNotificationPrefix 1 } h3cLicenseActivationFileLost NOTIFICATION-TYPE OBJECTS { h3cLicensePhysicalIndex, h3cLicenseActivationFile } STATUS current DESCRIPTION "This notification is generated when the activation file has been lost." ::= { h3cLicenseNotificationPrefix 2 } h3cLicenseActivationFileRestored NOTIFICATION-TYPE OBJECTS { h3cLicensePhysicalIndex, h3cLicenseActivationFile } STATUS current DESCRIPTION "This notification is generated when the activation file restored successfully." ::= { h3cLicenseNotificationPrefix 3 } h3cLicenseExpired NOTIFICATION-TYPE OBJECTS { h3cLicenseFeatureName, h3cLicenseFeatureState } STATUS current DESCRIPTION "This notification is generated when the license expires." ::= { h3cLicenseNotificationPrefix 4 } h3cLicenseExpireWarning NOTIFICATION-TYPE OBJECTS { h3cLicenseFeatureName, h3cLicenseFeatureState, h3cLicenseBindValidityPeriodRemaining } STATUS current DESCRIPTION "This notification is generated when is about to expire." ::= { h3cLicenseNotificationPrefix 5 } -- End of notifications -- Begin of notification bindings h3cLicenseNotificationBindings OBJECT IDENTIFIER ::= { h3cLicenseNotifications 1 } h3cLicenseBindValidityPeriodRemaining OBJECT-TYPE SYNTAX Unsigned32 UNITS "days" MAX-ACCESS accessible-for-notify STATUS current DESCRIPTION "This object indicates the remaining days before the feature's license expires." ::= { h3cLicenseNotificationBindings 1 } -- End of notification bindings END