--		Asm
--			Manufacturer 1
--			Version      2
--			Device	   3
--			Threshold    4
--			trapEntry    5
--
--   The Events are genereated when the following devices cross the threshold value. 
--			   Devices
--				Chassis
--					UpperCritical
--					Normal
--				+12Volts ....
--					Upper critical
--					Upper warning
--					Normal
--					Lower critical
--					Lower warning
--				Temprature
--					Upper critical
--					Upper warning
--					Normal
--					Lower critical
--					Lower warning
--				Battery Backup
--					Inserted
--					Removed
--					Loss-of-AC
--					Overhead
--					Missing
--				Fan
--					Upper critical
--					Upper warning
--					Normal
--					Lower critical
--					Lower warning
--
--
--
-- OID # for ASM:
-- 1.3.6.1.4.1.343.2.10.3.3
--
--  Intel = Enterprises : 343
--  Product = Intel : 2
--  Server-Products = Product:10
--  Software = Server-Product:3
--  Asm = Software:3



ASM-MIB DEFINITIONS ::= BEGIN

IMPORTS
        enterprises, TimeTicks                                
        FROM RFC1155-SMI
        OBJECT-TYPE                        
        FROM RFC-1212
        TRAP-TYPE                          
        FROM RFC-1215
        DisplayString
        FROM RFC1213-MIB;
 

	intel		OBJECT IDENTIFIER ::= { enterprises 343 }
	product 	OBJECT IDENTIFIER ::= { intel 2 }
	server-products OBJECT IDENTIFIER ::= { product 10 }
	software	OBJECT IDENTIFIER ::= { server-products 3 }
	asm		OBJECT IDENTIFIER ::= { software 3 }

	trapevent	OBJECT IDENTIFIER ::= { asm 12 }

         -- Asm MIB

         asmManufacturer OBJECT-TYPE
             SYNTAX  DisplayString
               ACCESS  read-only
               STATUS  mandatory
               DESCRIPTION
                       "Intel Corporation,"
               ::= { asm 1 }
  
           asmVersionNumber OBJECT-TYPE
               SYNTAX  DisplayString
               ACCESS  read-only
               STATUS  mandatory
               DESCRIPTION
                       "Version 1.1"
               ::= { asm 2 }
  
		   asmDeviceDesc OBJECT-TYPE
			   SYNTAX  DisplayString
		       ACCESS  read-only
               STATUS  mandatory
               DESCRIPTION
                      "Name of the device"
               ::= { asm 3 }
			   
           asmBaseboardTemperatureThresholds OBJECT-TYPE
               SYNTAX  INTEGER  {
					  normal				(1),
				       upper-critical		(2),
				       upper-warning		(3),
					  lower-critical		(4),
				       lower-warning		(5)
                       }
               ACCESS  read-only
               STATUS  mandatory
               DESCRIPTION
                       "Baseboard Temperature Thresholds"
               ::= { asm 4 }

			asmPlus12VThresholds OBJECT-TYPE
               SYNTAX  INTEGER  {
					  normal				(1),
				       upper-critical		(2),
				       upper-warning		(3),
					  lower-critical		(4),
				       lower-warning		(5)
                       }
               ACCESS  read-only
               STATUS  mandatory
               DESCRIPTION
                       "+12 Voltage Thresholds"
               ::= { asm 5 }

			asmMinus12VThresholds OBJECT-TYPE
               SYNTAX  INTEGER  {
					  normal				(1),
				       upper-critical		(2),
				       upper-warning		(3),
					  lower-critical		(4),
                           lower-warning		(5)
                       }
               ACCESS  read-only
               STATUS  mandatory
               DESCRIPTION
                       "-12 Voltage Thresholds"
               ::= { asm 6 }
  
           asmPlus5VThresholds OBJECT-TYPE
               SYNTAX  INTEGER  {
					  normal				(1),
				       upper-critical		(2),
				       upper-warning		(3),
					  lower-critical		(4),
                           lower-warning		(5)
                       }
               ACCESS  read-only
               STATUS  mandatory
               DESCRIPTION
                       "+5 Voltage Thresholds"
               ::= { asm 7 }
  
           asmPlus3Point3VThresholds OBJECT-TYPE
               SYNTAX  INTEGER  {
					  normal				(1),
				       upper-critical		(2),
				       upper-warning		(3),
					  lower-critical		(4),
                           lower-warning		(5)
                       }
               ACCESS  read-only
               STATUS  mandatory
               DESCRIPTION
                       "+3.3 Voltage Thresholds"
               ::= { asm 8 }
  
  			asmCPUIOVThresholds OBJECT-TYPE
               SYNTAX  INTEGER  {
					  normal				(1),
				       upper-critical		(2),
				       upper-warning		(3),
					  lower-critical		(4),
                           lower-warning		(5)
                       }
               ACCESS  read-only
               STATUS  mandatory
               DESCRIPTION
                       "CPU I/O Voltage Thresholds"
               ::= { asm 9 }
  
           asmCPUCoreVThresholds OBJECT-TYPE
               SYNTAX  INTEGER  {
					  normal				(1),
				       upper-critical		(2),
				       upper-warning		(3),
					  lower-critical		(4),
                           lower-warning		(5)
                       }
               ACCESS  read-only
               STATUS  mandatory
               DESCRIPTION
                       "CPU Core Voltage Voltage Thresholds"
               ::= { asm 10 }
  

           asmChassisThreshold OBJECT-TYPE
               SYNTAX  INTEGER  {
					   Closed	(0),
				       Open	    (1)
                       }
               ACCESS  read-only
               STATUS  mandatory
               DESCRIPTION
                       "CPU Core Voltage Voltage Thresholds"
               ::= { asm 11 }

			asmBBU OBJECT-TYPE
               SYNTAX  INTEGER  {
					  Inserted	(1),
				       Removed		(2),
					  Loss-of-AC	(3),
					  Overhead	(4),
					  Missing		(5)
                       }
               ACCESS  read-only
               STATUS  mandatory
               DESCRIPTION
                       "Battery Backup Unit status"
               ::= { asm 25 }

           asmThresholds OBJECT-TYPE
               SYNTAX  INTEGER  {
                        normal			(1),
                        upper-critical		(2),
				    upper-warning		(3),
				    lower-critical		(4),
				    lower-warning		(5)
                       }
               ACCESS  read-only
               STATUS  mandatory
               DESCRIPTION
                       "The devices have different threshold values. The device will hold one of the states."
               ::= { asm 13 }


			asmPredictiveFailureBaseboardTemperature OBJECT-TYPE
               SYNTAX  INTEGER  {
					  normal				(1),
				       upper-critical		(2),
				       upper-warning		(3),
					  lower-critical		(4),
                           lower-warning		(5)
                       }
               ACCESS  read-only
               STATUS  mandatory
               DESCRIPTION
                       "Predictive failure baseboard temperature status"
               ::= { asm 26 }

			asmPredictiveFailurePlus12VThresholds OBJECT-TYPE
               SYNTAX  INTEGER  {
					  normal				(1),
				       upper-critical		(2),
				       upper-warning		(3),
					  lower-critical		(4),
                           lower-warning		(5)
                       }
               ACCESS  read-only
               STATUS  mandatory
               DESCRIPTION
                       "Predictive failure +12 Voltage status"
               ::= { asm 14 }

			   asmPredictiveFailureMinus12VThresholds OBJECT-TYPE
               SYNTAX  INTEGER  {
					  normal				(1),
				       upper-critical		(2),
				       upper-warning		(3),
					  lower-critical		(4),
                           lower-warning		(5)
                       }
               ACCESS  read-only
               STATUS  mandatory
               DESCRIPTION
                       "Predictive failure -12 Voltage status"
               ::= { asm 15 }

			asmPredictiveFailurePlus5VThresholds OBJECT-TYPE
               SYNTAX  INTEGER  {
					  normal				(1),
				       upper-critical		(2),
				       upper-warning		(3),
					  lower-critical		(4),
				       lower-warning		(5)
                       }
               ACCESS  read-only
               STATUS  mandatory
               DESCRIPTION
                       "Predictive failure +5 Voltage status"
               ::= { asm 16 }

			asmPredictiveFailurePlus3Point3Thresholds OBJECT-TYPE
               SYNTAX  INTEGER  {
					  normal				(1),
				       upper-critical		(2),
				       upper-warning		(3),
					  lower-critical		(4),
                           lower-warning		(5)
                       }
               ACCESS  read-only
               STATUS  mandatory
               DESCRIPTION
                       "Predictive failure +3.3 Voltage status"
               ::= { asm 17 }

			asmPredictiveFailureCPUIOVThresholds OBJECT-TYPE
               SYNTAX  INTEGER  {
					   normal				(1),
				       upper-critical		(2),
				       upper-warning	(3),
					   lower-critical		(4),
                       lower-warning	(5)
                       }
               ACCESS  read-only
               STATUS  mandatory
               DESCRIPTION
                       "Predictive failure I/O Voltage status"
               ::= { asm 18 }

			asmPredictiveFailureCoreVThresholds OBJECT-TYPE
               SYNTAX  INTEGER  {
					  normal				(1),
				       upper-critical		(2),
				       upper-warning		(3),
					  lower-critical		(4),
                           lower-warning		(5)
                       }
               ACCESS  read-only
               STATUS  mandatory
               DESCRIPTION
                       "Predictive failure Core Voltage status"
               ::= { asm 19 }

			asmPredictiveFailureCPU OBJECT-TYPE
               SYNTAX  INTEGER  {
					  Not-Triggered		(0),
				       Triggered			(1)
                       }
               ACCESS  read-only
               STATUS  mandatory
               DESCRIPTION
                       "Predictive failure CPU  status"
               ::= { asm 20 }

			asmPredictiveFailureMemory OBJECT-TYPE
               SYNTAX  INTEGER  {
					  Not-Triggered		(0),
				       Triggered			(1)
                       }
               ACCESS  read-only
               STATUS  mandatory
               DESCRIPTION
                       "Predictive failure Memory status"
               ::= { asm 21 }

			asmPredictiveFailureSingleBitError OBJECT-TYPE
               SYNTAX  INTEGER  {
					  Not-Triggered		(0),
				       Triggered			(1)
                       }
               ACCESS  read-only
               STATUS  mandatory
               DESCRIPTION
                       "Predictive failure Single-bit-error status"
               ::= { asm 22 }

			--
			-- Fan Sensors.
			--
			asmFanTable OBJECT-TYPE
				SYNTAX SEQUENCE OF AsmFanEntry
				ACCESS not-accessible
				STATUS mandatory
				DESCRIPTION
						"Fan sensors."
			  	::= { asm 23 }
  		
  			asmFanEntry OBJECT-TYPE
				SYNTAX AsmFanEntry
				ACCESS not-accessible
				STATUS mandatory
				DESCRIPTION
						"A specific fan."
				INDEX { asmFanEntryNumber }
			    ::= { asmFanTable 1 }
				
		 	AsmFanEntry ::=
				SEQUENCE {
					asmFanEntryNumber
						INTEGER,
					asmFanEntryStatus	
						INTEGER
				}
		   
		   	asmFanEntryNumber OBJECT-TYPE
				SYNTAX INTEGER
				ACCESS read-only
				STATUS mandatory
				DESCRIPTION
						"The fan number."
			  	::= { asmFanEntry 1 }

			asmFanEntryStatus OBJECT-TYPE
                SYNTAX  INTEGER  {
					   normal				(1),
					   lower-critical		(4),
                       lower-warning	(5)
                       }
				ACCESS read-only
				STATUS mandatory
				DESCRIPTION
						"The fan status."
			  	::= { asmFanEntry 2 }

			--
			-- Disk Sensors.
			--
			asmDiskTable OBJECT-TYPE
				SYNTAX SEQUENCE OF AsmDiskEntry
				ACCESS not-accessible
				STATUS mandatory
				DESCRIPTION
						"Disk sensors."
			  	::= { asm 24 }
  		
  			asmDiskEntry OBJECT-TYPE
				SYNTAX AsmDiskEntry
				ACCESS not-accessible
				STATUS mandatory
				DESCRIPTION
						"A specific disk."
				INDEX { asmDiskEntryNumber }
			    ::= { asmDiskTable 1 }
				
		 	AsmDiskEntry ::=
				SEQUENCE {
					asmDiskEntryNumber
						INTEGER,
					asmDiskEntryDisk	
						DisplayString,
					asmDiskEntryStatus	
						INTEGER
				}
		   
		   	asmDiskEntryNumber OBJECT-TYPE
				SYNTAX INTEGER
				ACCESS read-only
				STATUS mandatory
				DESCRIPTION
						"The disk number."
			  	::= { asmDiskEntry 1 }

			asmDiskEntryDisk OBJECT-TYPE
             	SYNTAX  DisplayString
				ACCESS read-only
				STATUS mandatory
				DESCRIPTION
						"The disk name."
			  	::= { asmDiskEntry 2 }

			asmDiskEntryStatus OBJECT-TYPE
                SYNTAX  INTEGER  {
					   normal				(1),
					   lower-critical		(4),
                       lower-warning	(5)
                       }
				ACCESS read-only
				STATUS mandatory
				DESCRIPTION
						"The disk status."
			  	::= { asmDiskEntry 3 }

  	   asmTrapEntryDesc TRAP-TYPE
		 ENTERPRISE trapevent
		  VARIABLES  {
			asmDeviceDesc ,
               asmBaseboardTemperatureThresholds,
			asmPlus12VThresholds,
			asmMinus12VThresholds,
			asmPlus5VThresholds,
			asmPlus3Point3VThresholds,
			asmCPUIOVThresholds,
			asmCPUCoreVThresholds,
			asmChassisThreshold,
			asmThresholds 
		 }

		DESCRIPTION
		"Information about the device and the threshold value crossed." 
		::=  1 
  
           END

