#-MIBFILE: ThreeParMIB.mib

ThreeParMIB DEFINITIONS ::= BEGIN


DisplayString ::=
	OCTET STRING (SIZE(0..255))

PhysAddress ::=
	OCTET STRING

MacAddress ::=
	OCTET STRING (SIZE(6))

TruthValue ::=
	INTEGER {
	true(1),
	false(2)
	}

TestAndIncr ::=
	INTEGER (0..2147483647)

AutonomousType ::=
	OBJECT IDENTIFIER

InstancePointer ::=
	OBJECT IDENTIFIER

VariablePointer ::=
	OBJECT IDENTIFIER

RowPointer ::=
	OBJECT IDENTIFIER

RowStatus ::=
	INTEGER {
	active(1),
	notInService(2),
	notReady(3),
	createAndGo(4),
	createAndWait(5),
	destroy(6)
	}

TimeStamp ::=
	TimeTicks

TimeInterval ::=
	INTEGER (0..2147483647)

DateAndTime ::=
	OCTET STRING (SIZE(8|11))

StorageType ::=
	INTEGER {
	other(1),
	volatile(2),
	nonVolatile(3),
	permanent(4),
	readOnly(5)
	}

TDomain ::=
	OBJECT IDENTIFIER

TAddress ::=
	OCTET STRING (SIZE(1..255))

ThreeparLongDisplayString ::=
	OCTET STRING

threepar OBJECT IDENTIFIER ::= { enterprises 12925 }

inserv OBJECT IDENTIFIER ::= { threepar 1 }

inservAgentCaps OBJECT IDENTIFIER ::= { inserv 4 }

alertTable OBJECT-TYPE
	SYNTAX SEQUENCE OF AlertEntry
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Contains critical information in notifications sent to 
SNMP managers.  This information is translated from alerts 
generated by the system."
	::= { inserv 7 }


alertEntry OBJECT-TYPE
	SYNTAX AlertEntry
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Row Description"
	INDEX { index  }

	::= { alertTable 1 }

alertEntry ::=
	SEQUENCE {
		index Integer32,
		severity INTEGER,
		timeOccurred DisplayString,
		nodeID Unsigned32,
		component DisplayString,
		details ThreeparLongDisplayString,
		id Unsigned32,
		messageCode Unsigned32,
		state INTEGER,
		serialNumber DisplayString
		}

index OBJECT-TYPE
	SYNTAX INTEGER (1)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Index to access entries in alert table.  However, the table is
empty most of the time because the entry is deleted after sending
the trap"
	::= { alertEntry 1 }


severity OBJECT-TYPE
	SYNTAX INTEGER {
	fatal(0),
	critical(1),
	major(2),
	minor(3),
	degraded(4),
	info(5),
	debug(6)
	}
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Severity of the alert.  The enumeration is borrowed from 
Common Information Model (CIM): 0 - fatal: indicates an 
error occurred, but it's too late to take any actions; 1 - 
critical: an action is needed immediately and scope of the 
error is broad; 2 - major: an action is needed, the
situation is serious; 3 - minor: an action is needed, but 
the situation is not serious;  4 - degraded/warning: the 
user decides whether to take an action; 5 - informational: 
indicates state change or status change, but it's not an 
error; 6 - debug: information that are logged for later 
analysis."
	::= { alertEntry 2 }


timeOccurred OBJECT-TYPE
	SYNTAX DisplayString
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The local time and date when the alert occurred.  The 
format is 
'DDD mmm dd hh:mm:ss ZZZ yyyy'.  Where: DDD= day of the week
(Sun, Mon, ,,,), mmm= month (Jan, Feb, Mar ...), dd= date, 
hh: hour, mm:
minute, ss= second, ZZZ: time zone, yyyy: year."
	::= { alertEntry 3 }


nodeID OBJECT-TYPE
	SYNTAX INTEGER (0..31)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The node the alert was posted on.  The node number starts 
from 0.  The maximum number of node is 32."
	::= { alertEntry 4 }


component OBJECT-TYPE
	SYNTAX DisplayString
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The component which the event applies to; for example, 
power supply, SCSI disk, BIOS, cage etc..."
	::= { alertEntry 5 }


details OBJECT-TYPE
	SYNTAX OCTET STRING (SIZE(0..511))
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Additional detailed description of the alert.  The detail 
may include things like disk number, cage number the alert 
applies to."
	::= { alertEntry 6 }


id OBJECT-TYPE
	SYNTAX INTEGER (1..4294967295)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Unique ID that identifies the instance of an alert. This
is a unique number that is generated each time an alert is
generated by the system."
	::= { alertEntry 7 }


messageCode OBJECT-TYPE
	SYNTAX INTEGER (65537..4294967295)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Message code is assigned to a particular event type, and is
encoded as a 32-bit number in the following way:
The MSB 8 bits are reserved.
The next 8 bits represent a particular subsystem or component.
The LSB 16 bits are the keycode id within the subsystem.

For example, Remote Copy Target Down event has a subsystem ID
of 37 (remote copy subsystem), and a keycode ID of 1, thus the 
message code for this event = ((37 << 16) | 1) = 0x250001 = 2424833.

This is shown as 'Message Code' in the CLI 'showalert' display, 
and also shows up in the Alerts Details Pane in the GUI."
	::= { alertEntry 8 }


state OBJECT-TYPE
	SYNTAX INTEGER {
	undefined(0),
	new(1),
	acknowledged(2),
	fixed(3),
	removed(4),
	autofixed(5)
	}
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "This provides information about the state of the alert.
new - new alert generated by the system
acknowledged - an administrator has acknowledged the alert but may
or may not have fixed it, depending on whether remedial
action is necessary
fixed - remedial action has been taken to fix the alert condition
removed - the alert has been removed
autofixed - the system has taken action to automatically resolve 
the alert condition."
	::= { alertEntry 9 }


serialNumber OBJECT-TYPE
	SYNTAX DisplayString
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The serial-number of the HP 3PAR InServ system"
	::= { alertEntry 10 }


alertNotify TRAP-TYPE
	ENTERPRISE inserv
	VARIABLES { component, details, nodeID, severity, timeOccurred, id, messageCode, state, serialNumber }
DESCRIPTION "Alert notification contains details about an event that 
may affect system operations and performance.  The 
details include all columns defined in alertTable."
	::= 8


END

