-- ============================================================================
-- at-license.mib, Allied Telesis enterprise MIB:
-- License MIB for the AlliedWare Plus(tm) operating system
-- 
-- Copyright (c) 2008 by Allied Telesis, Inc.
-- All rights reserved.
-- 
-- ============================================================================

	AT-LICENSE-MIB DEFINITIONS ::= BEGIN
 
		IMPORTS
			sysinfo			
				FROM AT-SMI-MIB			
			Integer32, OBJECT-TYPE, MODULE-IDENTITY			
				FROM SNMPv2-SMI			
			RowStatus, TruthValue, DisplayString			
				FROM SNMPv2-TC;
	
	
		-- 1.3.6.1.4.1.207.8.4.4.3.22
		license MODULE-IDENTITY 
			LAST-UPDATED "200810050000Z"		-- October 5, 2008 at 00:00 GMT
			ORGANIZATION 
				"Allied Telesis Labs New Zealand"
			CONTACT-INFO 
				"http://www.alliedtelesis.com"
			DESCRIPTION 
				"The license MIB, for listing applied software licenses, adding
				 new licenses, and deleting existing licenses."
			REVISION "200810050000Z"		-- October 5, 2008 at 00:00 GMT
			DESCRIPTION 
				"Initial revision."
			::= { sysinfo 22 }
	
--  ---------------------------------------------------------- --
-- The Base Software License Table
-- ---------------------------------------------------------- --
		-- 1.3.6.1.4.1.207.8.4.4.3.22.1
		baseLicenseTable OBJECT-TYPE
			SYNTAX SEQUENCE OF BaseLicenseEntry
			MAX-ACCESS not-accessible
			STATUS current
			DESCRIPTION
				"A table representing the installed base software licenses on the device."
			::= { license 1 }

		
		-- 1.3.6.1.4.1.207.8.4.4.3.22.1.1
		baseLicenseEntry OBJECT-TYPE
			SYNTAX BaseLicenseEntry
			MAX-ACCESS not-accessible
			STATUS current
			DESCRIPTION
				"Each entry represents the base software license on a device."
			INDEX { baseLicenseStackId }
			::= { baseLicenseTable 1 }

		
		BaseLicenseEntry ::=
			SEQUENCE { 
				baseLicenseStackId
					Integer32,
				baseLicenseName
					DisplayString,
				baseLicenseQuantity
					Integer32,
				baseLicenseType
					DisplayString,
				baseLicenseIssueDate
					DisplayString,
				baseLicenseExpiryDate
					DisplayString,
				baseLicenseFeatures
					OCTET STRING
			 }

		-- 1.3.6.1.4.1.207.8.4.4.3.22.1.1.1
		baseLicenseStackId OBJECT-TYPE
			SYNTAX Integer32
			MAX-ACCESS not-accessible
			STATUS current
			DESCRIPTION
				"The index of the base license entry."
			::= { baseLicenseEntry 1 }

		
		-- 1.3.6.1.4.1.207.8.4.4.3.22.1.1.2
		baseLicenseName OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"The name of the base license."
			::= { baseLicenseEntry 2 }

		
		-- 1.3.6.1.4.1.207.8.4.4.3.22.1.1.3
		baseLicenseQuantity OBJECT-TYPE
			SYNTAX Integer32
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"The number of licenses issued for this entry."
			::= { baseLicenseEntry 3 }

		
		-- 1.3.6.1.4.1.207.8.4.4.3.22.1.1.4
		baseLicenseType OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"The type of base license issued."
			::= { baseLicenseEntry 4 }

		
		-- 1.3.6.1.4.1.207.8.4.4.3.22.1.1.5
		baseLicenseIssueDate OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"The date of issue of the base license."
			::= { baseLicenseEntry 5 }

		
		-- 1.3.6.1.4.1.207.8.4.4.3.22.1.1.6
		baseLicenseExpiryDate OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"The date that the base license expires on."
			::= { baseLicenseEntry 6 }

		
		-- 1.3.6.1.4.1.207.8.4.4.3.22.1.1.7
		baseLicenseFeatures OBJECT-TYPE
			SYNTAX OCTET STRING
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"The featureset that this license enables. Each bit in the returned octet
				string represents a particular feature that can be license-enabled.
				
				The bit position within the string maps to the feature entry with the
				same index, in licenseFeatureTable. A binary '1' indicates that the
				feature is included in the license, with a '0' indicating that it is not "
			::= { baseLicenseEntry 7 }

		
