Add YANG modules used by SDN-R apps
[ccsdk/apps.git] / sdnr / model / yang / notifications@2018-05-30.yang
diff --git a/sdnr/model/yang/notifications@2018-05-30.yang b/sdnr/model/yang/notifications@2018-05-30.yang
new file mode 100644 (file)
index 0000000..296577d
--- /dev/null
@@ -0,0 +1,97 @@
+module notifications {
+  yang-version 1;
+  namespace "urn:ietf:params:xml:ns:netconf:notification:1.0";
+  prefix ncEvent;
+
+  import ietf-yang-types {
+    prefix yang;
+  }
+
+  organization
+    "IETF NETCONF WG";
+  contact
+    "netconf@ops.ietf.org";
+  description
+    "Conversion of the 'ncEvent' XSD in the
+     NETCONF Notifications RFC.";
+  reference "RFC 5277.";
+
+  revision 2018-05-30 {
+    description
+      "First step to a common notification yang.";
+    reference
+      "RFC 5277: NETCONF Event Notifications";
+  }
+  revision 2008-07-14 {
+    description
+      "Initial version";
+    reference
+      "RFC 5277: NETCONF Event Notifications";
+  }
+
+  typedef streamNameType {
+    type string;
+    description
+      "The name of an event stream.";
+  }
+
+  rpc create-subscription {
+    description
+      "The command to create a notification subscription. It
+       takes as argument the name of the notification stream
+       and filter. Both of those options limit the content of
+       the subscription. In addition, there are two time-related
+       parameters, startTime and stopTime, which can be used to
+       select the time interval of interest to the notification
+       replay feature.";
+    input {
+      leaf stream {
+        type streamNameType;
+        default "NETCONF";
+        description
+          "An optional parameter that indicates which stream of events
+           is of interest. If not present, then events in the default
+           NETCONF stream will be sent.";
+      }
+      anyxml filter {
+        description
+          "An optional parameter that indicates which subset of all
+           possible events is of interest. The format of this
+           parameter is the same as that of the filter parameter
+           in the NETCONF protocol operations. If not present,
+           all events not precluded by other parameters will
+           be sent.";
+      }
+      leaf startTime {
+        type yang:date-and-time;
+        description
+          "A parameter used to trigger the replay feature and
+           indicates that the replay should start at the time
+           specified. If start time is not present, this is not a
+           replay subscription.";
+      }
+      leaf stopTime {
+        type yang:date-and-time;
+        description
+          "An optional parameter used with the optional replay
+           feature to indicate the newest notifications of
+           interest. If stop time is not present, the notifications
+           will continue until the subscription is terminated.
+           Must be used with startTime.";
+      }
+    }
+  }
+  container notification {
+    config false;
+    description
+      "internal struct to start a notification";
+    leaf eventTime {
+      type yang:date-and-time;
+      mandatory true;
+        description
+          "The time the event was generated by the event source. This
+           parameter is of type dateTime and compliant to [RFC3339].
+           Implementations must support time zones.";
+    }
+  }
+}