netconfcentral logo

ietf-restconf-monitoring@2016-08-15



  module ietf-restconf-monitoring {

    yang-version 1;

    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:   <http://tools.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) 2016 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 XXXX; see
      the RFC itself for full legal notices.";

    revision "2016-08-15" {
      description "Initial revision.";
      reference
        "RFC XXXX: 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 capabilities

      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 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 'application/yang.stream' is expected
             for all event streams. This list identifies the
             sub-types 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.";
            }
          }  // list access
        }  // list stream
      }  // container streams
    }  // container restconf-state
  }  // module ietf-restconf-monitoring