-- *****************************************************************
-- PSL-SMI-MIB.my:  PSL Enterprise Structure of Management Information
--   
-- August 2014 Dave Madole & Juliana Correa
--   
-- Copyright (c) 2014 by Power Standards Laboratories
-- All rights reserved.
--   
-- ****************************************************************

PSL-SMI-MIB DEFINITIONS ::= BEGIN

IMPORTS
		OBJECT-TYPE,
		MODULE-IDENTITY,
		OBJECT-IDENTITY,
		NOTIFICATION-TYPE,
		Integer32,
		enterprises
			FROM SNMPv2-SMI
		MODULE-COMPLIANCE, 
		NOTIFICATION-GROUP,
		OBJECT-GROUP
			FROM SNMPv2-CONF;


psl MODULE-IDENTITY
    LAST-UPDATED    "201306240000Z"
    ORGANIZATION    "Power Standards Laboratories"
    CONTACT-INFO
            "Power Standards Laboratories

            Postal: 2020 Challenger Drive
            Alameda, CA  94501
            USA

            Tel: +1 510 522-4400

            E-mail: support@powerstandards.com"

    DESCRIPTION
        "The Structure of Management Information for the
        PSL enterprise."
    REVISION        "201306240000Z"
    DESCRIPTION
        "Initial version of this MIB module."
    ::= { enterprises 36070 }



-- assigned by IANA

pslNotificationPrefix OBJECT IDENTIFIER ::= { psl 0 } 
pslNotificationTables OBJECT IDENTIFIER ::= { psl 2 } 
pslNotificationConformance OBJECT IDENTIFIER ::= { psl 3 } 

pslNotificationTable OBJECT-TYPE
	SYNTAX SEQUENCE OF PslNotificationEntry
	MAX-ACCESS not-accessible
	STATUS 	current
	DESCRIPTION
		"Variables in notifications"
	::= { pslNotificationTables 1 }
	

pslNotificationEntry OBJECT-TYPE 
	SYNTAX PslNotificationEntry
	MAX-ACCESS not-accessible
	STATUS 	current
	DESCRIPTION
		"Variables in notifications"
	INDEX { pslNotificationIndex }
	::= { pslNotificationTable 1 }

PslNotificationEntry ::= SEQUENCE {
	pslNotificationIndex Integer32,
	eventType 	OCTET STRING,
	eventTriggerChannel OCTET STRING,
	eventStartTime OCTET STRING,
	eventDuration OCTET STRING,
	eventMagnitude OCTET STRING,
	eventTriggerThreshold OCTET STRING,
	eventLocation OCTET STRING
} 

pslNotificationIndex OBJECT-TYPE
	SYNTAX Integer32 ( 1 .. 32767 )
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
	"Notification index"
	::= { pslNotificationEntry 1 }

eventType OBJECT-TYPE
	SYNTAX	OCTET STRING (SIZE(1..32))
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION 
	"Event type"
	::= { pslNotificationEntry 2 } 

eventTriggerChannel OBJECT-TYPE
	SYNTAX	OCTET STRING (SIZE(1..32))
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION 
	"Channel that triggered the event"
	::= { pslNotificationEntry 3 } 

eventStartTime OBJECT-TYPE
	SYNTAX	OCTET STRING (SIZE(1..32))
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION 
	"Event start time"
	::= { pslNotificationEntry 4 } 

eventDuration OBJECT-TYPE
	SYNTAX	OCTET STRING (SIZE(1..32))
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION 
	"Event duration"
	::= { pslNotificationEntry 5 } 

eventMagnitude OBJECT-TYPE
	SYNTAX	OCTET STRING (SIZE(1..32))
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION 
	"Event magnitude"
	::= { pslNotificationEntry 6 } 

eventTriggerThreshold OBJECT-TYPE
	SYNTAX	OCTET STRING (SIZE(1..32))
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION 
	"Event threshold"
	::= { pslNotificationEntry 7 } 

eventLocation OBJECT-TYPE
	SYNTAX	OCTET STRING (SIZE(1..32))
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION 
	"Description of location"
	::= { pslNotificationEntry 8 } 

eventNotification NOTIFICATION-TYPE
	OBJECTS {
		pslNotificationIndex,
		eventType,
		eventTriggerChannel,
		eventStartTime,
		eventDuration, 
		eventMagnitude, 
		eventTriggerThreshold, 
		eventLocation 
	}
	STATUS current
	DESCRIPTION 
		"This can wait"
	::= { pslNotificationPrefix 1 }



pslProduct OBJECT-IDENTITY
    STATUS          current
    DESCRIPTION
        "pslProducts is the root OBJECT IDENTIFIER from"
    ::= { psl 1 }


pslHardware OBJECT-IDENTITY
    STATUS          current
    DESCRIPTION
        "Subtree beneath which pre-10.2 MIBS were built."
    ::= { pslProduct 1 }


pqube OBJECT-IDENTITY
    STATUS          current
    DESCRIPTION
        "Subtree beneath which pre-10.2 experiments were placed."
    ::= { pslHardware 1 }


pqMonitor OBJECT-IDENTITY
    STATUS          current
    DESCRIPTION
        "Subtree for monitoring"
    ::= { pqube 1 }

pqConfig OBJECT-IDENTITY
    STATUS          current
    DESCRIPTION
        "subtree for configuration"
    ::= { pqube 2 }


pqControl OBJECT-IDENTITY
    STATUS          current
    DESCRIPTION
        "subtree for control"
    ::= { pqube 3 }

pqTest OBJECT-IDENTITY
    STATUS          current
    DESCRIPTION
        "subtree for test"
    ::= { pqube 4 }

pqMeters OBJECT-IDENTITY
    STATUS          current
    DESCRIPTION
        "subtree for Meters"
    ::= { pqMonitor 1 }

pqEvents OBJECT-IDENTITY
    STATUS          current
    DESCRIPTION
        "subtree for Events"
    ::= { pqMonitor 2 }

pqEnvironment OBJECT-IDENTITY
    STATUS          current
    DESCRIPTION
        "subtree for Environmental Monitoring"
    ::= { pqMonitor 3 }

--
-- Conformance
--

pslNotificationCompliances OBJECT IDENTIFIER
	::= { pslNotificationConformance 1 }

pslNotificationGroups OBJECT IDENTIFIER
	::= { pslNotificationConformance 2 }

pslNotificationCompliance MODULE-COMPLIANCE
	STATUS	current
	DESCRIPTION
		"PQube3 notification compliance"
	MODULE
		MANDATORY-GROUPS { pslNotificationGroup }
	
		GROUP	eventNotificationGroup
		DESCRIPTION
			"This group is mandatory for an SNMP entity
			which supports traps"
	::= { pslNotificationCompliances 1 }	
	
pslNotificationGroup OBJECT-GROUP
	OBJECTS {
		eventType,
		eventTriggerChannel,
		eventStartTime,
		eventDuration,
		eventMagnitude,
		eventTriggerThreshold,
		eventLocation
	}
	STATUS current
	DESCRIPTION 
		"PQube3 collection of objects providing information about event"
	::= { pslNotificationGroups 1 }
	
eventNotificationGroup NOTIFICATION-GROUP
	NOTIFICATIONS {
		eventNotification
	}
	STATUS current
	DESCRIPTION 
		"PQube3 event notification group"
	::= { pslNotificationGroups 2 }

END
