module ietf-alarm {
namespace "urn:ietf:params:xml:ns:yang:ietf-alarm";
prefix flt;
import ietf-inet-types { prefix "inet"; }
import ietf-yang-types { prefix "yang"; }
import ietf-alarm-types { prefix "alm-types"; }
organization
"IETF NETMOD (NETCONF Data Modeling Language) Working Group";
contact
"WG Web:
WG List:
Editor: Anurag Sharma
Editor: Rajan Rao
Editor: Xian Zhang
";
description
"Alarm YANG Data Model for Network Topology and Services.";
revision 2016-09-26 {
description
"Revision 0.2";
reference
"TBD";
}
grouping alarm-info-attributes {
description
"Alarm Info attributes.";
leaf alarm-id {
type inet:uri;
mandatory true;
description
"Unique alarm id for the alarm. In most cases this
will be a combination of entity-type, entity-id,
probable-cause and severity.";
}
leaf entity-type {
type string;
mandatory true;
description
"Type of the entity on which the alarm is raised.";
reference
"Managed Object Class in ITU Recommendation X.733";
}
leaf entity-id {
type inet:uri;
mandatory true;
description
"An identifier for the entity on which the alarm is
raised. This entity can be in the device, domain
controllers, element management systems, or
northbound orchestrators.";
reference
"Managed Object Instance in ITU Recommendation X.733";
}
leaf event-type {
type identityref {
base alm-types:event-type;
}
mandatory true;
description
"This parameter categorizes the alarm.";
reference
"Event Type in ITU Recommendation X.733";
}
leaf alarm-time {
type yang:date-and-time;
mandatory true;
description
"Time at which the alarm was raised / reported.";
reference
"Event Time in ITU Recommendation X.733";
}
leaf probable-cause {
type identityref {
base alm-types:probable-cause-type;
}
mandatory true;
description
"This parameter defines further qualification as to
the probable cause of the alarm.";
reference
"Probable cause in ITU Recommendation X.733";
}
leaf perceived-severity {
type enumeration {
enum Critical;
enum Major;
enum Minor;
enum Warning;
enum Cleared;
enum Indeterminate;
}
mandatory true;
description
"This parameter indicates the perceived severity
level of the alarm.";
reference
"Perceived Severity in ITU Recommendation X.733";
}
leaf trend-indication {
type enumeration {
enum moreSevere;
enum noChange;
enum lessSevere;
}
description
"This parameter, when present, specifies the current
severity trend of the managed entity.";
reference
"Trend Indication in ITU Recommendation X.733";
}
leaf notification-identifier {
type inet:uri;
description
"This parameter provides an identifier for the
notification, which may be carried in the
correlated notifications parameter of future
notifications. Notification identifiers must be
chosen to be unique across all notifications of
a particular managed object throughout the time
that correlation is significant.";
reference
"Notification Identifier in ITU Recommendation X.733";
}
leaf correlated-notifications {
type string;
description
"This parameter contains a set of Notification
identifiers of the correlated alarms.";
reference
"Correlated notifications in ITU Recommendation
X.733";
}
leaf additional-text {
type string;
description
"This parameter, when present, allows a free form
text description to be reported.";
reference
"Addition Text in ITU Recommendation X.733";
}
leaf location {
type enumeration {
enum NA;
enum nearEnd;
enum farEnd;
}
description
"Location where the alarm is reported.";
}
leaf service-affecting {
type boolean;
description
"This parameter indicates if the alarm impacts an
active service. If the alarm is service affecting
then the value is true. If the alarm does not
affect the service then the value is false.";
}
leaf direction {
type enumeration {
enum NA;
enum Rx;
enum Tx;
}
description
"Direction for which alarm is reported.";
}
}
container alarms {
config false;
description
"Serves as top-level container for list of alarms.";
list alarm {
key "alarm-id";
uses alarm-info-attributes;
description
"List of active alarms.";
reference
"ITU Recommendation X.733";
}
}
grouping alarm-sequence {
description
"Alarm sequence number used in alarm notification.";
leaf alarm-seq {
type uint32;
description
"Alarm sequence number that is sent in the alarm
notification. Northbound clients can use this
sequence number to check for any missing
notifications.";
}
}
notification alarm-event {
description
"Alarm Notification.";
uses alarm-sequence;
uses alarm-info-attributes;
}
}