--
-- Copyright (c) 2013, 2023 by Delphix. All rights reserved.
--

DELPHIX-ALERT-MIB DEFINITIONS ::= BEGIN

IMPORTS
	server
		FROM DELPHIX-MIB
	OBJECT-TYPE, NOTIFICATION-TYPE, MODULE-IDENTITY
		FROM SNMPv2-SMI
	OBJECT-GROUP, NOTIFICATION-GROUP
		FROM SNMPv2-CONF
	TEXTUAL-CONVENTION, DateAndTime
		FROM SNMPv2-TC;

delphixAlertMIB MODULE-IDENTITY
	LAST-UPDATED	"202301030000Z" -- January 3 2023
	ORGANIZATION	"Delphix Corp"
	CONTACT-INFO
		"Delphix Corp

		855 Main St Suite 400
		Redwood City, CA 94063

		+1.650.494.1645
		+1.650.494.1676 Fax

		Email: info@delphix.com
		Web: http://www.delphix.com"
	DESCRIPTION
		"Copyright (c) 2013, 2023 by Delphix. All rights reserved.

		MIB that provides access to Delphix Alerts."
	REVISION	"202301030000Z" -- January 3 2023
	DESCRIPTION
		"Add support for audit alerts."
	REVISION	"201403120000Z" -- March 12 2014
	DESCRIPTION
		"Add workaround to avoid problem with some parsers."
	REVISION	"201301030000Z" -- January 3 2013
	DESCRIPTION
		"The initial version of this MIB module."
	::= { server 1 }

DelphixAlertTitle ::= TEXTUAL-CONVENTION
	STATUS		current
	DESCRIPTION
		"Title of the alert. It has a maximum length limit of
		1024."
	SYNTAX		OCTET STRING (SIZE(0..1024))

DelphixAlertText ::= TEXTUAL-CONVENTION
	STATUS		current
	DESCRIPTION
		"Text used to describe various fields of the alert. It
		has a maximum length limit of 4096."
	SYNTAX		OCTET STRING (SIZE(0..4096))

DelphixAlertSeverity ::= TEXTUAL-CONVENTION
	STATUS		current
	DESCRIPTION
		"Severity of the alert with four distinct levels."
	SYNTAX		INTEGER {
		critical(1),
		warning(2),
		informational(3),
		audit(4)
	}

DelphixObjectReference ::= TEXTUAL-CONVENTION
	STATUS		current
	DESCRIPTION
		"Object reference refers to a particular instance of a
		Delphix object. It has a maximum length limit of 64 and
		the format is opaque."
	SYNTAX		OCTET STRING (SIZE(0..64))

DelphixObjectName ::= TEXTUAL-CONVENTION
	STATUS		current
	DESCRIPTION
		"Name of the Delphix object."
	SYNTAX		OCTET STRING (SIZE(0..256))

delphixAlertObjects OBJECT IDENTIFIER ::= { delphixAlertMIB 1 }

delphixAlertTitle OBJECT-TYPE
	SYNTAX		DelphixAlertTitle
	MAX-ACCESS	accessible-for-notify
	STATUS		current
	DESCRIPTION
		"Title of the alert."
	::= { delphixAlertObjects 1 }

delphixAlertDescription OBJECT-TYPE
	SYNTAX		DelphixAlertText
	MAX-ACCESS	accessible-for-notify
	STATUS		current
	DESCRIPTION
		"Description of the alert."
	::= { delphixAlertObjects 2 }

delphixAlertResponse OBJECT-TYPE
	SYNTAX		DelphixAlertText
	MAX-ACCESS	accessible-for-notify
	STATUS		current
	DESCRIPTION
		"Response, if any, taken by the system as a result of
		the alert."
	::= { delphixAlertObjects 3 }

delphixAlertAction OBJECT-TYPE
	SYNTAX		DelphixAlertText
	MAX-ACCESS	accessible-for-notify
	STATUS		current
	DESCRIPTION
		"Recommended action to be taken by the user, if any, in
		response to the alert."
	::= { delphixAlertObjects 4 }

delphixAlertSeverity OBJECT-TYPE
	SYNTAX		DelphixAlertSeverity
	MAX-ACCESS	accessible-for-notify
	STATUS		current
	DESCRIPTION
		"Severity of the alert."
	::= { delphixAlertObjects 5 }

delphixAlertTargetID OBJECT-TYPE
	SYNTAX		DelphixObjectReference
	MAX-ACCESS	accessible-for-notify
	STATUS		current
	DESCRIPTION
		"Target object involved in the alert."
	::= { delphixAlertObjects 6 }

delphixAlertTargetName OBJECT-TYPE
	SYNTAX		DelphixObjectName
	MAX-ACCESS	accessible-for-notify
	STATUS		current
	DESCRIPTION
		"Name of the target object involved in the alert."
	::= { delphixAlertObjects 7 }

delphixAlertTimestamp OBJECT-TYPE
	SYNTAX		DateAndTime
	MAX-ACCESS	accessible-for-notify
	STATUS		current
	DESCRIPTION
		"Time at which the alert occurred."
	::= { delphixAlertObjects 8 }

delphixAlertCommandOutput OBJECT-TYPE
	SYNTAX		DelphixAlertText
	MAX-ACCESS	accessible-for-notify
	STATUS		current
	DESCRIPTION
		"If the alert was caused by a command failure this
		field may contain the output of the failed command."
	::= { delphixAlertObjects 9 }

--
-- RFC 3584 requires that the next-to-last sub-ID be zero to allow for
-- mapping v2/v3 notifications to v1 traps.
--

delphixAlertTrapsBase OBJECT IDENTIFIER ::= { delphixAlertMIB 2 }
delphixAlertTraps OBJECT IDENTIFIER ::= { delphixAlertTrapsBase 0 }

delphixAlertTrap NOTIFICATION-TYPE
	OBJECTS {
		delphixAlertTitle,
		delphixAlertDescription,
		delphixAlertResponse,
		delphixAlertAction,
		delphixAlertSeverity,
		delphixAlertTargetID,
		delphixAlertTargetName,
		delphixAlertTimestamp,
		delphixAlertCommandOutput
	}
	STATUS	current
	DESCRIPTION
		"Trap notification that a Delphix alert has occurred."
	::= { delphixAlertTraps 1 }

delphixAlertGroups OBJECT IDENTIFIER ::= { delphixAlertMIB 3 }

delphixAlertObjectGroup OBJECT-GROUP
	OBJECTS {
		delphixAlertTitle,
		delphixAlertDescription,
		delphixAlertResponse,
		delphixAlertAction,
		delphixAlertSeverity,
		delphixAlertTargetID,
		delphixAlertTargetName,
		delphixAlertTimestamp,
		delphixAlertCommandOutput
	}
	STATUS		current
	DESCRIPTION
		"The collection of objects describing a Delphix alert."
	::= { delphixAlertGroups 1 }

delphixAlertNotificationGroup NOTIFICATION-GROUP
	NOTIFICATIONS {
		delphixAlertTrap
	}
	STATUS		current
	DESCRIPTION
		"The collection of notifications provided by the
		Delphix alert manager."
	::= { delphixAlertGroups 2 }

END