+++ /dev/null
-module ietf-netconf-notifications {
-
- namespace
- "urn:ietf:params:xml:ns:yang:ietf-netconf-notifications";
-
- prefix ncn;
-
- import ietf-inet-types { prefix inet; revision-date "2010-09-24";}
- import ietf-netconf { prefix nc; revision-date "2011-06-01";}
-
- organization
- "IETF NETCONF (Network Configuration Protocol) Working Group";
-
- contact
- "WG Web: <http://tools.ietf.org/wg/netconf/>
- WG List: <mailto:netconf@ietf.org>
-
- WG Chair: Bert Wijnen
- <mailto:bertietf@bwijnen.net>
-
- WG Chair: Mehmet Ersue
- <mailto:mehmet.ersue@nsn.com>
-
- Editor: Andy Bierman
- <mailto:andy@netconfcentral.org>";
-
- description
- "This module defines a YANG data model for use with the
- NETCONF protocol that allows the NETCONF client to
- receive common NETCONF base event notifications.
-
- Copyright (c) 2012 IETF Trust and the persons identified as
- the document authors. 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 6470; see
- the RFC itself for full legal notices.";
-
- revision "2012-02-06" {
- description
- "Initial version. Errata 3957 added.";
- reference
- "RFC 6470: NETCONF Base Notifications";
- }
-
- grouping common-session-parms {
- description
- "Common session parameters to identify a
- management session.";
-
- leaf username {
- type string;
- mandatory true;
- description
- "Name of the user for the session.";
- }
-
- leaf session-id {
- type nc:session-id-or-zero-type;
- mandatory true;
- description
- "Identifier of the session.
- A NETCONF session MUST be identified by a non-zero value.
- A non-NETCONF session MAY be identified by the value zero.";
- }
-
- leaf source-host {
- type inet:ip-address;
- description
- "Address of the remote host for the session.";
- }
- }
-
-
-
-
-
-
-
-
- grouping changed-by-parms {
- description
- "Common parameters to identify the source
- of a change event, such as a configuration
- or capability change.";
-
- container changed-by {
- description
- "Indicates the source of the change.
- If caused by internal action, then the
- empty leaf 'server' will be present.
- If caused by a management session, then
- the name, remote host address, and session ID
- of the session that made the change will be reported.";
- choice server-or-user {
- mandatory true;
- leaf server {
- type empty;
- description
- "If present, the change was caused
- by the server.";
- }
-
- case by-user {
- uses common-session-parms;
- }
- } // choice server-or-user
- } // container changed-by-parms
- }
-
-
- notification netconf-config-change {
- description
- "Generated when the NETCONF server detects that the
- <running> or <startup> configuration datastore
- has been changed by a management session.
- The notification summarizes the edits that
- have been detected.
-
- The server MAY choose to also generate this
- notification while loading a datastore during the
- boot process for the device.";
-
- uses changed-by-parms;
-
-
-
-
-
- leaf datastore {
- type enumeration {
- enum running {
- description "The <running> datastore has changed.";
- }
- enum startup {
- description "The <startup> datastore has changed";
- }
- }
- default "running";
- description
- "Indicates which configuration datastore has changed.";
- }
-
- list edit {
- description
- "An edit record SHOULD be present for each distinct
- edit operation that the server has detected on
- the target datastore. This list MAY be omitted
- if the detailed edit operations are not known.
- The server MAY report entries in this list for
- changes not made by a NETCONF session (e.g., CLI).";
-
- leaf target {
- type instance-identifier;
- description
- "Topmost node associated with the configuration change.
- A server SHOULD set this object to the node within
- the datastore that is being altered. A server MAY
- set this object to one of the ancestors of the actual
- node that was changed, or omit this object, if the
- exact node is not known.";
- }
-
- leaf operation {
- type nc:edit-operation-type;
- description
- "Type of edit operation performed.
- A server MUST set this object to the NETCONF edit
- operation performed on the target datastore.";
- }
- } // list edit
- } // notification netconf-config-change
-
-
-
-
-
-
- notification netconf-capability-change {
- description
- "Generated when the NETCONF server detects that
- the server capabilities have changed.
- Indicates which capabilities have been added, deleted,
- and/or modified. The manner in which a server
- capability is changed is outside the scope of this
- document.";
-
- uses changed-by-parms;
-
- leaf-list added-capability {
- type inet:uri;
- description
- "List of capabilities that have just been added.";
- }
-
- leaf-list deleted-capability {
- type inet:uri;
- description
- "List of capabilities that have just been deleted.";
- }
-
- leaf-list modified-capability {
- type inet:uri;
- description
- "List of capabilities that have just been modified.
- A capability is considered to be modified if the
- base URI for the capability has not changed, but
- one or more of the parameters encoded at the end of
- the capability URI have changed.
- The new modified value of the complete URI is returned.";
- }
- } // notification netconf-capability-change
-
-
- notification netconf-session-start {
- description
- "Generated when a NETCONF server detects that a
- NETCONF session has started. A server MAY generate
- this event for non-NETCONF management sessions.
- Indicates the identity of the user that started
- the session.";
- uses common-session-parms;
- } // notification netconf-session-start
-
-
-
-
- notification netconf-session-end {
- description
- "Generated when a NETCONF server detects that a
- NETCONF session has terminated.
- A server MAY optionally generate this event for
- non-NETCONF management sessions. Indicates the
- identity of the user that owned the session,
- and why the session was terminated.";
-
- uses common-session-parms;
-
- leaf killed-by {
- when "../termination-reason = 'killed'";
- type nc:session-id-type;
- description
- "The ID of the session that directly caused this session
- to be abnormally terminated. If this session was abnormally
- terminated by a non-NETCONF session unknown to the server,
- then this leaf will not be present.";
- }
-
- leaf termination-reason {
- type enumeration {
- enum "closed" {
- description
- "The session was terminated by the client in normal
- fashion, e.g., by the NETCONF <close-session>
- protocol operation.";
- }
- enum "killed" {
- description
- "The session was terminated in abnormal
- fashion, e.g., by the NETCONF <kill-session>
- protocol operation.";
- }
- enum "dropped" {
- description
- "The session was terminated because the transport layer
- connection was unexpectedly closed.";
- }
- enum "timeout" {
- description
- "The session was terminated because of inactivity,
- e.g., waiting for the <hello> message or <rpc>
- messages.";
- }
-
-
-
- enum "bad-hello" {
- description
- "The client's <hello> message was invalid.";
- }
- enum "other" {
- description
- "The session was terminated for some other reason.";
- }
- }
- mandatory true;
- description
- "Reason the session was terminated.";
- }
- } // notification netconf-session-end
-
-
- notification netconf-confirmed-commit {
- description
- "Generated when a NETCONF server detects that a
- confirmed-commit event has occurred. Indicates the event
- and the current state of the confirmed-commit procedure
- in progress.";
- reference
- "RFC 6241, Section 8.4";
-
- uses common-session-parms {
- when "confirm-event != 'timeout'";
- }
-
- leaf confirm-event {
- type enumeration {
- enum "start" {
- description
- "The confirmed-commit procedure has started.";
- }
- enum "cancel" {
- description
- "The confirmed-commit procedure has been canceled,
- e.g., due to the session being terminated, or an
- explicit <cancel-commit> operation.";
- }
- enum "timeout" {
- description
- "The confirmed-commit procedure has been canceled
- due to the confirm-timeout interval expiring.
- The common session parameters will not be present
- in this sub-mode.";
- }
-
- enum "extend" {
- description
- "The confirmed-commit timeout has been extended,
- e.g., by a new <confirmed-commit> operation.";
- }
- enum "complete" {
- description
- "The confirmed-commit procedure has been completed.";
- }
- }
- mandatory true;
- description
- "Indicates the event that caused the notification.";
- }
-
- leaf timeout {
- when
- "../confirm-event = 'start' or ../confirm-event = 'extend'";
- type uint32;
- units "seconds";
- description
- "The configured timeout value if the event type
- is 'start' or 'extend'. This value represents
- the approximate number of seconds from the event
- time when the 'timeout' event might occur.";
- }
- } // notification netconf-confirmed-commit
-
-}