Split Restconf implementations (draft02 and RFC) - Prepare modules
[netconf.git] / restconf / restconf-nb-bierman02 / src / test / resources / jukebox / ietf-restconf-monitoring@2017-01-26.yang
diff --git a/restconf/restconf-nb-bierman02/src/test/resources/jukebox/ietf-restconf-monitoring@2017-01-26.yang b/restconf/restconf-nb-bierman02/src/test/resources/jukebox/ietf-restconf-monitoring@2017-01-26.yang
new file mode 100644 (file)
index 0000000..55c3cb1
--- /dev/null
@@ -0,0 +1,149 @@
+module ietf-restconf-monitoring {
+     namespace "urn:ietf:params:xml:ns:yang:ietf-restconf-monitoring";
+     prefix "rcmon";
+
+     import ietf-yang-types { prefix yang; }
+     import ietf-inet-types { prefix inet; }
+
+     organization
+       "IETF NETCONF (Network Configuration) Working Group";
+
+     contact
+       "WG Web:   <https://datatracker.ietf.org/wg/netconf/>
+        WG List:  <mailto:netconf@ietf.org>
+
+        Author:   Andy Bierman
+                  <mailto:andy@yumaworks.com>
+
+        Author:   Martin Bjorklund
+                  <mailto:mbj@tail-f.com>
+
+        Author:   Kent Watsen
+                  <mailto:kwatsen@juniper.net>";
+
+     description
+       "This module contains monitoring information for the
+        RESTCONF protocol.
+
+        Copyright (c) 2017 IETF Trust and the persons identified as
+        authors of the code.  All rights reserved.
+
+        Redistribution and use in source and binary forms, with or
+        without modification, is permitted pursuant to, and subject
+        to the license terms contained in, the Simplified BSD License
+        set forth in Section 4.c of the IETF Trust's Legal Provisions
+        Relating to IETF Documents
+        (http://trustee.ietf.org/license-info).
+
+        This version of this YANG module is part of RFC 8040; see
+        the RFC itself for full legal notices.";
+
+     revision 2017-01-26 {
+       description
+         "Initial revision.";
+       reference
+         "RFC 8040: RESTCONF Protocol.";
+     }
+
+     container restconf-state {
+       config false;
+       description
+         "Contains RESTCONF protocol monitoring information.";
+
+       container capabilities {
+         description
+           "Contains a list of protocol capability URIs.";
+
+         leaf-list capability {
+           type inet:uri;
+           description
+             "A RESTCONF protocol capability URI.";
+         }
+       }
+
+       container streams {
+         description
+           "Container representing the notification event streams
+            supported by the server.";
+          reference
+            "RFC 5277, Section 3.4, <streams> element.";
+
+         list stream {
+           key name;
+           description
+             "Each entry describes an event stream supported by
+              the server.";
+
+           leaf name {
+             type string;
+             description
+               "The stream name.";
+             reference
+               "RFC 5277, Section 3.4, <name> element.";
+           }
+
+           leaf description {
+             type string;
+             description
+               "Description of stream content.";
+             reference
+               "RFC 5277, Section 3.4, <description> element.";
+           }
+
+           leaf replay-support {
+             type boolean;
+             default false;
+             description
+               "Indicates if replay buffer is supported for this stream.
+                If 'true', then the server MUST support the 'start-time'
+                and 'stop-time' query parameters for this stream.";
+             reference
+               "RFC 5277, Section 3.4, <replaySupport> element.";
+           }
+
+           leaf replay-log-creation-time {
+             when "../replay-support" {
+               description
+                 "Only present if notification replay is supported.";
+             }
+             type yang:date-and-time;
+             description
+               "Indicates the time the replay log for this stream
+                was created.";
+             reference
+               "RFC 5277, Section 3.4, <replayLogCreationTime>
+                element.";
+           }
+
+           list access {
+             key encoding;
+             min-elements 1;
+             description
+               "The server will create an entry in this list for each
+                encoding format that is supported for this stream.
+                The media type 'text/event-stream' is expected
+                for all event streams.  This list identifies the
+                subtypes supported for this stream.";
+
+             leaf encoding {
+               type string;
+               description
+                 "This is the secondary encoding format within the
+                  'text/event-stream' encoding used by all streams.
+                  The type 'xml' is supported for XML encoding.
+                  The type 'json' is supported for JSON encoding.";
+             }
+
+             leaf location {
+               type inet:uri;
+               mandatory true;
+               description
+                 "Contains a URL that represents the entry point
+                  for establishing notification delivery via
+                  server-sent events.";
+             }
+           }
+         }
+       }
+     }
+}