module notifications { 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 2008-07-14 { description "RFC 5277 version."; } typedef streamNameType { description "The name of an event stream."; type string; } 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 { 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."; type streamNameType; default "NETCONF"; } 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 { 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."; type yang:date-and-time; } leaf stopTime { // must ". >= ../startTime"; 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."; type yang:date-and-time; } } } /*container notification { description "internal struct to start a notification"; config false; leaf eventTime { mandatory true; type yang:date-and-time; } // eventType and any data content goes here }*/ }