module ietf-notification-capabilities {
yang-version 1.1;
namespace
"urn:ietf:params:xml:ns:yang:ietf-notification-capabilities";
prefix inc;
import ietf-netconf-acm { prefix nacm; }
organization
"IETF NETCONF (Network Configuration) Working Group";
contact
"WG Web:
WG List:
WG Chair: Kent Watsen
WG Chair: Mahesh Jethanandani
Editor: Balazs Lengyel
";
description "This module specifies YANG-Push related server
capabilities. It contains
- capabilities related to the amount of notifications the
server can send out
- default and schema node specific information specifying
the set of data nodes for which the YANG server is capable
of sending on-change notifications.
On-change notification capability is marked as true or false.
This marking is inherited from the parent down the data tree
unless explicitly marked otherwise.
On-change notifications SHALL be sent for a config=true
data node if one of the following is true:
- if it is a top level data-node and is not specified in the
on-change-notification-capability list and the
notification-sent-for-config-default is true; or
- notifications are sent for its parent data node and it is
not specified in the on-change-notification-capability list; or
- it is specified in the on-change-notification-capability
list and has a on-change-notification-sent value true.
On-change notifications SHALL be sent for a config=false
data node if one of the following is true:
- if it is a top level data-node or has a config=true parent
data node and is not specified in the
on-change-notification-capability list and the
notification-sent-for-state-default is true; or
- notifications are sent for its parent data node
which is also config=false and it is
not specified in the on-change-notification-capability list; or
- it is specified in the on-change-notification-capability
list and has an on-change-notification-sent value true or
";
revision 2019-02-28 {
description "Initial version";
reference
"RFC XXX: YangPush Notification Capabilities";
}
container yangpush-notification-capabilities {
config false;
description "YANG-Push related server capabilities";
leaf minimum-dampening-period {
type uint32;
units msec;
description "The minimum dampening period supported for on-change
subscriptions.";
}
choice update-period {
description "Supported period values.";
leaf minimum-update-period {
type uint32;
units centiseconds;
description "Minimum update period supported for a
periodic subscription.";
}
leaf-list supported-update-period {
type uint32;
units centiseconds;
description "Specific supported update period values
for a periodic subscription";
}
}
leaf max-objects-per-update {
type uint32;
description "Maximum number of objects that can be sent
in an update";
}
leaf notification-sent-for-config-default {
type boolean;
default true;
description "Specifies the default value for
top level configuration data nodes for the
on-change-notification-sent capability.";
}
leaf notification-sent-for-state-default {
type boolean;
default false;
description "Specifies the default value
top level state data nodes for the
on-change-notification-sent capability.";
}
list on-change-notification-capability {
key node-selector ;
description "A list of data nodes that have the
on-change-notification-capability specifically defined.
Should be used when specific data nodes support
on-change notification in a module/subtree that
generally does not support it or when some data nodes
do not support the notification in a module/subtree
that generally supports on-change notifications.";
leaf node-selector {
type nacm:node-instance-identifier;
description "Selects the data nodes for which
on-change capability is specified.";
}
leaf on-change-notification-sent {
type boolean;
mandatory true;
description "Specifies whether the YANG server will
send on-change notifications for the selected
data nodes.";
}
}
}
}