--  ---------------------------------------------------------- --
-- The Installed Software License Table
-- ---------------------------------------------------------- --
		-- 1.3.6.1.4.1.207.8.4.4.3.22.2
		licenseTable OBJECT-TYPE
			SYNTAX SEQUENCE OF LicenseEntry
			MAX-ACCESS not-accessible
			STATUS current
			DESCRIPTION
				"A table representing the installed software licenses on the device."
			::= { license 2 }

		
		-- 1.3.6.1.4.1.207.8.4.4.3.22.2.1
		licenseEntry OBJECT-TYPE
			SYNTAX LicenseEntry
			MAX-ACCESS not-accessible
			STATUS current
			DESCRIPTION
				"Each entry represents a single installed software license on the device."
			INDEX { licenseIndex, licenseStackId }
			::= { licenseTable 1 }

		
		LicenseEntry ::=
			SEQUENCE { 
				licenseStackId
					Integer32,
				licenseIndex
					Integer32,
				licenseName
					DisplayString,
				licenseCustomer
					DisplayString,
				licenseQuantity
					Integer32,
				licenseType
					DisplayString,
				licenseIssueDate
					DisplayString,
				licenseExpiryDate
					DisplayString,
				licenseFeatures
					OCTET STRING,
				licenseRowStatus
					RowStatus
			 }

		-- 1.3.6.1.4.1.207.8.4.4.3.22.2.1.1
		licenseStackId OBJECT-TYPE
			SYNTAX Integer32
			MAX-ACCESS not-accessible
			STATUS current
			DESCRIPTION
				"The index of the license entry."
			::= { licenseEntry 1 }

		
		-- 1.3.6.1.4.1.207.8.4.4.3.22.2.1.2
		licenseIndex OBJECT-TYPE
			SYNTAX Integer32
			MAX-ACCESS not-accessible
			STATUS current
			DESCRIPTION
				"The index of the license entry."
			::= { licenseEntry 2 }

		
		-- 1.3.6.1.4.1.207.8.4.4.3.22.2.1.3
		licenseName OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"The name of the license."
			::= { licenseEntry 3 }

		
		-- 1.3.6.1.4.1.207.8.4.4.3.22.2.1.4
		licenseCustomer OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"The name of the customer of the license."
			::= { licenseEntry 4 }

		
		-- 1.3.6.1.4.1.207.8.4.4.3.22.2.1.5
		licenseQuantity OBJECT-TYPE
			SYNTAX Integer32
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"The number of licenses issued for this entry."
			::= { licenseEntry 5 }

		
		-- 1.3.6.1.4.1.207.8.4.4.3.22.2.1.6
		licenseType OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"The type of license issued."
			::= { licenseEntry 6 }

		
		-- 1.3.6.1.4.1.207.8.4.4.3.22.2.1.7
		licenseIssueDate OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"The date of issue of the license."
			::= { licenseEntry 7 }

		
		-- 1.3.6.1.4.1.207.8.4.4.3.22.2.1.8
		licenseExpiryDate OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"The date that the license expires on."
			::= { licenseEntry 8 }

		
		-- 1.3.6.1.4.1.207.8.4.4.3.22.2.1.9
		licenseFeatures OBJECT-TYPE
			SYNTAX OCTET STRING
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"The featureset that this license enables. Each bit in the returned octet
				string represents a particular feature that can be license-enabled.
				
				The bit position within the string maps to the feature entry with the
				same index, in licenseFeatureTable. A binary '1' indicates that the
				feature is included in the license, with a '0' indicating that it is not "
			::= { licenseEntry 9 }

		
		-- 1.3.6.1.4.1.207.8.4.4.3.22.2.1.10
		licenseRowStatus OBJECT-TYPE
			SYNTAX RowStatus
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
				"The current status of the license. The following values may be returned
				when reading this object:
				
					active (1)        - The license is currently installed and valid.
					notInService (2)  - The license has expired or is invalid.
				
				The following values may be written to this object:
				
					destroy (6)       - The license will be removed from the device -
					                    this may result in some features being
					                    disabled. Note that a stacked device that has a
					                    license de-installed on it may not be able to
					                    rejoin the stack after reboot, unless the license
					                    is also de-installed on all other devices in the
					                    stack."
				
			::= { licenseEntry 10 }

		
--  ---------------------------------------------------------- --
-- The Available Software Features Table
-- ---------------------------------------------------------- --
		-- 1.3.6.1.4.1.207.8.4.4.3.22.3
		licenseFeatureTable OBJECT-TYPE
			SYNTAX SEQUENCE OF LicenseFeatureEntry
			MAX-ACCESS not-accessible
			STATUS current
			DESCRIPTION
				"A table of all features that must be license-enabled to be utilised on
				the device."
			::= { license 3 }

		
		-- 1.3.6.1.4.1.207.8.4.4.3.22.3.1
		licenseFeatureEntry OBJECT-TYPE
			SYNTAX LicenseFeatureEntry
			MAX-ACCESS not-accessible
			STATUS current
			DESCRIPTION
				"Each entry represents a single feature that must be license-enabled in
				order to be utilised on the device."
			INDEX { licenseFeatureIndex }
			::= { licenseFeatureTable 1 }

		
		LicenseFeatureEntry ::=
			SEQUENCE { 
				licenseFeatureIndex
					Integer32,
				licenseFeatureName
					DisplayString,
				licenseFeatureStkMembers
					OCTET STRING
			 }

		-- 1.3.6.1.4.1.207.8.4.4.3.22.3.1.1
		licenseFeatureIndex OBJECT-TYPE
			SYNTAX Integer32
			MAX-ACCESS not-accessible
			STATUS current
			DESCRIPTION
				"The index of the feature which must be license-enabled."
			::= { licenseFeatureEntry 1 }

		
		-- 1.3.6.1.4.1.207.8.4.4.3.22.3.1.2
		licenseFeatureName OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"The name of the feature under licensing control."
			::= { licenseFeatureEntry 2 }

		
		-- 1.3.6.1.4.1.207.8.4.4.3.22.3.1.3
		licenseFeatureStkMembers OBJECT-TYPE
			SYNTAX OCTET STRING
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"A bitmap with each bit representing an individual stacking
				member. Bit one represents stacking member one etc. In the
				case of a standalone unit, the first bit represents the device). 
				
				A bit value of '1' indicates that the applicable feature is
				enabled on the matching device. A '0' indicates that it is
				disabled."
			::= { licenseFeatureEntry 3 }

		
--  ---------------------------------------------------------- --
-- Objects to install a new license.
-- ---------------------------------------------------------- --
		licenseNew   OBJECT IDENTIFIER ::= { license 4 }
	

		-- 1.3.6.1.4.1.207.8.4.4.3.22.4.1
		licenseNewStackId OBJECT-TYPE
			SYNTAX Integer32 (1..10)
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
				"The ID of the stacking member upon which the new license is to
				 be installed. For a standalone unit, this should be set to the
				 default value of 1"
			::= { licenseNew 1 }

		
		-- 1.3.6.1.4.1.207.8.4.4.3.22.4.2
		licenseNewName OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
				"The name of the new license to be installed."
			::= { licenseNew 2 }

		
		-- 1.3.6.1.4.1.207.8.4.4.3.22.4.3
		licenseNewKey OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
				"The key for the new license to be installed."
			::= { licenseNew 3 }


		-- 1.3.6.1.4.1.207.8.4.4.3.22.4.4
		licenseNewInstall OBJECT-TYPE
			SYNTAX TruthValue
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
				"This object is used to install a new software license on the
				 device. To commence installation, a valid license name and key
				 must first have been set via the licenseNewName and
				 licenseNewKey objects respectively. This object should then be
				 set to the value true(1). If either the license name or key is
				 invalid, the write operation shall fail.
				 
				 Once installed, the software modules affected by any newly
				 enabled features will automatically be restarted. In some cases
				 a system reboot will also be necessary. Note that a stacked device
				 that has a new license installed on it may not be able to rejoin the
				 stack after reboot, unless the license is also added to all other
				 devices in the stack.
				 
				 When read, the object shall always return false(2)."
			::= { licenseNew 4 }


	END

--
-- at-license.mib
--
